KB-3D83
15000x · 06 — Operator surface closeout (DOT 20→22 governed; R280 PASS; runbook OPERATOR_RUNBOOK.md)
4 min read Revision 1
iu-corev0.615000xoperator-surfacedot-catalogrunbookr280
15000x · 06 — Operator surface closeout (DOT 20→22 + runbook)
DOT command catalog — pre/post
| Surface | Pre | Post |
|---|---|---|
dot_iu_command_catalog rows |
20 | 22 |
dot_commands.DOT_COMMANDS governed |
20 | 22 |
| External read-only DOTs | 8 | 8 |
| R280 verification | PASS | PASS (expected_22 = true) |
New commands
dot_iu_register_template
| Field | Value |
|---|---|
| Category | collection |
| Mutating / Reversible | true / true |
| Target fn | fn_iu_collection_mark_as_template(uuid, text, text, text) |
| Required params | collection_id, template_label, actor |
| Optional params | template_doc |
| Reversal | UPDATE iu_collection_template_registry SET is_template=false WHERE collection_id=… |
dot_iu_record_template_instance
| Field | Value |
|---|---|
| Category | collection |
| Mutating / Reversible | true / true |
| Target fn | fn_iu_collection_record_template_instance(uuid, uuid, text, text) |
| Required params | instance_collection_id, template_collection_id, actor |
| Optional params | instance_note |
| Reversal | DELETE FROM iu_collection_template_instance_lineage WHERE instance_collection_id=… (lineage only; pieces untouched) |
R280 verification transcript
R280_catalog | catalog_rows | expected_22
| 22 | t
R280_targets | distinct_target_functions | all_resolvable
| 20 | t
all_resolvable=true — both new target_functions resolve in pg_proc.public. The [[feedback-dot-catalog-target-functions-fn-names-only]] rule (fn names only, no table names) is upheld.
SSOT alignment
Python dot_commands.DOT_COMMANDS (22 governed + 8 external) ↔ SQL runtime/280 INSERT (22 rows) ↔ Live dot_iu_command_catalog (22 rows) ↔ pg_proc.public (all target fns resolvable). All four layers locked.
Operator runbook coverage (OPERATOR_RUNBOOK.md)
- Cheat sheet — 12 product-factory DOT → fn mapping
- End-to-end recipe — open composer gate → compose template → mark → generate instance → record lineage → close gate
- Validation + inspection — list active templates, list lineage, validate / render
- Rollback recipes — soft un-register, erase lineage, migration rollback with REFUSED guard
- Healthcheck integration — refresh
iu_three_axis_envelopeafter compose - Event emission rehearsal — dry-run pattern
- SSOT pointers — every relevant file
Coverage matrix (product-factory actions ↔ DOTs)
| Action | DOT | Status |
|---|---|---|
| Mint single piece | dot_iu_create_piece | pre-existing |
| Compose workflow from pieces | dot_iu_create_workflow_from_steps | pre-existing |
| Compose file from pieces | dot_iu_create_file_from_pieces | pre-existing |
| Add/remove/reorder piece | dot_iu_add_piece / remove_piece / reorder_piece | pre-existing |
| Render file | dot_iu_render_file | pre-existing |
| Validate collection | dot_iu_validate_collection | pre-existing |
| Checkpoint collection | dot_iu_checkpoint_collection | pre-existing |
| Register collection as template | dot_iu_register_template | NEW 15000x |
| Record template→instance lineage | dot_iu_record_template_instance | NEW 15000x |
| Supersede/split/merge piece (gov-bound) | dot_iu_supersede_piece / split_piece / merge_piece | 10000x |
Coverage: complete for the productized template flow.