docs(adr): one rule for a reference to a formula target, and the right count of readings (improvise-cq1q.1)

Copilot found two inconsistencies in the previous push:
- clause 5 said a WHERE/IS value is an item id while Q23 said it could be a formula id.
  Clause 5 now states one rule, the id text of an ItemHandle, for an expression and a
  filter value alike, and Q23 points to it instead of restating it;
- the status header still said three readings were flagged, where Q23 lists eight.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
This commit is contained in:
Claude (agent-adr007)
2026-10-02 16:24:05 -07:00
committed by Edward Langley
parent 24ee72aff9
commit f786f835ac
+13 -8
View File
@@ -8,8 +8,8 @@ user approved revision 8 on PR #210 (owner comment 5824468104, 2026-09-25 00:17:
**Revision 9 is a proposed amendment, not yet approved.** It folds in the user's
answers on the implementation tickets (answers 30–32) and clarifies text the
reviews found unclear or stale (improvise-cq1q.1). It changes no earlier decision.
It asks one new question, Q23 (a formula line's spelling), and flags three places
where it states the ADR's own reading. ·
It asks one new question, Q23 (a formula line's spelling), and flags eight readings
of its own that are not user answers, listed under Q23. ·
**Decided by:** the user; see "What the user decided" ·
**Ticket:** improvise-sboz · **Unblocks:** improvise-fz77 ·
**Revises:** improvise-km71's interim `FormulaId` (landed in PR #214) and
@@ -687,9 +687,13 @@ an item target's id is answer 30's. It is
writes it. Where that display lives is also the ADR's own reading.
- Whether one line should spell both cases this way is **Q23**, below, and so
are how an expression refers to a target and how a `_Measure` display is quoted.
- **The expression is over ids**, spelled through `quote::quote_name` as above.
- **A `WHERE`/`IS` filter value is an item id**, bare or quoted (answer 3: every
reference is an id). The formula panel shows it as a display.
- **The expression is over ids**, spelled through `quote::quote_name` as above. A
reference to a formula target is the id text of its `ItemHandle`: the item id
outside `_Measure`, and the formula id for a `_Measure` target.
- **A `WHERE`/`IS` filter value follows the same rule** (answer 3: every reference
is an id). It is the id text of an `ItemHandle` in the filtered category, bare or
quoted: an item id, or a formula id when the category is `_Measure` and the value
names a formula target. The formula panel shows it as a display.
- **A formula cell's `CellKey`** carries `ItemHandle::Item(<target item id>)`
outside `_Measure`. For a `_Measure` target it carries
`ItemHandle::FormulaTarget(<formula id>)` under `_measure` (clause 2).
@@ -1087,9 +1091,10 @@ thing in one position, and the category after `[` is what tells them apart.
formula's `FormulaId`".
Two consequences of (a) that the answer should take in, both the ADR's own reading:
- **References to a formula target.** An expression, and a `WHERE`/`IS` value,
names a target outside `_Measure` by its **item id**, and a `_Measure` target by
its **formula id**. That follows from `ItemHandle` (clause 2).
- **References to a formula target** are as clause 5 states them, for an expression
and a filter value alike: the id text of an `ItemHandle`, which is the item id
outside `_Measure` and the formula id for a `_Measure` target. That holds under
(a) and (b). Under (c) a `_Measure` target would be named by its own id instead.
- **Quoting the target position.** A `_Measure` display in the target position can
itself look like `Name(x)`, which would read back as a display and a formula id.
The writer's rule that pipe-quotes such a display therefore covers a