Skip to content

Scaffold minimal multi-agent integration test#48

Draft
dgarson wants to merge 1 commit intofeat/evaluation-harnessfrom
tim/integration-test-scaffold
Draft

Scaffold minimal multi-agent integration test#48
dgarson wants to merge 1 commit intofeat/evaluation-harnessfrom
tim/integration-test-scaffold

Conversation

@dgarson
Copy link
Owner

@dgarson dgarson commented Feb 22, 2026

Summary

Add a minimal integration test file that validates the multi-agent session spawn critical path for the discovery system running Monday with 15 agents and 2 reviewers.

Changes

  • Added test/integration/agent-spawn.integration.test.ts with:
    • Gateway connection check (skipped without INTEGRATION=1)
    • sessions_spawn returns valid child session key
    • Subagent responds and session can be cleaned up
    • Session key format validation

Testing

  • 4 tests total: 3 passing, 1 skipped (requires INTEGRATION=1 env var)
  • Verified pnpm test still passes

Notes

  • Tests are additive and minimal impact to existing code
  • The live gateway test is guarded with @skipIf(!process.env.INTEGRATION)
  • This is a scaffold - additional tests can be added as needed

For Monday's discovery run, set INTEGRATION=1 to enable the live gateway test.

@dgarson dgarson changed the base branch from main to dgarson/fork February 22, 2026 04:52
dgarson added a commit that referenced this pull request Feb 22, 2026
ThemeEditor: now fully wired into nav + router
PermissionsManager (Reed): permission matrix, 5 agents, edit mode toggle

Sprint total: 48 views
@dgarson dgarson marked this pull request as draft February 22, 2026 19:18
@dgarson
Copy link
Owner Author

dgarson commented Feb 23, 2026

⚠️ Protocol Violation — PR targets main branch

This PR (tim/integration-test-scaffoldmain) violates the branch strategy in TOOLS.md:

main — upstream only; reserved for merges to openclaw/openclaw (rare, David approves)

All active development targets dgarson/fork, not main. Merging here would push integration test scaffolding into the upstream-only branch, which could surface publicly.

Required action (David): Please confirm intent before this is merged. If this was meant to target dgarson/fork, the base branch needs to be retargeted. I will not merge until explicitly approved by David.

@dgarson dgarson changed the base branch from dgarson/fork to feat/evaluation-harness February 23, 2026 14:05
@dgarson
Copy link
Owner Author

dgarson commented Feb 23, 2026

⚠️ Architecture Review — PR Contamination (Tim)

Target: feat/evaluation-harness — Correct megabranch, but...

Critical Issue: This PR is severely contaminated with unrelated changes.

What the title says: "Scaffold minimal multi-agent integration test"

What's actually in the PR (37 files):

  • AGENTS.md, MEMORY.md, SOUL.md, TOOLS.md — workspace config files
  • joey/ directory — another agent's entire workspace
  • _shared/ops/\* — operational documentation
  • xavier, inbox, joey/inbox — mailboxes and workspace artifacts
  • _shared/mailboxes/xavier/processed/... — processed mailbox items
  • test/integration/agent-spawn.integration.test.ts — the actual integration test

The Problem:
This PR bundles the integration test with 30+ unrelated workspace files. This is a merge hygiene violation — each PR should contain logically related changes.

Required Action:

  1. Close this PR
  2. Create a new branch from feat/evaluation-harness
  3. Cherry-pick ONLY test/integration/agent-spawn.integration.test.ts
  4. Open a clean PR with just the integration test

Verdict: 🚫 DO NOT MERGE — PR needs to be cleaned up to include only the integration test file.

Copy link
Owner Author

@dgarson dgarson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall assessment: Not mergeable in current form (scope + test quality issues)

Summary

Intended goal appears to be adding a minimal multi-agent integration test scaffold (test/integration/agent-spawn.integration.test.ts).

Blocking concerns

  1. PR scope is heavily polluted with unrelated files

    • Includes many non-test artifacts (agent personal files, inbox/workboard/mailbox docs, broad AGENTS policy changes, etc.).
    • This makes the PR high-risk and hard to review for the stated objective.
  2. "Integration" test is mostly mocked and does not exercise real integration path

    • Core behaviors are validated via vi.fn() mocked gateway method dispatch, not real gateway RPC/session lifecycle.
    • This provides limited confidence while presenting as integration coverage.
  3. No meaningful cleanup/assertion against real spawned sessions

    • Cleanup is array-reset only in test-local state; it does not verify actual runtime cleanup semantics when INTEGRATION is enabled.

Suggestions

  • Split this into a focused PR containing only:
    • the integration test file(s),
    • minimal required harness/config changes.
  • Remove all personal/operational workspace docs from this PR.
  • For integration coverage, wire at least one real end-to-end path behind INTEGRATION=1:
    • create session via real API,
    • assert child session appears/advances,
    • assert terminal state,
    • cleanup through real API and re-check absence.

Blocking issues before merge

  • Scope pollution with unrelated files.
  • Test currently behaves as unit/mock contract test rather than true integration test.

Add integration test file that validates:
- Gateway connection check (skipped without INTEGRATION=1)
- sessions_spawn returns valid child session key
- Subagent responds and session can be cleaned up
- Session key format validation

The live gateway test is marked with @skipIf(!process.env.INTEGRATION)
and will run only when INTEGRATION=1 is set.

Test count: 4 tests (3 passing, 1 skipped without INTEGRATION=1)
@dgarson dgarson force-pushed the tim/integration-test-scaffold branch from 420ddb9 to a633dbb Compare February 24, 2026 17:07
@dgarson
Copy link
Owner Author

dgarson commented Feb 24, 2026

Conflict resolution complete ✅

I force-updated tim/integration-test-scaffold to keep PR #48 minimal and aligned with its stated intent:

  • Rebased effectively onto feat/evaluation-harness by resetting branch tip to origin/feat/evaluation-harness
  • Re-applied only the intended scaffold commit for the multi-agent integration test
  • Result: PR now contains only test/integration/agent-spawn.integration.test.ts

Conflict notes:

  • Prior conflict came from drift in _shared/MEGA_BRANCHES.md and _shared/workstreams/acp/WORKSTREAM.md when merging base into an older head
  • Those conflict-prone docs are no longer in this PR diff after minimizing the branch

Checks run:

  • Attempted: pnpm test -- test/integration/agent-spawn.integration.test.ts
  • Status: ❌ blocked in this environment (node_modules missing; vitest not found)

If CI has dependencies installed, it should run the integration test from this clean branch state.

@dgarson
Copy link
Owner Author

dgarson commented Feb 25, 2026

Execution lane update (PR #48):\n\n- Synced local branch to current PR head: a633dbb229436fa9465709c821fc46915874def6 (no code changes pushed).\n- Re-ran stuck/cancelled workflows for this head SHA:\n - CI: https://github.com/dgarson/clawdbot/actions/runs/22361546586\n - Install Smoke: https://github.com/dgarson/clawdbot/actions/runs/22361546589\n - Workflow Sanity: https://github.com/dgarson/clawdbot/actions/runs/22361546615\n- Focused test run (local) passed:\n - pnpm dlx vitest run test/integration/agent-spawn.integration.test.ts\n - Result: 3 passed, 1 skipped (INTEGRATION-gated)\n\nRemaining merge gates right now:\n1. PR is still Draft (must be marked Ready for review).\n2. Required checks are currently queued and need to finish green (especially Workflow Sanity/CI/Install Smoke).\n3. Required review/approval (if branch protection enforces it).\n\nNo functional regressions found in the scaffold test file during focused validation.

@dgarson
Copy link
Owner Author

dgarson commented Feb 26, 2026

Lane follow-up (urgent):\n\n- Re-checked PR state: still Draft.\n- Re-checked mergeability: MERGEABLE (no code-level merge conflict).\n- Re-checked CI: required checks are still pending/queued and not green yet (CI docs-scope/secrets, Install Smoke docs-scope, Workflow Sanity no-tabs/actionlint, Labeler label/label-issues).\n\nPer lane policy, I did not mark this PR Ready for Review because checks are not green yet.\n\nNo branch fixes were required right now (head is not behind base ).\n\nRemaining merge gates:\n1) CI checks must complete successfully (green).\n2) Draft flag must be removed (Ready for Review).\n3) Standard review/approval + branch protection gates.

@dgarson
Copy link
Owner Author

dgarson commented Feb 26, 2026

Correction to previous comment (shell formatting stripped two values): head SHA a633dbb; base branch feat/evaluation-harness. Branch is ahead by 1 commit and behind by 0 vs base.

@dgarson
Copy link
Owner Author

dgarson commented Mar 3, 2026

Lane update (integration-test-scaffold):\n\n- Re-ran all previously-cancelled PR workflows to clear stale red state:\n - CI: https://github.com/dgarson/clawdbot/actions/runs/22361546586\n - Install Smoke: https://github.com/dgarson/clawdbot/actions/runs/22361546589\n - Workflow Sanity: https://github.com/dgarson/clawdbot/actions/runs/22361546615\n - Labeler: https://github.com/dgarson/clawdbot/actions/runs/22361545871\n- Current status: jobs are still queued (no runner picked up for / labeler lanes yet).\n- PR remains Draft for now; not moving to Ready for Review until checks actually complete green.\n\nRemaining merge gates for this lane:\n1) CI + Workflow Sanity + Labeler jobs must transition from queued -> completed (green).\n2) Flip Draft -> Ready for Review.\n3) Get review/approval and merge once checks are green.\n\nNo code changes were made in this pass.

@dgarson
Copy link
Owner Author

dgarson commented Mar 3, 2026

Correction: queued jobs are waiting on runner labels blacksmith-16vcpu-ubuntu-2404 (CI/Workflow Sanity lanes) and corresponding Labeler runner capacity.

@dgarson
Copy link
Owner Author

dgarson commented Mar 3, 2026

Final lane status (integration scaffold PR #48):\n\n- Draft status: still Draft (not flipped to ready because required checks are not complete).\n- CI status: blocked in queue (no jobs have started; all required checks remain pending/queued).\n- Observed blocker: repository-wide Actions backlog/outage — multiple unrelated runs across the repo are also stuck queued.\n\nCurrent checks on this PR:\n- Pending: label, actionlint, docs-scope (CI), docs-scope (Install Smoke), label-issues, no-tabs, secrets\n- Skipped: ios, backfill-pr-labels\n\nRepresentative queued run URLs:\n- https://github.com/dgarson/clawdbot/actions/runs/22361546586\n- https://github.com/dgarson/clawdbot/actions/runs/22361546589\n- https://github.com/dgarson/clawdbot/actions/runs/22361546615\n- https://github.com/dgarson/clawdbot/actions/runs/22361545871\n\nNo code changes were required/possible from this lane while CI remains queued. Once checks complete and go green, next step is to mark PR ready for review.

@dgarson
Copy link
Owner Author

dgarson commented Mar 3, 2026

Urgent lane check (PR #48) — integration scaffold\n\nCurrent state:\n- Draft: yes\n- Mergeability: MERGEABLE (no merge conflicts)\n- Head SHA: \n\nChecks snapshot:\n- Queued/Pending: CI/secrets, CI/docs-scope, Install Smoke/docs-scope, Workflow Sanity/actionlint, Workflow Sanity/no-tabs, Labeler/label, Labeler/label-issues\n- Skipped: CI/ios, Labeler/backfill-pr-labels\n\nBlocker diagnosis:\n- Jobs are queued on runner labels like and have not been picked up yet, so this PR cannot be advanced to ready-for-review yet without green checks.\n\nActions taken in this pass:\n- Re-verified PR draft + check state and runner-label blockage.\n- No code changes required/possible from this lane while runners are unavailable.\n\nRemaining gates:\n1. Queued required checks must complete green.\n2. Flip PR from Draft to Ready for review.\n3. Required review/approval gates (if enforced by branch protection).

@dgarson
Copy link
Owner Author

dgarson commented Mar 3, 2026

Correction to prior lane update (escaping issue in shell formatting).

Urgent lane check (PR #48) — integration scaffold

Current state:

  • Draft: yes
  • Mergeability: MERGEABLE (no merge conflicts)
  • Head SHA: a633dbb229436fa9465709c821fc46915874def6

Checks snapshot:

  • Queued/Pending: CI/secrets, CI/docs-scope, Install Smoke/docs-scope, Workflow Sanity/actionlint, Workflow Sanity/no-tabs, Labeler/label, Labeler/label-issues
  • Skipped: CI/ios, Labeler/backfill-pr-labels

Blocker diagnosis:

  • Jobs are queued on runner labels like blacksmith-16vcpu-ubuntu-2404 and have not been picked up yet, so this PR cannot be advanced to ready-for-review yet without green checks.

Actions taken in this pass:

  • Re-verified PR draft + check state and runner-label blockage.
  • No code changes required/possible from this lane while runners are unavailable.

Remaining gates:

  1. Queued required checks must complete green.
  2. Flip PR from Draft to Ready for review.
  3. Required review/approval gates (if enforced by branch protection).

@dgarson
Copy link
Owner Author

dgarson commented Mar 3, 2026

Final status check (PR #48):

  • Draft status: DRAFT (not mergeable yet)
  • CI status: NOT GREEN (checks still pending)
  • Merge state: UNSTABLE

Current blockers:

  1. PR is still marked draft.
  2. Required checks are not complete yet (pending): label, actionlint, docs-scope (CI), docs-scope (Install Smoke), label-issues, no-tabs, secrets.

I will consider this merge-ready only after draft is removed and CI is fully green.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant