Repository navigation
chore(objectui): move the console pin to 088e0f705520 (objectui#12175 PR-5, #12174 Q3b) (#15204 B2) - #22967
Conversation
… PR-5: position-ref / permission-ref; #12174 Q3b) (#15204 B2) Co-Authored-By: Claude <[email protected]> Claude-Session: https://claude.ai/code/session_013XKtmoR5QCUSTMjiQ3os49
…e SDUI and lockstep records at 088e0f705520 (#15204 B2) Co-Authored-By: Claude <[email protected]> Claude-Session: https://claude.ai/code/session_013XKtmoR5QCUSTMjiQ3os49
📓 Docs Drift CheckThis PR changes 2 package(s): 2 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 6 release-owned page(s) also name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 140 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin de3991c1c0b4e2c135b6d29f7502ecd2c12946ee && git checkout de3991c1c0b4e2c135b6d29f7502ecd2c12946ee
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin a2240c4dcfc3a19f058cb0b3a4f15a351908acde 37800400315831108300e98352be75c72087be79 && git checkout -B drift-repro a2240c4dcfc3a19f058cb0b3a4f15a351908acde && git merge --no-ff 37800400315831108300e98352be75c72087be79
node scripts/docs-audit/affected-docs.mjs --json a2240c4dcfc3a19f058cb0b3a4f15a351908acde
|
|
Seat note: What red on
Why it is not this PR's: the diff (the console pin, the SDUI manifest and lockstep records, and the pin-citation re-measure) touches neither package. This is the class #22949 anchors, now ruled C2 for both timing steps plus an absolute floor (6119186511). The fix: the Generated by Claude Code |
`--check-drift` takes the run's event (`--event`), required. On `schedule`, the profile scripts/test-shard-timings.json is measured on, a DRIFT exits 1 as before; on every other event it prints the same text, raises one `::warning::` annotation and exits 0. A missing or empty event is refused. Claude-Session: https://claude.ai/code/session_012yK1ddAdAqfzwigRHZq3r2 Co-authored-by: Claude <[email protected]>
…one, with a 20s floor The ceiling check takes the run's event (`--event`, required). On `schedule`, the profile the ceilings were measured on, a package over its ceiling reds the step as before; on every other event the same table prints, each package over its ceiling is a `::warning::` annotation, and the step exits 0. Refusals stay red on every event. A package whose effective ceiling is under CEILING_FLOOR_SECONDS (20s) is never red and prints "below floor"; the header records the floor's reading. ci.yml passes `--event "$GITHUB_EVENT_NAME"` to both timing steps, which keep no `if:` and no `continue-on-error`. Claude-Session: https://claude.ai/code/session_012yK1ddAdAqfzwigRHZq3r2 Co-authored-by: Claude <[email protected]>
Contract reviewServed-tier: PR #22967 (card #15204 B2: the console pin hop objectui ① Derived judgments1. The pin and its gate — holds. 2. The SDUI artefacts — hold. 3. The spec source edits — comments and strings only; no accept-set change. A mechanical filter over the diff (every 4. The citations —
5. The three edited tests — comment-only, no assertion moved. 6. CI on the head. 42 check-runs: 38 7. The base. The merge base is ② Semver level
③ Boundary flags
Implemented-by: VERDICT: FAIL Generated by Claude Code |
…at changed — the en/zh/de packs and data-objectstack's index.ts (#15204 B2) The calendar record's packs and the curated-public-blocks record's data-objectstack/src/index.ts changed on the hop (objectui#12175); every cited line held or moved byte-identical. The pin-citations changeset says so. Co-Authored-By: Claude <[email protected]> Claude-Session: https://claude.ai/code/session_013XKtmoR5QCUSTMjiQ3os49
Contract reviewServed-tier: PR #22967 (card #15204 B2: the console pin hop objectui ① Derived judgments1. FAIL point 1, the calendar record ( 2. FAIL point 2, the §4b curated-public-blocks record ( 3. FAIL point 3, the changeset and the body — now true. 4. The re-sweep — no third false hop sentence. At the head, the 5. The port (b) — exact. 6. Nothing else moved (c). 7. CI on the head (d) — 42 check-runs, all complete at 08:20Z: 38 8. The base. ② Semver levelUnchanged from ③ Boundary flags
Implemented-by: VERDICT: PASS Generated by Claude Code |
Seat ACCEPT: #22967 (the console pin hop objectui
|
Part of #15204
Clause-②: no
The console pin hop
e5311165a8d6→088e0f705520(objectuimain; the merge of objectui#12175). It is the follow-up #22939 named: #22939 declareswidget: 'position-ref'/'permission-ref'on the two grant name fields of Setup's user page, and this pin brings the console that registers those widgets. Until it lands, those fields render as text inputs. #22900 waits for this PR and #22939.Tier: no governed surface (
GOVERNED_SURFACESinscripts/pm/check-governed-merges.mjs). 20 files plus #22973's ported CI files (.github/workflows/ci.yml,scripts/check-test-suite-ceilings.mjs,scripts/partition-test-shards.mjs).The hop: 3 objectui commits, all on objectui
main088e0f705, objectui#12175 (objectui#7611 PR-5): a record-form field names one registry item by name (position-reflistsGET /meta/position,permission-reflistsGET /meta/permission, and each stores the chosen name);83b9fade2, objectui#12174 (objectui#7611 Q3b): a position approver is read through the spec's registry binding{ source: 'registry', type };2498a0753, objectui#12110: the rich-text editor draws no hint lines.The pin round, as #22874's
Console Pin Gate steps, run locally (each exited 0):
turbo run build --filter=@objectstack/client....scripts/build-console.shat the pin.check:console-sha: "Console dist matches the objectui pin (objectui@088e0f705520)".check:console-injection --require-stamp.Artefacts that travel with the pin:
scripts/bump-objectui.shgenerated.changeset/console-088e0f705520.md:@objectstack/consoleminor, the level feat(spec,metadata-protocol)!: rename the type registry's allowOrgOverride to allowEnvironmentOverlay, on the registry and on GET /meta/types #22874's pin move used. It has 3 releasing entries, 0 breaking, so there is no ADR-0087 placeholder, and it carriesClause-②: no.check:objectui-changesetpasses.node scripts/gen-sdui-manifest-node.mjs:sdui.manifest.jsonis byte-identical across the hop (107 components), andscripts/sdui-manifest.record.jsonis re-recorded at the pin.check-sdui-manifestpasses.pnpm gen:sdui-lockstepre-recordspackages/sdui-parser/objectui-lockstep.jsonat088e0f705520.check:sdui-locksteppasses, so the save gate's parser and the renderer's copy agree and no port is owed.form.tsx(+3, registering the two widget hints):spanLadderForheld at:275-302, and its call site moved:3326→:3329unchanged, so theFormField.spandescribe's claim holds (re-pointed, withcontent/docs/references/ui/view.mdxregenerated);data-objectstack/src/index.ts(+33 at:5335, the adapter'slistMetadataItems): below both reads the curated-public-blocks record cites, soserializeOrderBy869-895and thetranslateFilterArrayarm5066-5077are unmoved;en/zh/depacks (fields.registryRefkeys, +4 each): the calendar record'scalendar.configRequiredstrings moved +4 and did not change;git diff --quiet, checked file by file), and each gains a hop sentence saying so. The first version of this PR said two of the three changed files were byte-identical; the contract review caught it, and378004003corrects both records and the changeset;git grep -o -F, which reproduces everye5311165a8d6figure exactly. The corpus is 8519 files, and every retired name still reads 0;check:objectui-pin-citations --verify-anchors: 55 asserting citations match088e0f705, and the 13 quoted anchors verify against objectui at the pin;.changeset/objectui-pin-citations-088e0f705520.md:@objectstack/specpatch,Clause-②: no.Browser check, against this branch's built dist
examples/app-showcasewas booted--freshwith this branch's console dist and #22939's object metadata temporarily merged in, uncommitted; #22939 is not onmainyet. As the admin on Setup's user page:registry-ref-position/registry-ref-permission), listing 16 positions and 17 permission sets;auditorandmcp_agent_data_read, then pressing Create, wrote both grant rows (verified through the data API);everyoneis still listed among the positions (the open objectui finding: the server refuses it as a grant target).Verification (local, at this head)
turbo run buildgreen;content/docs/protocol-upgrade/moved aside: that generated guide reds four tree-scan pins in any checkout where the docs app was built, as recorded on feat(plugin-security,platform-objects): grant forms pick a position or permission set by name from the catalog (#15204 B2) #22939;dispatch-gates --ran: 125 derived families, all recorded with exit 0.Acceptance notes
Test Corered on6ef50e894only on the suite-duration ceiling step (service-analytics,knowledge-ragflow), which is ci: merge-queueTest Corereds on the new suite-duration ceiling —@objectstack/cloud-connectionmeasured 177.5 s and 200.3 s vs its 163.89 s ceiling, in two groups of PRs that do not touch it (live since1bd612bd6) #22949's class and not this diff's. This branch now carries ci: Test Core's two timing gates exit-grade onschedulealone (C2), with a 20s ceiling floor #22973's two commits, cherry-picked in order (e6c7a6ce6→598bb69c1,ef3d0764b→55535f501); both scripts'--self-tests pass.position-refpicker lists theeveryoneaudience anchor.🤖 Generated with Claude Code
https://claude.ai/code/session_013XKtmoR5QCUSTMjiQ3os49