Commit Graph
3410 Commits
Author SHA1 Message Date
agent-exec-transport c810b7c4e6 Gate host project override settings to owners and admins (transport)
ci / svc-realcombo (pull_request) Successful in 1m59s
ci / test (pull_request) Successful in 5m54s
ci / test-pg (pull_request) Successful in 8m19s
Why: P1-B per S9 acceptance report; pin bump + card.
Evidence: frontend #93 merged; Dev composition CI on this PR.
Impact: modules/frontend pin bump; modal gating.
Refs: S9 acceptance report P1-B
2026-10-16 05:12:05 +00:00
weichen 5a97dc4039 Record the task card for fix-duty-settings-gating
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/fix-duty-settings-gating.md; R0=ad3eb8b809681131670051f912fdbf4d51be6716.

Impact: task metadata only; the feature workspace starts at ad3eb8b809.

Refs: .task/fix-duty-settings-gating.md
2026-10-16 05:05:58 +00:00
weichen ad3eb8b809 Merge pull request 'Close merged task cards (feature/card-close-20261016-043510Z)' (#577) from feature/card-close-20261016-043510Z into main
ci / svc-realcombo (push) Successful in 1m51s
ci / test (push) Successful in 5m50s
ci / test-pg (push) Successful in 7m32s
2026-10-16 04:43:16 +00:00
weichen 8a40bf0cdd Close 1 merged task card(s) and archive them
ci / svc-realcombo (pull_request) Successful in 2m0s
ci / test (pull_request) Successful in 5m48s
ci / test-pg (pull_request) Successful in 8m4s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-duty-acceptance-e2e.md(PR#576) — merges verified via git log --merges plus Gitea API squash lookup against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
2026-10-16 04:35:10 +00:00
weichen 197155c405 Merge pull request 'Add the duties acceptance e2e harness' (#576) from feature/duty-acceptance-e2e into main
ci / svc-realcombo (push) Successful in 2m1s
ci / test (push) Successful in 5m53s
ci / test-pg (push) Successful in 8m7s
2026-10-16 04:34:37 +00:00
weichen 359e2cd015 Merge authoritative main into the task branch
ci / svc-realcombo (pull_request) Successful in 1m49s
ci / test (pull_request) Successful in 5m55s
ci / test-pg (pull_request) Successful in 7m47s
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=d295342c4f5654d916c612b9cc059ccd39445d14.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-16 04:22:28 +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
weichen d295342c4f Merge pull request 'Close merged task cards (feature/card-close-20261016-032018Z)' (#575) from feature/card-close-20261016-032018Z into main
ci / svc-realcombo (push) Successful in 1m50s
ci / test (push) Successful in 6m1s
ci / test-pg (push) Successful in 8m0s
2026-10-16 03:28:39 +00:00
weichen 7f45ca0b3b Close 1 merged task card(s) and archive them
ci / svc-realcombo (pull_request) Successful in 1m55s
ci / test (pull_request) Successful in 5m52s
ci / test-pg (pull_request) Successful in 7m57s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-ecs-8788-update.md(PR#574) — merges verified via git log --merges plus Gitea API squash lookup against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
2026-10-16 03:20:18 +00:00
weichen 1564c0f5c1 Merge pull request 'Record ECS 8788 update and two-trees ingest task card' (#574) from feature/ecs-8788-update into main
ci / svc-realcombo (push) Successful in 1m59s
ci / test (push) Successful in 5m55s
ci / test-pg (push) Successful in 8m5s
2026-10-16 03:19:58 +00:00
weichenandCursor 31b6429333 Record task-sync evidence for ECS update task
ci / svc-realcombo (pull_request) Successful in 1m49s
ci / test (pull_request) Successful in 5m44s
ci / test-pg (pull_request) Successful in 7m30s
Why: pre-merge sync evidence required by delivery gate.
Evidence: make evidence task-sync entry (src=SELF).
Impact: task card only.
Refs: .task/feature-ecs-8788-update.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 03:11:42 +00:00
weichenandCursor 91e31da136 Fill ECS update task card results and remaining items
Why: record authorization, outcome, verification status and out-of-scope defects found during the ECS update.
Evidence: task card evidence table (src=SELF); browser UI check NOT_RUN.
Impact: task card only.
Refs: .task/feature-ecs-8788-update.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 03:10:25 +00:00
weichenandCursor 6209d282ab Record ECS two-trees ingest reconciliation evidence
Why: 45 offline-classified items ingested into 4 RDM projects after restoring rdm.db from a duplicate run.
Evidence: task card evidence section (src=SELF).
Impact: task card only.
Refs: .task/feature-ecs-8788-update.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 03:08:51 +00:00
weichen ae050e1358 Record the task card for feature-duty-acceptance-e2e
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-duty-acceptance-e2e.md; R0=e8d3e61a38e9690763ef46f272b2643604629cc4.

Impact: task metadata only; the feature workspace starts at e8d3e61a38.

Refs: .task/feature-duty-acceptance-e2e.md
2026-10-16 03:06:36 +00:00
weichenandCursor 8175c541d0 Record ECS 8788 update and live verification evidence
Why: ECS service updated to rdm@b8cdf01 under the systemd unit; data reconciled against strict cold backup.
Evidence: task card evidence sections (src=SELF).
Impact: task card only.
Refs: .task/feature-ecs-8788-update.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 02:25:52 +00:00
weichen c142688336 Record the task card for feature-ecs-8788-update
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-ecs-8788-update.md; R0=e8d3e61a38e9690763ef46f272b2643604629cc4.

Impact: task metadata only; the feature workspace starts at e8d3e61a38.

Refs: .task/feature-ecs-8788-update.md
2026-10-16 01:36:06 +00:00
weichen e8d3e61a38 Merge pull request 'Enforce agent CLI execution routing' (#572) from feature/agent-cli-enforcement into main
ci / svc-realcombo (push) Successful in 1m46s
ci / test (push) Successful in 5m43s
ci / test-pg (push) Successful in 7m45s
2026-10-15 21:15:45 +00:00
weichen 8228043998 Link the agent CLI delivery PR
ci / svc-realcombo (pull_request) Successful in 1m52s
ci / test (pull_request) Successful in 5m45s
ci / test-pg (pull_request) Successful in 7m56s
Why: The task card and PR must reference the same primary delivery record.

Evidence: Gitea created PR #572 for feature/agent-cli-enforcement.

Impact: Task metadata only.

Refs: https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/572
2026-10-15 21:06:31 +00:00
weichen cae058549e Record final synchronization evidence
ci / svc-realcombo (pull_request) Successful in 1m54s
ci / test (pull_request) Successful in 5m48s
ci / test-pg (pull_request) Successful in 7m53s
Why: The PR candidate must carry a tool-written final task-sync receipt against the authoritative target.

Evidence: make evidence recorded make task-sync at 2fcb4c72 with sync base bc5a1194 and changed=0.

Impact: Task evidence only.

Refs: .task/feature-agent-cli-enforcement.md
2026-10-15 21:05:31 +00:00
weichen 2fcb4c72e8 Record final governance test evidence
Why: Delivery policy requires the exact command output and tested object to be written by the evidence tool.

Evidence: make evidence recorded make test-governance at e288f001 with exit 0; 472 tests passed and 19 were skipped.

Impact: Task evidence only.

Refs: .task/feature-agent-cli-enforcement.md
2026-10-15 21:04:40 +00:00
weichen e288f00116 Record final agent CLI verification
Why: The task card must identify the exact candidate, implementation agents, independent tests, and review closure before PR delivery.

Evidence: PI reported 110 focused tests and 472 governance tests passing at d3c28d5; independent Codex delta review found no actionable regression.

Impact: Task metadata only; product and governance behavior are unchanged.

Refs: .task/feature-agent-cli-enforcement.md
2026-10-15 20:58:42 +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 59232669d0 Record agent CLI enforcement progress
Why: Preserve the approved scope, actual CLI attempts, independent testing, and first-review remediation status.

Evidence: Task card names the exact sync/review objects and distinguishes direct CLI sessions from standard receipts.

Impact: Task metadata only; implementation behavior is unchanged.

Refs: feature/agent-cli-enforcement
2026-10-15 18:47:49 +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 529d8aa5c7 Record the sync checkpoint
Why: bind the task validation checkpoint to the integration baseline.

Evidence: SELF recursive component checks; sync_base=bc5a1194984433c4098f1961f5280b3d9ee20995; before_record=f0bcbe018dd07bd03371dae856f76bc1c2907fb1.

Impact: task metadata only.

Refs: .task/feature-agent-cli-enforcement.md
2026-10-15 17:32:01 +00:00
weichen f0bcbe018d Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=bc5a1194984433c4098f1961f5280b3d9ee20995.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-15 17:31:29 +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 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 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 bc5a119498 Merge pull request 'Close merged task cards (feature/card-close-20261015-161718Z)' (#571) from feature/card-close-20261015-161718Z into main
ci / svc-realcombo (push) Successful in 2m1s
ci / test (push) Successful in 5m44s
ci / test-pg (push) Successful in 7m31s
2026-10-15 16:29:38 +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 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 bd531e2981 Close 2 merged task card(s) and archive them
ci / svc-realcombo (pull_request) Successful in 2m12s
ci / test (pull_request) Successful in 6m16s
ci / test-pg (pull_request) Successful in 7m43s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-rdm-duty-matrix.md(PR#566) fix-model-key-secret-overlay.md(PR#569) — merges verified via git log --merges plus Gitea API squash lookup against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
2026-10-15 16:17:18 +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 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
weichen 343a56e2b6 Record the task card for feature-agent-cli-enforcement
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-agent-cli-enforcement.md; R0=04acb027f6678d9a7a1fbdd3cdacb105d8fbd3ee.

Impact: task metadata only; the feature workspace starts at 04acb027f6.

Refs: .task/feature-agent-cli-enforcement.md
2026-10-15 14:48:10 +00:00
weichen 04acb027f6 Merge pull request 'Wire layered Python environments into service startup'
ci / svc-realcombo (push) Successful in 1m56s
ci / test (push) Successful in 6m50s
ci / test-pg (push) Successful in 9m24s
Review: interpreter path, immutable layers, approval, and startup mounting match the plan. CI test, test-pg, and svc-realcombo succeeded on 9c7fa27.
2026-10-15 14:24:56 +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 bd18e11836 Allow the exec env package in the architecture baseline
ci / test-pg (pull_request) Failing after 1m26s
ci / svc-realcombo (pull_request) Failing after 4m8s
ci / test (pull_request) Successful in 5m47s
Why: app, server, and tools now call the layered Python environment. The dependency ratchet rejects those edges until they are recorded.
Evidence: CI job 5179 failed test-boundaries on exactly these three edges. scripts/lint-architecture.sh passes locally after the update.
Impact: The allowlist grows by three edges. No other package may import execenv until it is added the same way.
Refs: Agent-System-Dev pull 570
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 14:08:55 +00:00
weichenandCursor f4cba944af Point the backend gitlink at the storage migration fix
ci / test (pull_request) Failing after 3m51s
ci / svc-realcombo (pull_request) Failing after 4m8s
ci / test-pg (pull_request) Failing after 9m43s
Why: The combination build has to include the exec env tables in the SQLite-to-Postgres copy list, or backend CI and the Dev suite both reject the candidate.
Evidence: Backend ab12fea follows the storage-migrate test that CI run 3343 failed.
Impact: Only the backend gitlink moves.
Refs: Agent-System-Backend pull 206
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 14:04:09 +00:00
weichenandCursor f88cc7fb37 Sync layered-env gitlinks with current component mains
ci / test-pg (pull_request) Failing after 1m26s
ci / test (pull_request) Failing after 3m49s
ci / svc-realcombo (pull_request) Failing after 3m57s
Why: Backend, frontend, and documents each gained one commit on main after this branch was cut. The feature commits have to contain those mains so the pull requests can merge.
Evidence: git merge origin/main in each submodule completed with the ort strategy and no conflicts.
Impact: Gitlinks move to the merge commits. The layered environment changes themselves are unchanged.
Refs: .task/feature-layered-python-env.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 14:01:33 +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 64a50cf532 Merge pull request 'Warn when a seeded model key does not become active' (#569) from fix/model-key-secret-overlay into main
ci / svc-realcombo (push) Successful in 1m48s
ci / test-pg (push) Failing after 2m0s
ci / test (push) Successful in 6m21s
Why: seeding a new model key left the old secret row in force.
Evidence: CI run 3341 jobs test, test-pg, and svc-realcombo succeeded on 34152f740f. Backend #205 is 11c337d3.
Impact: seed warns on fingerprint mismatch; backend gitlink keeps the adoption fix.
Refs: fix/model-key-secret-overlay
2026-10-15 11:52:25 +00:00