Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-recovery-u1-instance-identity.md; R0=89174a0f5c28ff7f49c794f37ea7e9528f9b526e.
Impact: task metadata only; the feature workspace starts at 89174a0f5c.
Refs: .task/feature-recovery-u1-instance-identity.md
Why: U1 starts per the approved recovery plan r2 - a reviewed design contract must exist before touching scripts/svc.sh, and R3 needs an enumerable data-ownership baseline.
Evidence: SELF - doc-check receipt via make evidence. First run FAILED (exit 1: proposal r2 not present in this worktree because it sits unmerged on feature/service-restart-recovery-plan); references reworded to cite the path with a pending-merge note and the check re-run PASS (exit 0). Both receipts are in the card; grounding facts verified at baseline 89174a0.
Impact: docs/recovery/ additions and task card only; no behavior change; implementation gated on design review.
Refs: modules/documents/docs/proposals/2026-10-12-service-restart-data-recovery.md r2 U1
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=501b785e17843fdf0b19184e28952e426c1a198f.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: post-sync evidence must be refreshed at the final head before requesting review; stage table now separates local SELF green from the pending PR CI gate and the real-PG NOT_RUN boundary.
Evidence: SELF - identity suite 21/21 and governance 169/169 re-run at the synced head via make evidence (receipts in card).
Impact: task card only.
Refs: docs/recovery/u1-identity-manifest.md section 7
Why: user green-lit delivery on 2026-10-12; the gate for formal acceptance is the PR CI itself, so the earlier 'no push before acceptance' cell was self-contradictory.
Evidence: SELF - user grant; three-segment receipts (precheck/task-sync/tests) already in card.
Impact: task card only.
Refs: AGENTS.md 完成声明三段输出
Why: the card is the single master record and must carry PR #415.
Evidence: SELF - PR #415 created via API on head ecbaa84.
Impact: task card only.
Refs: PR #415
Why: CI ci/test failed on cf4bbb4 while the identical suite passes locally (exit 0, receipt in card); the sibling head failed the other job instead - runner-side flakiness under five concurrent PRs, so retry via a fresh head.
Evidence: SELF - make test exit 0 via make evidence (full suite, 99 ok lines, no FAIL); prior CI status details fetched via API (cf4bbb4 test-pg=success test=failure; 568afbc test=success test-pg=failure).
Impact: task card evidence row only.
Refs: PR #415
weichen
merged commit af9c2de663 into main2026-10-12 03:23:20 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why: 方案 r2(已批准)U1/KTD1-KTD2——持久 manifest 成为启动权威,堵住三类恢复缺口:参数重建漂移数据身份、逐键写无原子性、缺配置/丢身份时新建空系统。
Evidence: 任务卡含三段收据(precheck READY / task-sync / 测试):identity 套件 21/21(T1 裸启停身份稳定、T2 改端口锚点不动、T3 数据根漂移拒绝、T4 残留忽略与损坏阻塞、T5 marker 缺失/外宾/丢 manifest 三事件全阻塞、T6 cwd 无关、原子写崩溃窗口单测;1 skip=真实 PG 专项 NOT_RUN 按设计显式标注);make test-governance 169/169(含既有 svc 绑定回归与自恢复套件,legacy 路径零扰动)。本 PR CI(make test+make build)为正式验收 GATE。
Impact: 新增 scripts/svc_manifest.py(identity 锚点+kv 权威+desired,temp→fsync→rename→dirfsync 原子链,迁移/领养/归属冲突中止);svc.sh 六处接线(set/del/record_state 整份提交、autostart→desired、锁内迁移、agent_do_start 前身份校验、init 动作);tests/test_svc_identity.py;docs/recovery/ 两份设计文档。未迁移实例行为不变。真实 PG 身份表(agent_system_identity)属 I3 后续。
Refs: docs/recovery/u1-identity-manifest.md(已批准);方案 r2 §7 U1(Documents #75);U2 首切片 PR #396/#401。设计文档中提案路径引用将随本 PR 与 Documents #75 同仓生效。