Commit Graph
178 Commits
Author SHA1 Message Date
weichen 2dec70e5ef Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=682a4e8263fe007cb102fc9deaf71bda514ee387.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-17 05:39:39 +00:00
agent-exec-transport d2aec965e1 agent-exec transport 4300342755664db5bf38e5c1e7288997/f624ed357fe5 2026-10-17 03:50:13 +00:00
agent-exec-transport dc13842443 agent-exec transport 8cf0e1d04dbc47d59e2612c037e22af0/1ec209ddef3b 2026-10-17 03:39:57 +00:00
agent-exec-transport ad48fa0404 agent-exec transport 5223ef9080804127831db740ad18446b/aa76b5b5c26e 2026-10-17 03:29:00 +00:00
agent-exec-transport 2e06818899 agent-exec transport 0d74222d207e4a09b0daba16fb7a91ba/6f350afc6122 2026-10-17 03:04:46 +00:00
agent-exec-transport 1c4acb40a4 agent-exec transport 879b9a517efd4e3f85339649d5b00586/395b33d1abda 2026-10-16 19:02:36 +00:00
agent-exec-transport 74a834c786 agent-exec transport cd4961f74af64c6ebd54c5fd0bf27d27/d63165e5e315 2026-10-16 18:12:57 +00:00
agent-exec-transport 09a3bdfb40 agent-exec transport db893a08b5594e8086689933bcd883a5/3bc5f8142666 2026-10-16 16:49:23 +00:00
agent-exec-transport 602cba9373 agent-exec transport b918a843562d4d29b3efc3da6ee19803/557f53579497 2026-10-16 16:21:24 +00:00
agent-exec-transport a167731f43 agent-exec transport e95fc628487942e6b8a79dfdfa30365e/472813a20fe5 2026-10-16 15:18:45 +00:00
agent-exec-transport b013be1eb3 agent-exec transport e07a99259f354adca2d4abddc1b30e6f/51f9e8e4e347 2026-10-16 14:30:50 +00:00
agent-exec-transport 372dca1af4 agent-exec transport bf56072475414d34beb2ef67c5eac9cf/bd58000071ed 2026-10-16 14:05:53 +00:00
agent-exec-transport b1ba22d2b9 agent-exec transport de88901cfe154f429b9aa6cb7452839a/eb9887a919dc 2026-10-16 14:02:09 +00:00
agent-exec-transport 0a1e777f3c agent-exec transport bc30a0b526264165a2926961625b9d47/c97a45ca27e9 2026-10-16 13:57:51 +00:00
weichen 1b0ac59fbc Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=82c8989973112d0533ee7c70654c907269df7859.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-16 12:12:00 +00:00
agent-exec-transport 1c9b9c0c44 agent-exec transport 96b16740a1b6471d9de1166e021c220c/e595baf005a0 2026-10-16 10:59:25 +00:00
weichen 121365ee4c Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=84900d44d34d2d42428a5b5de1d92328d90a9950.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-16 08:30:42 +00:00
agent-exec-transport 56df3b11b7 agent-exec transport e8ba59dd3e1444a79fdda6e7f21ed7bd/7c8fcf53d035 2026-10-16 08:28:08 +00:00
agent-exec-transport 7c137f7ad3 Migrate e2e.sh seeding to the login-key credential contract (transport)
Why: P0-B observation fix; --password creation rejected by the recovery contract.
Evidence: full e2e.sh run exit=0, both suites pass (task card evidence row).
Impact: scripts/e2e.sh only.
Refs: S9 acceptance report P0-B observation
2026-10-16 06:45:10 +00:00
weichen 9e54b51b9a Add the duties acceptance e2e harness and record results
Why: the S9 acceptance corrections left no repeatable harness for the
duty-flows browser verification, and the doc-level in-flight confirmation
path had never been driven in a real browser; the legacy e2e.sh seeding
predates the login-key credential contract.

Evidence: bash scripts/e2e-duties.sh end-to-end PASS — granted non-admin
preview 200, in-flight round + reviewer change surfaces the confirmation
checkbox and a confirmed save invalidates the doc submission, idempotent
re-save applied=0 unchanged=1, unauthorized member preview 400,
void-legacy then doc submit passes (evidence row in this card).

Impact: scripts-only; no product code or pins change.
Refs: S9 acceptance report P0-B
2026-10-16 04:22:09 +00:00
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 11973f5244 Require CLI provenance without constraining agent reasoning
Why: Agents must use configured CLIs for implementation and testing, while remaining free to inspect, plan, test, and iterate within bounded scope.

Evidence: Task-card contract tests and the full 430-test governance discovery pass with 19 existing skips; diff-check passes.

Impact: Defines three safe attempts per normal CLI, one emergency Codex attempt, fail-stop terminals, and mandatory apply/admit integration.

Refs: feature/agent-cli-enforcement
2026-10-15 17:24:58 +00:00
weichen 8b30353c4d Enforce execution-agent provenance at integration
Why: Implementation changes must be mechanically tied to a successful CLI transport instead of relying on agents to follow prose.

Evidence: Admission tests went RED without apply/admit; 10 admission, 41 agent-exec, and 62 task tests now pass with exact staged-content matching.

Impact: Adds validated transport fast-forwarding and rejects unproven implementation commits while exempting task cards and approved plan/spec paths.

Refs: feature/agent-cli-enforcement
2026-10-15 17:13:05 +00:00
weichen d54306b65e Harden Codex emergency profile configuration
Why: Normal execution roles must exclude Codex while a single enabled Codex adapter remains available for emergency routing and review.

Evidence: Parser invalid-case tests were RED before validation; all 17 config tests and agent_exec validate now pass.

Impact: Enables three attempts per normal profile, stable Cursor routing, and a validated emergency Codex profile.

Refs: feature/agent-cli-enforcement
2026-10-15 16:45:14 +00:00
weichen 71fd4486f5 Route exhausted work through emergency Codex
Why: Codex CLI is permitted only after every normal execution profile exhausts three safe attempts, with no host implementation fallback.

Evidence: The emergency RED test lacked the fourth Codex attempt before implementation; 32 controller/history executions now pass.

Impact: Adds one emergency attempt for implementation, repair, and test roles while preserving fail-stop statuses and review isolation.

Refs: feature/agent-cli-enforcement
2026-10-15 16:36:50 +00:00
weichen 09ca1c6ebe Retry recoverable execution profiles
Why: Each non-Codex execution profile must receive three safe attempts before routing advances.

Evidence: The focused RED test observed one retryme launch before implementation; the controller and history suites now pass 31 executions.

Impact: Retries only unavailable and failed-clean outcomes; existing fail-stop statuses remain immediate.

Refs: feature/agent-cli-enforcement
2026-10-15 16:23:06 +00:00
weichen dd3140b391 Add execution retry and emergency profile settings
Why: Routing needs an explicit per-profile attempt limit and a named Codex emergency profile before controller enforcement can be implemented.

Evidence: The new parser test failed on unknown keys before implementation; all 15 config test executions now pass and git diff --check is clean.

Impact: Adds backward-compatible optional configuration fields only; routing behavior is unchanged in this commit.

Refs: feature/agent-cli-enforcement
2026-10-15 15:22:51 +00:00
weichenandCursor 9c7fa2730e Keep service start from downloading the Python base layer
ci / svc-realcombo (pull_request) Successful in 2m2s
ci / test (pull_request) Successful in 5m49s
ci / test-pg (pull_request) Successful in 8m54s
Why: env ensure downloads an interpreter and wheels. The real-combination start test allows 120 seconds, and that download made rc1 start time out.
Evidence: CI job 5184 timed out in test_U3_real_agent_identity_lifecycle_sqlite on scripts/svc.sh rc1 start.
Impact: Start only mounts a base layer that already exists. The first build is an explicit env ensure, run outside start.
Refs: Agent-System-Dev pull 570
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 14:14:48 +00:00
weichenandCursor 3d6de0c4ac Wire the layered Python environment into service startup
Why: The dependency layer already existed in the backend, but service startup never passed it, so the sandbox could not import the packages the host already had.
Evidence: SELF go tests recorded on the backend commit. svc.sh only exports the env root after env ensure leaves a current base layer, and a failed download does not block startup.
Impact: Instances share runtime/envs. Existing exec= lines are left as stored. Proposal, backend, and frontend gitlinks move to this branch.
Refs: .task/feature-layered-python-env.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 13:53:00 +00:00
weichen 6b2173b9dc Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=dc86a023605d00fccca1b9679b4cdad96373bdee.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-15 10:33:58 +00:00
weichenandCursor 265bcdcbba Warn when a seeded model key does not become active
Why: Settings plaintext loses to secret_keys, so replacing the env key did not change the key a conversation actually sent.
Evidence: python3 -m unittest tests.test_svc.SvcDbRecoveryTests.test_seed_replaces_old_system_secret tests.test_svc.SvcDbRecoveryTests.test_seed_warns_when_old_secret_stays_active tests.test_svc.SvcDbRecoveryTests.test_seed_puts_without_credentials_when_auth_off (SELF).
Impact: Embedded databases now compare the active system secret fingerprint after seeding, and the backend gitlink carries the adoption fix.
Refs: fix/model-key-secret-overlay
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 10:33:28 +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 5d7f6c79af Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=919f75cf7b39ca357e212a08a0ba5ba3d9a79b51.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-15 08:21:50 +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 8c98635dfd Route project work through Cursor agy and PI
Why: make the three approved CLIs the only active implementation and test routes

Evidence: adapter unit tests, configuration validation, diff check, and real marker probes for all three profiles

Impact: narrows project routing and fixes agy prompt binding for noninteractive execution

Refs: feature/goal-first-delivery
2026-10-15 06:48:06 +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
weichenandCursor 196d6f3cfd Merge authoritative main into the task branch
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=692735e91d6a9ab07ddd3686feb60a56b270728a.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 05:55:51 +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 0f4c5c017d Route project work through configured agents
Why: replace fixed Cursor execution authority with project-configured agent routing
Evidence: focused task-card contract, agent-exec validation, governance regression, and diff check
Impact: updates project policy, task templates, capability records, and current task metadata
Refs: U4; docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 05:03:14 +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
weichenandCursor 8e5b44bc2c Seed the four-model setup on later service starts
Why: The dev service is an rdm build, so startup skipped model seeding and kept the old MiniMax chat model. Later starts need the saved env file applied even without an admin key command.

Evidence: seed and rdm launcher tests passed. The live dev database now uses the four-model chat route and keeps the original MiniMax endpoint as reserve.

Impact: Restart of a service with envfile set rewrites system model settings. HTTP seeding is unchanged for builds that can mint an admin key. MiniMax is stored separately because fallbacks cannot switch gateways.

Refs: .task/feature-four-model-vision.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 04:14:22 +00:00
weichen 92330a225f Add execution CLI adapter registry
Why: Hide provider-specific noninteractive, model, permission, workspace, prompt, and output differences behind one adapter seam.

Evidence: Cursor observed red then 22 green config/adapter tests; the host replays them and whitespace checks during integration.

Impact: Adds deterministic direct-argv adapters and probes without launching providers or enabling project routing.

Refs: docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 02:55:14 +00:00
weichen bdad8ffc91 Add project execution agent configuration
Why: Establish one validated project-local routing document before any real Agent execution is enabled.

Evidence: Cursor observed red then 12 green configuration tests; the host replays those tests, the temporary validation target, and whitespace checks during integration.

Impact: Adds the U1 configuration contract and parser only; real routing, adapters, controller execution, and governance adoption remain disabled.

Refs: docs/superpowers/plans/2026-10-15-project-agent-execution.md
2026-10-15 02:17:29 +00:00
weichenandCursor 1a5afe219d Point the service at four-model vision routing
Why: Chat, lightweight, fallback and vision settings need a seed path, and the backend now sends current-turn images only to models declared capable of seeing them.

Evidence: The backend change is cfde38d. The seed test covers fallback and vision settings. A local image conversation on each builtin profile returned the pictured content from the expected model, and removing the chat model from the capable list switched that turn to the vision model.

Impact: New runs can use the four builtin profiles and image input. Secrets stay in the ignored env file. The live 8788 process is unchanged.

Refs: .task/feature-four-model-vision.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 17:51:29 +00:00