DUNIN7 · LOOMWORKS · RECORD
record.dunin7.com
Status Current
Path change-requests/cr-2026-175-loomworks-shape-list-display-number-v0_1.md

DUNIN7-M4 — INFRASTRUCTURE CHANGE REQUEST

CR-2026-175 — B-59: Shape list never returns its own sequence number (v0.1)

Version. 0.1 · Date. 2026-08-06 · Author. Claude.ai (drafting) / Marvin Percival (approving). Target. /Users/dunin7/loomworks-engine, branch main. Baseline. Post CR-2026-174 (e101e08, tag cr-2026-174-ruff-gate-closure). CC confirms exact HEAD at Step 0. Companion to. inspection-briefs/loomworks-small-work-sweep-step-0-findings-v0_1.md (§ unanticipated finding); CR-2026-171 §3, which found this and deliberately left it. Charter. Autonomous regime. Status. Ready for CC execution. CR number. Best-guess next slot past 174. CC confirms the ledger before filing.


1. Summary

The identical defect CR-2026-171 fixed for renders (B-53), in the Shape path. shape_events_view_query.py's SELECT never names display_number; the reader at shape_events.py:150 does row.get("display_number") and gets nothing — indistinguishable from a Shape that genuinely has no number.

Not a new build-list item at drafting time — recommend adding it as B-59 when the build list next moves.


2. Scope

Fix. Add display_number to the SELECT at shape_events_view_query.py:109-133. One line, mirroring exactly what CR-2026-171 did to render_events_view_query.py.

Test. Extend the Shape list-loading test — assert display_number present and correct for both a backfilled row and a freshly-created one. Mirror the render-side test CR-2026-171 added.


3. Out of scope

Anything about whether the number must exist — that is B-54, now sitting in CR-2026-176 (code fix) with the NOT NULL migration behind it. This CR only makes the existing number readable.


4. Build steps

| Step | What | Mode | |---|---|---| | 0 | Pre-flight — confirm baseline HEAD, tree clean. | Auto | | 1 | Fix + test. | Auto | | 2 | Full engine suite. Ruff and mypy gates both now live — both must pass. | Auto | | A | Checkpoint. | Checkpoint | | 3 | Tag cr-2026-175-shape-list-display-number. Push. | Auto |


5. Acceptance gate

  1. display_number present in every Shape-list response body.
  2. Full suite green; ruff at 0; mypy at or below baseline.

6. Kickoff prompt


Execute CR-2026-175 v0.1 at ~/Downloads/cr-2026-175-loomworks-shape-list-
display-number-v0_1.md. Confirm the CR number against the ledger first.

One-line fix: shape_events_view_query.py's SELECT (lines 109-133) never
names display_number. Add it. Mirror exactly what CR-2026-171 did to
render_events_view_query.py, including the shape of its test.

Baseline: post CR-2026-174, e101e08. Confirm current HEAD at Step 0.
Both quality gates are live now — ruff must stay at 0, mypy at or below
baseline. Checkpoint before tagging.

DUNIN7 — Done In Seven LLC — Miami, Florida CR-2026-175 — B-59: Shape list display number — v0.1 — 2026-08-06