feat(hierarchy): audit event + outbox machinery (M4-1b-i, contract 1 §5.2)
ci/woodpecker/pr/ci Pipeline was canceled
ci/woodpecker/pr/ci Pipeline was canceled
- hierarchy_audit_events: append-only semantic events (actor, verb, target snapshot with root-first parent chain), deletion-safe linkage (no FK into class tables), CHECK-enforced verb/target-kind/transfer shape, unique idempotency key, generated-always seq for per-target ordering, causation self-FK RESTRICT; hierarchy_outbox: dedicated same-transaction outbox (unique event_id, status enum, claim-by-CAS lifecycle) — migration 0019 - gateway HierarchyAuditRepository: same-tx append with idempotent replay (canonical-JSON compare, jsonb key order independent), snapshot builder, per-target history, outbox claim/complete/release; HierarchyModule exposes no routes yet (command family lands in M4-1b-ii after contract 2 merges) - dual-leg schema witnesses (PGlite + real PG) for every constraint above; repository §6.4 witnesses: atomic commit, rollback residue-free, replay, conflicting-key refusal, events survive target deletion, CAS races - §6.3(a) route-inventory baseline: enumerates the AppModule route surface, pins zero hierarchy mutation routes until M4-1b-ii - writer-coverage scan perimeter widened from <pkg>/src to the full package tree (S1 residual; widened set measured free of all trigger tokens)
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -134,6 +134,13 @@
|
||||
"when": 1787862158838,
|
||||
"tag": "0018_clean_cobalt_man",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 19,
|
||||
"version": "7",
|
||||
"when": 1787880918208,
|
||||
"tag": "0019_volatile_killraven",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user