From b6fc3b5f52ffd45ef00413aac746e91b67da5261 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 23 Aug 2026 14:28:14 +0000 Subject: [PATCH] docs(adr-0036): re-anchor the enforcement-rule citation to the framework'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 Claude-Session: https://claude.ai/code/session_01EuPCi56cnGyykygi3z9w4m --- docs/adr/0036-field-conditional-rules.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/adr/0036-field-conditional-rules.md b/docs/adr/0036-field-conditional-rules.md index fa8d364ab7..a77b5e16b4 100644 --- a/docs/adr/0036-field-conditional-rules.md +++ b/docs/adr/0036-field-conditional-rules.md @@ -87,11 +87,10 @@ to locked, and `stripReadonlyWhenFields` — with its bulk twin incoming change is dropped exactly as a TRUE predicate's would be, and reported on the write response as a `droppedFields` entry with `reason: 'readonly_when'`. Enforcement belongs on the server — *server enforces, client is courtesy*, the -rule the framework cites throughout its rule-validator, its lint diagnostics and -its QA runner as **ADR-0057 D10** (that is the **framework's** ADR numbering; -this repo's own ADR-0057, `0057-console-ai-chat-one-conversation-docked.md`, is -an unrelated document) — and a declared lock that failed open would leave -enforcement in the courtesy layer instead. +rule the framework decides in **ADR-0124 D1** (framework ADR numbering) and +practises throughout its rule-validator, its lint diagnostics and its QA runner +— and a declared lock that failed open would leave enforcement in the courtesy +layer instead. Everything else keeps the fail-open policy, deliberately: