Version. 0.30
Date. 2026-08-05
Charter. standing-notes/dunin7-standing-authorization-charter-v0_1.
Author. Claude Code (execution session). Operator: Marvin Percival.
Supersedes. v0.29 at record 079e0c0. All earlier versions stand as siblings.
Changes from v0.29. B-12 Step 0 inspection run and CLOSED as a read-only inspection. No code changed in either target repository.
inspection-briefs/loomworks-b12-step-0-inspection-brief-v0_1.md, read-only inspection session, grounded in inspection-briefs/loomworks-b11-step-0-findings-v0_1.md. Two repositories, both read-only: loomworks-engine at main bd60cec (tag answer-sources-v0_1) and loomworks at main 1245f1c (tag answer-sources-surface-v0_1) — both confirmed unmoved and clean before and after the session.
Findings filed at inspection-briefs/loomworks-b12-step-0-findings-v0_1.md.
tsvector) and trigram/fuzzy matching (pg_trgm, unaccent, fuzzystrmatch) are all installable and indexable by the application role itself, with no elevation, on this Postgres 16 instance. Vector search (pgvector) is not present on the server at all — a package gap, not a privilege gap. The application role (playground) cannot create a database (CREATEDB denied, confirmed directly), so a throwaway had to be created under a separate local superuser role.playground_dev, which the brief forbids. Assertion content is an unbounded string living inside a JSONB event-payload column, not its own column, with no index of any kind on it or on any other text-bearing model anywhere in the codebase.list_assertions, serves ten call sites. The answer's sources field is coupled specifically to one intent's (ask_about_past_input) operation_data key, not to the function generically — swapping the query would flow through automatically for that one path but not the other nine. A second, separate context block (_load_recent_committed_assertions, limit 20) calls the same function on every conversational turn regardless of intent, and never populates sources.list_assertions itself.list_assertions call. Nothing in the codebase computes or represents a relevance claim ("how many matched," "why excluded") — that machinery does not exist today.
One correction preserved in the findings document: an initial capability check queried playground_dev directly before being caught and redone via a throwaway, per the brief's fence.
No design, no options, no recommendation — per the brief's discipline clause. No install of any kind, including in the throwaway (dropped after use). playground_dev/playground_test untouched (after the caught-and-corrected first attempt). No model or embedding call. Volume (§2.1 of the findings) and production/hosted Postgres configuration are both recorded as unread/unrun, with cost to close each stated in the findings document.
R-5 — inspection run, no change request opened. R-4 — one throwaway database at a time, dropped after use. Discipline clause item 6 held — where a finding suggested an approach (e.g., which extensions are cheaply available), the finding was reported and no recommendation was made; the scoping note is where options go next.
None opened. The natural next step is a scoping note putting search-design options to the Operator, grounded in these findings — not started, per the brief's header: "Establishes ground for a scoping note, not for a change request."
DUNIN7 — Done In Seven LLC — Miami, Florida DUNIN7 — status brief — v0.30 — 2026-08-05 The database already knows how to search text. Nothing yet asks it to.