|
14 | 14 | Two of them need new codes, a blank record currency code and a missing rate ([Open item](#open-items) 9): ADR-0112 |
15 | 15 | sets their codes and envelope, and both are registered in its extension ledger. They are the only ledger additions. |
16 | 16 | "At build" in D1 and D6 covers the declared aggregates: a `summary` roll-up refuses at registration and a dataset |
17 | | - measure at compile, as authoring diagnostics, not wire errors. An ad-hoc aggregate is never built, so it meets the |
18 | | - same rule at the request door (the ObjectQL aggregate-by-field-type door and the analytics cube measure door, D6) |
19 | | - with an existing ADR-0112 catalog code, `INVALID_FIELD`. |
| 17 | + measure at compile, with existing codes (`INVALID_METADATA` at registration, `DATASET_INVALID` at compile). An ad-hoc |
| 18 | + aggregate is never built, so it meets the same rule at the request door (the ObjectQL aggregate-by-field-type door |
| 19 | + and the analytics cube measure door, D6) with an existing ADR-0112 catalog code, `INVALID_FIELD`. |
20 | 20 | [ADR-0029](./0029-kernel-object-ownership-and-platform-objects-decomposition.md) D1, D3 and D6 (a first-party |
21 | 21 | capability owns its `sys_*` objects, one owner per object, and `platform-objects` is being decomposed) and |
22 | 22 | [ADR-0028](./0028-metadata-naming-and-namespace-isolation.md) (Deferred; the `sys` namespace design it records) |
@@ -297,8 +297,8 @@ D8 already excludes a switch, injected columns, fixed field names and a setting |
297 | 297 | ## Consequences |
298 | 298 |
|
299 | 299 | - **`record` and `homeAmount` are additive.** `record` is a new mode, `dynamic` and `fixed` keep their meaning and |
300 | | - stored rows are not touched. This epic's one narrowing of what an author can write is #27157's: a `fixed` field |
301 | | - must name its code. Each consumer's semver is its own changeset's to declare, not this record's. |
| 300 | + stored rows are not touched. R1's one narrowing of what an author can write is #27157's: a `fixed` field must name |
| 301 | + its code. Each consumer's semver is its own changeset's to declare, not this record's. |
302 | 302 | - **Two steps cannot be undone once used** (design record §13). One is the home-currency lock. The other: an object |
303 | 303 | with record-mode amounts and a home field returns to a single currency only through a data migration. |
304 | 304 | - **Today's relabel hazard closes where the feature is used** (the measurement round's Q2 recommendation). Once the |
@@ -356,9 +356,12 @@ Where a source leans one way, the lean is quoted here, not adopted. This record |
356 | 356 | 12. **Whether today's cross-currency arithmetic between `fixed` fields of different codes is refused** (epic #8345). |
357 | 357 | Two shapes: a measure `currency` that contradicts a `fixed` field's code, and a derived measure over two different |
358 | 358 | `fixed` codes, which Context §1 counts among today's silently wrong numbers. The ruling on #27119 did not decide |
359 | | - this: the ruled D1 sentence names only record-mode fields. The epic PM seat ruled that the R1 analytics card #27187 |
360 | | - (PR #27338) confines its compile guards to record-mode amounts. The general `fixed`-versus-`fixed` guard stays |
361 | | - undecided. The authority is the maintainer's, and epic #8345 carries the question. |
| 359 | + this: the ruled D1 sentence names only record-mode fields. The epic PM seat decided, in |
| 360 | + [`6485365183`](https://github.com/objectstack-ai/objectstack/issues/27187#issuecomment-6485365183) on #27187, that |
| 361 | + the R1 analytics card #27187 confines its compile guards to record-mode amounts; PR #27338's commit `507ed8f9` is |
| 362 | + the tree evidence. The general `fixed`-versus-`fixed` guard stays undecided. The authority is the maintainer's, and |
| 363 | + epic #8345 carries the question |
| 364 | + ([`6485374827`](https://github.com/objectstack-ai/objectstack/issues/8345#issuecomment-6485374827)). |
362 | 365 |
|
363 | 366 | ## Verification notes |
364 | 367 |
|
|
0 commit comments