Why: PR #682 merged a stale branch that reset five component pins to
pre-batch values, silently dropping the batch-1 composition on main.
Evidence: materialized byte-exact from the reviewed transport
(gatemat-run.json); regression/forward/same/skip/missing-object cases
(verify-pingate.json); make test-governance and test-pins re-run below.
Impact: new check script wired into check-pins and task-pr-check;
PIN_REGRESSION_SKIP=1 documents deliberate downgrades.
Refs: feature/audit-followups-pin-gate-m5
Auth-on agent services need super-admin credentials at every launch, but
svc only forwarded them from the current environment, and recover/watchdog
relaunch with a cleared environment, so a bare restart or recovery failed
closed. svc now records only the absolute path of AGENT_SYSTEM_ENV_FILE as
superadmin_envfile= after checking it is a regular, owner-only (0600) file
before stopping anything, and forwards that path when no explicit
credentials are set. An empty AGENT_SYSTEM_ENV_FILE clears the record. The
file content is never read, copied or printed.
Why: prod restarts and recovery required re-exporting AGENT_SYSTEM_ENV_FILE.
Evidence: agent-exec unit dev-svc-superadmin-envfile-persist (cursor, attempt 1, terminal=success); unittest test_svc_superadmin_envfile + test_svc_recover + test_svc_identity: 51 OK (1 skipped).
Impact: svc.sh agent launch and svc.env gain superadmin_envfile; docs/svc.md 4.2 note.
Refs: Dev task fix/svc-superadmin-envfile-surface-conv.
Co-authored-by: Cursor <cursoragent@cursor.com>
svc.sh adopt always printed db_marker=established, even when the installed
artifact lacked identity capability and the marker stayed pending. It now
reads the marker back and warns when identity was not established.
The deploy identity gate reported a pre-v27 database (identity table
missing) as a foreign row or mismatch. It now explains that the schema
predates the identity table and gives the backup, stop, migrate and
redeploy steps. It still refuses before stopping the old service and never
migrates on its own.
Why: both messages misled the 2026-10-21 GenUI prod upgrade.
Evidence: agent-exec unit dev-svc-identity-adopt-gate-messages (cursor, attempt 1, terminal=success); python3 -m unittest tests.test_svc_identity: 31 tests OK (1 skipped).
Impact: svc.sh operator messages for adopt and the deploy identity gate; no change to success paths.
Refs: Dev task fix/genui-prod-upgrade-followups.
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=d9ac28f89159e17781e2a8ef3094965130f29d2f.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=dc01517de1cfb86abbd26dfb7932023763019d5d.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=682a4e8263fe007cb102fc9deaf71bda514ee387.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync