Uh oh!
There was an error while loading. Please reload this page.
fix(spec): scoped-context.ts sudo() note no longer cites retired captureBefore - #7874
Conversation
…ureBefore #6656 retired plugin-audit's `captureBefore` pre-image stash and PR #7081 deleted its last consumer limb, so the `sudo()` exclusion note in IScopedContext's evidence-bar docblock (packages/spec/src/contracts/ scoped-context.ts:64) asserted a world that no longer exists. Repoint the sentence at `resolveLookupTitles`, the other real `api.sudo()` caller in plugin-audit, rather than naming the retired mechanism. Fixes#7709
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
📓 Docs Drift CheckThis PR changes 1 package(s): 106 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:
⛔ 7 release-owned page(s) also reference the affected code. These are read-only:
|
Uh oh!
There was an error while loading. Please reload this page.
Fixes#7709
What
packages/spec/src/contracts/scoped-context.ts:64(inIScopedContext's evidence-bar docblock, under thesudo()exclusion note) named plugin-audit'scaptureBeforepre-image stash as one of the two realapi.sudo()callers. #6656 retiredcaptureBefore(A+ retirement, merged 2026-08-09) and PR #7081 deleted its last consumer limb, so the sentence asserted a mechanism that no longer exists. The declared pre-image channel today isctx.previous(verified againstpackages/spec/src/data/hook.zod.ts:519).Fix
Comment-only rewrite. Re-pointed the sentence at
resolveLookupTitles— the other real, currently-liveapi.sudo()caller inpackages/plugins/plugin-audit/src/audit-writers.ts(alongsidepersistAuditTrailRow, which still callsapi.sudo()unchanged) — instead of the retired mechanism. Per the recommended route, this drops thecaptureBeforereference entirely rather than keeping it as a "this used to be X" aside, since the surrounding prose doesn't need the historical contrast — it only needs an accurate list of current callers.Swept
packages/spec/src/contracts/(and the whole repo) forcaptureBefore/__previous: no other stale reference remains undercontracts/. The other repo-wide hits are either the retirement history itself (plugin-audit,trigger-record-change,metadata-manager.ts, changelogs — all describing the past truthfully) orpackages/rest/src/import-runner.ts's unrelated local variable also namedcaptureBefore(a same-named, unrelated helper — not the retired stash).Changeset
No changeset. Measured, not assumed: this docblock is a floating (unattached) module-top comment in the source — separated by a blank line + an
importstatement from the nearest interface declaration (IScopedObjectRepository), which carries its own adjacent JSDoc. Built the package (pnpm --filter @objectstack/spec build) and confirmed in the emitted bundle (packages/spec/dist/analytics.zod-*.d.ts): the text is present in the file (still separated frominterface IScopedObjectRepositoryby a blank line), so it does not attach to hover on any exported symbol. It also doesn't reach a reference page —contracts/holds TypeScript service interfaces, not Zod schemas, sogen:docs/build-docs.tsdoes not generate reference pages from it (confirmed:Build Docsis a schema-driven job and does not processcontracts/**). And it's pure comment text, not a parse-reachable error string. So this reaches no consumer under E13 —skip-changesetrequested.ADR check
Grepped for references to this comment's text in ADR-0049 / ADR-0087 artifacts: none found (
scripts/check-adr-0087-registration.mjsand the.changeset/adr-0087-*.mdentries don't citescoped-context.tsor this prose). As expected — this is prose, and the property itself (captureBefore) was already retired with full ledger discipline under #6656.Verification
pnpm --filter '@objectstack/spec' build— green (also the reverse-verification build used to inspect the emitted.d.ts).pnpm --filter '@objectstack/spec' typecheck— green.pnpm --filter '@objectstack/spec' test— 378 files / 9970 tests passed.node scripts/check-nul-bytes.mjs— OK.node scripts/check-adr-anchors.mjs— OK.node scripts/check-engine-double-contract.mjs— OK (scoped-context.ts's declared face untouched by this comment-only change).CI (ESLint / TypeScript Type Check / full farm) has not yet converged as of draft-PR time — reported per the current dispatch contract rather than waited on.
Generated by Claude Code