Commit Graph
18 Commits
Author SHA1 Message Date
agent-exec-transport d3c28d5a53 agent-exec transport 5d95baf6a3f7402494208d156f6e6c51/ca161c464f9d 2026-10-15 20:48:14 +00:00
agent-exec-transport 253bce37aa agent-exec transport 35d469bccb3546fa95ccf1db49e5a7c2/79ece004c6be 2026-10-15 20:18:51 +00:00
agent-exec-transport 6b00f4f8b0 agent-exec transport b11015860dac4bb8a1943889211374b7/0dd2eb729ad2 2026-10-15 20:02:36 +00:00
weichen 93aba6ba95 Enforce complete normal CLI routing
Why: Emergency Codex fallback must not run before Cursor, Antigravity, and PI have each been exhausted.

Evidence: Cursor transport 5e6c93f765c232783a7dccb05544e26c386fb031; 29 config tests, focused emergency controller test, and 449 governance tests passed with 19 skips.

Impact: Emergency-mode implementation, repair, and test roles now require exactly one enabled profile for each normal adapter while preserving configured order.

Refs: .task/feature-agent-cli-enforcement.md
2026-10-15 19:52:47 +00:00
weichen 818e17f421 Remove host fallback and enforce strict normal routes
Why: The approved contract requires exactly three safe attempts for Cursor, agy, and PI, then one Codex emergency attempt, never host implementation authority.

Evidence: Routing/config tests were RED for never, max attempts, forbidden adapters, and legacy host fallback; 133 related tests now pass with one opt-in probe skipped.

Impact: Normal emergency-mode roles reject all non-Cursor/agy/PI adapters, project fallback is never, and Codex remains available through emergency/review paths.

Refs: independent Codex review of feature/agent-cli-enforcement
2026-10-15 18:45:08 +00:00
weichen 28f000af8b Sign execution history for transport admission
Why: Success-shaped receipts and caller-writable history must not authorize apply/admit without controller-originated provenance.

Evidence: Fabricated, unsigned, tampered-history, and moved-ref tests were RED before HMAC binding; 52 controller/history/admission tests now pass.

Impact: Stores a local 0600 attestation key, signs successful history including transport commit SHA, and verifies it before apply/admit.

Refs: independent Codex review of feature/agent-cli-enforcement
2026-10-15 18:13:01 +00:00
weichen 16fb93a300 Fail stop unsafe worker outcomes and preserve rename sources
Why: Safe routing must not retry unproven cleanup, ignore worker fail-stop terminals, or lose out-of-scope rename sources.

Evidence: New tests were RED for each Review finding; 44 controller and admission tests now pass with diff-check clean.

Impact: Tightens safety classification and path inventory only; routing order and provenance contract remain unchanged.

Refs: independent Codex review of feature/agent-cli-enforcement
2026-10-15 17:55:15 +00:00
weichen 2a994ca768 Exercise emergency routing through the Codex adapter
Why: Parser hardening requires the emergency fixture to use the real Codex adapter contract instead of a custom adapter.

Evidence: Agent-exec and config suites pass 58 executions with one opt-in probe skipped; validate and diff-check pass.

Impact: Test fixture only; production validation remains strict.

Refs: feature/agent-cli-enforcement
2026-10-15 16:54:23 +00:00
weichen df0cc2d0ac Specify the Codex emergency routing contract
Why: Codex CLI must run only after every regular profile exhausts its three safe attempts.

Evidence: The focused test records three regular failed-clean attempts and fails because no emergency Codex attempt is launched.

Impact: Adds a RED controller contract test and test helper support only.

Refs: feature/agent-cli-enforcement
2026-10-15 16:28:17 +00:00
weichen cefd95b307 Specify per-profile retry ordering
Why: The routing controller must retry each safe failed profile three times before advancing.

Evidence: The focused test fails with observed order retryme,thenok instead of three retryme attempts, proving current behavior lacks retries.

Impact: Adds a RED controller contract test only; production behavior is unchanged.

Refs: feature/agent-cli-enforcement
2026-10-15 16:08:20 +00:00
weichen 3ffd641755 Treat zombie workers as terminated in tests
ci / svc-realcombo (pull_request) Successful in 1m51s
ci / test (pull_request) Successful in 6m4s
ci / test-pg (pull_request) Successful in 8m12s
Why: Gitea containers may leave SIGKILLed children as zombies until PID 1 reaps them, while kill -0 still reports success.

Evidence: Both timeout tests and the full AgentExecControllerTests suite pass; git diff --check passes.

Impact: Changes test liveness detection only; genuinely running child processes still fail the assertions.

Refs: #567
2026-10-15 09:10:24 +00:00
weichen 29e7cf185e Make transport commits independent of Git identity
ci / svc-realcombo (pull_request) Successful in 2m1s
ci / test (pull_request) Failing after 3m50s
ci / test-pg (pull_request) Successful in 7m56s
Why: PR #567 CI runs without a global Git user identity, causing every successful agent transport commit to fail with exit 128.

Evidence: The focused no-identity regression plus AgentExecControllerTests and AgentExecHistoryTests pass (30 executions total); git diff --check passes.

Impact: Supplies a deterministic non-secret identity only to git commit-tree; routing, receipts, and transport validation are unchanged.

Refs: #567
2026-10-15 08:59:17 +00:00
weichen fec42e0320 Allow execution history in fallback isolation test
Why: execution history intentionally adds one source-external Git metadata path after every run

Evidence: focused fallback and history tests

Impact: preserves the no-canonical-implementation assertion while accepting the history record

Refs: feature/goal-first-delivery
2026-10-15 08:27:28 +00:00
weichen b45c6abaa7 Record execution agent history
Why: retain which CLI handled each task so routing can improve from real outcomes over time

Evidence: AgentExecHistoryTests and git diff --check

Impact: appends sanitized source-external JSONL records without changing run outcomes

Refs: feature/goal-first-delivery
2026-10-15 07:41:51 +00:00
weichen f93ef567c7 Isolate execution agents from shared Git refs
Why: prevent unrelated sibling worktree delivery from invalidating otherwise safe agent attempts
Evidence: 58 focused tests, configuration validation, governance regression, and diff check
Impact: uses private shared clones and copies only host-owned transport refs back to canonical Git
Refs: U5 runtime acceptance; docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 06:19:10 +00:00
weichen 8c1649b232 Stop stalled execution agents on idle timeout
Why: prevent silent provider stalls from consuming the full execution timeout

Evidence: 57 focused tests, configuration validation, 401-test governance regression, and diff check

Impact: adds backward-compatible idle_timeout_seconds and fail-stop process supervision

Refs: U5 runtime acceptance; docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 05:41:37 +00:00
weichen dee06368ea Add real execution agent probe harness
Why: verify configured Agent CLIs one profile at a time before declaring them usable

Evidence: 53 focused tests, agent-exec validation, 397-test governance regression, and diff check

Impact: adds opt-in source-external probes, acceptance checks, and current task records

Refs: U5; docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 05:22:00 +00:00
weichen 8f11d002ae Add recoverable execution agent controller
Why: provide isolated, recoverable per-unit CLI execution and safe host fallback
Evidence: 43 focused tests, configuration validation, governance regression, and diff check
Impact: adds agent-exec validate/run controller, receipts, transports, and Make entrypoint
Refs: U3; docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 04:46:25 +00:00