90000x · 09 — Regression Matrix (live counts + expected post-apply deltas)
90000x · 09 — Regression Matrix
Phase: I (regression component) Status: baseline captured; SSOT bumps and pinning-test updates DEFERRED until operator applies 037–041.
Live counts (2026-05-25, captured this run)
| Surface | Pre-apply (live) | Authored delta | Post-apply (expected) | SSOT site to bump |
|---|---|---|---|---|
dot_iu_command_catalog rows |
30 | +6 | 36 | cutter_agent/iu_core/dot_commands.py::_REGISTRY |
iu_core_retention_policy rows |
4 | +2 | 6 | pinning test in 540x suite |
iu_core.iu_staging_record rows |
3 | 0 | 3 (until proof step 1 inserts) | n/a |
iu_core.iu_staging_payload rows |
4 | 0 | 4 (until proof step 1 inserts 3) | n/a |
CHECK constraints on iu_core.iu_staging_record |
7 | +1 swap, +1 swap, +1 new | 8 (lifecycle swap, consumed swap, expiry-ceiling new) | n/a |
Functions in public schema (sample) |
fn_iu_compose, fn_iu_reconstruct_source, fn_iu_subtree, fn_iu_collection_add_piece, fn_iu_composer_enabled, fn_iu_core_retention_cleanup, fn_iu_staging_healthcheck |
+6 | +6 | D9 expected_fn 67 → 73 (assumed 67 baseline; verify pre-apply) |
| DOT-tier objects in D9 | (TBD via D9 healthcheck) | +6 | +6 | D9 expected_dot |
Note: this macro intentionally did NOT bump SSOT (_REGISTRY) or pinning tests, per [[feedback-honest-channel-block-beats-partial-trigger]] and [[feedback-pinning-tests-bump-per-macro]] — the rule is "bump SSOT in the same commit as apply, not at authoring time".
DIEU axis invariants (must be preserved post-apply)
| Axis | Expected count | Source |
|---|---|---|
| DIEU-28 | 27 | 70000x memory baseline |
| DIEU-32 | 23 | 70000x memory baseline |
| DIEU-35 | 36 | 70000x memory baseline |
fn_iu_verify_cut does NOT check these directly (it's per-run), so an operator-side post-proof query is part of the regression block:
SELECT dieu_code, count(*) FROM iu.information_unit
WHERE dieu_code IN ('DIEU-28','DIEU-32','DIEU-35') GROUP BY dieu_code ORDER BY dieu_code;
If counts change after 037-041 apply (no proof yet), STOP — apply caused unintended axis drift.
D9 conformance expected state
Pre-apply baseline (from 70000x memory + 50000x adjustment): 181 object D9 surface, 7/7 PASS. Each new fn/DOT bumps expected_* counters by 1. After 037-041 + SSOT bumps:
- 6 new fns → fn count bump
- 6 new DOTs → DOT count bump
- 2 new retention rows → retention count bump
- 3 CHECK constraint changes → not D9-counted (CHECKs are not catalog-tier)
Operator commit message should read:
apply migrations 037-041 + 90000x mark→cut pipeline; SSOT bumps 30→36 DOT, 67→73 fn, 4→6 retention; D9 expected 181→[new].
Pinning-test bumps required (post-apply)
| Pinning test | Site | Old | New |
|---|---|---|---|
test_dot_command_catalog_size |
tests/pinning/test_dot_command_catalog.py |
30 | 36 |
test_retention_policy_count |
tests/pinning/test_retention.py |
4 | 6 |
test_staging_lifecycle_vocab |
NEW — tests/pinning/test_staging_lifecycle.py |
n/a | check {pending,pending_review,approved,consumed,rejected,expired,cleaned} |
test_no_vector_excluded_invariant |
tests/pinning/test_no_vector.py |
exists | extend to assert 4 covering surfaces (CHECK + sidecar 190/191 + view + iu_vector_sync_point shape) |
test_d9_expected_fn_count |
D9 conformance suite | 67 (per memory) | 73 |
test_d9_expected_dot_count |
D9 conformance suite | (TBD) | +6 |
What stays UNCHANGED (must verify post-apply)
| Object | Pre-count | Post-expected | Verification SQL |
|---|---|---|---|
iu.information_unit total |
(per 70000x: 175) | unchanged (unless proof step 4 ran live, then +2 from fixture) | SELECT count(*) FROM iu.information_unit; |
directus.production_documents |
(per 25000x: 9456+drift) | unchanged | SELECT count(*) FROM production_documents; |
iu_vector_sync_point |
152 (live) | unchanged | SELECT count(*) FROM iu_vector_sync_point; |
Qdrant iu_core_iu_chunks |
149 (per memory) | unchanged | external (Qdrant API) |
entity_species SPE-NVS |
id=51 present | present | SELECT id FROM entity_species WHERE entity_code='SPE-NVS'; |
collection_registry COL-IUS-001/002 |
ids 190/191 | unchanged | live id select |
birth_registry SPE-NVS/COL-IUS-001/002 |
3 rows, all status=born | unchanged | live select |
Tests not yet runnable
The macro is intended to bump tests 1305 → 1305+ and D9 7/7 → 7/7 [new total]. Since 037-041 are authored-only, tests stay at their current passing level. The operator must:
- apply 037-041,
- update
_REGISTRYand pinning literals, - run
pytest tests/(expecting 1305 + new test count), - run D9 healthcheck (
SELECT fn_iu_healthcheck_d9()or equivalent), - then commit.
Healthcheck
The existing fn_iu_staging_healthcheck should be called post-apply:
SELECT * FROM fn_iu_staging_healthcheck();
If this fn schema is unknown, a Carry-Forward task is to author its expected output for 90000x post-state.
Cross-links
- [[feedback-pinning-tests-bump-per-macro]] — bump rule.
- [[feedback-honest-channel-block-beats-partial-trigger]] — why SSOT stays pinned at live D9 surface.
- 70000x reports — D9 conformance baseline.