Cover the runnable D3 scenarios with real artifacts #503

Merged
weichen merged 21 commits from feature/svc-d3-real-scenarios into main 2026-10-13 04:56:48 +00:00
21 Commits
Author SHA1 Message Date
weichen 424892258b Record the sync checkpoint
ci / test-pg (pull_request) Successful in 8m27s
ci / svc-realcombo (pull_request) Successful in 2m29s
ci / test (pull_request) Successful in 5m34s
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=6fd51fec9fed2a95f51420d2c1a8bd5d82db2ae6; candidate=4ba2aff7d7dd71606851a23d229dd5b5241e7b7b.

Impact: task metadata only.

Refs: .task/feature-svc-d3-real-scenarios.md
2026-10-13 04:46:18 +00:00
weichen 4ba2aff7d7 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=6fd51fec9fed2a95f51420d2c1a8bd5d82db2ae6.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-13 04:45:51 +00:00
weichen 170b07702c Record the sync checkpoint
ci / svc-realcombo (pull_request) Successful in 2m48s
ci / test-pg (pull_request) Successful in 10m0s
ci / test (pull_request) Successful in 6m23s
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=d40d1c2e5d29bb0ce429edf2221d9c4e4bcb0dcb; candidate=da0bb034c9679c396b2f96bdb1b3857c456455cf.

Impact: task metadata only.

Refs: .task/feature-svc-d3-real-scenarios.md
2026-10-13 04:25:22 +00:00
weichen da0bb034c9 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=d40d1c2e5d29bb0ce429edf2221d9c4e4bcb0dcb.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-13 04:24:53 +00:00
weichenandCursor f59a189b6f Record the deeper pin-fetch evidence
ci / test (pull_request) Successful in 4m50s
ci / svc-realcombo (pull_request) Successful in 1m50s
ci / test-pg (pull_request) Successful in 7m59s
Why: the ancestry fix needs a tool-written receipt beside the workflow change.
Evidence: SELF make evidence, exit 0.
Impact: task metadata only.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:14:11 +00:00
weichenandCursor c78c237dc7 Fetch pinned RDM history deep enough for ancestry
Why: depth 1 makes prev_sha and sha unrelated shallow roots, so update reports a fork instead of an upgrade.
Evidence: SELF the pin-fetch credential test; CI run 2829 showed the fork message.
Impact: test-pg fetches 200 commits from each pin, not the full history.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:14:03 +00:00
weichenandCursor b5cf1f2f1e Record the pin-channel unit evidence
ci / svc-realcombo (pull_request) Successful in 1m51s
ci / test (pull_request) Successful in 4m53s
ci / test-pg (pull_request) Failing after 6m39s
Why: the CI fix needs a tool-written receipt on the commit that contains it.
Evidence: SELF make evidence, exit 0.
Impact: task metadata only.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:05:49 +00:00
weichenandCursor 7331323df4 Give pin materialize the CI git channel and a private database
Why: test-pg has no SSH known_hosts, and the shared agent_test database already holds another instance identity.
Evidence: SELF python3 -m unittest tests.test_ci_credentials.CheckoutTests.test_rdm_pin_fetch_is_three_shas_on_the_allowlist tests.integration.lifecycle.test_lifecycle_real (1 pass, 24 skip).
Impact: lifecycle children forward GIT_CONFIG_* only; serve stays env -i. Login and rdm.ping stay NOT_RUN.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 04:03:55 +00:00
weichenandCursor 678590b1dc Link the task card to pull request 503
ci / svc-realcombo (pull_request) Successful in 1m42s
ci / test-pg (pull_request) Failing after 3m25s
ci / test (pull_request) Successful in 4m46s
Why: the card's main record must point at the review object before CI is accepted.
Evidence: PR 503 exists on the current branch.
Impact: task metadata only.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 03:42:06 +00:00
weichenandCursor 5243030370 Record the task-sync evidence receipt
ci / test-pg (pull_request) Failing after 3m38s
ci / svc-realcombo (pull_request) Successful in 1m59s
ci / test (pull_request) Successful in 4m55s
Why: the sync checkpoint must be a tool-written receipt on the same card as the tests.
Evidence: SELF CMD make task-sync, exit 0, sync_base 3fb8210f64.
Impact: task metadata only.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 03:41:21 +00:00
weichen 573380d0a5 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=3fb8210f6495a78e70a67af3661bdfe9c00fb9de; candidate=c2739b236cd738bc20f90e1af8f8e86fa336d905.

Impact: task metadata only.

Refs: .task/feature-svc-d3-real-scenarios.md
2026-10-13 03:40:59 +00:00
weichenandCursor c2739b236c Record precheck and real-scenario test evidence
Why: completion claims need tool-written receipts, including the SSH timeout and the passing rerun.
Evidence: SELF make evidence rows on this card.
Impact: task metadata only; login and rdm.ping stay NOT_RUN.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 03:40:19 +00:00
weichen 50f4c7df1f Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=3fb8210f6495a78e70a67af3661bdfe9c00fb9de; candidate=c1e82872ff6deb547da49dcf58f4766d30c79286.

Impact: task metadata only.

Refs: .task/feature-svc-d3-real-scenarios.md
2026-10-13 03:04:41 +00:00
weichen c1e82872ff Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=3fb8210f6495a78e70a67af3661bdfe9c00fb9de.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-13 03:04:15 +00:00
weichenandCursor a702ef2a97 Record D3 real-scenario scope on the task card
Why: the card still had the task-start placeholders, so review would not see the NOT_RUN boundary.
Evidence: documentation only; command evidence follows via make evidence.
Impact: login and rdm.ping stay NOT_RUN, and the card does not claim full coverage.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 03:04:06 +00:00
weichenandCursor 8dda121c0d Fetch and build the three pinned RDM SHAs in CI
Why: test-pg only cloned the default branch, so prev_sha and legacy_sha were never built or attested.
Evidence: SELF python3 -m unittest tests.test_ci_credentials tests.test_lifecycle_pin (11 tests, exit 0).
Impact: the lifecycle suite prints the combination inventory and keeps login and rdm.ping as NOT_RUN.
Refs: .task/feature-svc-d3-real-scenarios.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 02:59:44 +00:00
weichenandCursor 4bd8d2a340 Add credential scan and bootstrap retention tests
Why: A real process must not keep the caller DSN in its command line, environment, log, history, or svc.env. Domain events written by -bootstrap have to survive a later pin deploy.
Evidence: SELF unittest of the two new LifecycleRealTests methods exited 0.
Impact: The scan uses a sentinel that is not a live database password. Login and rdm.ping stay NOT_RUN.
Refs: tests/integration/lifecycle/test_lifecycle_real.py
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 02:56:12 +00:00
weichenandCursor f0e1e3f254 Add real mixed-batch, manifest-loss, and PG cross-bind tests
Why: A static dev deploy deleted the worktree before copying dist, so a mixed batch could not update the workbench. Missing manifests and a second instance on the same Postgres database must fail closed the same way on real artifacts.
Evidence: SELF unittest of the mixed batch, the three-entry manifest-loss case, and the PG cross-instance case exited 0. The PG case used a temporary cluster.
Impact: static dev deploys copy dist before recycling the worktree. Login and rdm.ping stay NOT_RUN.
Refs: tests/integration/lifecycle/test_lifecycle_real.py
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 02:54:05 +00:00
weichenandCursor 1bcdfe8779 Add real artifact rollback and phase reconciliation tests
Why: Stub journals do not prove that a real RDM binary rolls back after a switched fault, a failed build, or a candidate that exits on serve.
Evidence: SELF unittest of the three new LifecycleRealTests methods exited 0. Staging leaves the old pid and release in place; the next start clears that journal. Switched and an immediate serve exit both restore the previous real binary.
Impact: The crash candidate delegates version and identity to the real binary so the gate still sees a capable artifact. Login and rdm.ping stay NOT_RUN.
Refs: tests/integration/lifecycle/test_lifecycle_real.py
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 02:14:30 +00:00
weichenandCursor bf347c1dbc Add real pin tests for refuse and version switch
Why: The lifecycle gate only ran four realcombo cases. A legacy candidate and a missing or mismatched identity row must be refused before the old process stops, and the prev/sha pins must switch without changing the identity row.
Evidence: SELF unittest of the four LifecycleRealTests methods exited 0 against a private RDM clone. The pin moved to the identity merge and a later commit on the same backend pin, because the previous card-close SHAs build a binary with no ensure/verify.
Impact: make test still skips this class unless SVC_TEST_REAL, SVC_RDM_SRC_DIR and SVC_REAL_RDM_BIN are set. make test-lifecycle now runs the module. Login and rdm.ping stay NOT_RUN.
Refs: tests/integration/lifecycle/rdm.pin
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-13 02:05:05 +00:00
weichen 435639ddbf Record the task card for feature-svc-d3-real-scenarios
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-svc-d3-real-scenarios.md; R0=5aebedebeb963b5c01f39fd9122ec60dbe6d34d3.

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

Refs: .task/feature-svc-d3-real-scenarios.md
2026-10-13 01:44:44 +00:00