Commit Graph
2685 Commits
Author SHA1 Message Date
weichen cd61bbb112 Merge pull request 'Gate deploys on identity capabilities and a reversible release' (#485) from feature/svc-d1-identity-flow into main
ci / svc-realcombo (push) Successful in 1m42s
ci / test-pg (push) Successful in 2m22s
ci / test (push) Successful in 4m29s
Why: deploys need a side-effect-free identity probe, an isolated lifecycle child, and the release transaction already on main.
Evidence: GATE run 2667 jobs 3845 test, 3846 test-pg, 3847 svc-realcombo all success on b4eb3a814c.
Impact: update and recover run in a clean child; serve keeps the exec-tool kill switch; Backend pin is 0f192a4.
Refs: #485
2026-10-12 15:41:31 +00:00
weichenandCursor b4eb3a814c Migrate PostgreSQL before the identity probe in the real combo
ci / svc-realcombo (pull_request) Successful in 1m44s
ci / test-pg (pull_request) Successful in 3m37s
ci / test (pull_request) Successful in 4m36s
Why: identity ensure no longer creates the schema, so the probe has to follow a real serve that applies migrations.
Evidence: SELF python3 -m py_compile tests/test_svc_realcombo.py. GATE run 2663 job 3839 failed on the previous head with identity table missing.
Impact: the PostgreSQL check still passes the DSN only through the environment, after serve has migrated.
Refs: #485
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:36:41 +00:00
weichenandCursor 0a56150d01 Pass the exec-tool kill switch into the clean serve process
ci / svc-realcombo (pull_request) Successful in 1m42s
ci / test-pg (pull_request) Failing after 3m21s
ci / test (pull_request) Successful in 4m16s
Why: env -i dropped RDM_DISABLE_EXEC_TOOLS, so the real RDM binary exited immediately on runners without bwrap, and the capability probe now prints the JSON document.
Evidence: SELF bash -n scripts/svc.sh; python3 -m py_compile tests/test_svc_realcombo.py. GATE run 2656 job 3831 failed on the previous head before this fix.
Impact: serve and the lifecycle child forward that one switch; identity capabilities is checked as protocol 1 JSON.
Refs: #485
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:31:27 +00:00
weichenandCursor b10406a58f Merge origin/main into feature/svc-d1-identity-flow
ci / svc-realcombo (pull_request) Failing after 1m55s
ci / test (pull_request) Failing after 2m49s
ci / test-pg (pull_request) Failing after 4m9s
Why: main gained the real-combination CI gate after the previous sync, and this branch still has to carry that gate with the isolated identity calls.
Evidence: SELF python3 -m unittest recovery/identity/u2/deploy/pin/isolation — 100 tests OK (2 skipped); bash -n scripts/svc.sh.
Impact: identity ensure/verify still pass DSN only through the environment; stop waits for the port and can keep the desired state. CI keeps the lifecycle pin step and the svc-realcombo job.
Refs: #485
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:26:57 +00:00
weichenandCursor 797d3248f0 Forward stub trace variables into the clean serve process
ci / test-pg (pull_request) Successful in 1m49s
ci / test (pull_request) Successful in 4m11s
Why: env -i dropped SVC_STUB_*, so recovery tests saw an empty serve record even though the bound DSN was still passed.
Evidence: SELF python3 -m unittest tests.test_svc.SvcDbRecoveryTests tests.test_svc_lifecycle_isolation — 34 tests OK.
Impact: only SVC_STUB_* is added at launch; serve.env still omits them, and caller AGENT_SYSTEM_* stays out of the process.
Refs: #485
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:13:36 +00:00
weichenandCursor 7cc553d5a3 Merge origin/main into feature/svc-d1-identity-flow
ci / test-pg (pull_request) Successful in 1m52s
ci / test (pull_request) Failing after 2m51s
Why: main already has one release transaction, so this branch keeps that path and only isolates update and recover in a clean child.
Evidence: SELF bash -n scripts/svc.sh; python3 -m unittest identity/recover/deploy/u2/lifecycle pin 92 tests OK (2 skipped), then 66 tests OK after dropping the obsolete journal hook.
Impact: deploy uses releases/ and deploy.journal; the lifecycle child reconciles that journal before deploy or recover. Backend pin is 0f192a4.
Refs: #485
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 15:06:55 +00:00
weichen 99048dda1f Merge pull request 'Close merged task card feature-svc-u3-realcombo' (#487) from feature/card-close-20261012-150228Z into main
ci / svc-realcombo (push) Successful in 1m56s
ci / test-pg (push) Successful in 2m26s
ci / test (push) Failing after 2m28s
2026-10-12 15:03:31 +00:00
weichen a942307dda Close 1 merged task card(s) and archive them
ci / svc-realcombo (pull_request) Successful in 1m55s
ci / test (pull_request) Failing after 2m30s
ci / test-pg (pull_request) Successful in 3m3s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-u3-realcombo.md(PR#484) — merges verified via git log --merges 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-12 15:02:28 +00:00
weichen a1693f8f92 Merge pull request 'Gate svc lifecycles on real Dev and RDM artifacts in CI (U3)' (#484) from feature/svc-u3-realcombo into main
ci / svc-realcombo (push) Successful in 1m44s
ci / test-pg (push) Successful in 2m18s
ci / test (push) Failing after 2m22s
2026-10-12 15:02:10 +00:00
weichen e9673cad88 Wait for port release after stopping a service
ci / svc-realcombo (pull_request) Successful in 2m1s
ci / test-pg (pull_request) Successful in 4m2s
ci / test (pull_request) Successful in 4m55s
Why: on slow runners the orphaned http child of a stopped stub lingers
a few hundred milliseconds past the parent's exit (ppid-watch suicide),
and the immediately following start - notably the U2 rollback restart -
classified the unparented listener as a foreign occupant and refused to
start (CI run 3774).
Evidence: test_svc_u2/identity/svc suites 82 OK locally with the wait
in both stop paths.
Impact: adds <=3s bounded wait in do_stop/do_stop_quiet after SIGTERM
cleanup; no behavior change when the port is already free.
2026-10-12 14:56:00 +00:00
weichen 7dd2079b06 Hard-disable exec tools for every call in the full-track test
ci / svc-realcombo (pull_request) Successful in 1m37s
ci / test (pull_request) Failing after 2m19s
ci / test-pg (pull_request) Successful in 3m9s
Why: only the deploy invocation carried RDM_DISABLE_EXEC_TOOLS; the
trailing restart ran without it and the serve died on keyless runners
under the bwrap fail-closed policy (run 3765).
Evidence: local suite green; the restart now inherits the hard-disable.
Impact: tests only.
2026-10-12 14:47:56 +00:00
weichenandCursor 2c88b75ab9 Record D1-D3 local progress on the task card
ci / test (pull_request) Failing after 2m2s
ci / test-pg (pull_request) Successful in 2m27s
Why: the branches are ready for review but are not merged, so the card
must stay open and say what was verified on the live instances.
Evidence: local commits listed in the card. Companion pages titled RDM 工作台 returned HTTP 200. rdm.ping did not return a domain result. No data was moved.
Impact: documentation only. Login and the real lifecycle suite stay NOT_RUN.
Refs: recovery plan r3.1

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:44:30 +00:00
weichen 3f6522f3f0 Attach svc.log tail to full-track deploy failures
ci / svc-realcombo (pull_request) Failing after 1m46s
ci / test (pull_request) Failing after 2m30s
ci / test-pg (pull_request) Successful in 3m43s
Why: the CI-only serve-exit failure left no server-side evidence in the
assertion output; the tail pinpoints the refuse reason on the runner.
Evidence: local rerun green (diagnostic inert on success).
Impact: test diagnostics only.
2026-10-12 14:43:35 +00:00
weichenandCursor e8f84b8cf1 Add a reversible release switch and a lifecycle pin
Why: an update that stops the old process and overwrites the binary cannot
get the previous version back, and a migration the old binary cannot read
must be refused before that stop. CI also had no fixed RDM SHA to build from.
Evidence: python3 -m unittest tests.test_svc_identity tests.test_svc_recover tests.test_svc_deploy_txn tests.test_lifecycle_pin passed. make test-lifecycle exits 2 when AGENT_PG_TEST_DSN is unset.
Impact: installs land in releases/<rid> and current switches with mv -T.
Deploy keeps the desired state and rolls back a non-terminal journal.
Schema compatFloor above the installed target is refused unless
--migrate-schema --confirm is paired with a backup. test-lifecycle fails
closed without PostgreSQL and an RDM checkout. Login stays NOT_RUN.
Refs: recovery plan r3.1 D2 and D3; Backend feature/d1-identity-open

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:43:27 +00:00
weichen 139fda0fe3 Route realcombo git subprocesses through the trusted base in CI
ci / svc-realcombo (pull_request) Failing after 1m58s
ci / test-pg (pull_request) Successful in 2m28s
ci / test (pull_request) Successful in 4m15s
Why: on keyless runners the RDM cache clone and pins materialization
inside svc.sh fetched nested pins over raw SSH URLs (run 2608: host key
verification failed); the suite now injects the same URL-scoped token
header and insteadOf rewrite via environment when SVC_CI_GIT_* is set.
Evidence: local rerun stays green (env unset locally); CI run applies it.
Impact: tests + ci.yaml only; token travels via environment only.
2026-10-12 14:40:14 +00:00
weichen 2c767867ca Hard-disable RDM exec tools in realcombo tests
ci / test-pg (pull_request) Failing after 1m19s
ci / svc-realcombo (pull_request) Failing after 1m27s
ci / test (pull_request) Failing after 2m23s
Why: CI runners lack bwrap, so the real RDM binary refuses to start
under the sandbox fail-closed policy (run 2607: serve exits right after
launch); the product provides RDM_DISABLE_EXEC_TOOLS as the top-level
fallback and lifecycle semantics under test are unchanged.
Evidence: local rerun with the env set stays green.
Impact: tests only.
2026-10-12 14:36:32 +00:00
weichen fbe76cc014 Resolve realcombo paths inside CI run scripts
ci / svc-realcombo (pull_request) Failing after 1m29s
ci / test-pg (pull_request) Failing after 2m21s
ci / test (pull_request) Successful in 3m53s
Why: YAML env: values do not shell-expand, so $PWD-based binary paths
reached the suite as literal strings (run 2606: SVC_REAL_BIN not
executable).
Evidence: job log run 2606; paths now exported in the run script.
Impact: ci.yaml only.
2026-10-12 14:32:48 +00:00
weichen 802904646c Keep clone credentials through nested RDM pins fetch in CI
ci / svc-realcombo (pull_request) Failing after 1m20s
ci / test (pull_request) Failing after 2m24s
ci / test-pg (pull_request) Failing after 2m29s
Why: the realcombo steps unset the URL-scoped token env before
'submodule update', so nested pins fell back to raw SSH URLs and failed
host-key verification on the runner (first svc-realcombo run 2605).
Evidence: job log run 2605 shows ssh clone failures; reordered steps
keep insteadOf + token header active through the pins fetch.
Impact: ci.yaml ordering only.
2026-10-12 14:30:13 +00:00
weichen c5f37bd82f Record task-sync evidence
ci / svc-realcombo (pull_request) Failing after 56s
ci / test-pg (pull_request) Failing after 1m33s
ci / test (pull_request) Successful in 4m0s
2026-10-12 14:28:27 +00:00
weichen c27b647012 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=4d362537d0e8755a03b1757b5bad92779a064b33; candidate=99bbbc089eae0e4524a5d4e6085967ab15acb403.

Impact: task metadata only.

Refs: .task/feature-svc-u3-realcombo.md
2026-10-12 14:28:27 +00:00
weichen 99bbbc089e Gate svc lifecycles on real Dev and RDM artifacts in CI
Why: stub suites proved the script logic but not real artifact
behavior (the 2026-10-12 incidents passed all stub tests); the report's
U3 requires real-combination gates, and realcombo dry-runs exposed two
real gaps: fresh deploys closed identity governance one lifecycle late,
and pg-bound identity calls put the DSN on the command line.
Evidence: make test exit 0; local realcombo dry-run 16 OK (rows in the
task card); CI adds svc-realcombo (SQLite, both real binaries, full RDM
track) and a real-PG identity step on test-pg with env-delivered DSN.
Impact: tests/test_svc_realcombo.py (SVC_TEST_REAL gate, explicit
NOT_RUN otherwise); ci.yaml new job + test-pg step (RDM clone via
trusted-base URL-scoped token header, allowlist addition reviewed in
this PR); svc.sh delivers identity DSN via AGENT_SYSTEM_DSN and runs
manifest adoption in the same deploy that first registers svc.env;
modules/backend pinned to main (env fallback, backend #182).
Refs: .task/feature-svc-u3-realcombo.md; user goal directive 2026-10-12
(U3); backend #182; RDM #285.
2026-10-12 14:27:59 +00:00
weichenandCursor 451c95be70 Gate deploys on versioned identity capabilities
Why: probing identity by running the subcommand still launched old RDM
builds, and ensure on a missing database created an empty one. A batch
update also inherited the caller's AGENT_SYSTEM_* variables.
Evidence: python3 -m unittest tests.test_svc_identity tests.test_svc_recover passed (41 tests, 1 skipped). tests.test_svc_lifecycle_isolation caller-env and restart cases passed.
Impact: capability probes use version --json only. Established instances
refuse a missing identity row until adopt --confirm. update and recover
run each service in a clean environment. serve reads a 0600 serve.env
and does not inherit the caller environment. Backend and documents pins
move to the D1 identity and recovery-plan commits.
Refs: recovery plan r3.1 D1; Backend feature/d1-identity-open; RDM feature/d1-version-json

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:09:36 +00:00
weichen 74623437f2 Record the task card for feature-svc-u3-realcombo
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-svc-u3-realcombo.md; R0=4d362537d0e8755a03b1757b5bad92779a064b33.

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

Refs: .task/feature-svc-u3-realcombo.md
2026-10-12 14:06:49 +00:00
weichen 4d362537d0 Merge pull request 'Close merged task card feature-svc-u2-release-recovery' (#481) from feature/card-close-20261012-140049Z into main
ci / test-pg (push) Successful in 1m38s
ci / test (push) Failing after 2m17s
2026-10-12 14:01:33 +00:00
weichen 40c1a8a790 Close 1 merged task card(s) and archive them
ci / test-pg (pull_request) Successful in 2m8s
ci / test (pull_request) Successful in 3m49s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-svc-u2-release-recovery.md(PR#480) — merges verified via git log --merges 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-12 14:00:49 +00:00
weichen 71cc753057 Merge pull request 'Add immutable release dirs with switch journal and failure rollback (U2)' (#480) from feature/svc-u2-release-recovery into main
ci / test-pg (push) Successful in 1m43s
ci / test (push) Failing after 2m21s
2026-10-12 14:00:32 +00:00
weichen 56aa9e3ac6 Re-record governance evidence on the synced head
ci / test-pg (pull_request) Successful in 1m36s
ci / test (pull_request) Successful in 3m54s
2026-10-12 13:55:47 +00:00
weichen efad610822 Record task-sync evidence 2026-10-12 13:52:58 +00:00
weichen a9ab854e37 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=3b9cf82cd6fb53f973f26e2039275f7858b0c654; candidate=0fbb8090481ef1918e3841749aa082d966be9368.

Impact: task metadata only.

Refs: .task/feature-svc-u2-release-recovery.md
2026-10-12 13:52:57 +00:00
weichen 0fbb809048 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=3b9cf82cd6fb53f973f26e2039275f7858b0c654.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-12 13:52:32 +00:00
weichen 241bea6ce7 Add immutable release dirs with switch journal and failure rollback
Why: deploy overwrote live artifacts after stopping the old service, so
a failed start or workbench check left instances in a mixed
registration-vs-artifact state with no recovery path (2026-10-12
rdm1/rdmcand); the report's U2 requires restorable updates.
Evidence: make test-governance 250 OK; five svc suites 105 OK (rows in
the task card); new tests cover layout/pidcheck stability, rollback on
start failure with desired-state restore, build failure keeping the old
service running, interrupted-switch journal resolution, and schema-
advance blocking rollback without touching the database.
Impact: agent deploys stage immutable releases/<id>/ and switch the
current symlink atomically; deploy.journal persists the switch and is
resolved at start/restart/deploy/update/recover entries; legacy layouts
are adopted on first deploy and remain readable; release/rdm tracks
verify sha256 before staging.
Refs: .task/feature-svc-u2-release-recovery.md; user goal directive
2026-10-12; Dev #474 (U1 gate); Documents unified-deploy plan r2.
2026-10-12 13:52:29 +00:00
weichen 3b9cf82cd6 Merge pull request 'Close merged task cards (feature/agent-pr-merge)' (#479) from feature/agent-pr-merge into main
ci / test-pg (push) Successful in 1m33s
ci / test (push) Successful in 3m16s
2026-10-12 13:49:00 +00:00
weichen 6780d3d0ff Preserve task closure receipts in the archive
ci / test-pg (pull_request) Successful in 1m48s
ci / test (pull_request) Successful in 3m33s
Why: keep original closure and synchronization evidence after moving the completed card.

Evidence: existing evidence.py read_receipt and append_card validated/imported original SELF receipts; initial scope refusal retained.

Impact: archived task record only; no policy or component change.

Refs: PR #476; PR #479
2026-10-12 13:44:28 +00:00
weichen 80d64bf1f1 Record the task card for feature-svc-d1-identity-flow
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-svc-d1-identity-flow.md; R0=6ba91239e680ef240625dc1e86232c48c4221716.

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

Refs: .task/feature-svc-d1-identity-flow.md
2026-10-12 13:43:03 +00:00
weichen 6345d0159b Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=6ba91239e680ef240625dc1e86232c48c4221716.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-12 13:42:10 +00:00
weichen 7030143835 Close 1 merged task card(s) and archive them
ci / test (pull_request) Successful in 3m31s
ci / test-pg (pull_request) Successful in 1m40s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-agent-pr-merge.md(PR#476) — merges verified via git log --merges 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-12 13:41:11 +00:00
weichen 6ba91239e6 Merge pull request 'Let agents review and merge PRs after resolving conflicts and passing CI' (#476) from feature/agent-pr-merge into main
ci / test-pg (push) Successful in 1m58s
ci / test (push) Successful in 3m34s
2026-10-12 13:39:05 +00:00
weichen cdbdc87b0a Record the final baseline before merge validation
ci / test-pg (pull_request) Successful in 1m42s
ci / test (pull_request) Successful in 3m32s
Why: include the newly integrated backend identity CLI before testing the combination.

Evidence: SELF task-sync and ancestor verification receipts in the task card; final HEAD CI is required.

Impact: task metadata only; reviewed normative files are unchanged.

Refs: .task/feature-agent-pr-merge.md; PR #476
2026-10-12 13:34:52 +00:00
weichen 2076994b16 Record the task card for feature-svc-u2-release-recovery
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-svc-u2-release-recovery.md; R0=9b5be3926eaa394a9e520fd72ffdf6d0a48d1aef.

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

Refs: .task/feature-svc-u2-release-recovery.md
2026-10-12 13:34:50 +00:00
weichen 4ff766aff9 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=9b5be3926eaa394a9e520fd72ffdf6d0a48d1aef; candidate=794bf8ec1bafdec0c0cd8904ebb219b090627217.

Impact: task metadata only.

Refs: .task/feature-agent-pr-merge.md
2026-10-12 13:34:05 +00:00
weichen 794bf8ec1b Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=9b5be3926eaa394a9e520fd72ffdf6d0a48d1aef.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-12 13:33:31 +00:00
weichen 9b5be3926e Merge pull request 'Close merged task card feature-pin-backend-identity-cli' (#478) from feature/card-close-20261012-133217Z into main
ci / test-pg (push) Successful in 1m53s
ci / test (push) Successful in 3m49s
2026-10-12 13:32:52 +00:00
weichen 783c8d2354 Close 1 merged task card(s) and archive them
ci / test-pg (pull_request) Successful in 1m50s
ci / test (pull_request) Successful in 3m50s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-pin-backend-identity-cli.md(PR#477) — merges verified via git log --merges 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-12 13:32:17 +00:00
weichen 31dbab2247 Merge pull request 'Pin modules/backend to acabb85 for the public identity CLI' (#477) from feature/pin-backend-identity-cli into main
ci / test-pg (push) Successful in 1m45s
ci / test (push) Successful in 3m41s
2026-10-12 13:31:41 +00:00
weichen c5b63a5e9a Record synchronization and replay on the latest integration base
ci / test-pg (pull_request) Successful in 1m43s
ci / test (pull_request) Successful in 3m22s
Why: include the newly merged service identity baseline before final CI.

Evidence: SELF task-sync, ancestor check, generator replay and document-link receipts in the task card.

Impact: task metadata only; all reviewed policy and generator content is unchanged.

Refs: .task/feature-agent-pr-merge.md; PR #476
2026-10-12 13:29:04 +00:00
weichen a5840dcd84 Record task-sync evidence
ci / test-pg (pull_request) Successful in 1m33s
ci / test (pull_request) Successful in 3m23s
2026-10-12 13:27:53 +00:00
weichen bdcfcd68e8 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=6a494d3977e6557e7bebe0e5bb1c4a12091296e0; candidate=aba6a256078a19f42e234c48397f25e4cb67e578.

Impact: task metadata only.

Refs: .task/feature-pin-backend-identity-cli.md
2026-10-12 13:27:52 +00:00
weichen aba6a25607 Pin modules/backend to acabb85 for the public identity CLI
Why: Backend #180 moved the identity CLI to pkg/identity (shared with
Agent-System-RDM per PR 276); Dev main should consume it so composed
binaries carry the same identity semantics and capabilities output.
Evidence: make test exit 0 (combined suite on the bumped pin);
make test-pins ok; rows in the task card.
Impact: gitlink only (bbe9773 -> acabb85, spans #177/#179/#180).
Refs: .task/feature-pin-backend-identity-cli.md; user goal directive
2026-10-12 (implement remaining U1/U2/U3 items in order).
2026-10-12 13:27:26 +00:00
weichen 27a60a4cb8 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=6a494d3977e6557e7bebe0e5bb1c4a12091296e0; candidate=afcadae78c6ea386d59559e21a15ee353f3a99b1.

Impact: task metadata only.

Refs: .task/feature-agent-pr-merge.md
2026-10-12 13:27:01 +00:00
weichen afcadae78c Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=6a494d3977e6557e7bebe0e5bb1c4a12091296e0.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-12 13:26:33 +00:00