Skip to content

Commit 2e17db2

Browse files
committed
docs(adr): distinguish accepted retention from rejected proposal
1 parent 4e9192d commit 2e17db2

2 files changed

Lines changed: 18 additions & 17 deletions

File tree

‎docs/adr/0028-capability-family-cell-vocabulary.md‎

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,28 @@
22

33
## Status
44

5-
Rejected (2026-10-29).
5+
Accepted (2026-10-29): retain the compile-checked declarations.
66
The proposed single-source cell table is rejected as a solution to cross-owner capability fan-out.
7+
8+
## Rules at a glance
9+
710
Retain the authored input properties and the compile-checked `UNAVAILABLE_CELLS` table.
8-
[The bounded measurement](../evidence/capability-cell-vocabulary-2026-10-29.md) found no file or package saving.
9-
It was a cell-level surrogate, not the proposed next-family experiment or a whole-feature replay.
11+
[ADR 0019](0019-request-bound-platform-runtime.md), section 2, retains exhaustive owner facts for the exact device shape.
12+
A cell-key declaration must not derive an owner's availability answer.
13+
A missing required cell remains a bug.
14+
The existing optional cells retain their `network` fallback in `freezeUnavailableFacts`.
15+
This decision adds no default behavior or cross-family default denial set.
16+
17+
Lifecycle retains separate authority.
18+
`platform-runtime-unavailable.ts` does not assign lifecycle semantics.
19+
No generator or vocabulary move is introduced.
20+
[ADR 0027](0027-descriptor-root-vs-eager-closure-budget.md) still governs any future eager-closure change.
1021

1122
## Decision and reason
1223

24+
[The bounded measurement](../evidence/capability-cell-vocabulary-2026-10-29.md) found no file or package saving.
25+
It was a cell-level surrogate, not the proposed next-family experiment or a whole-feature replay.
26+
1327
`platform-runtime-unavailable.ts` declares input properties and repeats their keys in a value table.
1428
The `satisfies` check makes key disagreement a compile error.
1529
This duplicate is a maintenance cost, not a soundness defect.
@@ -24,19 +38,6 @@ The proposal required a visible reduction in fan-out before acceptance.
2438
Its closing rule required rejection if that reduction did not occur.
2539
The bounded result does not justify adoption.
2640

27-
## Retained constraints
28-
29-
[ADR 0019](0019-request-bound-platform-runtime.md), section 2, retains exhaustive owner facts for the exact device shape.
30-
A cell-key declaration must not derive an owner's availability answer.
31-
A missing required cell remains a bug.
32-
The existing optional cells retain their `network` fallback in `freezeUnavailableFacts`.
33-
This decision adds no default behavior or cross-family default denial set.
34-
35-
Lifecycle retains separate authority.
36-
`platform-runtime-unavailable.ts` does not assign lifecycle semantics.
37-
No generator or vocabulary move is introduced.
38-
[ADR 0027](0027-descriptor-root-vs-eager-closure-budget.md) still governs any future eager-closure change.
39-
4041
## Consequences
4142

4243
Keep the explicit input contract and the exhaustive key table synchronized.

‎docs/evidence/capability-cell-vocabulary-2026-10-29.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The [decision in #4056](https://github.com/callstack/agent-device/issues/4056#issuecomment-6499398178) retains the compile-checked duplicate declarations.
44
The experiment did not reduce file or package coordination.
5-
This record supports the rejection of proposed [ADR 0028](../adr/0028-capability-family-cell-vocabulary.md).
5+
This record supports the accepted retention decision and rejection of the single-source table in [ADR 0028](../adr/0028-capability-family-cell-vocabulary.md).
66
It does not establish that a whole capability addition was replayed.
77

88
## Source identity and comparison

0 commit comments

Comments
 (0)