@afokapu/atdd-bun 0.10.32 → 0.10.34

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.
@@ -0,0 +1,248 @@
1
+ schema_version: "1.0.0"
2
+ profile: "interlocking"
3
+ implementations:
4
+ - "bun_interlocking_binding"
5
+ - "bun_interlocking_coverage"
6
+ - "bun_interlocking_infrastructure"
7
+ conventions:
8
+ - rule_id: "coder.bun.interlocking-bilateral-binding"
9
+ path: "conventions/coder.bun/coder.bun.interlocking-bilateral-binding.convention.yaml"
10
+ - rule_id: "coder.bun.interlocking-delegates-to-trainrunner"
11
+ path: "conventions/coder.bun/coder.bun.interlocking-delegates-to-trainrunner.convention.yaml"
12
+ - rule_id: "coder.bun.interlocking-does-not-carry-cargo"
13
+ path: "conventions/coder.bun/coder.bun.interlocking-does-not-carry-cargo.convention.yaml"
14
+ - rule_id: "coder.bun.interlocking-resolution-model-exists"
15
+ path: "conventions/coder.bun/coder.bun.interlocking-resolution-model-exists.convention.yaml"
16
+ - rule_id: "coder.bun.interlocking-runner-exists"
17
+ path: "conventions/coder.bun/coder.bun.interlocking-runner-exists.convention.yaml"
18
+ - rule_id: "coder.bun.journey-runner-boundary"
19
+ path: "conventions/coder.bun/coder.bun.journey-runner-boundary.convention.yaml"
20
+ - rule_id: "coder.bun.runtime-executes-the-declaration"
21
+ path: "conventions/coder.bun/coder.bun.runtime-executes-the-declaration.convention.yaml"
22
+ - rule_id: "coder.bun.station-master-interlocking-routing"
23
+ path: "conventions/coder.bun/coder.bun.station-master-interlocking-routing.convention.yaml"
24
+ - rule_id: "coder.bun.station-master-journey-routing"
25
+ path: "conventions/coder.bun/coder.bun.station-master-journey-routing.convention.yaml"
26
+ - rule_id: "coder.bun.wagon-honours-its-contract"
27
+ path: "conventions/coder.bun/coder.bun.wagon-honours-its-contract.convention.yaml"
28
+ - rule_id: "tester.bun.interlocking-production-runner-used"
29
+ path: "conventions/tester.bun/tester.bun.interlocking-production-runner-used.convention.yaml"
30
+ - rule_id: "tester.bun.interlocking-route-coverage"
31
+ path: "conventions/tester.bun/tester.bun.interlocking-route-coverage.convention.yaml"
32
+ - rule_id: "tester.bun.interlocking-smoke-coverage-for-station-master"
33
+ path: "conventions/tester.bun/tester.bun.interlocking-smoke-coverage-for-station-master.convention.yaml"
34
+ - rule_id: "tester.bun.interlocking-trace-binds-declared-route"
35
+ path: "conventions/tester.bun/tester.bun.interlocking-trace-binds-declared-route.convention.yaml"
36
+ - rule_id: "tester.bun.interlocking-train-sequence-is-exercised"
37
+ path: "conventions/tester.bun/tester.bun.interlocking-train-sequence-is-exercised.convention.yaml"
38
+ relationships:
39
+ - confidence: 1
40
+ constraint: "mandatory"
41
+ control: "internal"
42
+ foundation: "start_to_start"
43
+ origin: "@afokapu/atdd-bun"
44
+ reason: "every route has an end-to-end proof: at its canonical path, and exercising the production runner"
45
+ source_ref: "atdd-bun.topology.e2e-location"
46
+ strength: "important"
47
+ target_ref: "tester.bun.interlocking-route-coverage"
48
+ type: "runs_alongside"
49
+ - confidence: 1
50
+ constraint: "discretionary"
51
+ control: "internal"
52
+ foundation: "start_to_start"
53
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
54
+ reason: "Both govern server.ts as the composition root: one that collaborators are only instantiated there, the other that the JOURNEY_MAP it holds agrees with the declared route space."
55
+ source_ref: "coder.bun.interlocking-bilateral-binding"
56
+ strength: "minor"
57
+ target_ref: "coder.bun.composition-root"
58
+ type: "runs_alongside"
59
+ - confidence: 1
60
+ constraint: "mandatory"
61
+ control: "internal"
62
+ foundation: "finish_to_start"
63
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
64
+ reason: "Bilateral binding closes declaration, runtime, station and trace against each other. Two of its five directions are Station Master directions, so the station wiring must hold before closure can be asserted."
65
+ source_ref: "coder.bun.interlocking-bilateral-binding"
66
+ strength: "critical"
67
+ target_ref: "coder.bun.station-master-interlocking-routing"
68
+ type: "requires"
69
+ - confidence: 1
70
+ constraint: "mandatory"
71
+ control: "internal"
72
+ foundation: "finish_to_start"
73
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
74
+ reason: "Delegation is a property OF the runner; a tree with no InterlockingRunner has nothing that could fail to delegate."
75
+ source_ref: "coder.bun.interlocking-delegates-to-trainrunner"
76
+ strength: "critical"
77
+ target_ref: "coder.bun.interlocking-runner-exists"
78
+ type: "requires"
79
+ - confidence: 1
80
+ constraint: "mandatory"
81
+ control: "internal"
82
+ foundation: "start_to_start"
83
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
84
+ reason: "The two halves of one idea: route control must not become execution. One forbids running the wagons, the other forbids touching the data plane they carry."
85
+ source_ref: "coder.bun.interlocking-does-not-carry-cargo"
86
+ strength: "critical"
87
+ target_ref: "coder.bun.interlocking-delegates-to-trainrunner"
88
+ type: "runs_alongside"
89
+ - confidence: 1
90
+ constraint: "mandatory"
91
+ control: "internal"
92
+ foundation: "finish_to_start"
93
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
94
+ reason: "A structured resolution is what resolveTrain RETURNS, so there is nothing to structure until the route-control layer exists. Runner first, then the shape of its verdict."
95
+ source_ref: "coder.bun.interlocking-resolution-model-exists"
96
+ strength: "critical"
97
+ target_ref: "coder.bun.interlocking-runner-exists"
98
+ type: "requires"
99
+ - confidence: 1
100
+ constraint: "mandatory"
101
+ control: "internal"
102
+ foundation: "finish_to_start"
103
+ origin: "@afokapu/atdd-bun"
104
+ reason: "JourneyRunner is the continuation layer above InterlockingRunner and delegates each routing decision to it"
105
+ source_ref: "coder.bun.journey-runner-boundary"
106
+ strength: "critical"
107
+ target_ref: "coder.bun.interlocking-runner-exists"
108
+ type: "requires"
109
+ - confidence: 1
110
+ constraint: "mandatory"
111
+ control: "internal"
112
+ foundation: "finish_to_start"
113
+ origin: "@afokapu/atdd-bun"
114
+ reason: "JourneyRunner executes the continuation topology the plan declares; without a declared journey there is nothing for it to compose"
115
+ source_ref: "coder.bun.journey-runner-boundary"
116
+ strength: "critical"
117
+ target_ref: "planner.journey.definition"
118
+ type: "requires"
119
+ - confidence: 1
120
+ constraint: "mandatory"
121
+ control: "internal"
122
+ foundation: "finish_to_start"
123
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
124
+ reason: "Bilateral binding closes a TEXT-level correspondence — literals in the runtime also appear in the plan. This asks the harder question underneath it: whether the runtime ever READS the plan, or merely restates it."
125
+ source_ref: "coder.bun.runtime-executes-the-declaration"
126
+ strength: "critical"
127
+ target_ref: "coder.bun.interlocking-bilateral-binding"
128
+ type: "requires"
129
+ - confidence: 1
130
+ constraint: "mandatory"
131
+ control: "internal"
132
+ foundation: "start_to_start"
133
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
134
+ reason: "Complementary halves of one guarantee about the resolution model. The shape rule proves an InterlockingResolution declaring the eight fields EXISTS; only a typechecker proves what resolveTrain actually returns conforms to it, and Bun runs .ts without checking."
135
+ source_ref: "coder.bun.runtime-typecheck-enforced"
136
+ strength: "important"
137
+ target_ref: "coder.bun.interlocking-resolution-model-exists"
138
+ type: "runs_alongside"
139
+ - confidence: 1
140
+ constraint: "mandatory"
141
+ control: "internal"
142
+ foundation: "finish_to_start"
143
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
144
+ reason: "server.ts can only route THROUGH an InterlockingRunner that exists; the Station Master obligation presupposes the runtime one."
145
+ source_ref: "coder.bun.station-master-interlocking-routing"
146
+ strength: "important"
147
+ target_ref: "coder.bun.interlocking-runner-exists"
148
+ type: "requires"
149
+ - confidence: 1
150
+ constraint: "mandatory"
151
+ control: "internal"
152
+ foundation: "finish_to_start"
153
+ origin: "@afokapu/atdd-bun"
154
+ reason: "an exposed journey is reached through JourneyRunner, so the runner boundary must hold before routing to it"
155
+ source_ref: "coder.bun.station-master-journey-routing"
156
+ strength: "critical"
157
+ target_ref: "coder.bun.journey-runner-boundary"
158
+ type: "requires"
159
+ - confidence: 1
160
+ constraint: "mandatory"
161
+ control: "internal"
162
+ foundation: "start_to_start"
163
+ origin: "@afokapu/atdd-bun"
164
+ reason: "the two Station Master routing obligations: exposed journeys through JOURNEY_MAP, exposed interlockings through their own mapping"
165
+ source_ref: "coder.bun.station-master-journey-routing"
166
+ strength: "important"
167
+ target_ref: "coder.bun.station-master-interlocking-routing"
168
+ type: "runs_alongside"
169
+ - confidence: 1
170
+ constraint: "discretionary"
171
+ control: "internal"
172
+ foundation: "start_to_start"
173
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
174
+ reason: "The two halves of the artifact data plane. One keeps Cargo inside TrainRunner execution, the other requires the wagon at the end of that execution to move the artifacts its plan document declares. Neither implies the other, and a stack satisfying only one still lets the declared contract and the carried data disagree."
175
+ source_ref: "coder.bun.wagon-honours-its-contract"
176
+ strength: "important"
177
+ target_ref: "coder.bun.interlocking-does-not-carry-cargo"
178
+ type: "runs_alongside"
179
+ - confidence: 1
180
+ constraint: "mandatory"
181
+ control: "internal"
182
+ foundation: "finish_to_start"
183
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.tester.bun/relationships.yaml"
184
+ reason: "Coverage counts a route as proven only if the covering test drove the real runners. A route covered by a test that mocks the route-control path is a DESCRIPTIVE green, so production-runner-used is what makes route-coverage mean anything."
185
+ source_ref: "tester.bun.interlocking-production-runner-used"
186
+ strength: "critical"
187
+ target_ref: "tester.bun.interlocking-route-coverage"
188
+ type: "requires"
189
+ - confidence: 1
190
+ constraint: "discretionary"
191
+ control: "internal"
192
+ foundation: "start_to_start"
193
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.tester.bun/relationships.yaml"
194
+ reason: "Both bind the suite back to a planner declaration: one to the acceptance criterion a test covers, the other to the guarded route it exercises."
195
+ source_ref: "tester.bun.interlocking-route-coverage"
196
+ strength: "minor"
197
+ target_ref: "tester.bun.acceptance-binding-declared"
198
+ type: "runs_alongside"
199
+ - confidence: 1
200
+ constraint: "mandatory"
201
+ control: "internal"
202
+ foundation: "start_to_start"
203
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.tester.bun/relationships.yaml"
204
+ reason: "Two coverage obligations over the same declaration: one per admissible ROUTE, one per exposed Station Master ACTION. The criticality signal for the second is the core entrypoint.exposed field, never a heuristic."
205
+ source_ref: "tester.bun.interlocking-smoke-coverage-for-station-master"
206
+ strength: "important"
207
+ target_ref: "tester.bun.interlocking-route-coverage"
208
+ type: "runs_alongside"
209
+ - confidence: 1
210
+ constraint: "mandatory"
211
+ control: "internal"
212
+ foundation: "finish_to_start"
213
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.tester.bun/relationships.yaml"
214
+ reason: "A covering test proves a route ran; only the bound trace proves WHICH route ran. Without the binding fields the run could resolve the wrong route, category or guard and the coverage test would still pass."
215
+ source_ref: "tester.bun.interlocking-trace-binds-declared-route"
216
+ strength: "critical"
217
+ target_ref: "tester.bun.interlocking-route-coverage"
218
+ type: "requires"
219
+ - confidence: 1
220
+ constraint: "mandatory"
221
+ control: "internal"
222
+ foundation: "finish_to_start"
223
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.tester.bun/relationships.yaml"
224
+ reason: "Route coverage proves WHICH train a route selects; this proves WHAT it ran. A train whose wagon sequence is wrong is selected correctly and executes the wrong thing, so selection coverage must hold before execution coverage means anything."
225
+ source_ref: "tester.bun.interlocking-train-sequence-is-exercised"
226
+ strength: "critical"
227
+ target_ref: "tester.bun.interlocking-route-coverage"
228
+ type: "requires"
229
+ - confidence: 1
230
+ constraint: "mandatory"
231
+ control: "internal"
232
+ foundation: "start_to_start"
233
+ origin: "@afokapu/atdd-bun"
234
+ reason: "a journey run end to end in a browser beside each exposed interlocking action smoke-tested through the Station Master"
235
+ source_ref: "tester.htmx.exposed-journey-e2e-coverage"
236
+ strength: "important"
237
+ target_ref: "tester.bun.interlocking-smoke-coverage-for-station-master"
238
+ type: "runs_alongside"
239
+ - confidence: 1
240
+ constraint: "mandatory"
241
+ control: "internal"
242
+ foundation: "start_to_start"
243
+ origin: "@afokapu/atdd-bun"
244
+ reason: "browser coverage per train beside runner-level coverage per interlocking route"
245
+ source_ref: "tester.htmx.train-e2e-coverage"
246
+ strength: "important"
247
+ target_ref: "tester.bun.interlocking-route-coverage"
248
+ type: "runs_alongside"
@@ -0,0 +1,80 @@
1
+ schema_version: "1.0.0"
2
+ profile: "metrics"
3
+ implementations:
4
+ - "bun_ts_metrics_detector"
5
+ conventions:
6
+ - rule_id: "coder.bun.complexity-cyclomatic"
7
+ path: "conventions/coder.bun/coder.bun.complexity-cyclomatic.convention.yaml"
8
+ - rule_id: "coder.bun.complexity-length"
9
+ path: "conventions/coder.bun/coder.bun.complexity-length.convention.yaml"
10
+ - rule_id: "coder.bun.complexity-nesting"
11
+ path: "conventions/coder.bun/coder.bun.complexity-nesting.convention.yaml"
12
+ - rule_id: "coder.bun.dead-code-reachability"
13
+ path: "conventions/coder.bun/coder.bun.dead-code-reachability.convention.yaml"
14
+ - rule_id: "coder.bun.duplication-intra-layer"
15
+ path: "conventions/coder.bun/coder.bun.duplication-intra-layer.convention.yaml"
16
+ - rule_id: "coder.bun.quality-comments"
17
+ path: "conventions/coder.bun/coder.bun.quality-comments.convention.yaml"
18
+ - rule_id: "coder.bun.quality-mi"
19
+ path: "conventions/coder.bun/coder.bun.quality-mi.convention.yaml"
20
+ relationships:
21
+ - confidence: 1
22
+ constraint: "mandatory"
23
+ control: "internal"
24
+ foundation: "start_to_start"
25
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
26
+ reason: "Co-emitted per function from one extraction pass over the same brace-matched body."
27
+ source_ref: "coder.bun.complexity-length"
28
+ strength: "important"
29
+ target_ref: "coder.bun.complexity-cyclomatic"
30
+ type: "runs_alongside"
31
+ - confidence: 1
32
+ constraint: "mandatory"
33
+ control: "internal"
34
+ foundation: "start_to_start"
35
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
36
+ reason: "Co-emitted per function from one extraction pass over the same brace-matched body."
37
+ source_ref: "coder.bun.complexity-nesting"
38
+ strength: "important"
39
+ target_ref: "coder.bun.complexity-cyclomatic"
40
+ type: "runs_alongside"
41
+ - confidence: 1
42
+ constraint: "mandatory"
43
+ control: "internal"
44
+ foundation: "finish_to_start"
45
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
46
+ reason: "Reachability is measured FROM the structural roots that composition-root confines wiring to."
47
+ source_ref: "coder.bun.dead-code-reachability"
48
+ strength: "important"
49
+ target_ref: "coder.bun.composition-root"
50
+ type: "requires"
51
+ - confidence: 1
52
+ constraint: "discretionary"
53
+ control: "internal"
54
+ foundation: "start_to_start"
55
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
56
+ reason: "Both read structure ACROSS files rather than within one, and both need the whole scan tree at once."
57
+ source_ref: "coder.bun.duplication-intra-layer"
58
+ strength: "minor"
59
+ target_ref: "coder.bun.dead-code-reachability"
60
+ type: "runs_alongside"
61
+ - confidence: 1
62
+ constraint: "mandatory"
63
+ control: "internal"
64
+ foundation: "start_to_start"
65
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
66
+ reason: "The comment ratio is literally a term in the maintainability-index formula: one computation, two reported facts."
67
+ source_ref: "coder.bun.quality-comments"
68
+ strength: "important"
69
+ target_ref: "coder.bun.quality-mi"
70
+ type: "runs_alongside"
71
+ - confidence: 1
72
+ constraint: "discretionary"
73
+ control: "internal"
74
+ foundation: "start_to_start"
75
+ origin: "atdd-extensions@3aa141e:official/atdd.extension.coder.bun/relationships.yaml"
76
+ reason: "MI judges the FILE, complexity its functions; a file can pass every function threshold and still be unmaintainable by size."
77
+ source_ref: "coder.bun.quality-mi"
78
+ strength: "minor"
79
+ target_ref: "coder.bun.complexity-cyclomatic"
80
+ type: "runs_alongside"