Uh oh!
There was an error while loading. Please reload this page.
docs(adr-0036): re-anchor the enforcement-rule citation to the framework's ADR-0124 D1 (#5701) [GOVERNED SURFACE — human merge] - #5843
Merged
Conversation
…ork's ADR-0124 D1 (#5701) ADR-0036 asserts that the framework cites "server enforces, client is courtesy" as ADR-0057 D10. It does not decide that: D10 is "Setup-nav surfacing follows the capability (ADR-0029 K2); the object stays open". The rule is decided by the framework's ADR-0124 D1, "The server is the enforcement point; client-side gating is a usability courtesy" (Accepted 2026-08-18). This paragraph is the wording every other citation in this repo derives from, so leaving it re-seeds the misattribution into anything written from it next. "cites ... as" becomes "decides in ... and practises throughout", because ADR-0124 is the deciding record while D10 was only ever cited; the rule-validator / lint-diagnostics / QA-runner triple is unchanged and is named by ADR-0124's own Consumers line. The 0057-collision parenthetical retires with the number it disambiguated; "(framework ADR numbering)" keeps the whose-numbering half. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EuPCi56cnGyykygi3z9w4m
This was referenced Aug 23, 2026
This was referenced Aug 24, 2026
os-zhuang
marked this pull request as ready for review
August 24, 2026 02:06
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
Refs #5701
Re-anchors the enforcement-rule citation in
docs/adr/0036-field-conditional-rules.mdfromthe framework's
ADR-0057 D10to the framework'sADR-0124 D1.Why this is a separate PR
This paragraph is the wording every other citation of the rule in this repository derives
from — so leaving it in place re-seeds the misattribution into anything written from it
next. That makes it required work, not optional.
But
docs/adr/**is governed, and a PR touching it merges on a human's schedule. Bundlingit with the eight ordinary code sites would make those eight wait on a human for no reason,
so the sweep splits: the code sites ship in their own PR (see below), and the ADR waits
here.
The change
One paragraph,
docs/adr/0036-field-conditional-rules.md:89-94.Before
After
Three deliberate choices in that rewrite:
ADR-0124 D1is the recordthat decides the rule;
ADR-0057 D10was only ever cited for it. Keeping "cites as"with the new number would swap one inaccuracy for another.
guess: framework
ADR-0124's own Consumers line namesvalidation/rule-validator.ts,@objectstack/lint, anddocs/qa/platform-checklist(RUNNER rule 4).0057-collision parenthetical retires with the number it disambiguated. Itwarned that this repo's own
ADR-0057is an unrelated document; this repo has noADR-0124at all (its own series stops at0059), and frameworkADR-0124records thata fresh, unambiguous number was chosen precisely so its citations would not need such a
warning.
(framework ADR numbering)keeps the whose-numbering half.Why the old anchor is wrong
Framework
ADR-0057D10 decides "Setup-nav surfacing follows the capability(ADR-0029 K2); the object stays open" — nav-entry tiering, not enforcement location. The
rule this paragraph asserts is decided by framework
ADR-0124 D1, "The server is theenforcement point; client-side gating is a usability courtesy" (Accepted 2026-08-18).
The new anchor is derived from an authority, not chosen: framework
ADR-0057carries anote aimed at exactly this citation — "If a citation of
ADR-0057 D10brought you herelooking for that rule, ADR-0124 is where it is decided (#9628)."
Verification — all at
b6fc3b5f5check-doc-links.mjsLinks are valid across 13 scan roots.check-control-bytes.mjs✅ check-control-bytes: OK (scanned 4855 tracked text file(s); skipped 85 binary)check-changeset-presence.mjs✅ No source of a released package changed in this range, so no changeset is owed.pnpm exec vitest run scripts/__tests__/doc-version-claims.test.tsTest Files 1 passed (1)·Tests 18 passed (18)The changeset gate was run, not assumed — it reports that a docs-only diff owes nothing,
so no changeset is added.
doc-version-claimsguards against a bare version literal reachingprose; none was written.
Prose-only change, one file,
+4 / −5. Nothing to ablate — there is no behavioural leghere, so no mutation could make a test fail differently; a staged reverse-verification would
be theatre.
Companion PR
The eight code sites that derive their wording from this paragraph move in their own,
ordinary PR — it carries the full before/after enumeration showing that once both land, the
only surviving live-source
ADR-0057 D10citation in this repo ispackages/data-objectstack/src/appAccessProbe.test.ts, which cites it for thecapability/service-gating case the decision genuinely does decide.
Generated by Claude Code