Repository navigation
docs(qa): approvals ledger — 19 checklist-accuracy edits from the 18.2.0 sweep - #26116
Merged
Merged
Conversation
…2.0 sweep Applies the approvals.json lines of the 18.2.0 release sweep's run records (P0, Tier 1 and manual set) to ten items: each item's text is revised, its revision bumped once and one history row appended citing the run record. The retired objectui pin wording in the same file (objectui:build, .objectui-sha, "at the console pin") is respelled to the in-tree pnpm console:build flow. Claude-Session: https://claude.ai/code/session_01VwduP3gdrCAQyEyLmPtrUN Co-authored-by: Claude <noreply@anthropic.com>
Swaps the placeholder ref #PENDING-25838 for this PR's number in the ten history rows the previous commit appended. Nothing else changes. Claude-Session: https://claude.ai/code/session_01VwduP3gdrCAQyEyLmPtrUN Co-authored-by: Claude <noreply@anthropic.com>
Contributor
Author
席位核对 · ACCEPT · devx seat 2 · 2026-10-26T13:03ZSeat
Generated by Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Steve · project thread
Fixes #25838
Clause-②: no
Metadata-protocol: none
Applies the 19
docs/qa/platform-checklist/areas/approvals.jsonlines of card #25838, the checklist-accuracy findings of the 18.2.0 release sweep (wave anchor #25807), and respells the retired objectui pin flow in the same file (#26052, #26035).Only checklist text changes: one file, ten items. Each item takes one
revisionbump and onehistoryrow, and each row names its run record (QA run #25812, #25815 or #25817, all at framework6679644a) and this card. No product code, test, pin, RUNNER.md or changeset changes.skip-changeset:docs/qa/**ships in no package.How it was done
9753d163(origin/main).approvals.jsonhas no commit on main since73432299(2026-10-21), so it is unchanged since the card was filed and since the sweep's base6679644a. The card's "file unchanged since filing" assumption holds.packages/, the flows inexamples/app-showcase, and the console underui/(the objectui paths the items cite, re-read at theirui/location).out_of_scope_findingsas a defect.#PENDING-25838. The next commit on this branch swaps in this PR's number and changes nothing else.Changes
account-app-entry(4→5)?request=navigates to/apps/APP/sys_approval_request/record/ID(objectui#12484;ui/apps/console/src/pages/system/ApprovalsInboxPage.tsxrequestPagePath). acc[3]'s after-state is now "the decision actions stop rendering": theirvisiblepredicates readrecord.viewer.can_act, and no can_act=false explanation exists on the request page. acc[5] namescom.objectstack.accountand the aliasaccount(packages/apps/account/src/index.ts).pnpm console:buildfrom this tree replacespnpm objectui:build+.objectui-sha. With no dist stamp left, acc[0] reads console:build's ready line at the run's framework SHA (packages/console/build-dist.sh). The stalecheck:console-sharemark is gone because that script no longer exists. acc[6]: AppHeader.tsx underui/, not "at the console pin".decision-only-via-service(2→3)automatedremoved. knownGaps[0] says whatresume-authority-gate.test.tsasserts (AutomationEngine + InMemorySuspendedRunStore, stand-ingated_pausenode) and when automated may return: an HTTP pin on the generic resume route plus the approvals API.email-action-token-door(8→9)'stranger'(not an approver at all), and the at-rest read stays a run leg. a1: no pin asserts byte-identity of the timeline orconsumed_at. a3: no pin asserts that a failed decide still burns the token, so it rests on source evidence only (redeemActionToken's order). automated.ref's "Full clauses" is narrowed to acceptance[2] + negative[2], and knownGaps[0] is aligned.request-page-reply-and-reader-visibility(2→3)approvals-routes.tsprefix map). The two service-layer pins are cited as evidence of their own layer only. automated.ref's acc[2] note: request-read-gate drives ObjectQL +findData/getDatain-process, never/dataover HTTP. Also #26052: knownGaps[0]'s pin-skew block no longer arises, because the console builds from this tree.status-mirror-field(3→4)'SLA auto-decision: stays user-less — no human did it'proves only that the write is user-less. The live route is approvals.sla-escalation's shim recipe.approver-resolution-matrix(6→7){type:'user'}fallback on a non-administrator member.decision-action-matrix(8→9)'a reminder was already sent recently'(approval-service.tsremind). acc[0] carves out the maxRevisions revise, which appendsrevisethenreject(sendBack, audit-first).per-group-signoff(9→10)mark_approvedstep (ExpenseSignoffFlow's approve edge is an update_record). negative[0] names the unanimous invoice (admin×2) as the stock contrast.quorum-m-of-n(6→7)return_to_draftstep and the report's draft status. fixtures.requires[1]: a fresh boot needs no unbinding.inbox-metadata-actions(5→6)Edits beyond the card's literal field list, made for same-item consistency: per-group-signoff acceptance[2] ("the drawer's group chips"), and inbox-metadata-actions acceptance[1] plus fixtures.requires[1]. They carry the same stale "drawer" or zh-only tab wording as the fields the card names, and leaving them would make each item contradict itself. Each history row says so.
Acceptance notes
quorum-m-of-n(steps[8], acceptance[4]; QA run · release-18.2.0-manual-set (29/29) · 6679644a · 2026-10-25 · 25 PASS / 4 PARTIAL / 0 FAIL / 0 BLOCKED / 0 NOT-RUN #25817's A4 read the tally on the record page as "0 of 2 · 3 eligible"),viewer-gating-submitter-side,notification-deep-link(its title and ten fields),dynamic-approver-routingsteps[3], andinbox-keyboard-flow(its title and thirteen fields). These are not edited here. Carrier: wave anchor [sweep] v18.2.0 release test sweep #25807.decision-action-matrixacceptance[9].verify still calls an org-less row "the shape every schedule / time-relative / api-trigger run mints". QA run · release-18.2.0-manual-set (29/29) · 6679644a · 2026-10-25 · 25 PASS / 4 PARTIAL / 0 FAIL / 0 BLOCKED / 0 NOT-RUN #25817 measured an api-hook approval on a tenancy-disabled object stamping the default organization. Only knownGaps[0] was on the card, so the parenthetical is left as it is. Carrier: [sweep] v18.2.0 release test sweep #25807.per-group-signoffsteps[5] still offers "via the documented override path", which knownGaps[0] calls no longer acceptable. Not on the card, and left as it is. Carrier: [sweep] v18.2.0 release test sweep #25807.record-page-decisionssource[0]–[2] cite objectui blobs "at the console pin cf153eb". That is the provenance of a past read, not an instruction to run the retired scripts, so it is left alone. Carrier: docs(devx): 32 files still prescribe the retired objectui pin scripts (objectui:build/objectui:refresh) — AGENTS.md and 3 skills among them #26035.Gates (head
95fe453c; the ref-swap commit changes only the ten placeholder refs)pnpm check:platform-checklist→ exit 0 (check-platform-checklist: OK — 16 areas, 329 items (324 active, 1 planned), both self-tests pass).node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderived 13 families, and all 13 ran to exit 0.check:doc-formula-expressionsfirst answered exit 3 (PREREQUISITE:@objectstack/formula/@objectstack/lintunbuilt); it was re-run after the prescribedturbo run build --filter=@objectstack/formula --filter=@objectstack/lintand answered exit 0.--rangave13 derived famil(ies) accounted for — 13 run, 0 NOT-MEASURED (a DERIVED zero — all 13 recorded an exit code and none of them is 3).Generated by Claude Code