@hobin/developer 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +215 -372
- package/REFERENCE_ROUTING.md +243 -0
- package/extensions/compaction-language.ts +303 -0
- package/extensions/developer.ts +607 -20
- package/extensions/machine.ts +45 -0
- package/extensions/references/behavior-preserving-structural-change.md +87 -8
- package/extensions/skills.ts +330 -52
- package/extensions/state.ts +227 -2
- package/package.json +9 -3
- package/skills/abstraction-review/SKILL.md +37 -23
- package/skills/abstraction-review/reference-policy.json +66 -0
- package/skills/abstraction-review/references/field-card.md +113 -168
- package/skills/abstraction-review/references/repair-table.md +66 -80
- package/skills/abstraction-review/references/worked-examples.md +79 -256
- package/skills/model/SKILL.md +31 -13
- package/skills/model/reference-policy.json +96 -0
- package/skills/model/references/contract-and-replacement-models.md +112 -0
- package/skills/model/references/logic-query-semantics.md +89 -0
- package/skills/model/references/planning-models.md +75 -0
- package/skills/model/references/problem-modeling.md +143 -276
- package/skills/model/references/proof-obligations.md +71 -0
- package/skills/model/references/relational-constraint-models.md +110 -0
- package/skills/model/references/solver-result-boundaries.md +83 -0
- package/skills/model/references/temporal-behavior-models.md +106 -0
- package/skills/naming-judgment/SKILL.md +17 -4
- package/skills/naming-judgment/reference-policy.json +29 -0
- package/skills/naming-judgment/references/domain-naming.md +29 -10
- package/skills/schedule/SKILL.md +16 -6
- package/skills/schedule/reference-policy.json +29 -0
- package/skills/schedule/references/structural-change-timing.md +81 -18
- package/skills/signal/SKILL.md +17 -6
- package/skills/signal/reference-policy.json +29 -0
- package/skills/signal/references/structural-movement.md +87 -14
- package/skills/sketch/SKILL.md +38 -42
- package/skills/sketch/reference-policy.json +212 -0
- package/skills/sketch/references/accumulator-invariants.md +125 -0
- package/skills/sketch/references/closure-and-conventional-interfaces.md +87 -0
- package/skills/sketch/references/composition-by-wishes.md +69 -0
- package/skills/sketch/references/data-driven-design.md +99 -22
- package/skills/sketch/references/data-shape-template-catalog.md +58 -19
- package/skills/sketch/references/design-levels-and-boundaries.md +133 -0
- package/skills/sketch/references/earned-abstraction.md +75 -0
- package/skills/sketch/references/generative-recursion.md +122 -0
- package/skills/sketch/references/generic-dispatch-systems.md +75 -0
- package/skills/sketch/references/language-semantics.md +82 -0
- package/skills/sketch/references/meaning-preserving-conversions.md +69 -0
- package/skills/sketch/references/process-shape-and-resources.md +157 -0
- package/skills/sketch/references/representation-barriers.md +73 -0
- package/skills/sketch/references/responsibility-and-collaboration.md +108 -0
- package/skills/sketch/references/runtime-and-compilation.md +84 -0
- package/skills/sketch/references/selection-and-creation.md +76 -0
- package/skills/sketch/references/state-history-and-order.md +126 -0
- package/skills/sketch/references/type-transitions.md +54 -0
- package/skills/sketch/references/variation-roles.md +59 -0
- package/skills/verify/SKILL.md +17 -6
- package/skills/verify/reference-policy.json +30 -0
- package/skills/verify/references/verifier-selection-and-pass-but-wrong.md +152 -192
- package/SOURCES.md +0 -104
- package/skills/abstraction-review/references/recipe-cards.md +0 -322
- package/skills/model/references/worked-models-and-specialized-techniques.md +0 -218
- package/skills/sketch/references/abstraction-barriers-and-closure.md +0 -160
- package/skills/sketch/references/abstraction-composition-and-state.md +0 -184
- package/skills/sketch/references/composition-generative-recursion-and-accumulators.md +0 -196
- package/skills/sketch/references/generic-operations-and-languages.md +0 -134
- package/skills/sketch/references/processes-state-and-time.md +0 -171
- package/skills/sketch/references/responsibility-and-variation.md +0 -245
|
@@ -1,216 +1,161 @@
|
|
|
1
|
-
# Abstraction Review
|
|
1
|
+
# Abstraction Candidate Review
|
|
2
2
|
|
|
3
|
-
Use this reference when
|
|
4
|
-
|
|
3
|
+
Use this reference when an already-shaped interface, helper, boundary, role,
|
|
4
|
+
workflow rule, or structural unit needs an auditable keep/revise/split/reject/
|
|
5
|
+
defer decision.
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
This reference reviews a candidate. It does not create the original design,
|
|
8
|
+
extract movement, settle product rules, or choose timing.
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
- Field Card
|
|
10
|
-
- Source Modes
|
|
11
|
-
- Good Wish Test
|
|
12
|
-
- Recipe-Grade Gate
|
|
13
|
-
- Layer Router
|
|
14
|
-
- Minimal Output
|
|
15
|
-
- Self-Application Check
|
|
16
|
-
|
|
17
|
-
## Operating Loop
|
|
10
|
+
## Judgment Spine
|
|
18
11
|
|
|
19
12
|
```text
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-> repair decision
|
|
13
|
+
concrete candidate and caller shape
|
|
14
|
+
-> pressure it claims to remove
|
|
15
|
+
-> promises callers would rely on
|
|
16
|
+
-> evidence and counterexample
|
|
17
|
+
-> observable stop
|
|
18
|
+
-> keep | revise-surface | revise-model | split | reject | defer
|
|
27
19
|
```
|
|
28
20
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
contract, or missing artifact.
|
|
32
|
-
|
|
33
|
-
Use [the recipe cards](recipe-cards.md) when the derivation rule is missing,
|
|
34
|
-
[the repair table](repair-table.md) when the stop check fails, and
|
|
35
|
-
[the worked examples](worked-examples.md) when a completed calibration case is
|
|
36
|
-
needed. The field card remains the auditable summary; these files supply focused
|
|
37
|
-
construction, repair, and examples.
|
|
21
|
+
A polished name or familiar pattern is not evidence. Missing construction is a
|
|
22
|
+
handoff, not an invitation for this review to absorb another skill.
|
|
38
23
|
|
|
39
|
-
## Field Card
|
|
40
|
-
|
|
41
|
-
Fill this card for serious reviews.
|
|
24
|
+
## Candidate Field Card
|
|
42
25
|
|
|
43
26
|
```text
|
|
44
|
-
Candidate:
|
|
45
|
-
|
|
46
|
-
being judged?
|
|
47
|
-
|
|
48
|
-
Source and confidence:
|
|
49
|
-
Where did the candidate come from, and how strong is the evidence?
|
|
27
|
+
Candidate and source:
|
|
28
|
+
exact current or wished surface; where it came from
|
|
50
29
|
|
|
51
30
|
Pressure:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
Wish:
|
|
56
|
-
In the better world, what would callers be able to say or do?
|
|
57
|
-
|
|
58
|
-
Mismatch:
|
|
59
|
-
What currently breaks or might break that wish?
|
|
31
|
+
accepted change, repeated movement, invariant, participant, or representation
|
|
32
|
+
issue it is meant to remove
|
|
60
33
|
|
|
61
|
-
|
|
62
|
-
|
|
34
|
+
Caller contract:
|
|
35
|
+
operations, inputs, outputs, failures, effects, and observers
|
|
63
36
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
Recipe:
|
|
68
|
-
Which narrow card is being executed?
|
|
69
|
-
|
|
70
|
-
Input artifact:
|
|
71
|
-
What concrete input must be written before judgment?
|
|
37
|
+
Hidden detail:
|
|
38
|
+
representation, policy, creation, history, ordering, or process callers may
|
|
39
|
+
ignore
|
|
72
40
|
|
|
73
|
-
|
|
74
|
-
|
|
41
|
+
Owner and assumptions:
|
|
42
|
+
owner of guarantees; environment facts required for usefulness
|
|
75
43
|
|
|
76
|
-
|
|
77
|
-
|
|
44
|
+
Representative cases:
|
|
45
|
+
normal, boundary, forbidden, and transfer case
|
|
78
46
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
callers not depend on?
|
|
47
|
+
Replacement or variation:
|
|
48
|
+
another implementation/caller/case the candidate claims to support
|
|
82
49
|
|
|
83
|
-
|
|
84
|
-
|
|
50
|
+
Counterexample:
|
|
51
|
+
smallest plausible case that would pass a superficial review while breaking
|
|
52
|
+
the promise
|
|
85
53
|
|
|
86
|
-
Stop:
|
|
87
|
-
|
|
54
|
+
Stop check:
|
|
55
|
+
observable evidence that decides this review
|
|
88
56
|
|
|
89
57
|
Evidence and gaps:
|
|
90
|
-
|
|
58
|
+
callers, cases, code, tests, traces, costs, or human-owned policy
|
|
91
59
|
|
|
92
60
|
Decision:
|
|
93
61
|
keep / revise-surface / revise-model / split / reject / defer
|
|
94
62
|
|
|
95
|
-
Open consequence:
|
|
96
|
-
What remains unresolved after this review?
|
|
63
|
+
Open consequence and handoff:
|
|
97
64
|
```
|
|
98
65
|
|
|
99
|
-
##
|
|
100
|
-
|
|
101
|
-
Use the candidate source to choose evidence and timing.
|
|
66
|
+
## Review Promises
|
|
102
67
|
|
|
103
|
-
|
|
104
|
-
| --- | --- | --- |
|
|
105
|
-
| design draft wished interface | Is the wish implementable and bounded? | caller contract, representative cases, hidden detail, planned stop |
|
|
106
|
-
| structural observation | Is the movement real abstraction or local churn? | before/after diff, repeated movement, condition relation |
|
|
107
|
-
| user-proposed API/helper | Is it domain language or implementation-shaped naming? | wished use, caller obligations, failure modes |
|
|
108
|
-
| existing implementation | Does code still match the abstraction promise? | tests, trace, cost, call sites, hidden coupling |
|
|
109
|
-
| skill/workflow update | Will future agents behave differently? | trigger wording, reference routing, realistic invocation |
|
|
68
|
+
Select only promises the candidate actually makes.
|
|
110
69
|
|
|
111
|
-
|
|
70
|
+
| Promise | Evidence required | Pass-but-wrong shape | Handoff when the surface is missing |
|
|
71
|
+
| --- | --- | --- | --- |
|
|
72
|
+
| caller language hides representation | two representations or a leak search | new type name with raw fields still required | `sketch` barrier design |
|
|
73
|
+
| one responsibility owns a change | owner/message map and representative change | moved-method bag or generic service | `sketch` responsibility design |
|
|
74
|
+
| several implementations share a role | pre/post/failure compatibility | subtype needs stronger preconditions or different effects | `model` contract/replacement |
|
|
75
|
+
| composition remains in one value world | closed-operation and finalizer table | side effect disguised as chainable result | `sketch` closure design |
|
|
76
|
+
| additive extension is supported | row/column and fake-variant evidence | registry hides precedence or load-order policy | `sketch` generic operations |
|
|
77
|
+
| process remains truthful | trace, waits, cost, resource, failure ownership | same result with unbounded buffer or changed order | `sketch` process design |
|
|
78
|
+
| state/history has one owner | transition and order evidence | enum without stale/duplicate policy | `model` or `sketch` state work |
|
|
79
|
+
| name exposes stable sense | caller/audience/evolution evidence | rich word over unstable responsibility | `naming-judgment` |
|
|
112
80
|
|
|
113
|
-
A
|
|
114
|
-
|
|
81
|
+
A candidate can make several promises, but each must be evaluated against the
|
|
82
|
+
same caller contract. If the promises require independent surfaces or owners,
|
|
83
|
+
that is split evidence.
|
|
115
84
|
|
|
116
|
-
|
|
117
|
-
primitive words:
|
|
118
|
-
What operations can be trusted without re-opening implementation detail?
|
|
119
|
-
|
|
120
|
-
means of combination:
|
|
121
|
-
How do smaller units produce larger valid units?
|
|
85
|
+
## Stability Tests
|
|
122
86
|
|
|
123
|
-
|
|
124
|
-
How is a repeated composition or method given a reusable handle?
|
|
125
|
-
```
|
|
87
|
+
A candidate is stable enough to keep only when:
|
|
126
88
|
|
|
127
|
-
|
|
89
|
+
- its pressure is current and observable;
|
|
90
|
+
- callers can use its vocabulary without reopening hidden details;
|
|
91
|
+
- the contract includes relevant effects, failures, order, and resources;
|
|
92
|
+
- a realistic transfer case fits without flags that expose internals;
|
|
93
|
+
- lost abilities are acceptable for current and credible callers;
|
|
94
|
+
- the owner can enforce the promised invariant;
|
|
95
|
+
- the stop check can fail the candidate rather than merely exercise it.
|
|
128
96
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
- it hides cost, history, order, or mutation that callers must understand.
|
|
97
|
+
Bias toward `defer` when pressure is plausible but examples or participant
|
|
98
|
+
independence are too weak. Choose `revise-model` when the candidate cannot be
|
|
99
|
+
judged because admitted meaning is unsettled. Choose `revise-surface` when the
|
|
100
|
+
meaning is accepted but the caller contract leaks or lies.
|
|
134
101
|
|
|
135
|
-
##
|
|
102
|
+
## Separation Router
|
|
136
103
|
|
|
137
|
-
|
|
104
|
+
Do not construct missing evidence inside this leaf:
|
|
138
105
|
|
|
139
106
|
```text
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
107
|
+
no concrete caller-facing surface -> sketch
|
|
108
|
+
unresolved product cases/rules -> model
|
|
109
|
+
only repeated movement is visible -> signal
|
|
110
|
+
surface is stable but timing is disputed -> schedule
|
|
111
|
+
word/sense is the issue -> naming-judgment
|
|
112
|
+
implementation claim needs evidence -> verify
|
|
145
113
|
```
|
|
146
114
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
| --- | --- | --- |
|
|
151
|
-
| Advice | trigger, artifact, stop check | keep as explanation; do not promote |
|
|
152
|
-
| Heuristic | derivation from input to output | read `repair-table.md` or expose the missing model |
|
|
153
|
-
| Candidate recipe | derivation is still loose | run one worked case |
|
|
154
|
-
| Recipe-grade | trigger, input, rule, output, stop, repair all exist | use in the review |
|
|
155
|
-
|
|
156
|
-
## Layer Router
|
|
157
|
-
|
|
158
|
-
| Symptom | Layer | First card |
|
|
159
|
-
| --- | --- | --- |
|
|
160
|
-
| The problem vocabulary is missing or misleading | Language | Notation As Data |
|
|
161
|
-
| Similar functions, workflows, or tests move together | Language/Unit | Movement Pattern Extraction |
|
|
162
|
-
| Data, methods, messages, or change reasons suggest a misplaced owner | Unit/Boundary | Responsibility Boundary |
|
|
163
|
-
| Operation results do not remain composable | Unit | Closure Composition Unit |
|
|
164
|
-
| A loop, state transition, or contract has no preserved meaning | Law | Invariant Iteration |
|
|
165
|
-
| Callers must know raw representation or hidden policy | Boundary | Data Abstraction Boundary |
|
|
166
|
-
| New variants keep changing old conditionals | Engine | Dispatch Registration |
|
|
167
|
-
| Conversion works but meaning loss is hidden | Engine/Law | Meaning-Preserving Path |
|
|
168
|
-
| Same call depends on past interaction | Time | History Placement |
|
|
169
|
-
| Event order changes correctness | Time/Run | Event Order Protection |
|
|
170
|
-
| Result is right but process, cost, sharing, or stack shape is wrong | Run | Procedure -> Process Reality Check |
|
|
171
|
-
|
|
172
|
-
When the symptom is clearer than the layer, open `repair-table.md`.
|
|
115
|
+
A reference route inside this skill may deepen review, failure localization, or
|
|
116
|
+
calibration. It must not reproduce the construction methods owned by those
|
|
117
|
+
leaves.
|
|
173
118
|
|
|
174
119
|
## Minimal Output
|
|
175
120
|
|
|
176
|
-
For a compact user-facing review, show:
|
|
177
|
-
|
|
178
121
|
```text
|
|
179
122
|
Candidate:
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
Contract:
|
|
186
|
-
Hidden detail:
|
|
187
|
-
Output artifact:
|
|
188
|
-
Stop check:
|
|
189
|
-
Evidence and gaps:
|
|
123
|
+
Pressure:
|
|
124
|
+
Caller contract and hidden detail:
|
|
125
|
+
Promises under review:
|
|
126
|
+
Counterexample:
|
|
127
|
+
Stop check and evidence:
|
|
190
128
|
Decision:
|
|
191
|
-
|
|
129
|
+
Handoff or open consequence:
|
|
192
130
|
```
|
|
193
131
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
132
|
+
## Source Trace
|
|
133
|
+
|
|
134
|
+
This review spine is Developer synthesis over these bounded capabilities:
|
|
135
|
+
|
|
136
|
+
- Sandi Metz, Katrina Owen, and TJ Stankus, *99 Bottles of OOP*, Second
|
|
137
|
+
Edition, v2.2.2:
|
|
138
|
+
Chapters 3-9, pp. 51-268, for pressure, movement, responsibility, roles,
|
|
139
|
+
factories, and responsibility-level evidence.
|
|
140
|
+
- Harold Abelson and Gerald Jay Sussman with Julie Sussman, *Structure and
|
|
141
|
+
Interpretation of Computer Programs*, Second Edition:
|
|
142
|
+
Section 1.1,
|
|
143
|
+
Section 1.3,
|
|
144
|
+
Section 2.1,
|
|
145
|
+
Section 2.2,
|
|
146
|
+
Section 2.4,
|
|
147
|
+
Section 3.1, and
|
|
148
|
+
Section 3.4
|
|
149
|
+
for black-box promises, barriers, closure, dispatch, history, and order.
|
|
150
|
+
- Matthias Felleisen et al., *How to Design Programs*, living build 9.2.0.3:
|
|
151
|
+
Chapter 14,
|
|
152
|
+
Chapter 15,
|
|
153
|
+
Chapter 16,
|
|
154
|
+
Chapter 19,
|
|
155
|
+
and Chapter 20
|
|
156
|
+
for completed examples, migrated clients, and model stability.
|
|
157
|
+
- Hillel Wayne, *Logic for Programmers*, v0.14.0:
|
|
158
|
+
Chapter 5, pp. 47-60, for contract and observer-relative replacement.
|
|
159
|
+
- Zachary Tellman, *Elements of Clojure*, Leanpub 2019-02-11:
|
|
160
|
+
Indirection, public-manuscript pp. 70-95, for participant pressure and
|
|
161
|
+
interface calcification. Source-specific and universalized claims are excluded.
|
|
@@ -1,103 +1,89 @@
|
|
|
1
|
-
# Abstraction Review
|
|
1
|
+
# Abstraction Review Failure Localization
|
|
2
2
|
|
|
3
|
-
Use this
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
The named repairs refer to [the recipe cards](recipe-cards.md). Record the result
|
|
7
|
-
on [the field card](field-card.md); use [worked examples](worked-examples.md) only
|
|
8
|
-
when the selected card still lacks a concrete calibration case.
|
|
3
|
+
Use this reference only after the candidate review's observable stop has failed.
|
|
4
|
+
Its job is to locate the broken promise and choose a handoff. It does not repair
|
|
5
|
+
the design inside `abstraction-review`.
|
|
9
6
|
|
|
10
7
|
## Diagnostic Loop
|
|
11
8
|
|
|
12
9
|
```text
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
failed stop
|
|
11
|
+
-> exact observation
|
|
12
|
+
-> candidate promise contradicted
|
|
13
|
+
-> broken layer or missing owner
|
|
14
|
+
-> smallest revision class
|
|
15
|
+
-> owning skill handoff
|
|
16
|
+
-> re-run the same stop after later work
|
|
19
17
|
```
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
repair must change a layer, contract, or artifact.
|
|
19
|
+
A better name is not a repair unless the failed promise was stable sense.
|
|
23
20
|
|
|
24
|
-
##
|
|
21
|
+
## Failure Log
|
|
25
22
|
|
|
26
23
|
```text
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
24
|
+
Candidate:
|
|
25
|
+
Failed stop:
|
|
26
|
+
Observation:
|
|
27
|
+
Promise contradicted:
|
|
28
|
+
Likely broken layer:
|
|
29
|
+
Revision class:
|
|
30
|
+
Owning handoff:
|
|
31
|
+
Evidence needed before re-review:
|
|
34
32
|
```
|
|
35
33
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
| Constructor is too expensive | Engine/Run | Cost placement decision | create/read/update cost note | cost owner is explicit |
|
|
54
|
-
| New representation changes old code | Engine | Dispatch Registration | variant x operation table | new row/package is enough |
|
|
55
|
-
| New operation changes every variant | Engine | Re-evaluate row/column axis | axis decision | frequently growing axis is explicit |
|
|
56
|
-
| Mixed types explode into direct cases | Engine/Law | Meaning-Preserving Path | conversion graph | legal, loss, and unsupported paths are visible |
|
|
57
|
-
| Conversion loses precision, identity, order, or capability | Law | Narrow preserved meaning | loss note | loss appears in contract |
|
|
58
|
-
| Expression rewrite uses strings or indexes | Language/Boundary | Notation As Data | expression selectors/constructors | rules ignore raw layout |
|
|
59
|
-
| AST exists but transforms are representation-specific | Boundary | Data Abstraction Boundary | representation-independent rules | representation can change |
|
|
60
|
-
| Same call returns different results after prior interactions | Time | History Placement | state/history contract | history location is explicit |
|
|
61
|
-
| Caller keeps passing previous state everywhere | Time/Boundary | History Placement | local state decision | burden is intentionally hidden or kept explicit |
|
|
62
|
-
| Local state makes testing/reasoning hard | Time/Run | History Placement + process trace | hidden history note | loss of referential transparency is accepted |
|
|
63
|
-
| Undo, replay, audit, or collaboration needs past events | Time | History as stream/log | stream/log decision | history is manipulable data |
|
|
64
|
-
| Stream merge changes meaning | Time/Run | Event Order Protection | merge/order policy | forbidden interleaving is explainable |
|
|
65
|
-
| Concurrent read-compute-write breaks invariant | Time/Run | Event Order Protection | protected region | invariant-breaking interleaving is blocked |
|
|
66
|
-
| Lock/serializer blocks too much | Time/Engine | Narrow the order law | smaller protected relation | only meaningful order is protected |
|
|
67
|
-
| Generic abstraction is clean but slow | Run/Engine | Procedure -> Process | cost surface | dispatch/lookup/coercion cost is visible |
|
|
68
|
-
| Everything feels abstract and nothing is actionable | Run | Field Card + Recipe Cards | selected recipe card | trigger/input/output/stop are filled |
|
|
34
|
+
## Localization Matrix
|
|
35
|
+
|
|
36
|
+
| Failure observation | Candidate defect | Review decision | Handoff |
|
|
37
|
+
| --- | --- | --- | --- |
|
|
38
|
+
| caller still reads fields, indexes, tags, or provider shape | barrier is below the caller need or only renames layout | `revise-surface` | `sketch` representation boundary |
|
|
39
|
+
| representative change still touches several unrelated owners | responsibility is incoherent | `split` or `reject` | `sketch` responsibility/collaboration |
|
|
40
|
+
| shared role requires stronger preconditions or different effects for one implementation | substitution promise is false | `split` or `revise-model` | `model` replacement contract |
|
|
41
|
+
| similar cases share syntax but not reason to change | candidate came from incidental similarity | `reject` | `signal` if further comparison is useful |
|
|
42
|
+
| closed operation returns a different value world or hides effects | closure promise is false | `revise-surface` | `sketch` closure/finalizer boundary |
|
|
43
|
+
| new variant still edits old packages | extension axis or ownership is wrong | `revise-surface` | `sketch` generic operation system |
|
|
44
|
+
| registration accepts overlap without visible precedence | openness moved policy into load order | `revise-model` or `split` | `model` policy, then `sketch` dispatch |
|
|
45
|
+
| conversion path loses precision, identity, order, or capability silently | preserved meaning is too broad | `revise-model` | `model` relation/contract |
|
|
46
|
+
| result is right but stack, wait, order, resource, or failure behavior changes | contract omitted a process observer | `revise-surface` | `sketch` process shape |
|
|
47
|
+
| same call changes after history but candidate has no history owner | state promise is incomplete | `revise-model` | `model` temporal, then `sketch` state |
|
|
48
|
+
| public interface has one participant and one purpose with no independent cycle | boundary lacks durable pressure | `defer` or `reject` | none until participant pressure appears |
|
|
49
|
+
| verifier executes but cannot fail the promise | stop is irrelevant | `needs-evidence` | `verify` |
|
|
50
|
+
| only the proposed name changes while contract stays unclear | sense is downstream of missing design | `defer` | `sketch` or `naming-judgment` after ownership |
|
|
69
51
|
|
|
70
52
|
## Collision Rules
|
|
71
53
|
|
|
72
|
-
|
|
73
|
-
| --- | --- | --- |
|
|
74
|
-
| Language vs Boundary | caller has no useful words except representation details | whether a boundary is still needed after vocabulary exists |
|
|
75
|
-
| Movement vs Duplication | cases share behavior roles, not just text | whether old cases become simpler and responsibility stays coherent |
|
|
76
|
-
| Unit vs Boundary | results leave the composable world | observer/finalizer separation |
|
|
77
|
-
| Law vs Run | result is right but why is unclear | invariant first, then process shape |
|
|
78
|
-
| Boundary vs Engine | caller knows internal details | boundary first, then registry/table placement |
|
|
79
|
-
| Engine vs Law | dispatch/conversion works but meaning loss hides | preserved meaning, then path graph |
|
|
80
|
-
| Time vs Boundary | same call changes with history | whether history is public contract or hidden state |
|
|
81
|
-
| Time vs Run | delayed execution or event order changes correctness | order law or process trace |
|
|
82
|
-
| Run vs Engine | abstraction is semantically right but costs too much | cost trace, then dispatch/coercion placement |
|
|
54
|
+
When several failures appear, localize the earliest broken promise:
|
|
83
55
|
|
|
84
|
-
|
|
56
|
+
1. disputed meaning before surface;
|
|
57
|
+
2. missing caller surface before candidate review;
|
|
58
|
+
3. responsibility or boundary before naming;
|
|
59
|
+
4. semantic contract before process optimization;
|
|
60
|
+
5. process/history observer before timing;
|
|
61
|
+
6. relevant evidence before approval.
|
|
85
62
|
|
|
86
|
-
|
|
63
|
+
Do not combine all repairs into one redesign. The same failed stop should be
|
|
64
|
+
re-run after the owning leaf produces a new candidate.
|
|
87
65
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
66
|
+
## Exit Check
|
|
67
|
+
|
|
68
|
+
Leave with exactly one of:
|
|
91
69
|
|
|
92
|
-
|
|
93
|
-
|
|
70
|
+
```text
|
|
71
|
+
re-review now:
|
|
72
|
+
existing evidence already supports a revised decision
|
|
94
73
|
|
|
95
|
-
|
|
96
|
-
|
|
74
|
+
handoff:
|
|
75
|
+
another leaf owns a missing artifact
|
|
97
76
|
|
|
98
|
-
|
|
99
|
-
|
|
77
|
+
defer:
|
|
78
|
+
accessible evidence is insufficient but no current blocker exists
|
|
100
79
|
|
|
101
|
-
|
|
102
|
-
|
|
80
|
+
reject:
|
|
81
|
+
the candidate promise is contradicted and no smaller truthful surface remains
|
|
103
82
|
```
|
|
83
|
+
|
|
84
|
+
## Source Trace
|
|
85
|
+
|
|
86
|
+
This diagnostic table is Developer synthesis. Its promise boundaries are
|
|
87
|
+
calibrated by the exact sources listed in
|
|
88
|
+
Abstraction Candidate Review; it introduces no additional
|
|
89
|
+
source claim or construction method.
|