Audit follow-ups: pin-regression gate and subagent Writable preflight (M5) #695

Merged
weichen merged 17 commits from feature/audit-followups-pin-gate-m5 into main 2026-10-22 08:43:16 +00:00
Owner

Close the two audit follow-ups approved after batches 1-2: a pin-regression gate and the review-M5 subagent write-set gap.

Why: PR #682 demonstrated that a stale branch merging into main can silently reset component pins (it reverted the batch-1 composition); and review minor M5 showed delegate_task can spawn sub-agents outside a parent's Writable enforcement - the same unenforceability preflight already rejects for exec/MCP/host tools.

Evidence: pin gate wired into check-pins and task-pr-check with regression/forward/skip/missing-object tests and a documented PIN_REGRESSION_SKIP escape; M5 preflight rejection with delegation-still-works and legacy cases. Combination: test-pins green (gate exercised on real forward moves), all other targets pass except one pre-existing environment-dependent svc test that reproduces identically on clean main (documented in the task card; CI environment arbitrates). Independent review lands in the task card before merge.

Impact: native pin advanced to f2fb9ff (M5); squad/backend containers re-pinned with matching nested bumps (b6d8763, 92c2b4e); gate scripts + tests in Dev. No deploy, no migration, no release.

Refs: docs/superpowers/plans/2026-10-21-agent-stack-audit-remediation-plan.md; .task/reviews/2026-10-21-agent-stack-b1-independent-review.md (M5)

Close the two audit follow-ups approved after batches 1-2: a pin-regression gate and the review-M5 subagent write-set gap. Why: PR #682 demonstrated that a stale branch merging into main can silently reset component pins (it reverted the batch-1 composition); and review minor M5 showed delegate_task can spawn sub-agents outside a parent's Writable enforcement - the same unenforceability preflight already rejects for exec/MCP/host tools. Evidence: pin gate wired into check-pins and task-pr-check with regression/forward/skip/missing-object tests and a documented PIN_REGRESSION_SKIP escape; M5 preflight rejection with delegation-still-works and legacy cases. Combination: test-pins green (gate exercised on real forward moves), all other targets pass except one pre-existing environment-dependent svc test that reproduces identically on clean main (documented in the task card; CI environment arbitrates). Independent review lands in the task card before merge. Impact: native pin advanced to f2fb9ff (M5); squad/backend containers re-pinned with matching nested bumps (b6d8763, 92c2b4e); gate scripts + tests in Dev. No deploy, no migration, no release. Refs: docs/superpowers/plans/2026-10-21-agent-stack-audit-remediation-plan.md; .task/reviews/2026-10-21-agent-stack-b1-independent-review.md (M5)
weichen added 8 commits 2026-10-22 07:10:08 +00:00
Why: carry authorization and unit plan for the audit follow-ups:
pin-regression gate and native subagent Writable preflight (M5).
Evidence: card only; no code change.
Impact: task metadata only.
Refs: feature/audit-followups-pin-gate-m5
Why: land the review-M5 preflight fix (delegate_task under a Writable
write-set is now rejected like exec/MCP/host tools).
Evidence: transport success (gitlinkm5c-run.json); native unit tests
green (verify-m5.json); gate/pins checks re-run with the pin bump.
Impact: one component gitlink.
Refs: feature/audit-followups-pin-gate-m5
Why: PR #682 merged a stale branch that reset five component pins to
pre-batch values, silently dropping the batch-1 composition on main.
Evidence: materialized byte-exact from the reviewed transport
(gatemat-run.json); regression/forward/same/skip/missing-object cases
(verify-pingate.json); make test-governance and test-pins re-run below.
Impact: new check script wired into check-pins and task-pr-check;
PIN_REGRESSION_SKIP=1 documents deliberate downgrades.
Refs: feature/audit-followups-pin-gate-m5
Why: native carries the M5 subagent preflight fix; backend adopts its
branch tip that merges upstream main (scratch sessions) on top of the
batch-2 line.
Evidence: integration transport success (gitlinkf5-run.json); nested
native pins follow in the next commit; pins checks re-run below.
Impact: two component gitlinks.
Refs: feature/audit-followups-pin-gate-m5
Why: the backend branch advanced past its nested agent-native bump so
the composed chain carries the M5 preflight end to end.
Evidence: integration transport success (gitlinkb2h-run.json); pins
checks and full make test re-run below.
Impact: one component gitlink.
Refs: feature/audit-followups-pin-gate-m5
Why: the squad container carries its nested agent-native M5 bump; the
backend container is already at its repaired tip in this history.
Evidence: integration transport (gitlinks3-run.json); pins checks and
full make test re-run below.
Impact: one component gitlink.
Refs: feature/audit-followups-pin-gate-m5
Why: backend's nested agent-squad advances with its nested agent-native
M5 bump, keeping every container consistent with the Dev-level pins.
Evidence: integration transport (gitlinkb3b-run.json); pins checks and
full make test re-run below.
Impact: one component gitlink.
Refs: feature/audit-followups-pin-gate-m5
Record the followups verification results in the task card
ci / svc-realcombo (pull_request) Successful in 3m6s
ci / test-pg (pull_request) Failing after 3m39s
ci / test (pull_request) Successful in 10m4s
17ba4eab35
Why: pins checks green with the new gate; all other combination targets
pass; the single governance failure reproduces on clean main.
Evidence: verify-followups-{pins5,rest}.json exit=0; main reproduction
captured in-session.
Impact: task metadata only.
Refs: feature/audit-followups-pin-gate-m5
weichen added 3 commits 2026-10-22 07:33:49 +00:00
Why: backend adopts upstream main (role-policy/HITL fixes) and the
parallel scratch-session work while keeping the M5 nested pin, so the
followups composition stays current with main.
Evidence: integration transport (gitlinkb7-run.json); pins checks and
combination targets re-run below.
Impact: one component gitlink.
Refs: feature/audit-followups-pin-gate-m5
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=d65195bd.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
Record the merged baseline and the pre-existing governance failure
ci / test (pull_request) Failing after 3s
ci / test-pg (pull_request) Failing after 3s
ci / svc-realcombo (pull_request) Failing after 3s
a2b4cf73a3
Why: the branch now carries authoritative main (backend role-policy and
scratch-session work, frontend/ui pin advances); the only combination
failure is the environment-dependent svc test that reproduces on clean
main.
Evidence: verify-f-pins9.json exit=0; verify-f-rest.json exit=0;
verify-f-combo.json shows the single pre-existing failure.
Impact: task metadata only.
Refs: feature/audit-followups-pin-gate-m5
weichen added 2 commits 2026-10-22 07:51:50 +00:00
Record the followups review approval in the task card
ci / test (pull_request) Failing after 3s
ci / svc-realcombo (pull_request) Failing after 3s
ci / test-pg (pull_request) Failing after 3s
88f03f500e
Why: independent review approved the pin gate and M5 fix.
Evidence: review receipt /tmp/agent-stack-b2/reviewf-run.json.
Impact: task metadata + review report.
Refs: PR #695
weichen added 1 commit 2026-10-22 07:52:43 +00:00
Record the backend tip push and retrigger CI
ci / svc-realcombo (pull_request) Successful in 2m41s
ci / test (pull_request) Successful in 8m41s
ci / test-pg (pull_request) Successful in 11m53s
1dbd15add0
Why: the first CI run failed at checkout because the backend merge tip
a75783f existed only locally; it is now pushed.
Evidence: remote ref updated on Agent-System-Backend.
Impact: task metadata only.
Refs: PR #695
weichen added 1 commit 2026-10-22 08:05:14 +00:00
Fold-close the task card before merge
ci / svc-realcombo (pull_request) Successful in 3m1s
ci / test-pg (pull_request) Failing after 3m47s
ci / test (pull_request) Successful in 9m32s
67ffd7c89e
Why: close the task card inside its own PR so landing it needs no post-merge backfill or separate close PR.
Evidence: .task/feature-audit-followups-pin-gate-m5.md -> .task/archive/feature-audit-followups-pin-gate-m5.md; status 已完成(合入前闭合); PR #695 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/695.
Impact: task metadata only; the card is archived within PR #695 and lands with its merge commit.
Refs: task.sh close --self
weichen added 1 commit 2026-10-22 08:15:02 +00:00
Retrigger CI after the flaky material-ack timeout
ci / svc-realcombo (pull_request) Successful in 2m44s
ci / test (pull_request) Successful in 9m20s
ci / test-pg (pull_request) Successful in 14m14s
68219746be
Why: the CI test-pg timeout on TestMaterialAckAttachmentOnlyDoesNot-
CallParentModel is environmental (the product never sets a Writable
write-set, so the M5 preflight cannot trigger there; the same commit
and test pass locally in 0.05s against real PG/Redis).
Evidence: verify-materialack.json exit=0.
Impact: task metadata only.
Refs: PR #695
weichen added 1 commit 2026-10-22 08:30:22 +00:00
Merge authoritative main into the task branch
ci / svc-realcombo (pull_request) Successful in 3m2s
ci / test (pull_request) Successful in 8m48s
ci / test-pg (pull_request) Successful in 12m23s
2f37df890a
Why: include the current integration baseline before merge.

Evidence: fetched origin/main=9a80897c.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
weichen merged commit 955a32de2b into main 2026-10-22 08:43:16 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: weichen/Agent-System-Dev#695