Skip to content

Deliver agent work into the project + real build/test gate - #11

Merged
trac41799 merged 1 commit into
mainfrom
hardening/production
Sep 29, 2026
Merged

trac41799 merged 1 commit into
mainfrom
hardening/production

Conversation

@trac41799

Copy link
Copy Markdown
Owner

Delivers the missing half of the pipeline: agent work now lands in the project.

Delivery (merge-back)

  • New wave_executor::merge_completed_agents: commits each completed agent's worktree, merges its branch into the base branch with --no-ff, and removes the worktree only after its work is merged. Conflicts abort the merge, are recorded, and the run pauses as awaiting_user (deploy skipped) — fail-closed, no half-merged project.
  • Enabled by PipelineAdapters::deliver (production true; hermetic tests use non-git stand-in worktrees).
  • Delivery evidence is persisted in report.artifacts["merges"].

Real build/test gate

  • install_project_dependencies runs npm ci/npm install (900 s cap, output captured to a log with the tail on failure) before verification; an install failure fails the run.
  • New verification::VerifyMode::RequireBuild turns the tooling-dependent checks (node_modules installed, npm run build passes, E2E runtime test) from Skip into Fail, so "verification passed" can no longer mean "nothing was built". Lenient mode keeps hermetic tests unchanged.

Defect found by the new step (fixed, with regression test)

First delivery attempt: CONFLICT (add/add): .acc/GUIDELINE.md — each agent's worktree held its own generated guideline. Bookkeeping is now excluded from the commit via :(exclude).acc (no change to the user's git config); the merge tests give every agent a distinct guideline and still expect a clean 2/2 merge.

Evidence

  • docs/2026-09-26-defect-closure/handoffs/ACCEPTANCE-RUN-4.md: real 2-agent run, succeeded, greeting_in_base_project=true, farewell_in_base_project=true, conflicts: [], 69.75 s.
  • Gates: Rust 192 lib + 42 integration, Web 341, tsc/lint clean.

Still not proven (documented, not faked)

  • From-empty (scaffold_project → install → real build/typecheck/runtime) run: the gate is implemented and unit-tested; the synthetic fixture has no real toolchain, so the acceptance run keeps install_deps=false.
  • GitHub delivery (private repo + issues + PRs) — unchanged, see EXTERNAL-VERIFICATION.md.

@vercel

vercel Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
source-forge Ready Ready Preview Sep 29, 2026 12:46pm UTC

@trac41799
trac41799 merged commit ff4b9c1 into main Sep 29, 2026
8 checks passed
… gate

- wave_executor::merge_completed_agents: commit each completed agent's worktree, merge its branch into the base branch (--no-ff), remove the worktree only after merge; conflicts abort, are recorded, and the run pauses as awaiting_user with deploy skipped. Delivery evidence in report.artifacts[merges].
- PipelineAdapters::deliver enables delivery (production true; hermetic tests keep fake worktrees offline).
- install_project_dependencies (npm ci/install, 900s cap, log tail on failure) runs before verification; failure fails the run.
- verification::VerifyMode::RequireBuild turns the tooling-dependent checks from Skip into Fail so 'verification passed' cannot mean 'nothing was built'.
- fix (found by the new step): exclude .acc/ bookkeeping from the delivery commit - per-agent GUIDELINE.md caused add/add conflicts on every merge after the first. Regression test gives each agent a distinct guideline and expects a clean 2/2 merge.
- tests: 192 lib (+4): merge happy/conflict/skip, require-build mode.
- docs: ACCEPTANCE-RUN-4.md.

Gates: Rust 192 + 42; Web 341; tsc/lint clean. Real 2-agent run: succeeded, both files in the base project, conflicts: [].

This branch was successfully deployed

1 active deployment
Preview — a0aa9442 Deployed Sep 29, 2026 by vercel[bot]
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