KB-18A3

One-Roof Clone Axis/Topic — 09 Clone Lifecycle Decision (Obj H, KEEP)

3 min read Revision 1
one-roofnonprod-cloneaxis-substratelifecyclekeepsnapshotdropreset

09 — Objective H: Clone Lifecycle Decision

Decision: KEEP the clone with the axis substrate in place, as the live axis/topic harness for the next macro. Do not drop or reset now.

Options considered

option effect chosen?
Keep clone with axis substrate preserves the integrated 3-axis state as a working harness for promotion/activation rehearsals and GPT review YES
Snapshot then keep extra durability, but the build is fully reproducible from sql/A–D + this package optional (see below)
Reset substrate (run Z_…drop), keep clone returns clone to own30/gap0/axis0 baseline not now — would discard the harness
Drop the whole clone DB frees ~1.2 GB no — clone is the only non-prod proving ground

Rationale

The substrate is the asset this run produced. Keeping it lets the next macro rehearse the promotion path (candidate zoneapproved with owner + entity_labels reconcile) and governed topic activation against a real, populated substrate, without rebuilding. The clone remains isolated and the build is purely additive, so keeping it carries no production risk.

Exact commands

Verify the kept state (read-only):

ssh contabo "docker exec -i postgres psql -U workflow_admin -d directus_gov_test_20260602 -c \
 \"SELECT axis_code,status,active_values,active_assignments FROM v_axis_registry_coverage ORDER BY 1;\""

Reset substrate only (keep clone, return to pre-axis baseline) — when the harness is no longer needed:

cat sql/Z_axis_substrate_drop_clone.sql | ssh contabo \
 "docker exec -i postgres psql -U workflow_admin -d directus_gov_test_20260602 -v ON_ERROR_STOP=1 -f -"
# asserts 0 axis tables remain; clone returns to own30/gap0/axis0

Optional snapshot before any further mutation:

ssh contabo "docker exec postgres pg_dump -U workflow_admin -d directus_gov_test_20260602 \
 -Fc -f /tmp/clone-axis-substrate-20260603.dump"

Drop the entire clone DB (only if abandoning non-prod proving entirely):

ssh contabo "docker exec postgres psql -U workflow_admin -d postgres \
 -c 'DROP DATABASE directus_gov_test_20260602;'"

Bounded-state guarantee

The kept clone has no running worker and no daemon — the scanner is a convergent on-demand function. Re-running it does not grow the finding set (proven: pass1==pass2==34). So the clone can sit indefinitely without unbounded growth; nothing accrues unless a script is explicitly run.

Current kept fingerprint (exit)

axis_tables 6 · axis_views 9 · axes 3 (resp active / topic active / containment candidate) · values 15 · assignments 6 · parallel owners 4 · findings 34 · required 216 · gap 2 (resp 0 / topic 2) · original ownership 30 untouched · canonical gap 0 · event_outbox gov 0.

Back to Knowledge Hub knowledge/dev/reports/architecture/one-roof-nonprod-clone-axis-topic-substrate-pipeline-2026-06-02/09-clone-lifecycle-decision.md