@hobin/developer 0.1.8 → 0.1.9
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/developer.ts +533 -18
- 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,227 +1,187 @@
|
|
|
1
1
|
# Verifier Selection And Pass-But-Wrong Risk
|
|
2
2
|
|
|
3
|
-
Use this reference when a completion claim
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Use this reference when a completion claim needs more than one evidence kind, a
|
|
4
|
+
green check may be irrelevant, or visible behavior can pass while an important
|
|
5
|
+
observer or structural guarantee degrades.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Judgment Spine
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- Complete Evidence Example
|
|
9
|
+
```text
|
|
10
|
+
claim
|
|
11
|
+
-> declared observer and boundary
|
|
12
|
+
-> cheapest check that could falsify it
|
|
13
|
+
-> actual execution and provenance
|
|
14
|
+
-> plausible wrong implementation
|
|
15
|
+
-> distinguishing evidence
|
|
16
|
+
-> strongest supported claim + residual
|
|
17
|
+
```
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
A command result is an observation. Verification decides what claim that
|
|
20
|
+
observation supports.
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
"the conversion rejects every impossible schedule variant" is a claim.
|
|
22
|
+
## Split The Claim
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
Separate independently falsifiable claims:
|
|
26
25
|
|
|
27
|
-
-
|
|
26
|
+
- user or caller behavior;
|
|
28
27
|
- forbidden and boundary cases;
|
|
28
|
+
- data multiplicity and preservation;
|
|
29
29
|
- type or API contract;
|
|
30
|
-
- transition and history
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
- operational
|
|
30
|
+
- state transition and history;
|
|
31
|
+
- representation or ownership boundary;
|
|
32
|
+
- source/version compatibility;
|
|
33
|
+
- operational properties such as order, effects, time, space, and idempotency.
|
|
34
34
|
|
|
35
|
-
If
|
|
36
|
-
|
|
35
|
+
If the intended claim cannot be stated, return to `specify` or `model`. Do not
|
|
36
|
+
choose a convenient command first.
|
|
37
37
|
|
|
38
38
|
## Evidence Map
|
|
39
39
|
|
|
40
|
-
For each claim record:
|
|
41
|
-
|
|
42
40
|
```text
|
|
43
|
-
Claim:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
Claim:
|
|
42
|
+
Observer and admitted boundary:
|
|
43
|
+
Verifier:
|
|
44
|
+
Observation:
|
|
45
|
+
Why it is relevant:
|
|
46
|
+
Counterexample coverage:
|
|
47
|
+
Source/version exercised:
|
|
48
|
+
Residual:
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
human-owned.
|
|
53
|
-
|
|
54
|
-
## Verifier Ladder
|
|
55
|
-
|
|
56
|
-
Prefer the cheapest verifier that can actually falsify the claim:
|
|
57
|
-
|
|
58
|
-
| Verifier | Best fit |
|
|
59
|
-
| --- | --- |
|
|
60
|
-
| static inspection or focused diff | locality, wiring, ownership, stale code, representation boundary |
|
|
61
|
-
| typecheck, lint, build, manifest check | syntax, imports, compile-time contracts, packaging |
|
|
62
|
-
| focused example test | one concrete behavior or regression |
|
|
63
|
-
| table or parameterized test | finite meaningful cases and boundaries |
|
|
64
|
-
| property or metamorphic check | many examples share a stable rule |
|
|
65
|
-
| integration or UI check | composition, rendering, persistence, external boundaries |
|
|
66
|
-
| state-transition or concurrency fixture | history, ordering, retry, stale events, idempotency |
|
|
67
|
-
| performance or resource measurement | runtime shape is part of the claim |
|
|
68
|
-
| model, solver, or exhaustive check | small critical rule space justifies exhaustive reasoning |
|
|
69
|
-
| human acceptance | the remaining question is policy, meaning, or visual judgment |
|
|
70
|
-
|
|
71
|
-
Use a stronger verifier when a weaker one can pass under a plausible wrong
|
|
72
|
-
implementation. Use a weaker verifier when it is the only practical evidence,
|
|
73
|
-
but narrow the claim and record the residual.
|
|
74
|
-
|
|
75
|
-
## Execution Versus Relevance
|
|
76
|
-
|
|
77
|
-
A verifier execution proves only that the verifier ran and produced an
|
|
78
|
-
observation. Check relevance separately:
|
|
79
|
-
|
|
80
|
-
- Did the fixture reach the changed branch?
|
|
81
|
-
- Did assertions inspect the product meaning or only absence of an exception?
|
|
82
|
-
- Did the build use the source and version requested by the user?
|
|
83
|
-
- Did a UI snapshot expose interaction and state changes or only initial pixels?
|
|
84
|
-
- Did a broad suite include the new boundary case?
|
|
85
|
-
- Did the manual inspection examine the actual generated artifact?
|
|
86
|
-
|
|
87
|
-
A green but irrelevant verifier creates a `verifier-gap`; it does not support
|
|
88
|
-
the broader claim.
|
|
89
|
-
|
|
90
|
-
## Pass-But-Wrong Search
|
|
91
|
-
|
|
92
|
-
For every consequential claim, imagine at least one implementation that passes
|
|
93
|
-
current checks while violating the intended meaning. Look for:
|
|
94
|
-
|
|
95
|
-
- missing branches whose fixtures never occur;
|
|
96
|
-
- fallback/default behavior that silently selects product policy;
|
|
97
|
-
- assertions that accept both the intended and an unintended value;
|
|
98
|
-
- mocks that bypass the real boundary;
|
|
99
|
-
- tests coupled to the implementation rather than the contract;
|
|
100
|
-
- source/version mismatch;
|
|
101
|
-
- current-state checks that miss invalid transitions;
|
|
102
|
-
- correct result with wrong ordering, mutation, sharing, or complexity;
|
|
103
|
-
- public API compatibility tested without real consumers.
|
|
104
|
-
|
|
105
|
-
When a plausible shape remains cheap to test, add the smallest distinguishing
|
|
106
|
-
fixture. Otherwise record it as residual risk instead of broadening the claim.
|
|
107
|
-
|
|
108
|
-
## Test Design And Cost
|
|
51
|
+
Classify evidence as direct, supporting, weak, contradicted, unavailable, or
|
|
52
|
+
human-owned. Never merge unavailable evidence into a passing row.
|
|
109
53
|
|
|
110
|
-
|
|
111
|
-
useful. Prefer tests that expose public responsibility and product meaning over
|
|
112
|
-
tests that echo private method structure.
|
|
54
|
+
## Choose By Falsification Power
|
|
113
55
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
56
|
+
| Claim shape | Cheapest relevant verifier | Typical gap |
|
|
57
|
+
| --- | --- | --- |
|
|
58
|
+
| wiring, ownership, stale code, representation leak | focused inspection or diff | runtime external behavior |
|
|
59
|
+
| syntax, imports, compile-time API, package shape | typecheck, lint, build, packed artifact | dynamic input and real consumer |
|
|
60
|
+
| one concrete behavior | focused example | unrepresented variants |
|
|
61
|
+
| finite partitions and boundaries | table/parameterized check | invalid partition or omitted domain |
|
|
62
|
+
| generatable stable rule | property/metamorphic check | generator excludes the wrong case |
|
|
63
|
+
| collaboration, persistence, UI, adapter | integration or interaction check | environment variance |
|
|
64
|
+
| retry, order, stale, concurrency | transition/trace fixture | production scheduling and scale |
|
|
65
|
+
| time, space, allocation, distribution | measurement with stated model | different size/case/cost model |
|
|
66
|
+
| bounded exhaustive relation | model/solver/proof evidence | assumptions, scope, encoding, toolchain |
|
|
67
|
+
| product or visual policy | human acceptance | mechanical correctness only |
|
|
68
|
+
|
|
69
|
+
Use a stronger verifier when a weaker one admits a plausible wrong shape. Use a
|
|
70
|
+
weaker verifier when it is the only economical evidence, but narrow the claim.
|
|
71
|
+
|
|
72
|
+
## Execution Is Not Relevance
|
|
73
|
+
|
|
74
|
+
Ask:
|
|
75
|
+
|
|
76
|
+
- Did the fixture reach the changed branch and meaningful case?
|
|
77
|
+
- Did assertions observe product meaning or only absence of an exception?
|
|
78
|
+
- Did the command use the requested source and version?
|
|
79
|
+
- Did a UI check exercise interaction and state change or only initial pixels?
|
|
80
|
+
- Did a migration check pass through the real persistence adapter?
|
|
81
|
+
- Did a structural claim receive structural evidence rather than only equal
|
|
82
|
+
returned values?
|
|
83
|
+
|
|
84
|
+
A green irrelevant verifier is a `verifier-gap`.
|
|
85
|
+
|
|
86
|
+
## Counterexample Families
|
|
87
|
+
|
|
88
|
+
Use the claim's observer to select a wrong shape. The table integrates the source
|
|
89
|
+
calibrations by failure mechanism rather than by book.
|
|
90
|
+
|
|
91
|
+
| Claim | Green proxy that can mislead | Plausible wrong implementation | Distinguishing check |
|
|
92
|
+
| --- | --- | --- | --- |
|
|
93
|
+
| transformation preserves domain values | expected output looks ordered | output drops duplicates or invents members | membership, no-additions, and multiplicity properties |
|
|
94
|
+
| optional states preserve meaning | happy configured case passes | missing, null, empty, and default collapse | same absence shape with different discriminator/meaning |
|
|
95
|
+
| property holds generally | sampled generated cases pass | generator omits one fixed boundary | inspect generator domain and add the distinguishing example |
|
|
96
|
+
| implication/test is strong | assertion excludes every bad case | assertion also rejects every correct implementation or passes vacuously | witness a valid instance and one violating instance |
|
|
97
|
+
| proof/model result establishes behavior | tool reports success | specification, arithmetic, scope, or assumptions omit product meaning | audit obligations, bounds, satisfiable witness, and observers |
|
|
98
|
+
| relational/storage rule matches model | projected rows look right | endpoint, `NULL`, bag duplicates, or mutation path differs | runtime-specific endpoint/multiplicity/event checks |
|
|
99
|
+
| numeric result is accurate | value is near a known answer | residual, location, bracket, or downstream error is wrong | name tolerance meaning and test each claimed relation |
|
|
100
|
+
| arithmetic refactor preserves behavior | ordinary magnitudes pass | reassociation changes inexact result or effect order | adversarial magnitudes, reverse order, effects, and scale |
|
|
101
|
+
| benchmark supports growth claim | sampled run is faster | input distribution or constant dominates; adversarial shape loses | state size/case/cost model and test relevant range |
|
|
102
|
+
| database schema behavior is preserved | row content matches | labels or function-valued predicates changed | inspect schema and execute predicates/integrity checks |
|
|
103
|
+
| temporal implementation is correct | each enum state is reachable | stale or duplicate event commits twice | ordered trace with stale, retry, duplicate, and concurrency |
|
|
104
|
+
| abstraction is safe | public tests pass | callers still depend on fields, load order, or hidden default | leak search, fake variant, and real caller rewrite |
|
|
105
|
+
| package/source compatibility holds | workspace tests pass | packed artifact or installed version lacks changed files | inspect tarball/fresh install and bind provenance |
|
|
106
|
+
|
|
107
|
+
A verifier for one row does not support another. In particular, location,
|
|
108
|
+
residual, representation, and downstream tolerances are not interchangeable.
|
|
109
|
+
|
|
110
|
+
## Formal And Search Result Boundaries
|
|
111
|
+
|
|
112
|
+
Keep sampled property evidence distinct from total specification and proof. Keep
|
|
113
|
+
bounded model results relative to scope/configuration and require a satisfiable
|
|
114
|
+
witness. Preserve exposed statuses:
|
|
134
115
|
|
|
135
|
-
|
|
136
|
-
|
|
116
|
+
```text
|
|
117
|
+
satisfiable | unsatisfiable | unknown | timeout | error
|
|
118
|
+
unbounded | feasible | proven-optimal
|
|
119
|
+
```
|
|
137
120
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
- hidden state, history, ordering, or ownership;
|
|
142
|
-
- vocabulary drifting away from the accepted model;
|
|
143
|
-
- a local fix that makes the next accepted requirement harder or unsafe;
|
|
144
|
-
- tests passing only because they mirror the new implementation.
|
|
121
|
+
For logic/search work, distinguish no answer after complete exhaustion from
|
|
122
|
+
bounded unknown, timeout, error, or divergence. A later answer may exist behind
|
|
123
|
+
an infinite earlier branch.
|
|
145
124
|
|
|
146
|
-
|
|
147
|
-
review. It does not automatically require refactoring now.
|
|
125
|
+
## Test Design As Structural Evidence
|
|
148
126
|
|
|
149
|
-
|
|
127
|
+
Choose test units by public responsibility and failure-localization value, not
|
|
128
|
+
one file per class. Focused role tests suit stable contracts; integration evidence
|
|
129
|
+
suits creation, collaboration, persistence, and wiring. A fake should preserve a
|
|
130
|
+
collaborator role while removing irrelevant context. A mock that repeats private
|
|
131
|
+
calls creates an echo chamber.
|
|
150
132
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
- `implementation-fail`: relevant evidence contradicts the accepted claim;
|
|
155
|
-
- `model-or-spec-fail`: evidence shows the accepted meaning or case model is
|
|
156
|
-
wrong or incomplete;
|
|
157
|
-
- `verifier-gap`: the check is missing or irrelevant to the claim;
|
|
158
|
-
- `blocked-environment`: the required source or environment was not exercised;
|
|
159
|
-
- `pass-but-wrong-risk`: current evidence passes while a plausible wrong shape
|
|
160
|
-
remains;
|
|
161
|
-
- `structural-degradation`: behavior passes but structure weakens a relevant
|
|
162
|
-
boundary or guarantee.
|
|
163
|
-
|
|
164
|
-
Classification describes the observation. The caller decides whether to
|
|
165
|
-
repair, remodel, add evidence, ask a human, accept residual risk, or continue.
|
|
133
|
+
Redundancy can be independent domain evidence or obsolete context. Delete it only
|
|
134
|
+
when the remaining tests still support the same claim. Hard-to-write tests are a
|
|
135
|
+
structural signal, not automatic proof that production must be generalized.
|
|
166
136
|
|
|
167
|
-
##
|
|
137
|
+
## Feedback And Stop
|
|
168
138
|
|
|
169
|
-
|
|
139
|
+
Use:
|
|
170
140
|
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
-
|
|
176
|
-
-
|
|
177
|
-
-
|
|
141
|
+
- `pass`;
|
|
142
|
+
- `implementation-fail`;
|
|
143
|
+
- `model-or-spec-fail`;
|
|
144
|
+
- `verifier-gap`;
|
|
145
|
+
- `blocked-environment`;
|
|
146
|
+
- `pass-but-wrong-risk`;
|
|
147
|
+
- `structural-degradation`.
|
|
178
148
|
|
|
179
|
-
|
|
180
|
-
|
|
149
|
+
Verification is complete enough when every claim is supported, narrowed, or
|
|
150
|
+
explicitly unverified; important wrong shapes have evidence or residuals; source
|
|
151
|
+
and version match; and another check would cost more than its expected
|
|
152
|
+
information.
|
|
181
153
|
|
|
182
|
-
## Complete
|
|
154
|
+
## Complete Artifact
|
|
183
155
|
|
|
184
156
|
```text
|
|
185
|
-
Claim:
|
|
186
|
-
|
|
187
|
-
and
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
supported claim.
|
|
157
|
+
Claim/evidence matrix:
|
|
158
|
+
Requested-versus-exercised provenance:
|
|
159
|
+
Counterexample family and attempted wrong implementation:
|
|
160
|
+
Distinguishing checks and observations:
|
|
161
|
+
Structural degradation, if any:
|
|
162
|
+
Strongest supported claim:
|
|
163
|
+
Unverified claims and residual risk:
|
|
193
164
|
```
|
|
194
165
|
|
|
195
|
-
Now attempt a wrong implementation that always emits `recurring-open` whenever
|
|
196
|
-
`endDate` is absent. It passes the open-recurring row but also misclassifies a
|
|
197
|
-
one-time schedule whose UI omitted an optional display field. Add a one-time row
|
|
198
|
-
with the same absence shape but a different recurrence discriminator. This
|
|
199
|
-
fixture fails the plausible wrong rule while remaining at the public conversion
|
|
200
|
-
boundary.
|
|
201
|
-
|
|
202
|
-
Map the broader completion claim:
|
|
203
|
-
|
|
204
|
-
| Claim | Verifier | What it can still miss |
|
|
205
|
-
| --- | --- | --- |
|
|
206
|
-
| semantic variants convert correctly | focused table test | persisted legacy shapes not in the table |
|
|
207
|
-
| public type accepts intended callers | typecheck plus real caller build | runtime external input |
|
|
208
|
-
| legacy saved schedules remain readable | migration fixture through persistence adapter | unknown production corruption |
|
|
209
|
-
| UI shows the converted meaning | interaction test or manual run | timezone/environment variance |
|
|
210
|
-
| package contains the changed source | packed-tarball inspection and fresh install | registry propagation delay |
|
|
211
|
-
|
|
212
|
-
If only the first row is executed, report only the first claim. The correct
|
|
213
|
-
result is a narrower supported statement, not an unqualified “done.”
|
|
214
|
-
|
|
215
166
|
## Source Trace
|
|
216
167
|
|
|
217
|
-
- Hillel Wayne, *Logic for Programmers*,
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
168
|
+
- Hillel Wayne, *Logic for Programmers*, v0.14.0:
|
|
169
|
+
Chapters 3-6 and 9-11, pp. 23-155, for logical/runtime preservation, partial
|
|
170
|
+
specifications, generated properties, proof limits, bounded models, and solver
|
|
171
|
+
result states. Recorded beta defects are excluded.
|
|
172
|
+
- Sandi Metz, Katrina Owen, and TJ Stankus, *99 Bottles of OOP*, Second Edition,
|
|
173
|
+
v2.2.2, Chapters 2 and 9, pp. 23-50 and 226-268, for cost-effective tests,
|
|
174
|
+
public responsibility, integration versus unit evidence, fakes, role checks,
|
|
175
|
+
and obsolete context.
|
|
176
|
+
- Matthias Felleisen et al., *How to Design Programs*, living build 9.2.0.3:
|
|
177
|
+
Prologue,
|
|
178
|
+
Chapter 18,
|
|
179
|
+
Chapter 23,
|
|
180
|
+
Chapter 25,
|
|
181
|
+
Chapter 27,
|
|
182
|
+
Chapter 28,
|
|
183
|
+
Chapter 29,
|
|
184
|
+
Intermezzo 4, and
|
|
185
|
+
Intermezzo 5
|
|
186
|
+
for progressive property strength, multiplicity, schema predicates, numeric
|
|
187
|
+
tolerances, order-sensitive arithmetic, and bounded performance evidence.
|
package/SOURCES.md
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# Source-to-Capability Trace
|
|
2
|
-
|
|
3
|
-
Developer is organized around questions the agent must answer, not around books.
|
|
4
|
-
This maintainer document records how source material is decomposed across leaf
|
|
5
|
-
skills and the implementation path. It is not a Pi runtime resource or a required
|
|
6
|
-
workflow.
|
|
7
|
-
|
|
8
|
-
## Ownership Rule
|
|
9
|
-
|
|
10
|
-
A source idea belongs where its observable job is performed:
|
|
11
|
-
|
|
12
|
-
- product meaning and change pressure go to `specify`;
|
|
13
|
-
- cases, rules, contracts, and transitions go to `model`;
|
|
14
|
-
- implementable boundaries and collaborations go to `sketch`;
|
|
15
|
-
- visible structural movement goes to `signal`;
|
|
16
|
-
- candidate stability goes to `abstraction-review`;
|
|
17
|
-
- timing goes to `schedule`;
|
|
18
|
-
- names go to `naming-judgment`;
|
|
19
|
-
- claim-to-evidence judgment goes to `verify`;
|
|
20
|
-
- already-justified mutation goes to the `implementation` route.
|
|
21
|
-
|
|
22
|
-
No source implies a mandatory route order. Several leaves may use different
|
|
23
|
-
parts of the same source because they answer different questions.
|
|
24
|
-
|
|
25
|
-
## Runtime Reference Quality
|
|
26
|
-
|
|
27
|
-
`SKILL.md` owns discovery, the core question, output, completion, and conditional
|
|
28
|
-
routing. A reference loaded through that route must be usable without reopening
|
|
29
|
-
the original source or reconstructing unstated steps.
|
|
30
|
-
|
|
31
|
-
Match detail to the reference's job:
|
|
32
|
-
|
|
33
|
-
- a concept or design reference needs the core insight, input, derivation rule,
|
|
34
|
-
completed example, counterexample or failure diagnosis, output, and boundary;
|
|
35
|
-
- a recipe card needs a trigger, input artifact, construction rule, output
|
|
36
|
-
artifact, observable stop, and repair direction;
|
|
37
|
-
- a diagnostic table needs a symptom, evidence path, repair artifact, and
|
|
38
|
-
re-check;
|
|
39
|
-
- a worked-example file needs enough context to show why the decision follows,
|
|
40
|
-
not only a polished final answer;
|
|
41
|
-
- a mutation protocol needs an entry contract, safe intermediate states,
|
|
42
|
-
evidence rhythm, reroute conditions, and a stable landing.
|
|
43
|
-
|
|
44
|
-
Split a reference when independent questions would otherwise make it expensive
|
|
45
|
-
to load, but keep the central insight and one complete example in the primary
|
|
46
|
-
reference. Splitting by chapter title or merely to shorten a file is not a
|
|
47
|
-
capability boundary.
|
|
48
|
-
|
|
49
|
-
## Capability Matrix
|
|
50
|
-
|
|
51
|
-
| Source | Capability extracted | Primary owner | Supporting owner or execution path |
|
|
52
|
-
| --- | --- | --- | --- |
|
|
53
|
-
| *99 Bottles of OOP*, ch. 1-2 | simple concrete baseline, Shameless Green, cost-effective and intention-revealing tests | `verify` | `signal`, `schedule` |
|
|
54
|
-
| *99 Bottles of OOP*, ch. 3-4 | real change pressure, point of attack, closest pair, smallest difference, horizontal movement | `signal` | `implementation` behavior-preserving protocol |
|
|
55
|
-
| *99 Bottles of OOP*, ch. 4-5 | stable landings, responsibility-derived names, argument and data movement | `abstraction-review`, `naming-judgment` | `implementation` behavior-preserving protocol |
|
|
56
|
-
| *99 Bottles of OOP*, ch. 5-8 | responsibility separation, messages, type transitions, polymorphism, dependency direction, object creation at the edge, factory tradeoffs | `sketch`, `abstraction-review` | `model`, `schedule` |
|
|
57
|
-
| *99 Bottles of OOP*, ch. 9 | unit boundaries, context independence, role verification, obsolete-test removal | `verify` | `sketch` |
|
|
58
|
-
| *How to Design Programs* | information analysis, data definitions, examples, templates, structural and generative recursion, accumulators, iterative refinement | `sketch` | `model`, `verify`, `signal`, `abstraction-review` |
|
|
59
|
-
| *Structure and Interpretation of Computer Programs*, ch. 1-2 | procedural abstraction, process shape, higher-order composition, data abstraction, closure, conventional interfaces, multiple representations | `sketch`, `abstraction-review` | `model` |
|
|
60
|
-
| *Structure and Interpretation of Computer Programs*, ch. 3 | state, identity, history, concurrency, streams, constraint propagation | `model`, `sketch` | `abstraction-review`, `verify` |
|
|
61
|
-
| *Structure and Interpretation of Computer Programs*, ch. 4-5 | language/evaluator boundaries and explicit execution machinery | `sketch`, `abstraction-review` | imported only when a real DSL, interpreter, compiler, or runtime boundary exists |
|
|
62
|
-
| *Logic for Programmers*, ch. 2-3 | predicates, sets, quantifiers, logical refactoring, runtime-semantic caveats | `model` | `verify` |
|
|
63
|
-
| *Logic for Programmers*, ch. 4-6 | partial specifications, properties, contracts, replacement, proof limits | `model`, `verify` | `abstraction-review` |
|
|
64
|
-
| *Logic for Programmers*, ch. 7-12 | relational constraints, decision tables, domain/time/system models, solvers, logic programming | `model` | `verify` |
|
|
65
|
-
| *Elements of Clojure*: Names | narrow and consistent sense, honest effects and scope crossing | `naming-judgment` | `model` |
|
|
66
|
-
| *Elements of Clojure*: Idioms | language-specific conventions and explicit operational semantics | project conventions or `implementation` | generalized only when the semantic lesson survives the language |
|
|
67
|
-
| *Elements of Clojure*: Indirection | abstraction cost, module environment/model/interface/assumptions, principled versus adaptable systems | `sketch`, `abstraction-review` | `schedule` |
|
|
68
|
-
| *Elements of Clojure*: Composition | units of computation and pull-transform-push process boundaries | `sketch` | `naming-judgment`, `verify` |
|
|
69
|
-
| *Tidy First?* | separate behavior from structure, small tidyings, optionality, reversibility, first/after/later/never | `schedule` | `implementation` behavior-preserving protocol, `signal` |
|
|
70
|
-
|
|
71
|
-
## Intentionally Not Imported As Universal Rules
|
|
72
|
-
|
|
73
|
-
Source coverage does not mean copying every example or language idiom into every
|
|
74
|
-
task. The following remain contextual:
|
|
75
|
-
|
|
76
|
-
- Ruby class and factory shapes from *99 Bottles* are evidence about
|
|
77
|
-
responsibility and variation, not a destination for every design.
|
|
78
|
-
- Scheme evaluators, register machines, and compiler details from SICP are used
|
|
79
|
-
only for tasks that actually expose those runtime or language boundaries.
|
|
80
|
-
- Clojure-specific arities, option maps, atoms, macros, and interop idioms stay
|
|
81
|
-
subordinate to the target project's language and conventions.
|
|
82
|
-
- Logic solvers, formal proof, TLA+, Prolog, and answer-set programming are
|
|
83
|
-
selected only when the modeled uncertainty and risk justify their cost.
|
|
84
|
-
- HtDP recipes are adapted to existing repositories; they do not require adding
|
|
85
|
-
pedagogical comments, signatures, or templates to production code.
|
|
86
|
-
|
|
87
|
-
These exclusions prevent a respected source from becoming a framework-shaped
|
|
88
|
-
answer imposed on unrelated product work.
|
|
89
|
-
|
|
90
|
-
## Reassembly Check
|
|
91
|
-
|
|
92
|
-
When adding or revising a source-derived reference, record:
|
|
93
|
-
|
|
94
|
-
```text
|
|
95
|
-
Source location: book, edition/version, chapter or section
|
|
96
|
-
Capability: the question or action the idea improves
|
|
97
|
-
Owner: one leaf or the implementation path
|
|
98
|
-
Boundary: what the owner must not absorb
|
|
99
|
-
Observable effect: the artifact, decision, or safer execution behavior expected
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Create a new leaf only when a recurring question has a distinct input, output,
|
|
103
|
-
completion condition, and boundary that no existing owner can express. A new
|
|
104
|
-
source, technique, or vocabulary is not by itself evidence for a new leaf.
|