Skip to content

Commit 46f612b

Browse files
committed
docs(qa): studio-authoring — the own-port boot respelled in 1 item(s)
These texts named the own-port boot or its DB "isolated" in other words, which a runner can read as the isolated tenancy posture. They now name the boot or the DB by what it is: the run's own port and DB. Claude-Session: https://claude.ai/code/session_01FM29ZqLTrnPNXxijioZwMp Co-authored-by: Claude <noreply@anthropic.com>
1 parent e1f88aa commit 46f612b

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

‎docs/qa/platform-checklist/areas/studio-authoring.json‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1360,7 +1360,7 @@
13601360
"title": "The metadata governance sweep: GET /meta/diagnostics reports every STORED item failing spec validation with located errors, refuses outages and bad spellings loudly instead of answering '0 problems', and the Studio diagnostics page + directory tile badges paint the same numbers",
13611361
"since": "v16",
13621362
"status": "active",
1363-
"revision": 7,
1363+
"revision": 8,
13641364
"priority": "P2",
13651365
"surface": "mixed",
13661366
"personas": ["admin (the governance surface is Studio's)"],
@@ -1371,7 +1371,7 @@
13711371
"the stock metadata corpus (any booted showcase — the sweep runs over whatever the store holds)"
13721372
],
13731373
"knownGaps": [
1374-
"THE POSITIVE ENTRY LEG NEEDS A PLANTED ROW, AND ONE CAN BE PLANTED ON AN ISOLATED SCRATCH FILE DB (QA run #24604): every authoring door validates at save (the 422 gate studio-authoring.authoring-validation-not-persisted proves), so a stock store holds NO invalid item and the sweep legitimately answers clean — entries:[], total:0 — and sys_metadata is a storage table, not a data-plane object, so /api/v1/data cannot plant one. The recipe: save a VALID view through the door WITH ?package=<a writable package> (DirectoryPage is always package-scoped, so a package-less row never reaches a tile badge), then rewrite that row's sys_metadata.metadata in the scratch SQLite file (e.g. config.columns[0].field = 123); the next sweep reports it with no restart, and deleting the row restores a clean sweep. ⛔ Only on the run's own file DB, never a shared one. The located-error half is also unit-pinned at the producer: packages/metadata-protocol/src/metadata-diagnostics.union-issues.test.ts (computeMetadataDiagnostics names the offending key per union branch, and decorateMetadataItem carries it). That pin scores neither the sweep entry nor the page's deep link",
1374+
"THE POSITIVE ENTRY LEG NEEDS A PLANTED ROW, AND ONE CAN BE PLANTED ON THE RUN'S OWN SCRATCH FILE DB (QA run #24604): every authoring door validates at save (the 422 gate studio-authoring.authoring-validation-not-persisted proves), so a stock store holds NO invalid item and the sweep legitimately answers clean — entries:[], total:0 — and sys_metadata is a storage table, not a data-plane object, so /api/v1/data cannot plant one. The recipe: save a VALID view through the door WITH ?package=<a writable package> (DirectoryPage is always package-scoped, so a package-less row never reaches a tile badge), then rewrite that row's sys_metadata.metadata in the scratch SQLite file (e.g. config.columns[0].field = 123); the next sweep reports it with no restart, and deleting the row restores a clean sweep. ⛔ Only on the run's own file DB, never a shared one. The located-error half is also unit-pinned at the producer: packages/metadata-protocol/src/metadata-diagnostics.union-issues.test.ts (computeMetadataDiagnostics names the offending key per union branch, and decorateMetadataItem carries it). That pin scores neither the sweep entry nor the page's deep link",
13751375
"severity=warning ADDS NO ROWS ON TODAY'S PRODUCERS: the sweep's contract includes warning-only entries (protocol.ts getMetaDiagnostics: valid items with diagnostics.warnings), but computeMetadataDiagnostics emits errors only and the docstring reserves warnings 'for a future lint layer' — no read-decoration producer emits a warning at head. The severity clause asserts the MECHANISM (param accepted, error rows unchanged), not warning rows; a warning row appearing is a finding that the lint layer landed (revise this item), never noise",
13761376
"REPO OWNERSHIP (ADR-0054): the API half — route, sweep, stats, refusals — is objectstack's; the page markup, grouping, deep links, badges are objectui's (metadata-admin/DiagnosticsPage.tsx, DirectoryPage.tsx, useMetadata.ts). A locator or copy fix goes to objectui"
13771377
]
@@ -1465,7 +1465,8 @@
14651465
{ "revision": 4, "date": "2026-10-16", "change": "acceptance[1].verify names the read that carries the envelope lock (checklist-accuracy finding 2 of QA run #23942, wave #23878). It told the runner to compare stats.locked against the lock GET /api/v1/meta/TYPE/NAME publishes, but that default read is the cached arm and carries no `lock` by design; the envelope lock is on GET /api/v1/meta/TYPE/NAME/layers, which is where #23942 read it (object 107, view 0, flow 32 locked, matching stats). The comparison itself is unchanged", "ref": "#24036" },
14661466
{ "revision": 5, "date": "2026-10-19", "change": "fixtures.knownGaps[0], steps[6], steps[8] and acceptance[6] (clause, verify) corrected from QA run #24604 (18.0 sweep round 2, ba4afcc2), the round-2 §3 note that knownGaps[0] is wrong. The invalid stored row is plantable in-run on an isolated scratch file DB: save a valid view through the door with ?package=, rewrite its sys_metadata.metadata, and the next sweep lists it — the run scored acceptance[6] pass that way, deep link and badge included. The directory always repairs ?package= to a project package, so the red button is judged per package scope; rootless union-parent entries may ride beside the located leaf. Wave anchor #24579 round 2 §3 (6272314386)", "ref": "#24671" },
14671467
{ "revision": 6, "date": "2026-10-20", "change": "line citations re-pointed — the comma-range spelling that round 7 of wave anchor #24579 named (18.0 sweep; round 7's report 6281433885, out_of_scope_findings[1]). source[5] cited lines 242-254 of objectui DirectoryPage.tsx and line 982 of app-shell's console AppContent.tsx in the comma-range spelling (authored in 45397edf53 as the lists 133-158 and 242-254, and 882 and 982). At the objectui pin that commit shipped, 9602dc820450, 242-254 was the diagnostics link that renders only when diagSummary.total is above 0, 133-158 the package-scoped useGlobalDiagnostics sweep, and 982 the nested metadata route block that holds _diagnostics; at the shipped pin 12dc7b47c340 all have moved. source[5] now names the MetadataDirectoryPage component's sweep and link, and the AppContent component's metadata/_diagnostics route. objectui is read at the shipped pin 12dc7b47c340 and cited in prose, because no objectui anchor resolves in this gate. The spelling is what #13786's strip left when it removed only the first range of a ':A,B' list, and the line-citation limb reads only the colon spellings, so no gate caught it. Where the surrounding words still describe the range the strip removed, the new citation names that code too. No clause's assertion changed", "ref": "#24752" },
1468-
{ "revision": 7, "date": "2026-10-20", "change": "steps[0] respelled: 'boot showcase isolated' → 'boot the showcase on its own port and DB'. Round 12's out-of-scope finding (landing record 6287983829 on wave anchor #24579): the phrase 'showcase isolated' named the dogfood §0 own-port boot, and a runner read it as the `isolated` tenancy posture (OS_TENANCY_POSTURE=isolated). The new spelling names that boot by what it is, in RUNNER.md's own words for it (the trap table's counter: own port/DB, skill §0), and names no posture. Read at base e4d604efd3. No clause changed", "ref": "#25003" }
1468+
{ "revision": 7, "date": "2026-10-20", "change": "steps[0] respelled: 'boot showcase isolated' → 'boot the showcase on its own port and DB'. Round 12's out-of-scope finding (landing record 6287983829 on wave anchor #24579): the phrase 'showcase isolated' named the dogfood §0 own-port boot, and a runner read it as the `isolated` tenancy posture (OS_TENANCY_POSTURE=isolated). The new spelling names that boot by what it is, in RUNNER.md's own words for it (the trap table's counter: own port/DB, skill §0), and names no posture. Read at base e4d604efd3. No clause changed", "ref": "#25003" },
1469+
{ "revision": 8, "date": "2026-10-21", "change": "Respelled — fixtures.knownGaps[0]: 'ON AN ISOLATED SCRATCH FILE DB' → 'ON THE RUN'S OWN SCRATCH FILE DB'. PR #25003's out-of-scope finding (round 17 of wave anchor #24579; ACCEPT 6304389370, landing record 6304641541): 22 non-history texts in 17 items named the own-port boot or its DB with 'isolated' in other words, the phrasing round 12 found a runner reading as the `isolated` tenancy posture (OS_TENANCY_POSTURE=isolated). The new spelling names the boot or the DB by what it is, the run's own port and DB (RUNNER.md's trap-table counter: own port/DB, skill §0), and names no posture. Read at base 93e6c1a5f8. No clause changed", "ref": "#PENDING-24579R18" }
14691470
]
14701471
},
14711472
{

0 commit comments

Comments
 (0)