59 lines
3.6 KiB
JSON
59 lines
3.6 KiB
JSON
{
|
|
"task_id": "DEV-000030",
|
|
"task_revision": 1,
|
|
"architecture_revision": "ADR-0003",
|
|
"base_repo_revision": "fe0b937",
|
|
"risk_tier": "D",
|
|
"intent": "Implement the durable typed Commit envelope, the Continuity-owned DELIVERED to SATISFIED command with CAS and idempotency receipt, and remote execution/reconciliation boundaries accepted by ADR-0003.",
|
|
"requirement_ids": ["INV-AUTH-001", "INV-OWN-001", "INV-CONT-001", "INV-TOPO-001"],
|
|
"allowed_change_scope": {
|
|
"modules": ["commit", "continuity"],
|
|
"paths": [
|
|
"contracts/commit/**",
|
|
"contracts/continuity/**",
|
|
"modules/commit/**",
|
|
"modules/continuity/**",
|
|
"adapters/postgres/commit_repository.go",
|
|
"adapters/postgres/continuity_repository.go",
|
|
"adapters/continuityexecutor/**",
|
|
"cmd/commit-runtime/**",
|
|
"cmd/continuity-runtime/**",
|
|
"database/bootstrap/001_roles_and_schemas.sql",
|
|
"database/migrations/008_commit_authorized_action_envelopes.sql",
|
|
"database/migrations/009_continuity_action_receipts.sql",
|
|
"deploy/docker-compose.dev.yml",
|
|
"deploy/docker-compose.prod.yml",
|
|
"tests/action_commit/**",
|
|
"tests/prospective_memory/**",
|
|
"tests/continuity_execution/**",
|
|
"tests/topology_equivalence/**",
|
|
"dev/tasks/DEV-000030-continuity-commit-execution.json"
|
|
]
|
|
},
|
|
"forbidden_change_scope": {
|
|
"paths": ["architecture/**", "security/**", "modules/identity/**", "modules/authority/**", "modules/work/**", "cmd/core-runtime/**", "cmd/creator-web/**"]
|
|
},
|
|
"allowed_architecture_delta": {"new_cross_module_dependencies": 0, "new_canonical_owners": 0, "new_privileges": 1},
|
|
"contracts": {
|
|
"consume": ["contracts.authority@v1", "contracts.capability@v1", "contracts.work@v1", "contracts.continuity@v1"],
|
|
"may_change": ["contracts.commit@v1", "contracts.continuity@v1"]
|
|
},
|
|
"semantic_owner": "commit-and-continuity",
|
|
"canonical_state": ["Commit authorized envelope and attempts", "Continuity ProspectiveItem and action receipt"],
|
|
"state_transitions": ["ProspectiveItem DELIVERED to SATISFIED", "Action AUTHORIZED to EXECUTING to SUCCEEDED, FAILED, or UNKNOWN_OUTCOME"],
|
|
"side_effects_and_privileges": ["Commit Runtime calls only the Continuity internal executor API using a runtime-injected shared credential"],
|
|
"persistence_and_migrations": ["immutable full Commit envelope", "Continuity receipt keyed by ActionIntentID", "owner-local Prospective CAS"],
|
|
"failure_retry_restart": ["transport ambiguity records UNKNOWN_OUTCOME", "no blind retry", "read-only receipt reconciliation", "restart loads exact envelope and receipt"],
|
|
"assumptions": ["Creator HTTP orchestration and UI are delivered in later task packets", "existing test executor operation remains supported only for deterministic architecture tests"],
|
|
"acceptance_scenarios": [
|
|
"full authorized envelope survives Commit Runtime restart",
|
|
"only continuity-transition plus satisfy-delivered can target a Continuity subject",
|
|
"Continuity atomically changes an owned DELIVERED item exactly once",
|
|
"stale revision, wrong owner, wrong state, or reused mismatched intent cannot mutate state",
|
|
"timeout creates UNKNOWN_OUTCOME and reconciliation reads the owner receipt without executing again",
|
|
"Commit role cannot write Continuity and Continuity role cannot write Commit"
|
|
],
|
|
"required_tests": ["unit", "contract", "repository integration", "runtime HTTP", "adversarial authority", "idempotency", "recovery", "topology equivalence", "DB ACL", "architecture"],
|
|
"terminal_gap_states": ["BLOCKED_BY_ARCHITECTURE_GAP", "BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_CONFLICT", "REQUIRES_MIGRATION_DECISION"]
|
|
}
|