@afokapu/atdd-bun 0.10.42 → 0.10.44
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/conventions/_profiles/coder.yaml +10 -0
- package/conventions/_profiles/workflow.yaml +13 -1
- package/conventions/atdd-bun.review/atdd-bun.review.behavioral-reconciliation.convention.yaml +188 -0
- package/integrity.json +6 -5
- package/package.json +1 -1
- package/relationships.yaml +11 -0
- package/src/enforce.ts +6 -3
|
@@ -114,6 +114,16 @@ conventions:
|
|
|
114
114
|
- rule_id: "planner.wagon.features"
|
|
115
115
|
path: "planner-nodes/nodes/planner.wagon.features.convention.yaml"
|
|
116
116
|
relationships:
|
|
117
|
+
- confidence: 1
|
|
118
|
+
constraint: "mandatory"
|
|
119
|
+
control: "internal"
|
|
120
|
+
foundation: "finish_to_start"
|
|
121
|
+
origin: "@afokapu/atdd-bun"
|
|
122
|
+
reason: "final behavioral reconciliation follows review-ready RED, GREEN, REFACTOR, and full-profile proof"
|
|
123
|
+
source_ref: "atdd-bun.review.behavioral-reconciliation"
|
|
124
|
+
strength: "critical"
|
|
125
|
+
target_ref: "coder.bun.phase-discipline"
|
|
126
|
+
type: "follows"
|
|
117
127
|
- confidence: 1
|
|
118
128
|
constraint: "mandatory"
|
|
119
129
|
control: "internal"
|
|
@@ -2,6 +2,18 @@ schema_version: "1.0.0"
|
|
|
2
2
|
profile: "workflow"
|
|
3
3
|
implementations: []
|
|
4
4
|
conventions:
|
|
5
|
+
- rule_id: "atdd-bun.review.behavioral-reconciliation"
|
|
6
|
+
path: "conventions/atdd-bun.review/atdd-bun.review.behavioral-reconciliation.convention.yaml"
|
|
5
7
|
- rule_id: "atdd-workflow.workflow.lifecycle"
|
|
6
8
|
path: "../atdd-workflow/conventions/atdd-workflow.workflow/atdd-workflow.workflow.lifecycle.convention.yaml"
|
|
7
|
-
relationships:
|
|
9
|
+
relationships:
|
|
10
|
+
- confidence: 1
|
|
11
|
+
constraint: "mandatory"
|
|
12
|
+
control: "internal"
|
|
13
|
+
foundation: "finish_to_start"
|
|
14
|
+
origin: "@afokapu/atdd-bun"
|
|
15
|
+
reason: "final behavioral reconciliation follows review-ready RED, GREEN, REFACTOR, and full-profile proof"
|
|
16
|
+
source_ref: "atdd-bun.review.behavioral-reconciliation"
|
|
17
|
+
strength: "critical"
|
|
18
|
+
target_ref: "coder.bun.phase-discipline"
|
|
19
|
+
type: "follows"
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
schema_version: 1.1.0
|
|
2
|
+
rule_id: atdd-bun.review.behavioral-reconciliation
|
|
3
|
+
kind: policy
|
|
4
|
+
status: active
|
|
5
|
+
name: Final review reconciles delivered behavior with declared intent
|
|
6
|
+
statement: >-
|
|
7
|
+
Before a delivery may be accepted after its deterministic CI and convention gates pass, a final reviewer
|
|
8
|
+
MUST reconcile the observable behavior of the assembled system with the declared intent that motivated the
|
|
9
|
+
work. Passing tests, a clean diff, and green convention checks are supporting evidence; none is a substitute
|
|
10
|
+
for observing that the delivered behavior matches the plan. The review MUST establish expected behavior
|
|
11
|
+
from the relevant acceptance, wagon, train, interlocking, journey, and delivery criteria before relying on
|
|
12
|
+
implementation details; exercise the highest meaningful assembled boundary; compare the observed result
|
|
13
|
+
with that intent and its executable proofs; and return APPROVE, RETURN, or ESCALATE. A material mismatch
|
|
14
|
+
blocks delivery.
|
|
15
|
+
terms:
|
|
16
|
+
- term_id: final_behavioral_review
|
|
17
|
+
text: >-
|
|
18
|
+
the post-CI review performed after implementation and guided refactoring are complete. Its purpose is to
|
|
19
|
+
determine whether the assembled running system exhibits the behavior the delivery originally intended,
|
|
20
|
+
rather than to repeat RED, GREEN, REFACTOR, or static code-quality review.
|
|
21
|
+
- term_id: declared_intent
|
|
22
|
+
text: >-
|
|
23
|
+
the behavior the delivery is expected to produce, reconstructed from the authoritative planning and
|
|
24
|
+
delivery artifacts in scope: acceptance criteria, wagon responsibilities, train sequence, interlocking
|
|
25
|
+
routes, journey behavior, and task or delivery criteria when available.
|
|
26
|
+
- term_id: assembled_boundary
|
|
27
|
+
text: >-
|
|
28
|
+
the highest meaningful real boundary through which the intended behavior can be exercised: for example a
|
|
29
|
+
browser journey, exposed HTTP or runtime boundary, production interlocking and train path, or another
|
|
30
|
+
assembled product-facing interface. It is not an internal function selected merely because it is easier
|
|
31
|
+
to invoke.
|
|
32
|
+
- term_id: behavioral_reconciliation
|
|
33
|
+
text: >-
|
|
34
|
+
the comparison between declared intent, executable proof, and observed runtime behavior. Reconciliation
|
|
35
|
+
succeeds only when those three describe the same material behavior and no required outcome is missing or
|
|
36
|
+
materially contradicted.
|
|
37
|
+
- term_id: review_evidence
|
|
38
|
+
text: >-
|
|
39
|
+
durable evidence recording the intent sources considered, boundary exercised, observations obtained,
|
|
40
|
+
discrepancies found, and final review decision. CI status, tests, screenshots, traces, runtime output, or
|
|
41
|
+
other artifacts may support the judgment but do not replace it.
|
|
42
|
+
- term_id: review_decision
|
|
43
|
+
text: >-
|
|
44
|
+
APPROVE when declared intent, executable proof, and observed behavior materially agree; RETURN when
|
|
45
|
+
required behavior is missing, wrong, unreachable, unexpectedly changed, or proved by tests that no longer
|
|
46
|
+
correspond to the plan; ESCALATE when the authoritative intent is ambiguous, contradictory, or must itself
|
|
47
|
+
change before correctness can be judged.
|
|
48
|
+
content:
|
|
49
|
+
summary: >-
|
|
50
|
+
Close the ATDD delivery loop by independently reconciling original intent with the observable behavior of
|
|
51
|
+
the assembled system after all deterministic gates are green.
|
|
52
|
+
normative_text: |
|
|
53
|
+
Final review is a semantic delivery gate, not another implementation phase.
|
|
54
|
+
|
|
55
|
+
RED constructed executable proof of the intended behavior. GREEN implemented the smallest compliant
|
|
56
|
+
behavior. REFACTOR improved the implementation while preserving that behavior. Deterministic CI and ATDD
|
|
57
|
+
Bun profiles establish that the resulting delivery satisfies the machine-checkable obligations. Final
|
|
58
|
+
review answers the remaining question: does the assembled system actually behave as the delivery intended?
|
|
59
|
+
|
|
60
|
+
Deterministic gates are prerequisites. Do not begin final behavioral review while required CI, tests, type
|
|
61
|
+
checks, security checks, or active strict convention checks are failing. A failing deterministic gate is
|
|
62
|
+
returned to the responsible implementation phase before semantic review consumes additional reasoning
|
|
63
|
+
capacity.
|
|
64
|
+
|
|
65
|
+
Establish the behavioral oracle from intent before studying implementation details deeply. Read the
|
|
66
|
+
authoritative artifacts relevant to the delivery: its acceptance criteria, wagon responsibilities, train
|
|
67
|
+
sequence, interlocking route decisions, exposed journey, and delivery criteria when available. State the
|
|
68
|
+
behavior that should be observable if the delivery is correct.
|
|
69
|
+
|
|
70
|
+
Do not derive expected behavior from the PR diff, implementation, or test body. Those are evidence of what
|
|
71
|
+
was built, not authority for what was supposed to be built. This ordering protects the review from
|
|
72
|
+
accepting plan/test/implementation drift merely because implementation and tests agree with each other.
|
|
73
|
+
|
|
74
|
+
Choose the highest meaningful assembled boundary that can demonstrate the declared behavior. For a
|
|
75
|
+
human-facing journey, exercise the real user-facing journey. For an API or runtime behavior, enter through
|
|
76
|
+
the exposed assembled boundary. For routed behavior, exercise the production interlocking and train path
|
|
77
|
+
when that routing is material to the claim. Do not move inward to an internal function merely because it is
|
|
78
|
+
easier to invoke.
|
|
79
|
+
|
|
80
|
+
Exercise the behavior with the minimum inputs necessary to establish the claim, then observe externally
|
|
81
|
+
meaningful consequences. Prefer user-visible outcomes, API responses, persisted effects, emitted events,
|
|
82
|
+
route selection followed by its business outcome, or other effects named by the plan. Internal calls,
|
|
83
|
+
implementation objects, mocks, or descriptive tokens are not substitutes for the declared observable
|
|
84
|
+
result.
|
|
85
|
+
|
|
86
|
+
Reconcile three sources independently:
|
|
87
|
+
|
|
88
|
+
1. DECLARED INTENT
|
|
89
|
+
What behavior do the authoritative plan and delivery criteria require?
|
|
90
|
+
|
|
91
|
+
2. EXECUTABLE PROOF
|
|
92
|
+
What behavior do the acceptance, smoke, route, train, and journey tests actually prove?
|
|
93
|
+
|
|
94
|
+
3. OBSERVED RUNTIME
|
|
95
|
+
What does the assembled system actually do when exercised through the appropriate real boundary?
|
|
96
|
+
|
|
97
|
+
All three must materially agree. Passing tests alone are insufficient because a test may have drifted with
|
|
98
|
+
the implementation. Runtime behavior alone is insufficient if it no longer satisfies the declared intent.
|
|
99
|
+
A correct plan with an unexercised or unreachable implementation is also incomplete.
|
|
100
|
+
|
|
101
|
+
Look specifically for:
|
|
102
|
+
* required behavior that is missing,
|
|
103
|
+
* intended behavior that cannot be reached through the assembled application,
|
|
104
|
+
* materially unexpected behavior introduced by the delivery,
|
|
105
|
+
* an interlocking condition selecting the wrong train,
|
|
106
|
+
* a train whose sequence produces a different business outcome than declared,
|
|
107
|
+
* a journey whose final user-visible result differs from its intended outcome,
|
|
108
|
+
* tests that pass while proving a behavior different from the plan,
|
|
109
|
+
* acceptance or planning artifacts silently changed to match the implementation rather than an explicitly
|
|
110
|
+
authorized change in intent.
|
|
111
|
+
|
|
112
|
+
Inspect the PR diff and implementation after the expected behavior has been established. Use them to
|
|
113
|
+
explain discrepancies, understand risk, or determine whether an observed result is trustworthy. Do not
|
|
114
|
+
reopen naming, decomposition, abstraction, complexity, formatting, or other design questions that already
|
|
115
|
+
passed their governing phase unless they provide concrete evidence of a behavioral defect or delivery risk.
|
|
116
|
+
|
|
117
|
+
The reviewer MUST produce a durable decision:
|
|
118
|
+
|
|
119
|
+
APPROVE
|
|
120
|
+
Declared intent, executable proof, and observed behavior materially agree. Required behavior is
|
|
121
|
+
reachable through the assembled system and no material unintended behavior was found within the
|
|
122
|
+
reviewed scope.
|
|
123
|
+
|
|
124
|
+
RETURN
|
|
125
|
+
Required behavior is missing, wrong, unreachable, materially contradicted, or the executable proof
|
|
126
|
+
does not correspond to the declared intent. Return the delivery with the concrete behavioral
|
|
127
|
+
discrepancy and evidence.
|
|
128
|
+
|
|
129
|
+
ESCALATE
|
|
130
|
+
The authoritative intent is ambiguous, contradictory, or fulfilling the observed need requires
|
|
131
|
+
changing agreed product behavior. Do not silently redefine the plan during final review.
|
|
132
|
+
|
|
133
|
+
Final review is not permission to expand scope or redesign the implementation. Its job is to decide whether
|
|
134
|
+
the delivered behavior is the intended behavior.
|
|
135
|
+
fix_hint: |
|
|
136
|
+
Re-run final review outside-in.
|
|
137
|
+
|
|
138
|
+
Intent:
|
|
139
|
+
* read the relevant acceptance, wagon, train, interlocking, journey, and delivery criteria,
|
|
140
|
+
* state the externally meaningful behavior expected from this delivery before relying on the PR diff or
|
|
141
|
+
implementation as an oracle.
|
|
142
|
+
|
|
143
|
+
Exercise:
|
|
144
|
+
* wait until deterministic CI and active strict ATDD Bun gates are green,
|
|
145
|
+
* choose the highest meaningful assembled boundary for the declared behavior,
|
|
146
|
+
* exercise the real production path with the minimum inputs necessary to demonstrate it.
|
|
147
|
+
|
|
148
|
+
Observe:
|
|
149
|
+
* record the externally meaningful result,
|
|
150
|
+
* include supporting runtime evidence such as a browser result, response, persisted effect, emitted
|
|
151
|
+
event, trace, route/train result plus business outcome, or equivalent proof.
|
|
152
|
+
|
|
153
|
+
Reconcile:
|
|
154
|
+
* compare declared intent with the executable tests,
|
|
155
|
+
* compare both with the behavior actually observed,
|
|
156
|
+
* look for missing behavior, unexpected behavior, unreachable paths, or semantic drift between plan,
|
|
157
|
+
tests, and implementation.
|
|
158
|
+
|
|
159
|
+
Decide:
|
|
160
|
+
* APPROVE only when intent, proof, and runtime materially agree,
|
|
161
|
+
* RETURN with the concrete discrepancy when they do not,
|
|
162
|
+
* ESCALATE when the intent itself is ambiguous or requires an authorized change.
|
|
163
|
+
|
|
164
|
+
Avoid:
|
|
165
|
+
* treating green CI as the final behavioral judgment,
|
|
166
|
+
* treating a passing E2E test as proof without checking what it actually proves,
|
|
167
|
+
* deriving expected behavior from the implementation,
|
|
168
|
+
* reviewing only the lines changed in the PR,
|
|
169
|
+
* redoing style or refactoring review without behavioral evidence,
|
|
170
|
+
* changing the plan merely to make the delivered implementation appear correct.
|
|
171
|
+
exceptions:
|
|
172
|
+
- >-
|
|
173
|
+
A delivery that intentionally changes no externally observable behavior still requires reconciliation. The
|
|
174
|
+
reviewer may establish that the intended invariant is "no behavioral change" and use the relevant assembled
|
|
175
|
+
proofs to verify that invariant rather than inventing a new user journey.
|
|
176
|
+
- >-
|
|
177
|
+
When the intended behavior cannot be exercised safely against production dependencies, use the highest
|
|
178
|
+
faithful environment and boundary authorized by the plan. Do not approve solely from static inspection
|
|
179
|
+
when the claimed behavior requires runtime observation.
|
|
180
|
+
- >-
|
|
181
|
+
Ambiguous or contradictory declared intent is not a reviewer failure and MUST NOT be resolved by inference.
|
|
182
|
+
Return ESCALATE so the responsible planning authority can settle it.
|
|
183
|
+
metadata:
|
|
184
|
+
aliases:
|
|
185
|
+
- ATDD-BUN-REVIEW-BEHAVIORAL-RECONCILIATION-001
|
|
186
|
+
severity: 4
|
|
187
|
+
implementation:
|
|
188
|
+
type: none
|
package/integrity.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.10.
|
|
2
|
+
"version": "0.10.44",
|
|
3
3
|
"files": {
|
|
4
4
|
"HOOK_AUDIT.md": "5329d840db37671b1918f688ead26865473b87db73dbc75f7c8b2a8bbe8d6d43",
|
|
5
5
|
"PLANNER_PORT.md": "fb5935bac8b7ac18994de21e43ace3a5ef8cd55f85b0e3349fca261280054f11",
|
|
6
6
|
"README.md": "edcd36ebed5853c412c89ed998cd198f7a58237a68dcf37c14be5f7f5c0e9ff4",
|
|
7
7
|
"bunfig.toml": "b9fc65eca9014c5179380259d70e76385a6a80788fa9a2df5fb3eaa5554fd2fe",
|
|
8
8
|
"conventions/_profiles/architecture.yaml": "f1808768b720a4e476047e4a0912002ca673946562cea9aeef5d0c214828d93a",
|
|
9
|
-
"conventions/_profiles/coder.yaml": "
|
|
9
|
+
"conventions/_profiles/coder.yaml": "3fb191556a64c9ebcf249516afa189afca24da9b22fd40b2fc66908196cdfb78",
|
|
10
10
|
"conventions/_profiles/design.yaml": "25a02a67152d49728ad3517f6510da7285116fa69c56cbda55613a7cfcfd3b89",
|
|
11
11
|
"conventions/_profiles/docs.yaml": "05485c3b32f1757e77c42e331eec1db651cb52ef57fc4e8607bb2f73b056cbb3",
|
|
12
12
|
"conventions/_profiles/htmx.yaml": "38fc8b3e1a53429e16977ed63e83e751b203deffe9b338ea171050fb64641559",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"conventions/_profiles/tester.yaml": "348183eee5298cbb843031f6c41c3f9d0a725b11b3c66e154b47c9b340a72666",
|
|
20
20
|
"conventions/_profiles/topology.yaml": "08df698c2e5419e8f7faa83f5f15c3ba9c085cc2ce72579624eb24962a6b8612",
|
|
21
21
|
"conventions/_profiles/traceability.yaml": "adce93fb8392307685a01bec85e60534c59a9f4f0e4f8ea4767d79d22cf80878",
|
|
22
|
-
"conventions/_profiles/workflow.yaml": "
|
|
22
|
+
"conventions/_profiles/workflow.yaml": "4c31d46ebb303fdf44500fc806b0ade23f36328c9b6f9d54655ab6931f836e58",
|
|
23
23
|
"conventions/atdd-bun.planner/atdd-bun.planner.acceptance-identity.convention.yaml": "81c5c773d5ee15e8d99a2c237aa9846b110b2533df45ebf407d0e3ec6ed3dd03",
|
|
24
24
|
"conventions/atdd-bun.planner/atdd-bun.planner.identity-required.convention.yaml": "e96d7c1455d0c221072d82e7f2b55da1c4f9ceb17718eb6ed96affdeef37675b",
|
|
25
25
|
"conventions/atdd-bun.planner/atdd-bun.planner.identity-unique.convention.yaml": "409ba1d035ed46bc45f3627b62fd3a6a5967d984cc4c071c41be3f3fa887c6d6",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"conventions/atdd-bun.planner/atdd-bun.planner.schema.convention.yaml": "16d0a26451758b759e6ca1f5b4f38ae1feff129688306ffcc2f70f6d3974b591",
|
|
30
30
|
"conventions/atdd-bun.planner/atdd-bun.planner.train-wagon-resolves.convention.yaml": "6410e248351e701dcba38c671c07c4d8f6d67927984ed4d18e567abd1eb1f3f0",
|
|
31
31
|
"conventions/atdd-bun.profiles/atdd-bun.profiles.presets.convention.yaml": "822c91fe1ec15ec0715a8ca2339c9379326f6a3e216829539b72ce5def272585",
|
|
32
|
+
"conventions/atdd-bun.review/atdd-bun.review.behavioral-reconciliation.convention.yaml": "e87958d918c7bec3f1428cfeff4862c324e383ba622a857d5b2def1628aa12af",
|
|
32
33
|
"conventions/atdd-bun.topology/atdd-bun.topology.e2e-location.convention.yaml": "3a3b991bc851b86d597636200f5cb10a0defda3920348860cdca28955ab91f4c",
|
|
33
34
|
"conventions/atdd-bun.topology/atdd-bun.topology.feature-source-coverage.convention.yaml": "2b64093f1e7f1fe0e2edcadf12e560fa80cecec19536abaa5bf09af362c6694e",
|
|
34
35
|
"conventions/atdd-bun.topology/atdd-bun.topology.feature-test-coverage.convention.yaml": "279be57399c9b79a1bd758414076e3053d67b7d4a7fcbbb950ea12d1201effeb",
|
|
@@ -1191,12 +1192,12 @@
|
|
|
1191
1192
|
"planner-schemas/train.schema.json": "d6fbac9067c1bffeb84eb79a71228441055af6e6e7ba141dd4e0bcb079345ec0",
|
|
1192
1193
|
"planner-schemas/wagon.schema.json": "57b98f1ade998d745538eb3d72fb3014a50042006870f90bce47028eea336eb4",
|
|
1193
1194
|
"planner-schemas/wmbt.schema.json": "7a3a5693bfcf01340667c2be4a3c48e74f34b1af7e8dc13372c0de06b7f4fe12",
|
|
1194
|
-
"relationships.yaml": "
|
|
1195
|
+
"relationships.yaml": "5860a308ebc3ee7fa8172fc2c6633984000ab3003f0ae4b6fa28db48879eda22",
|
|
1195
1196
|
"src/agent.ts": "39ca8b3183063c60e00eb96e5629d0397aeb83cc82d4c4bc32c01715c906649b",
|
|
1196
1197
|
"src/ci.ts": "67e54d2cbfc44a9e42837d5e750af526d6255c539d3c452a4d5fca3226c0d9ac",
|
|
1197
1198
|
"src/cli.ts": "cbc50f1e7fc7d0935f78230b7da6e232ed7ee6f04828e015c599fb6f6edcbfa2",
|
|
1198
1199
|
"src/docs-capability.ts": "bdeeb414649049b1cd4fa8008cada3a576318be51c43bec91bfa46a8e250c270",
|
|
1199
|
-
"src/enforce.ts": "
|
|
1200
|
+
"src/enforce.ts": "8aee98b81552153732ab4faaf244fcad3ae1ca9d060e6bae3d61d319043f8849",
|
|
1200
1201
|
"src/hooks.ts": "0b4ca8c857e637bbd144e737e78eda924e3cba7b038c0abe5e6916d200d73068",
|
|
1201
1202
|
"src/index.ts": "4081f8b08d1d3ee9e15a9964143e53d9cfb94a5616ab3e58a180d24cc16dc381",
|
|
1202
1203
|
"src/integrity.ts": "556976a42bae298df14b73675102d83b6bf4df0674d8e7211aad5315548f005f",
|
package/package.json
CHANGED
package/relationships.yaml
CHANGED
|
@@ -17,6 +17,7 @@ nodes:
|
|
|
17
17
|
- atdd-bun.planner.schema
|
|
18
18
|
- atdd-bun.planner.train-wagon-resolves
|
|
19
19
|
- atdd-bun.profiles.presets
|
|
20
|
+
- atdd-bun.review.behavioral-reconciliation
|
|
20
21
|
- atdd-bun.topology.e2e-location
|
|
21
22
|
- atdd-bun.topology.feature-source-coverage
|
|
22
23
|
- atdd-bun.topology.feature-test-coverage
|
|
@@ -5268,3 +5269,13 @@ edges:
|
|
|
5268
5269
|
target_ref: planner.telemetry.tracking-plan-schema
|
|
5269
5270
|
type: requires
|
|
5270
5271
|
origin: "@afokapu/atdd-bun"
|
|
5272
|
+
- confidence: 1
|
|
5273
|
+
constraint: mandatory
|
|
5274
|
+
control: internal
|
|
5275
|
+
foundation: finish_to_start
|
|
5276
|
+
reason: final behavioral reconciliation follows review-ready RED, GREEN, REFACTOR, and full-profile proof
|
|
5277
|
+
source_ref: atdd-bun.review.behavioral-reconciliation
|
|
5278
|
+
strength: critical
|
|
5279
|
+
target_ref: coder.bun.phase-discipline
|
|
5280
|
+
type: follows
|
|
5281
|
+
origin: "@afokapu/atdd-bun"
|
package/src/enforce.ts
CHANGED
|
@@ -38,15 +38,18 @@ export const profileImplementations: Record<ConcreteProfile, string[]> = {
|
|
|
38
38
|
interlocking: ["bun_interlocking_binding", "bun_interlocking_coverage", "bun_interlocking_infrastructure"],
|
|
39
39
|
htmx: ["htmx_hypermedia_detector", "htmx_tester_detector", "htmx_e2e_detector"],
|
|
40
40
|
design: ["bun_design_system_detector", "bun_responsive_detector"],
|
|
41
|
-
// Operational
|
|
41
|
+
// Operational policies only: Workflow supplies lifecycle orchestration; ATDD Bun supplies delivery review semantics.
|
|
42
42
|
workflow: [],
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
/** Additional policy conventions a profile loads, whether local or contributed by an installed companion package. */
|
|
46
46
|
export const profileConventions: Record<ConcreteProfile, Array<{ rule_id: string; path: string }>> = {
|
|
47
|
-
traceability: [], topology: [], docs: [], planner: [], telemetry: [], coder: [{ rule_id:
|
|
47
|
+
traceability: [], topology: [], docs: [], planner: [], telemetry: [], coder: [{ rule_id: "coder.bun.phase-discipline", path: "conventions/coder.bun/coder.bun.phase-discipline.convention.yaml" }], tester: [], security: [],
|
|
48
48
|
architecture: [], metrics: [], runtime: [], interlocking: [], htmx: [], design: [],
|
|
49
|
-
workflow: [
|
|
49
|
+
workflow: [
|
|
50
|
+
{ rule_id: "atdd-bun.review.behavioral-reconciliation", path: "conventions/atdd-bun.review/atdd-bun.review.behavioral-reconciliation.convention.yaml" },
|
|
51
|
+
{ rule_id: "atdd-workflow.workflow.lifecycle", path: "../atdd-workflow/conventions/atdd-workflow.workflow/atdd-workflow.workflow.lifecycle.convention.yaml" },
|
|
52
|
+
],
|
|
50
53
|
};
|
|
51
54
|
|
|
52
55
|
/** Every profile but `all`. */
|