docs: lock in 12 decisions from the 2026-05-11 interview + add Phase 11
OPEN_QUESTIONS.md: summary table of every decision (ramp foot, naming,
isStable fix, monster guard, plain-dicts→declareChildGetter, VGC→
ChildRouter, LatestWinsGate fireAndWait, drop mAbs, per-listener fan-out,
commandRegistry 'none' + description, UnitPolicy dual-shape, Phase 10
test rewrites).
TASKS.md §Phase 11: unit-aware commands. Every numeric setter declares
units: { measure, default }. commandRegistry normalises msg.payload +
msg.unit; warns + lists accepted units for bad input; falls back to
default. New query.units topic returns the spec per node.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,27 @@ Things deferred. Append, don't rewrite history. Add a date when you add
|
||||
or resolve an entry. Anyone (human or agent) discovering an unclear
|
||||
decision during refactor work writes it here rather than guessing.
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-11 — Interview round — resolved decisions
|
||||
|
||||
| Topic | Decision |
|
||||
|---|---|
|
||||
| Ramp foot for run-zone curve (control/levelBased) | `inflowLevel` (current). startLevel is the 0% minimum, not the curve foot. |
|
||||
| `overfillLevel` vs `highVolumeSafetyLevel` | **`highVolumeSafetyLevel` canonical**; drop the legacy alias. |
|
||||
| measurement `isStable` tautology | Fix now with a config-driven absolute threshold (`stabilityThreshold` in scaling-units). Add to schema + editor UI. |
|
||||
| monster cooldown-guard pre-existing fail | Debug + fix the sampling-pulse logic. |
|
||||
| pumpingStation plain child dicts | Migrate to `declareChildGetter`; rewrite affected tests. |
|
||||
| VGC custom `registerChild` overload | Adopt ChildRouter; rewrite disambiguation tests. |
|
||||
| MGC inline dispatch gate vs LatestWinsGate | Extend LatestWinsGate with `fireAndWait(value)` returning the per-fire settlement promise. Migrate MGC. |
|
||||
| measurement legacy `'mAbs'` event | Remove now. |
|
||||
| ChildRouter wildcard emit-patch | Per-listener fan-out using canonical POSITIONS. No more emit patching. |
|
||||
| commandRegistry payload schema | Add `'none'` type + per-command `description` field (wikiGen consumes). |
|
||||
| UnitPolicy property-vs-method shape | Expose both. Frozen property bags alongside the methods. Drop `_unitView` workarounds. |
|
||||
| rotatingMachine + reactor private-method-pinning tests (13 files) | Rewrite all to drive only the public BaseNodeAdapter surface. Phase 10. |
|
||||
| **Unit-aware commands (new)** | Each numeric setter declares `units: { measure, default }`. commandRegistry normalises + warns + lists accepted units. `query.units` topic returns spec. Phase 11. |
|
||||
|
||||
|
||||
Format:
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user