| M1 |
The place event kind breaks the single-writer rule, needs EventKind and the root schema extended, and moves fields the spec places on LeafEntry; dropping location contradicts Shard.location (§7.3) |
design, zoom out, readiness, codebase |
Fixed. pool and pinned wait for Phase 6's choice; if they go in the leaf, the release job writes them. No event kind proposed. location stays unless the spec PR changes §6.3 and §7.3 together. |
| M2 |
GC expiring roots, leaves and tombstones conflicts with §10.1 (GC reads inventory/) and with the single writer |
design |
Fixed. The release job writes retire versions; GC writes nothing; roots, leaves and tombstones are kept until a spec PR grants a delete. |
| M3 |
Pre-materialisation as a step of the release job: the release job has no results/ role; FullInventory in place of EmbargoReader is an unmarked spec deviation |
design, codebase |
Fixed. Its own job and identity, sequenced by the orchestrator; the deviation is marked and a spec PR amends §6.4, §10.1 and §11.2; under Q8 the serving package may use EmbargoReader. |
| M4 |
Phase 7 needs blob storage and the release job, and an event kind to record its tables |
design |
Fixed. Depends on 3, 4 and 5; the kind is a spec PR. |
| M5 |
Readiness drops across the hot pool at 08:30 when the pinned set changes |
design |
Fixed. The router adopts a version after attaching its new pinned editions; Risks row and Phase 6 test added. |
| M6 |
Spec work in no phase: supersede_pending, expunge, CDN purge, export(live_only), rebuild-inventory, --find-newest-consistent, the unrecorded-edition sweep, alerts, the staleness metric, §6.5 items 2 and 6 |
design |
Fixed. Each placed in Phase 5, 6, 8 or 9. |
| M7 |
Phase 4 waits on all of Phase 3 and Q2, though only the corpus needs it; the 7,000-leaf timing is tied to Q1 |
design |
Fixed. Only the corpus waits; the read is timed at 7,000 products. |
| M8 |
check_edition(structures=) takes one path, so any Q2 split breaks ingest |
readiness |
Fixed. Phase 3's sdmxlib work. |
| M9 |
Phase 3 writer rules left implicit: no kind on working_copy, item-8 behaviour under embargo off, a batched seal, an item-4 deadlock |
readiness |
Fixed in part. working_copy gains the kind; the three cases are named for statcatlib's Phase 3 design to settle. |
| M10 |
The 503 for another schema needs more than one LiveInventory |
readiness |
Fixed. One reader per schema, or an sdmxlib accessor Phase 6 asks for. |
| M11 |
sdmxlib-rest tests cannot use statcatlib's writer |
readiness |
Fixed. They write versions with sdmxlib's rules. |
| M12 |
results/ GC in Phase 5 depends on Phase 6's key |
readiness |
Fixed. Moved to Phase 6, with a key index. |
| M13 |
The Phase 5/6 seam is undefined: release-set format, the command's configuration, the shape of statcat release, refusal persistence, the retention schema, a testable access precondition |
readiness |
Fixed in part. The access check takes a replaceable listing and has a test; the rest is named for the phases' own designs. |
| M14 |
correct has no signature or test; remote Catalog.open has no signature |
readiness |
Fixed in part. correct(from_seq=, reason=) from the RFC and a test; the remote signature is left to statcatlib's design. |
| M15 |
The issues contradict the plan (statcatlib#51's tests/support/codr.py, sdmxlib-rest#70's flags, statcatlib#52's pod test) |
readiness |
Fixed in the plan, which says each issue is restated before its phase. The issue texts are the orchestrator's to change. |
| M16 |
sdmxlib-rest has no RENDER_VERSION; its seams are new work |
codebase |
Fixed. "adds four seams"; a new constant with a golden-file test. |
| M17 |
The field a server reads is search.annotations.types |
codebase |
Fixed. |
| M18 |
EmbargoReader has no caller in Phase 4 |
zoom out |
Fixed. It arrives with its first caller, in Phase 5 (Q9) or Phase 6 (Q8). |
| M19 |
A bespoke ObjectStore protocol duplicates obstore's stores |
zoom out |
Fixed. obstore used directly, with a fetch adapter. |
| M20 |
statcat dev synthetic-catalog is an invented command |
zoom out |
Fixed. A statcatlib.testing function and a bench/ script. |
| M21 |
Phase headings are not plain noun phrases; several sentences are garden paths; spec §18.1 is in the future tense though the gate was met; spec line 5 is overlong |
style |
Fixed. |