Attempt 4

Back to durable goal · Attempt history

Targeted failures and scope

PR 32 commit 7cfef071 is remotely reproducible but is not a final candidate: three review findings are valid. The user also requires the four projects/agents changes from PR 24, whose missing decision-review package explains the current base’s dangling instruction reference.

Hypotheses

  1. Applying PR 24’s changes three-way will preserve newer goal guidance while importing its result-first additions, Bazel batching guidance, and decision-review package.
  2. Treating command overflow as bounded success will preserve useful prefixes for search and diff consumers without leaking child processes or invalid UTF-8.
  3. Enforcing max_changes before every porcelain status record will bound all record kinds uniformly.
  4. Closing admission, draining registered package locks, then disposing active workers will make shutdown linearizable with concurrent run/reload.

Exact inputs and boundaries

  • Current and published task commit: 7cfef0719075ad372c3bb257ad216b35770356b2.
  • Current base/direct parent: 7ad2704cd27757355ab36ec8eb1bb27ef9e1d91d.
  • PR 24 base/head: ada3ed90123c224729f9174c6127c50b933d2f48 / da2085f1807bfea1c7f3979730f6b7df0033fdce.
  • Import boundary: only paths beneath projects/agents changed by PR 24.
  • Review boundary: the three existing PR 32 threads and directly required regression coverage; no unrelated runtime redesign.
  • Preserve all immutable package versions already referenced by manifests.

Candidate plan

  1. Merge the PR 24 bazel-agent and goal hunks into current files; add decision-review plus the offline eval structure required today.
  2. Add black-box execution overflow coverage and implement bounded UTF-8-safe truncation while preserving timeout/spawn errors.
  3. Add table-driven status-limit coverage and publish a new immutable git_worktree version with the limit check before record parsing.
  4. Add a deterministic concurrent activation/shutdown gate and memoized shutdown sequence that waits for admitted locks before disposal.
  5. Run focused tests first, then both affected packages, Buildifier, exact diff checks, delivery preparation, exact-candidate validation, publication, and review-thread replies/resolution.

Planned acceptance packet

  • PR 24 provenance maps exactly to the imported agent changes; newer main guidance remains present.
  • decision-review validates and its Promptfoo configuration loads offline.
  • Output at and beyond the cap is bounded, UTF-8 valid, truncation-marked, and stopped; under-cap and timeout behavior remain correct.
  • Every porcelain-v2 record kind obeys max_changes.
  • Shutdown cannot resolve before an already-admitted activation is owned and disposed, and later calls reject runtime_closed.
  • All previous MCP lifecycle, restart, package, and stdio regressions remain green on the exact delivered commit.

Progress, approach, and process audit

  • Remote publication improved delivery evidence but exposed three absolute correctness failures; validation success alone was insufficient.
  • The PR 24 request resolves an upstream packaging inconsistency and is independent enough to integrate before runtime corrections.
  • The current representation remains viable: every defect has a narrow controlling mechanism and deterministic test. No evidence supports replacing Cordis, the worker boundary, or content-addressed persistence.

Work performed

  • Imported all four PR 24 agent-tree changes three-way and added the offline validation files required by current repository policy.
  • Changed ctx.exec() overflow from an output-limit rejection to a bounded, UTF-8-valid success result with explicit process-group cleanup and a truncation flag.
  • Published the corrected Git parser as new immutable version de978... while retaining 70d8... as permanent rollback history.
  • Made shutdown join admitted activation locks before its final active-worker snapshot and added closure checks around initialization storage awaits.
  • Added direct regressions plus an actual git_compare cap integration case.

Verification evidence

  • Four focused Bazel tests: pass.
  • Complete MCP package plus three skill eval-config targets: ten of ten pass.
  • Complete MCP package build plus three skill libraries: pass; all skill validation aspects pass.
  • Root //:buildifier_test: pass.
  • JavaScript syntax, exact new version SHA-256, quick skill validation, and git diff --check: pass.

Final verdict

Refine. The product and packaging gates were green, but independent review found silent output-loss and exact-limit semantics that those gates did not exercise. Preserve the architectural changes; Attempt 5 changes the affected contracts and tests rather than discarding the worker/runtime design.