Migration v26: agent_system_identity(instance_id, dbref, schema_version, created_at) on PG and SQLite
Store EnsureSystemIdentity / VerifySystemIdentity (fail-closed; at most one row)
CLI: agent-system identity ensure|verify
serve verifies when AGENT_SYSTEM_INSTANCE_ID is set (optional AGENT_SYSTEM_DBREF)
Test plan
go test ./internal/store/ ./internal/app/
CLI smoke ensure/verify mismatch exits non-zero
Dev combination after pin (svc init/start + test_svc_identity)
Refs: Dev task feature/recovery-u1-db-identity; design u1-identity-manifest §5.2
## Summary
- Migration v26: `agent_system_identity(instance_id, dbref, schema_version, created_at)` on PG and SQLite
- Store `EnsureSystemIdentity` / `VerifySystemIdentity` (fail-closed; at most one row)
- CLI: `agent-system identity ensure|verify`
- `serve` verifies when `AGENT_SYSTEM_INSTANCE_ID` is set (optional `AGENT_SYSTEM_DBREF`)
## Test plan
- [x] `go test ./internal/store/ ./internal/app/`
- [x] CLI smoke ensure/verify mismatch exits non-zero
- [ ] Dev combination after pin (svc init/start + test_svc_identity)
Refs: Dev task `feature/recovery-u1-db-identity`; design u1-identity-manifest §5.2
Why: U1 I3 needs a DB-side instance identity anchor matching
manifest.instance_id so wrong/missing DB blocks startup (I4).
Evidence: go test ./internal/store/ ./internal/app/; CLI smoke
ensure/verify on SQLite temp dir.
Impact: migration v26; store Ensure/Verify; identity subcommand;
serve checks AGENT_SYSTEM_INSTANCE_ID when set.
Refs: docs/recovery/u1-identity-manifest.md §5.2; Dev feature/recovery-u1-db-identity
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: TestCopyOrderCoversAllFixtureTables fails when new schema tables
are omitted from the migrate tool inventory.
Evidence: go test ./cmd/storage-migrate/ -run CopyOrder
Impact: copyOrder gains agent_system_identity (no FK deps).
Refs: U1 I3; Backend PR #170
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: main #171 claimed migration v26; rebase conflict required
bumping the U1 I3 table and completing copyOrder for both new tables.
Evidence: go test ./internal/store/ ./cmd/storage-migrate/ -run
'SystemIdentity|CopyOrder'
Impact: migrate v27; copyOrder += login_keys + agent_system_identity.
Refs: Backend PR #170; conflict with main 1d9e8f4
Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Summary
agent_system_identity(instance_id, dbref, schema_version, created_at)on PG and SQLiteEnsureSystemIdentity/VerifySystemIdentity(fail-closed; at most one row)agent-system identity ensure|verifyserveverifies whenAGENT_SYSTEM_INSTANCE_IDis set (optionalAGENT_SYSTEM_DBREF)Test plan
go test ./internal/store/ ./internal/app/Refs: Dev task
feature/recovery-u1-db-identity; design u1-identity-manifest §5.2b92eaca0cdto0c7961839f0c7961839ftoe7b70c24f8