Record the answers to plan 3's public API questions #52
@@ -261,7 +261,8 @@ overturned recorded decisions without naming them. todo.md carries the reordered
|
|||||||
and the store is per session. The spent set expires by age.
|
and the store is per session. The spent set expires by age.
|
||||||
8. **`retained.ts` goes to `codec/`**; `options.ts` joins AGENTS.md's type-only ways back up.
|
8. **`retained.ts` goes to `codec/`**; `options.ts` joins AGENTS.md's type-only ways back up.
|
||||||
|
|
||||||
Public API questions, each with the review's recommendation:
|
Public API questions, answered as the review recommends. Maintainer's call, 2026-09-30; each
|
||||||
|
lands in docs/decisions.md with the chunk that builds it:
|
||||||
|
|
||||||
- **Q1 (A1).** `client()` returns `{ err, client }`? Yes: the returned type changes anyway.
|
- **Q1 (A1).** `client()` returns `{ err, client }`? Yes: the returned type changes anyway.
|
||||||
- **Q2 (A3).** `onSms` may return a receipt state? Yes, against the board: without it "answer, then
|
- **Q2 (A3).** `onSms` may return a receipt state? Yes, against the board: without it "answer, then
|
||||||
|
|||||||
@@ -223,10 +223,6 @@ docs/decisions.md and the AGENTS.md map in its own PR, and deletes what it repla
|
|||||||
file stand side by side. The architecture review of 2026-09-30 (ALIGN) set this order; its amendments
|
file stand side by side. The architecture review of 2026-09-30 (ALIGN) set this order; its amendments
|
||||||
to the plan are [plan 3 §8](docs/comprehension-rewrite/plan-3.md#8-architecture-review-2026-09-30).
|
to the plan are [plan 3 §8](docs/comprehension-rewrite/plan-3.md#8-architecture-review-2026-09-30).
|
||||||
|
|
||||||
- [ ] **Answer the review's public API questions Q1–Q8 before the chunk each gates.** Q4 (A6) before
|
|
||||||
`protocol/`, Q1 (A1) and Q5 before the lifecycle split, Q2 (A3), Q3 (A4) and Q6–Q8 before
|
|
||||||
answering on return. Each answer lands
|
|
||||||
as a goal or a decision, never here alone.
|
|
||||||
- [ ] **Move without changing behaviour.** `defs/` becomes `codec/`, `options.ts` becomes one defaults
|
- [ ] **Move without changing behaviour.** `defs/` becomes `codec/`, `options.ts` becomes one defaults
|
||||||
table, and `result.ts` absorbs `error-from.ts`. Every file with one target moves to its folder
|
table, and `result.ts` absorbs `error-from.ts`. Every file with one target moves to its folder
|
||||||
now, and the "`src/` stays flat" decision is retired in the same PR.
|
now, and the "`src/` stays flat" decision is retired in the same PR.
|
||||||
@@ -236,7 +232,7 @@ to the plan are [plan 3 §8](docs/comprehension-rewrite/plan-3.md#8-architecture
|
|||||||
on all 256 octets.
|
on all 256 octets.
|
||||||
- `esm_class`, segments, receipts, message ids, time and bind; no state, so the segment
|
- `esm_class`, segments, receipts, message ids, time and bind; no state, so the segment
|
||||||
reference counter goes to `SmppClient` in the lifecycle split.
|
reference counter goes to `SmppClient` in the lifecycle split.
|
||||||
- The internal `gsm7` rename, with A6 if Q4 says so.
|
- The `gsm7` rename, A6 included: `'ASCII'` becomes `'GSM7'` in every export.
|
||||||
- A test that fails on a spec citation without its sentence.
|
- A test that fails on a spec citation without its sentence.
|
||||||
- [ ] **Build `messages/` on a `BoundedStore` that enforces its own bounds.** Reassembly refuses at its
|
- [ ] **Build `messages/` on a `BoundedStore` that enforces its own bounds.** Reassembly refuses at its
|
||||||
bound instead of evicting, recorded against goals 2 and 4; the receipt merge follows Q8 and its
|
bound instead of evicting, recorded against goals 2 and 4; the receipt merge follows Q8 and its
|
||||||
@@ -250,7 +246,7 @@ to the plan are [plan 3 §8](docs/comprehension-rewrite/plan-3.md#8-architecture
|
|||||||
- `sendResp()` and `HeldMessages` are ported as they are.
|
- `sendResp()` and `HeldMessages` are ported as they are.
|
||||||
- Absorbs registering a multipart send's receipt merge before its segments go out.
|
- Absorbs registering a multipart send's receipt merge before its segments go out.
|
||||||
- The interop suite and goal 6's benchmarks run before it merges.
|
- The interop suite and goal 6's benchmarks run before it merges.
|
||||||
- [ ] **Answer on return (A2, A4, and A3 if kept).** `handlers.ts`, `requests-in.ts` returning a `Reply`,
|
- [ ] **Answer on return (A2, A3, A4).** `handlers.ts`, `requests-in.ts` returning a `Reply`,
|
||||||
`onRequest` returning one, `server/` ported, `HeldMessages` deleted. The interop suite and the
|
`onRequest` returning one, `server/` ported, `HeldMessages` deleted. The interop suite and the
|
||||||
benchmarks run before it merges.
|
benchmarks run before it merges.
|
||||||
- [ ] **Confirm Locality at 7 with a final scoring run.** A run reading 7.0 or above retires the
|
- [ ] **Confirm Locality at 7 with a final scoring run.** A run reading 7.0 or above retires the
|
||||||
|
|||||||
Reference in New Issue
Block a user