Skip to content

Commit 357f2ab

Browse files
committed
docs(qa): fill round 7's history refs with the PR number
The sixteen history rows were committed with the placeholder '#PENDING-24579R7' because the pull request had no number before it was opened. This changes exactly those sixteen strings and nothing else. Claude-Session: https://claude.ai/code/session_01FM29ZqLTrnPNXxijioZwMp Co-authored-by: Claude <noreply@anthropic.com>
1 parent abb111c commit 357f2ab

3 files changed

Lines changed: 16 additions & 16 deletions

File tree

‎docs/qa/platform-checklist/areas/access-security.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2597,7 +2597,7 @@
25972597
"revision": 5,
25982598
"date": "2026-10-20",
25992599
"change": "line citations re-pointed — the carried note from round 5 of wave anchor #24579 (its report, comment 6279808387). acceptance[3].clause, acceptance[4].verify, acceptance[5].verify, negative[3] and source[0] cited activation-gate.ts by line number in a comma-range spelling (',141-147', ',155-163', ',190', and source[0]'s five ranges), the rot class the line-citation limb exists for and does not detect; at this base those lines hold other code. Each now anchors the declaring symbol (refuseUngrantedActivationWrite, refuseUngrantedActivationAuthoring, readEffectiveTenancyPosture, FLOW_ACTIVATION_SUBJECT, ACTION_ACTIVATION_SUBJECT) or names the header section in prose. Reading the gate for that, acceptance[4].clause was corrected beside its walled lead, which is unchanged: it said flows recommend the clone path and that the platform_admin POSITION admits; both remedies name the operator and neither a clone (ADR-0131 D6 · D12 items 7–8, as both pins assert), and the gate reads the PLATFORM_ADMIN posture rung, never a position name (#15981). Not loosened: the oracle and the pins are unchanged",
2600-
"ref": "#PENDING-24579R7"
2600+
"ref": "#24717"
26012601
}
26022602
]
26032603
},
@@ -2918,7 +2918,7 @@
29182918
"revision": 4,
29192919
"date": "2026-10-20",
29202920
"change": "steps[0]'s walled parenthetical corrected — the carried note from round 5 of wave anchor #24579 (its report, comment 6279808387). It said a walled posture refuses to boot with the variable unset (plugin-auth init); on 18.0 serve.ts#walledPostureRefusal refuses a walled posture earlier, before any config or plugin, whether the variable is set or unset. The item boots single throughout and no clause scores the walled case, so no clause changed",
2921-
"ref": "#PENDING-24579R7"
2921+
"ref": "#24717"
29222922
}
29232923
]
29242924
},

‎docs/qa/platform-checklist/areas/integration-system.json‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109
"revision": 3,
110110
"date": "2026-10-20",
111111
"change": "automated.ref narrowed clause by clause, in the scope-depth-asymmetry shape — round 2 part 1 of wave anchor #24579 (comment 6272032736: Tier 1 run #24598 named this ref among those that over-claim clause coverage). QA run #24575 scored every clause pass on the pin's 2/2; read against the spec, its two cases cover negative[0], acceptance[0]'s mcp variant and the other two variants' state, and the mcp halves of acceptance[1] and [2] only. No clause changed",
112-
"ref": "#PENDING-24579R7"
112+
"ref": "#24717"
113113
}
114114
]
115115
},
@@ -200,7 +200,7 @@
200200
"revision": 3,
201201
"date": "2026-10-20",
202202
"change": "checklist-accuracy findings of QA run #24575 (18.0 sweep, 5b14b7f3; wave anchor #24579 §3, which lists it under automation). acceptance[3].verify and steps[6] said a reload reconcile resets the backoff; it retries at once and keeps counting, and only a config edit (a changed materialization signature) resets it, as degradeConnectorInstance has it. steps[6] said to touch or save the entry, which restarts os dev; it now names a restart-free reload, a per-item publish. fixtures.requires[0] puts every boot in a scratch copy (the stdio path is cwd-relative) and names #24575's file-move break, the one steps[4] can undo with no config change; steps[4] names the warn line that shows the swap at the default log level. Not loosened: every clause keeps its oracle",
203-
"ref": "#PENDING-24579R7"
203+
"ref": "#24717"
204204
}
205205
]
206206
},
@@ -807,7 +807,7 @@
807807
"revision": 5,
808808
"date": "2026-10-20",
809809
"change": "checklist-accuracy findings of QA run #24575 (18.0 sweep, 5b14b7f3; wave anchor #24579 §3, whose dashboards/search bullet says the job timeout probe needs a retryPolicy). steps[4]'s timeout probe carried no retryPolicy, so it could not show acceptance[3]'s 'timeouts COUNT as failures' half; a second probe with a policy now does, and acceptance[3]'s verify and evidence read both. fixtures.requires[1] carries the writable-copy recipe #24575 used and says the shipped cron fixture fires only at 01:00 UTC. steps[6] builds each refused shape on its own, since a build stops at the first refused job. Not loosened: no clause changed",
810-
"ref": "#PENDING-24579R7"
810+
"ref": "#24717"
811811
}
812812
]
813813
},
@@ -1087,7 +1087,7 @@
10871087
"revision": 5,
10881088
"date": "2026-10-20",
10891089
"change": "checklist-accuracy findings of QA runs #24575 (5b14b7f3) and #24615 (ba4afcc2), 18.0 sweep; wave anchor #24579 §3 and its round 2 part 2. knownGaps[2] said no served boot lacks MessagingServicePlugin; `--preset minimal` mounts no always-on slate, and #24615 scored the 501 half on a scratch app-todo copy requiring automation, triggers and auth, so the gap carries that recipe and acceptance[3].verify names the boot. steps[5] reads the receipts as the recipient (the admin's /data view is owner-scoped); acceptance[4].verify counts delivery rows before and after, because inbox deliveries write them too. fixtures.requires[0] spells the recipients as the flow now declares them, one CEL value envelope. Not loosened: a fabricated inbox, delivery or receipt still FAILS",
1090-
"ref": "#PENDING-24579R7"
1090+
"ref": "#24717"
10911091
}
10921092
]
10931093
},
@@ -1155,7 +1155,7 @@
11551155
},
11561156
{ "revision": 2, "date": "2026-08-18", "change": "re-worded clause 3 and step 5 for this item's declared api surface. Both named the Setup → Datasources console page inside an item whose surface is api, so the clause could only ever be scored by a substitution the item did not authorize. The datasources admin API is what the page renders from, so it is now the oracle and the page is the optional substitution — surface left as api rather than widened to mixed, since every other clause here is a server read (#9417)", "ref": "#9386" },
11571157
{ "revision": 3, "date": "2026-10-16", "change": "acceptance[0].verify corrected (checklist-accuracy finding of QA run #23922, wave #23878): 'filters/$top work as on a native object' — OData $filter is refused 400 INVALID_FILTER on /data (the filter must be JSON), while the JSON filter param and top work, which is what #23922 used. The verify text names the working spellings and the refusal. Not loosened: a filter that returns the unfiltered set still FAILS", "ref": "#24036" },
1158-
{ "revision": 4, "date": "2026-10-20", "change": "checklist-accuracy findings of QA run #24575 (18.0 sweep, 5b14b7f3; wave anchor #24579 §3). acceptance[2]'s oracle still read 'screenshot' and its evidence 'screenshot', although revision 2 made the datasources API the oracle; both now name the API reads. steps[4] names the console route for the substitution (…/setup/datasources is not one). fixtures.requires[0] says where the fixture DB is provisioned. Not loosened: the clause and its verify are unchanged", "ref": "#PENDING-24579R7" }
1158+
{ "revision": 4, "date": "2026-10-20", "change": "checklist-accuracy findings of QA run #24575 (18.0 sweep, 5b14b7f3; wave anchor #24579 §3). acceptance[2]'s oracle still read 'screenshot' and its evidence 'screenshot', although revision 2 made the datasources API the oracle; both now name the API reads. steps[4] names the console route for the substitution (…/setup/datasources is not one). fixtures.requires[0] says where the fixture DB is provisioned. Not loosened: the clause and its verify are unchanged", "ref": "#24717" }
11591159
]
11601160
},
11611161
{
@@ -1298,7 +1298,7 @@
12981298
"revision": 4,
12991299
"date": "2026-10-20",
13001300
"change": "checklist-accuracy findings of QA run #24615 (18.0 sweep round 2, ba4afcc2; wave anchor #24579 §3, round 2 part 2). The served driver id is `mongodb`, not `mongo` (steps[2], acceptance[0].clause); the sqlite config key is `filename`, and `file` is an alias authoring refuses (steps[3], steps[4]); the health field is spelled `status`, beside `statusReason` (steps[5], acceptance[4] clause and verify). steps[3] and acceptance[2].clause said POST /test is registered before the :name routes; it is registered after every one of them (admin-routes.ts), and 'test' stays uncaptured because no POST route takes a bare :name. The code comment that says otherwise is reported, not edited. steps[8] carries the live bind-arm recipe #24615 proved and names the wire statuses. Not loosened: no clause's oracle or verdict changed",
1301-
"ref": "#PENDING-24579R7"
1301+
"ref": "#24717"
13021302
}
13031303
]
13041304
},
@@ -1412,7 +1412,7 @@
14121412
"revision": 4,
14131413
"date": "2026-10-20",
14141414
"change": "fixtures.knownGaps[0] corrected — checklist-accuracy finding of QA run #24615 (18.0 sweep round 2, ba4afcc2; wave anchor #24579 §3, round 2 part 2). It said a schema-qualified Postgres fixture would make ?schema= narrowing live-scoreable; measured on PostgreSQL 16, the SQL driver's Postgres introspection returns bare names from current_schemas(false) too, so narrowing stays unobservable live. That is the product defect #24664, split from #24619 row (c); acceptance[1] states the #7955 contract and stays as written, scored by its pin. No clause changed",
1415-
"ref": "#PENDING-24579R7"
1415+
"ref": "#24717"
14161416
}
14171417
]
14181418
},
@@ -1534,7 +1534,7 @@
15341534
"revision": 3,
15351535
"date": "2026-10-20",
15361536
"change": "checklist-accuracy findings of QA run #24615 (18.0 sweep round 2, ba4afcc2; wave anchor #24579 §3). knownGaps[0] preferred altering the fixture DB; the recipe #24615 proved adds a field to the federated object (a measured missing_column) and survives re-provisioning, so the gap leads with it. steps[0] names --log-level info: the all-clear, SKIPPED and armed-timer lines are info-level and absent at the default warn level. No clause changed",
1537-
"ref": "#PENDING-24579R7"
1537+
"ref": "#24717"
15381538
}
15391539
]
15401540
},
@@ -1780,7 +1780,7 @@
17801780
"revision": 5,
17811781
"date": "2026-10-20",
17821782
"change": "checklist-accuracy findings of QA run #24575 (18.0 sweep, 5b14b7f3), the P0 run #24556's continuation and wave anchor #24579 §3. knownGaps[2] said no Postgres recipe is proven and the QA container has no database; the container has PostgreSQL 16 and #24575 proved a recipe that scored acceptance[1] and [6] pass, so the gap carries it. The driver id is `mongodb` since 18 (an authored `mongo` is refused by name, #24556), in knownGaps[2] and steps[0]. steps[8] names the admin-only third read door, /data/sys_metadata, which also redacts. knownGaps[4] (new) records that no datasource read door serves the mask (the admin door withholds the key, the metadata door serves the credentialsRef handle), so acceptance[6].clause says the echoed config carries none and source[2] no longer says both readers import it; the literal-mask PATCH #24575 measured is held for the maintainer on #24579 §7 and scored under no clause. Not loosened: every verify and every negative is unchanged",
1783-
"ref": "#PENDING-24579R7"
1783+
"ref": "#24717"
17841784
}
17851785
]
17861786
},
@@ -1884,7 +1884,7 @@
18841884
"revision": 2,
18851885
"date": "2026-10-20",
18861886
"change": "checklist-accuracy findings of QA run #24615 (18.0 sweep round 2, ba4afcc2; wave anchor #24579 §3). steps[1] offered 'direct engine dispatch', which has no HTTP door; it names the runtime-flow vehicle #24615 used (POST /api/v1/automation, then POST /automation/NAME/trigger). fixtures.knownGaps[0] and source[5] cited the showcase connectors file by comma-separated line numbers, the rot class the line-citation limb exists for; both now anchor the declaring symbol. No clause changed",
1887-
"ref": "#PENDING-24579R7"
1887+
"ref": "#24717"
18881888
}
18891889
]
18901890
},
@@ -2018,7 +2018,7 @@
20182018
"revision": 4,
20192019
"date": "2026-10-20",
20202020
"change": "checklist-accuracy findings of QA run #24615 (18.0 sweep round 2, ba4afcc2, driven by hand at the console pin 4016370a; wave anchor #24579 §3, round 2 part 2), re-read in objectui at the shipped pin 12dc7b47c340. steps[1]: no entry from the Setup list reaches the panel (DatasourceResourcePage rows never open the item), so the step names the engine edit route. acceptance[0] (clause, verify, evidence): the save-first guidance is unreachable (datasource is not in CREATE_MODE_CANVAS_TYPES), so the clause scores the observable half, no name-less call, and records the guidance half not-run. steps[7]: the quoted refusal was POST /meta/_migrate-stored's; the item save door answers 403 FORBIDDEN 'Saving a metadata item requires…'. knownGaps[3] carries #24615's drift recipe that needs no scratch copy; knownGaps[4] (new) records that a repeated import answers 201 and overwrites, which no clause scores. acceptance[3].verify's comma-range line citation names the handler instead (the line-citation rot class). Not loosened: every other clause and negative is unchanged",
2021-
"ref": "#PENDING-24579R7"
2021+
"ref": "#24717"
20222022
}
20232023
]
20242024
},
@@ -2096,7 +2096,7 @@
20962096
"revision": 2,
20972097
"date": "2026-10-20",
20982098
"change": "checklist-accuracy findings of QA run #24558 (since:v18, 5b14b7f3; its first comment; wave anchor #24579). knownGaps[0] said no in-repo app composes the mailbox service; the showcase requires 'mailbox' and serves the sys_mail_* objects, and what is missing is the IMAP sync composition, a mailAssociation field and an IMAP double, so knownGaps[0] and fixtures.requires[1] now say that. No clause changed",
2099-
"ref": "#PENDING-24579R7"
2099+
"ref": "#24717"
21002100
}
21012101
]
21022102
},
@@ -2173,7 +2173,7 @@
21732173
"revision": 2,
21742174
"date": "2026-10-20",
21752175
"change": "checklist-accuracy findings of QA run #24558 (since:v18, 5b14b7f3; its first comment; wave anchor #24579). fixtures.requires[2] asked for the shipped inactive webhook 'with one delivery', which cannot exist: an inactive webhook is never dispatched. It now carries #24558's recipe (an active webhook to a local sink, a terminal delivery, then switch it off), and steps[2] warns off a pending row, which answers the same code for another reason. steps[3] says its MCP leg is scored by acceptance[0]'s pin only. No clause changed",
2176-
"ref": "#PENDING-24579R7"
2176+
"ref": "#24717"
21772177
}
21782178
]
21792179
}

‎docs/qa/platform-checklist/areas/platform-core.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@
503503
{ "revision": 1, "date": "2026-08-07", "change": "initial — grounds the Studio authoring pipeline end-to-end with both deny gates as first-class clauses", "ref": "claude/platform-test-checklist-ocwugl" },
504504
{ "revision": 2, "date": "2026-08-11", "change": "annotated the objectui e2e/live/studio-record-page.spec.ts half of this item's automated.ref as STALE (run #7695): it fills the Object control as an input when it is now a role=combobox button, so it fails against the current surface, not against a defect. The Studio-designer clause now says drive it by hand until the spec is re-pointed; the dogfood pin and studio-object-designer.spec.ts are unaffected. Re-pointing lives in objectui (cross-repo half of #7753 item 6)", "ref": "#7753" },
505505
{ "revision": 3, "date": "2026-10-16", "change": "steps[1], [3] and [7] and acceptance[0].verify and [5].verify re-pointed (checklist-accuracy findings of QA run #23939, wave #23878). A plain PUT /meta/view/NAME saves state=active, so the draft never appeared in /meta/_drafts — ?mode=draft is required — and a view's name must be qualified OBJECT.view (#23939 used showcase_task.os_qa_view_RUNID). The Studio half now names the create form (/_console/apps/showcase_app/metadata/page/new) and its 'list' default, which has to be set to 'record' for a record page. Not loosened: every clause still scores the same server reads", "ref": "#24036" },
506-
{ "revision": 4, "date": "2026-10-20", "change": "automated.stale.observedIn, partial, why and ownedBy refreshed — the carried note from round 6 of wave anchor #24579 (its report, comment 6280484387), the refresh round 6 made on studio-authoring.record-page-roundtrip in PR #24697. Tier 1 run #24598 re-measured studio-record-page.spec.ts red at the sweep's console pin 4016370af3c9 (0 passed / 1 failed), and the spec is byte-identical at the shipped pin 12dc7b47c340, so the marker first written from #7695 still holds; ownedBy names the family card objectstack-ai/objectui#13104. The why also said studio-object-designer.spec.ts was unaffected; #24598 ran its F1 and F4 red (F2 and F3 passed), and partial now says so. No clause changed", "ref": "#PENDING-24579R7" }
506+
{ "revision": 4, "date": "2026-10-20", "change": "automated.stale.observedIn, partial, why and ownedBy refreshed — the carried note from round 6 of wave anchor #24579 (its report, comment 6280484387), the refresh round 6 made on studio-authoring.record-page-roundtrip in PR #24697. Tier 1 run #24598 re-measured studio-record-page.spec.ts red at the sweep's console pin 4016370af3c9 (0 passed / 1 failed), and the spec is byte-identical at the shipped pin 12dc7b47c340, so the marker first written from #7695 still holds; ownedBy names the family card objectstack-ai/objectui#13104. The why also said studio-object-designer.spec.ts was unaffected; #24598 ran its F1 and F4 red (F2 and F3 passed), and partial now says so. No clause changed", "ref": "#24717" }
507507
]
508508
},
509509
{

0 commit comments

Comments
 (0)