codex-workflows 0.6.6 → 0.6.8

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.
@@ -156,7 +156,7 @@ The test runner or framework in the project determines the appropriate file exte
156
156
 
157
157
  | Check | Failure Condition |
158
158
  |-------|-------------------|
159
- | Behavior Verification | No assertion for "observable result" in skeleton |
159
+ | Behavior Verification | No assertion for "observable result" in the implemented test |
160
160
  | Verification Item Coverage | Listed items not all covered by assertions |
161
161
  | Mock Boundary | Real dependencies from `@real-dependency` are isolated away or internal components are mocked without rationale |
162
162
 
@@ -29,9 +29,9 @@ Work plan: $ARGUMENTS
29
29
 
30
30
  ## Pre-execution Prerequisites
31
31
 
32
- ### Implementation Readiness Check
32
+ ### Implementation Readiness Resolution
33
33
 
34
- Before task processing, locate the work plan to gate against.
34
+ Before task processing, locate the work plan and resolve implementation readiness.
35
35
 
36
36
  Resolution rule:
37
37
  1. If `$ARGUMENTS` contains a work plan path, use that exact file and derive `{plan-name}` from its basename. This takes precedence over task-file mtimes.
@@ -40,7 +40,14 @@ Resolution rule:
40
40
  4. If matching task files exist, infer `{plan-name}` from the most recent matching task file and use `docs/plans/{plan-name}.md`.
41
41
  5. If no matching task files exist, use the most recent non-template work plan in `docs/plans/`.
42
42
 
43
- Read the work plan header and apply the Implementation Readiness Marker Contract from `subagents-orchestration-guide`.
43
+ Read the work plan header and apply this readiness rule:
44
+
45
+ | Header state | Action |
46
+ |--------------|--------|
47
+ | `Implementation Readiness: ready` | Proceed to Consumed Task Set computation |
48
+ | `Implementation Readiness: pending` | Execute the Implementation Readiness Preflight Procedure from `subagents-orchestration-guide` for the resolved work plan. Re-read the resulting marker: proceed to Consumed Task Set only when it is `ready`; if it is `escalated`, follow the `escalated` row |
49
+ | `Implementation Readiness: escalated` | Present the persisted Readiness Report remaining gaps, then continue only on explicit user approval |
50
+ | marker absent | Execute the Implementation Readiness Preflight Procedure from `subagents-orchestration-guide` for the resolved work plan. Re-read the resulting marker: proceed to Consumed Task Set only when it is `ready`; if it is `escalated`, follow the `escalated` row |
44
51
 
45
52
  ### Consumed Task Set
46
53
 
@@ -29,9 +29,9 @@ Work plan: $ARGUMENTS
29
29
 
30
30
  ## Pre-execution Prerequisites
31
31
 
32
- ### Implementation Readiness Check
32
+ ### Implementation Readiness Resolution
33
33
 
34
- Before task processing, locate the work plan to gate against.
34
+ Before task processing, locate the work plan and resolve implementation readiness.
35
35
 
36
36
  Resolution rule:
37
37
  1. If `$ARGUMENTS` contains a work plan path, use that exact file and derive `{plan-name}` from its basename. This takes precedence over task-file mtimes.
@@ -40,7 +40,14 @@ Resolution rule:
40
40
  4. If matching task files exist, infer `{plan-name}` from the most recent matching task file and use `docs/plans/{plan-name}.md`.
41
41
  5. If no matching task files exist, use the most recent non-template work plan in `docs/plans/`.
42
42
 
43
- Read the work plan header and apply the Implementation Readiness Marker Contract from `subagents-orchestration-guide`.
43
+ Read the work plan header and apply this readiness rule:
44
+
45
+ | Header state | Action |
46
+ |--------------|--------|
47
+ | `Implementation Readiness: ready` | Proceed to Consumed Task Set computation |
48
+ | `Implementation Readiness: pending` | Execute the Implementation Readiness Preflight Procedure from `subagents-orchestration-guide` for the resolved work plan. Re-read the resulting marker: proceed to Consumed Task Set only when it is `ready`; if it is `escalated`, follow the `escalated` row |
49
+ | `Implementation Readiness: escalated` | Present the persisted Readiness Report remaining gaps, then continue only on explicit user approval |
50
+ | marker absent | Execute the Implementation Readiness Preflight Procedure from `subagents-orchestration-guide` for the resolved work plan. Re-read the resulting marker: proceed to Consumed Task Set only when it is `ready`; if it is `escalated`, follow the `escalated` row |
44
51
 
45
52
  ### Consumed Task Set
46
53
 
@@ -39,9 +39,9 @@ Work plan: $ARGUMENTS
39
39
 
40
40
  ## Pre-execution Prerequisites
41
41
 
42
- ### Implementation Readiness Check
42
+ ### Implementation Readiness Resolution
43
43
 
44
- Before task processing, locate the work plan to gate against.
44
+ Before task processing, locate the work plan and resolve implementation readiness.
45
45
 
46
46
  Resolution rule:
47
47
  1. If `$ARGUMENTS` contains a work plan path, use that exact file and derive `{plan-name}` from its basename. This takes precedence over task-file mtimes.
@@ -50,7 +50,14 @@ Resolution rule:
50
50
  4. If matching task files exist, infer `{plan-name}` from the most recent matching task file and use `docs/plans/{plan-name}.md`.
51
51
  5. If no matching task files exist, use the most recent non-template work plan in `docs/plans/`.
52
52
 
53
- Read the work plan header and apply the Implementation Readiness Marker Contract from `subagents-orchestration-guide`.
53
+ Read the work plan header and apply this readiness rule:
54
+
55
+ | Header state | Action |
56
+ |--------------|--------|
57
+ | `Implementation Readiness: ready` | Proceed to Consumed Task Set computation |
58
+ | `Implementation Readiness: pending` | Execute the Implementation Readiness Preflight Procedure from `subagents-orchestration-guide` for the resolved work plan. Re-read the resulting marker: proceed to Consumed Task Set only when it is `ready`; if it is `escalated`, follow the `escalated` row |
59
+ | `Implementation Readiness: escalated` | Present the persisted Readiness Report remaining gaps, then continue only on explicit user approval |
60
+ | marker absent | Execute the Implementation Readiness Preflight Procedure from `subagents-orchestration-guide` for the resolved work plan. Re-read the resulting marker: proceed to Consumed Task Set only when it is `ready`; if it is `escalated`, follow the `escalated` row |
54
61
 
55
62
  ### Consumed Task Set
56
63
 
@@ -104,7 +104,7 @@ When user responds to questions:
104
104
  **Required Flow Compliance**:
105
105
  - Run quality-fixer (layer-appropriate) before every commit
106
106
  - Obtain user approval before Edit/Write outside autonomous mode
107
- - Run implementation readiness preflight for the approved work plan before autonomous implementation, or continue without it only after explicit user approval
107
+ - Resolve implementation readiness for the approved work plan before autonomous implementation
108
108
 
109
109
  ENFORCEMENT: Commits without quality-fixer approval are invalid and MUST be reverted.
110
110
 
@@ -80,6 +80,7 @@ When all applicable criteria are `pass`:
80
80
 
81
81
  When one or more criteria fail:
82
82
  1. Present the proposed prep tasks to the user and continue only after explicit approval.
83
+ - If the user declines prep execution, persist `Implementation Readiness: escalated` with the current Readiness Report and stop before creating prep task files.
83
84
  2. Create task files in `docs/plans/tasks/` using the task template:
84
85
  - Backend prep: `{plan-name}-backend-task-prep-{NN}.md`
85
86
  - Frontend prep: `{plan-name}-frontend-task-prep-{NN}.md`
@@ -210,14 +210,14 @@ Work plans use the header line `Implementation Readiness: <status>`.
210
210
 
211
211
  | Status | Meaning | Consumer Action |
212
212
  |--------|---------|-----------------|
213
- | `pending` | Initial state from work-planner; readiness has not been checked | Present the unchecked state, recommend running implementation readiness preflight, and continue only on explicit user approval |
213
+ | `pending` | Initial state from work-planner; readiness has not been checked | Run the Implementation Readiness Preflight Procedure before task execution |
214
214
  | `ready` | Readiness scan completed and no applicable failures remain | Proceed with task execution |
215
215
  | `escalated` | Readiness scan completed, but one or more failures remain | Read the work plan's Implementation Readiness Report, present remaining gaps, and continue only on explicit user approval |
216
- | absent | Older work plan without the marker | Treat as `pending` |
216
+ | absent | Older work plan without the marker | Run the Implementation Readiness Preflight Procedure and persist the resulting marker |
217
217
 
218
218
  ## Implementation Readiness Preflight Procedure
219
219
 
220
- Use this procedure after work-plan approval and before autonomous task execution when the flow needs to verify implementation readiness.
220
+ Use this procedure after work-plan approval and before autonomous task execution when the flow needs to verify implementation readiness. The procedure supplies the evidence needed for user decisions; prompts for approval only after concrete failing criteria and proposed prep tasks are known.
221
221
 
222
222
  1. Load the approved work plan exact path and extract Verification Strategies, Quality Assurance Mechanisms, Design-to-Plan Traceability, ADR Bindings, UI Spec Component -> Task Mapping, Connection Map, test skeleton references, E2E absence reasons, phase structure, referenced Design Docs, ADRs, and UI Specs.
223
223
  2. Evaluate these criteria with evidence:
@@ -227,9 +227,12 @@ Use this procedure after work-plan approval and before autonomous task execution
227
227
  - R4 UI rendering surface exists when UI work is present
228
228
  - R5 Local service stack or browser harness procedure exists when applicable
229
229
  3. If every applicable criterion passes, persist `## Implementation Readiness Report` in the work plan and set `Implementation Readiness: ready`.
230
- 4. If any criterion fails, create the smallest approved prep tasks that close the gaps, execute each exact prep task file through the standard executor -> quality-fixer -> commit cycle, then re-run the scan.
231
- 5. After re-scan, set `Implementation Readiness: ready` when all applicable criteria pass, otherwise `Implementation Readiness: escalated`, and persist remaining gaps in the Readiness Report.
232
- 6. Collapse completed prep task references into the Readiness Report and delete only the prep task files created for the current work plan.
230
+ 4. If any criterion fails, present the failing criteria, evidence, and the smallest proposed prep tasks that close the gaps. Continue with prep execution only after explicit user approval for those tasks.
231
+ 5. If the user declines prep execution, persist `Implementation Readiness: escalated` with the remaining gaps and stop before autonomous task execution.
232
+ 6. If the user approves prep execution, create the approved prep task files under `docs/plans/tasks/` using the task template. Use `{plan-name}-task-prep-{NN}.md` for single-layer plans, `{plan-name}-backend-task-prep-{NN}.md` for backend prep, and `{plan-name}-frontend-task-prep-{NN}.md` for frontend prep.
233
+ 7. Execute each exact prep task file through the standard executor -> quality-fixer -> commit cycle, then re-run the scan.
234
+ 8. After re-scan, set `Implementation Readiness: ready` when all applicable criteria pass, otherwise `Implementation Readiness: escalated`, and persist remaining gaps in the Readiness Report.
235
+ 9. Collapse completed prep task references into the Readiness Report and delete only the prep task files created for the current work plan.
233
236
 
234
237
  ## Handling Requirement Changes
235
238
 
@@ -155,7 +155,7 @@ skills:
155
155
 
156
156
  subagents-orchestration-guide:
157
157
  skill: "subagents-orchestration-guide"
158
- tags: [orchestration, workflow, subagents, context-isolation, autonomous-execution, guided-autonomous-execution, planning, design-flow, implementation-flow, implementation-readiness, readiness-gate]
158
+ tags: [orchestration, workflow, subagents, context-isolation, autonomous-execution, guided-autonomous-execution, planning, design-flow, implementation-flow, implementation-readiness, readiness-resolution]
159
159
  typical-use: "Orchestrating subagents through implementation workflows, scale determination, stop points, guided autonomous execution mode"
160
160
  size: large
161
161
  key-references:
@@ -111,6 +111,7 @@ For each valid AC from Phase 1:
111
111
  - Happy path (1 test mandatory)
112
112
  - Error handling (only if user-visible error)
113
113
  - Edge cases (only if high business impact)
114
+ - Boundary path (behavior-changing AC only): when the AC can hold on the main path while a distinct branch, state, input class, lifecycle step, or fallback regresses, capture that boundary as a proof obligation. Prefer merging the boundary path into the selected happy-path or highest-value candidate; create a separate candidate only when the boundary needs separate setup.
114
115
 
115
116
  2. **Classify test level**:
116
117
  - Integration test candidate (feature-level interaction)
@@ -167,7 +168,8 @@ Value score and E2E selection rules are defined in **integration-e2e-testing ski
167
168
  4. Reserve 1 service-integration-e2e slot only when the journey needs real cross-service verification
168
169
  5. Fill remaining fixture-e2e budget with candidates that satisfy `Value Score >= 20`
169
170
  6. Fill remaining service-integration-e2e budget with candidates that satisfy `Value Score > 50`
170
- 7. If a lane emits no tests, return its generated file as `null` with a concrete lane-specific absence reason
171
+ 7. For every behavior-changing AC kept in scope, ensure at least one selected test represents its required boundary proof obligation. Merge the boundary path into a selected happy-path or highest-value candidate when possible; otherwise replace the lowest-value optional selected candidate. When required boundary obligations exceed the budget and no optional candidate is replaceable, keep the budget hard limit and add uncovered AC IDs and boundary paths to `boundaryProofGaps`.
172
+ 8. If a lane emits no tests, return its generated file as `null` with a concrete lane-specific absence reason
171
173
  ```
172
174
 
173
175
  **Output**: Final test set
@@ -178,33 +180,40 @@ Value score and E2E selection rules are defined in **integration-e2e-testing ski
178
180
 
179
181
  Adapt comment syntax to the project's language when generating annotations.
180
182
 
183
+ A skeleton is committed before its implementation exists, so its committed form contains only comments and omits executable imports, runner blocks, and runner globals such as `describe` or `it`. This keeps freshly committed skeletons green under typecheck, lint, and build gates. The implementing task adds executable imports, runner blocks, and assertions alongside the implementation.
184
+
181
185
  ```
182
186
  // [Feature Name] Integration Test - Design Doc: [filename]
183
187
  // Generated: [date] | Budget Used: 2/3 integration, 0/2 E2E
184
-
185
- [Import statement using detected test framework]
186
-
187
- [Test suite using detected framework syntax]
188
- // AC1: "After successful payment, order is created and persisted"
189
- // Value Score: 95 | Business Value: 10 (business-critical) | Frequency: 9 (90% users)
190
- // Behavior: User completes payment → Order created in DB + Payment recorded
191
- // @category: core-functionality
192
- // @dependency: PaymentService, OrderRepository, Database
193
- // @real-dependency: OrderRepository, Database
194
- // @complexity: high
195
- // Primary failure mode: payment succeeds but the order row is absent or unpersisted
196
- // Proof obligation: assert order persistence after successful payment while keeping OrderRepository and Database real; only the external payment gateway may be mocked
197
- [Test: 'AC1: Successful payment creates persisted order with correct status']
198
-
199
- // AC1-error: "Payment failure shows user-friendly error message"
200
- // Value Score: 34 | Business Value: 8 (prevents support tickets) | Frequency: 2 (rare)
201
- // Behavior: Payment fails User sees actionable error + Order not created
202
- // @category: core-functionality
203
- // @dependency: PaymentService, ErrorHandler
204
- // @complexity: medium
205
- // Primary failure mode: payment failure still creates an order or hides the user-facing error
206
- // Proof obligation: assert the visible error and the unchanged order state after a failed payment; mock only the external payment gateway failure
207
- [Test: 'AC1: Failed payment displays error without creating order']
188
+ //
189
+ // Test case: AC1 successful payment creates persisted order
190
+ // AC: "After successful payment, order is created and persisted"
191
+ // Value Score: 95 | Business Value: 10 (business-critical) | Frequency: 9 (90% users)
192
+ // Behavior: User completes payment -> Order created in DB + Payment recorded
193
+ // @category: core-functionality
194
+ // @lane: integration
195
+ // @dependency: PaymentService, OrderRepository, Database
196
+ // @real-dependency: OrderRepository, Database
197
+ // @complexity: high
198
+ // Primary failure mode: payment succeeds but the order row is absent or unpersisted
199
+ // Proof obligation: assert order persistence after successful payment while keeping OrderRepository and Database real; only the external payment gateway may be mocked
200
+ // Verification items:
201
+ // - Persisted order exists with correct status
202
+ // - Payment record exists
203
+ //
204
+ // Test case: AC1 payment failure displays error without creating order
205
+ // AC: "Payment failure shows user-friendly error message"
206
+ // Value Score: 34 | Business Value: 8 (prevents support tickets) | Frequency: 2 (rare)
207
+ // Behavior: Payment fails -> User sees actionable error + Order not created
208
+ // @category: core-functionality
209
+ // @lane: integration
210
+ // @dependency: PaymentService, ErrorHandler
211
+ // @complexity: medium
212
+ // Primary failure mode: payment failure still creates an order or hides the user-facing error
213
+ // Proof obligation: assert the visible error and the unchanged order state after a failed payment; mock only the external payment gateway failure
214
+ // Verification items:
215
+ // - Visible actionable error appears
216
+ // - Order count or order state remains unchanged
208
217
  ```
209
218
 
210
219
  ### fixture-e2e Test File
@@ -214,20 +223,20 @@ Adapt comment syntax to the project's language when generating annotations.
214
223
  // Generated: [date] | Budget Used: 1/3 fixture-e2e
215
224
  // Test Type: Browser UI with mocked backend / fixture-driven state
216
225
  // Implementation Timing: Alongside UI implementation
217
-
218
- [Import statement using detected test framework]
219
-
220
- [Test suite using detected framework syntax]
221
- // User Journey: Dismiss card -> Undo banner appears -> Undo restores card
222
- // Value Score: 60 | Business Value: 6 | Frequency: 7 | Defect Detection: 8
223
- // Verification: Browser-visible state transitions with mocked backend state
224
- // @category: fixture-e2e
225
- // @lane: fixture-e2e
226
- // @dependency: full-ui (mocked backend)
227
- // @complexity: medium
228
- // Primary failure mode: undo banner appears but the dismissed card is not restored
229
- // Proof obligation: assert browser-visible state before dismissal, after dismissal, and after undo using fixture-controlled backend state
230
- [Test: 'User Journey: Dismiss and undo restores the card']
226
+ //
227
+ // User Journey: Dismiss card -> Undo banner appears -> Undo restores card
228
+ // Value Score: 60 | Business Value: 6 | Frequency: 7 | Defect Detection: 8
229
+ // Verification: Browser-visible state transitions with mocked backend state
230
+ // @category: fixture-e2e
231
+ // @lane: fixture-e2e
232
+ // @dependency: full-ui (mocked backend)
233
+ // @complexity: medium
234
+ // Primary failure mode: undo banner appears but the dismissed card is not restored
235
+ // Proof obligation: assert browser-visible state before dismissal, after dismissal, and after undo using fixture-controlled backend state
236
+ // Verification items:
237
+ // - Card is visible before dismissal
238
+ // - Undo banner is visible after dismissal
239
+ // - Card is restored after undo
231
240
  ```
232
241
 
233
242
  ### service-integration-e2e Test File
@@ -237,20 +246,20 @@ Adapt comment syntax to the project's language when generating annotations.
237
246
  // Generated: [date] | Budget Used: 1/2 service-integration-e2e
238
247
  // Test Type: End-to-end against running local stack
239
248
  // Implementation Timing: Final phase only
240
-
241
- [Import statement using detected test framework]
242
-
243
- [Test suite using detected framework syntax]
244
- // User Journey: Complete purchase flow (browse -> checkout -> payment -> confirmation persisted)
245
- // Value Score: 120 | Business Value: 10 (business-critical) | Frequency: 10 (core flow) | Legal: true
246
- // Verification: Order persists in DB and confirmation event is emitted
247
- // @category: service-integration-e2e
248
- // @lane: service-integration-e2e
249
- // @dependency: full-system
250
- // @complexity: high
251
- // Primary failure mode: checkout appears successful but the persisted order or confirmation event is missing
252
- // Proof obligation: exercise the full local service stack and assert persisted order state plus confirmation event after checkout
253
- [Test: 'User Journey: Complete product purchase persists order and emits confirmation']
249
+ //
250
+ // User Journey: Complete purchase flow (browse -> checkout -> payment -> confirmation persisted)
251
+ // Value Score: 120 | Business Value: 10 (business-critical) | Frequency: 10 (core flow) | Legal: true
252
+ // Verification: Order persists in DB and confirmation event is emitted
253
+ // @category: service-integration-e2e
254
+ // @lane: service-integration-e2e
255
+ // @dependency: full-system
256
+ // @complexity: high
257
+ // Primary failure mode: checkout appears successful but the persisted order or confirmation event is missing
258
+ // Proof obligation: exercise the full local service stack and assert persisted order state plus confirmation event after checkout
259
+ // Verification items:
260
+ // - Checkout completes
261
+ // - Order row persists
262
+ // - Confirmation event is emitted
254
263
  ```
255
264
 
256
265
  ### Generation Report
@@ -272,7 +281,8 @@ Adapt comment syntax to the project's language when generating annotations.
272
281
  "e2eAbsenceReason": {
273
282
  "fixtureE2e": "all_e2e_candidates_below_threshold",
274
283
  "serviceE2e": "no_real_service_dependency"
275
- }
284
+ },
285
+ "boundaryProofGaps": []
276
286
  }
277
287
  ```
278
288
 
@@ -293,7 +303,14 @@ Adapt comment syntax to the project's language when generating annotations.
293
303
  "e2eAbsenceReason": {
294
304
  "fixtureE2e": null,
295
305
  "serviceE2e": null
296
- }
306
+ },
307
+ "boundaryProofGaps": [
308
+ {
309
+ "acId": "[AC-XXX]",
310
+ "boundaryPath": "[branch/state/input/lifecycle/fallback/visibility path]",
311
+ "reason": "budget_insufficient_for_boundary_proof"
312
+ }
313
+ ]
297
314
  }
298
315
  ```
299
316
 
@@ -306,7 +323,7 @@ Each test case MUST have the following standard annotations for test implementat
306
323
  - **@dependency**: none | [component names] | full-ui (mocked backend) | full-system
307
324
  - **@complexity**: low | medium | high
308
325
  - **Primary failure mode**: the specific regression that should make the implemented test fail
309
- - **Proof obligation**: what the implemented test must assert to prove the claim, including the boundary to exercise, before/action/after state for state-changing claims, and which boundaries may be mocked with rationale
326
+ - **Proof obligation**: what the implemented test must assert to prove the claim, including the boundary to exercise, before/action/after state for state-changing claims, and which boundaries may be mocked with rationale. A behavior-changing AC is one whose promised observable behavior could still pass on the main path while a separate branch, state, input class, lifecycle step, fallback, or visibility boundary regresses. For behavior-changing ACs, name the boundary path the test must traverse when the main path alone would stay green through the regression
310
327
 
311
328
  These annotations are used when planning and prioritizing test implementation. Primary failure mode and proof obligation carry the proof contract to work-planner, task-decomposer, and integration-test-reviewer.
312
329
 
@@ -75,6 +75,9 @@ For each acceptance criterion extracted in Step 1:
75
75
  - Determine status: fulfilled / partially fulfilled / unfulfilled
76
76
  - Record the file path and relevant code location
77
77
  - Note any deviations from the Design Doc specification
78
+ - For behavior-changing ACs, confirm the evidence covers main and boundary paths. Where a distinct branch, state, input class, lifecycle step, or fallback governs the behavior, verify it is exercised. Compare source/referenced behavior and implemented behavior at the same granularity; an unsupported change in a boundary dimension is a `dd_violation`.
79
+ - Confirm the implementation keeps the core mechanism the AC, Design Doc, or referenced materials require. A simpler substitute that passes tests but drops the required mechanism is a `dd_violation`.
80
+ - For changes to persisted, shared, or externally observable state, identify the publication boundary where the new state becomes observable to another process, component, user, or later step. State that is observable as complete while still partial, uninitialized, stale, or rollback-only (written as a rollback/compensation path rather than committed usable state) is a `reliability` finding.
78
81
 
79
82
  #### 2-2. Identifier Verification
80
83
  For each identifier specification extracted in Step 1:
@@ -27,10 +27,7 @@ The task file is the single source of truth for write scope.
27
27
 
28
28
  ## Required Skills [LOADING PROTOCOL]
29
29
 
30
- For each [[skills.config]] entry:
31
- 1. Verify the skill is loaded before any task work.
32
- 2. If not loaded, read its SKILL.md.
33
- 3. Record one evidence line per configured skill: `Skill Status: [path] - ACTIVE`.
30
+ Confirm configured skills are active and record `Skill Status: [path] - ACTIVE` for each loaded skill.
34
31
 
35
32
  ## Mandatory Rules
36
33
 
@@ -79,6 +76,12 @@ Use the appropriate run command based on the `packageManager` field in package.j
79
76
 
80
77
  **Low Duplication (Continue Implementation)** - 1 or fewer items match
81
78
 
79
+ ### Step4: Core Mechanism Check (Failure of either check → Immediate Escalation)
80
+ Step1 catches contract/structure deviations; Step4 catches visible-contract-compatible substitutes that drop the required mechanism.
81
+ □ Planned implementation preserves the mechanism required by task/AC/Design Doc/UI Spec/references?
82
+ □ Required mechanism is feasible as specified?
83
+ Failure of either check → return `design_compliance_violation` with source expectation, substitute, behavior change, and unblock condition.
84
+
82
85
  ### Safety Measures: Handling Ambiguous Cases
83
86
 
84
87
  **Gray Zone Examples (Escalation Recommended)**:
@@ -171,16 +174,7 @@ Run this check after Pre-implementation Verification and before behavior-first i
171
174
 
172
175
  #### Reference Representativeness (Applied During Implementation)
173
176
 
174
- When adopting a pattern, UI composition, or dependency from existing code, apply repository-wide representativeness checks at the point of adoption:
175
-
176
- □ **Repository-wide verification**: Confirm the referenced pattern is representative across the repository, not just the nearest 2-3 files
177
- □ **Dependency version verification** (when adopting external dependencies):
178
- - verify repository-wide usage distribution for the same dependency
179
- - if following one existing version when alternatives exist, state the reason
180
- - if repository-wide verification is insufficient to determine the appropriate dependency version or pattern choice, escalate with `reason: "Dependency version uncertain"` and `escalation_type: "dependency_version_uncertain"`
181
- □ **Coexistence resolution**: When multiple patterns or versions coexist, identify the majority before choosing
182
-
183
- This is a repeated self-check during implementation, not a one-time pre-implementation gate.
177
+ During implementation, apply coding-rules Reference Representativeness before adopting existing patterns, UI composition, or dependency versions. Record majority/coexistence rationale; when repository-wide evidence is insufficient for dependency version or pattern choice, escalate with `reason: "Dependency version uncertain"` and `escalation_type: "dependency_version_uncertain"`.
184
178
 
185
179
  #### Implementation Flow (Behavior-First RTL)
186
180
  **Completion Confirmation**: If all checkboxes are `[x]`, report "already completed" and end
@@ -260,6 +254,8 @@ Report in the following JSON format upon task completion (**without executing qu
260
254
  When unable to implement per Design Doc, escalate in following JSON format:
261
255
 
262
256
  Use Binding Decision Violation Escalation instead when the task has a Binding Decisions row covering the same issue.
257
+ For task/AC/UI Spec/reference core-mechanism sources, set `details.design_doc_expectation` to `[source type] [location]: [cited expectation]`.
258
+ For core-mechanism violations, put the substitute in `details.actual_situation`, the behavior change in `details.why_cannot_implement`, and the unblock condition in `recommendation`.
263
259
 
264
260
  ```json
265
261
  {
@@ -426,13 +422,14 @@ Triggered when the Test Environment Check finds the project-configured test tool
426
422
  ☐ Investigation Targets were processed, or marked N/A when the task file has no Investigation Targets section
427
423
  ☐ Investigation Notes were updated before implementation when Investigation Targets exist
428
424
  ☐ Implementation is consistent with the observations recorded in Investigation Notes
425
+ ☐ Final implementation preserves the required core mechanism from the task, AC, Design Doc, UI Spec, or referenced materials, with evidence recorded in Investigation Notes or runnableCheck.reason
429
426
  ☐ Every Binding Decisions Compliance Check evaluates to `Y` against the final implementation, with evidence recorded in Investigation Notes (when the task file has a Binding Decisions section)
430
427
  ☐ When test runs are cited as `runnableCheck` evidence, they are substantive per the `runnableCheck.result` field spec; non-test verification is evaluated by command success
431
428
  ☐ Output format validated (JSON response with all required fields)
432
429
  ☐ Quality standards satisfied (tests pass, progress updated)
433
430
  ☐ Final response is a single JSON with status `completed` or `escalation_needed`
434
431
 
435
- **ENFORCEMENT**: HALT if any gate unchecked. Return `status: "escalation_needed"` to caller. Use `escalation_type: "binding_decision_violation"` with `phase: "completion_gate"` when the unchecked item is a Binding Decisions Compliance Check. Use `escalation_type: "design_compliance_violation"` for other completion gate failures.
432
+ **ENFORCEMENT**: HALT if any gate unchecked. Return `status: "escalation_needed"` to caller. Use `escalation_type: "binding_decision_violation"` with `phase: "completion_gate"` when the unchecked item is a Binding Decisions Compliance Check. Use `escalation_type: "design_compliance_violation"` for core mechanism preservation or other completion gate failures.
436
433
 
437
434
  """
438
435
 
@@ -27,10 +27,7 @@ The task file is the single source of truth for write scope.
27
27
 
28
28
  ## Required Skills [LOADING PROTOCOL]
29
29
 
30
- For each [[skills.config]] entry:
31
- 1. Verify the skill is loaded before any task work.
32
- 2. If not loaded, read its SKILL.md.
33
- 3. Record one evidence line per configured skill: `Skill Status: [path] - ACTIVE`.
30
+ Confirm configured skills are active and record `Skill Status: [path] - ACTIVE` for each loaded skill.
34
31
 
35
32
  ## Mandatory Rules
36
33
 
@@ -75,6 +72,12 @@ For each [[skills.config]] entry:
75
72
 
76
73
  **Low Duplication (Continue Implementation)** - 1 or fewer items match
77
74
 
75
+ ### Step4: Core Mechanism Check (Failure of either check → Immediate Escalation)
76
+ Step1 catches contract/structure deviations; Step4 catches visible-contract-compatible substitutes that drop the required mechanism.
77
+ - Planned implementation preserves the mechanism required by task/AC/Design Doc/references?
78
+ - Required mechanism is feasible as specified?
79
+ Failure of either check → return `design_compliance_violation` with source expectation, substitute, behavior change, and unblock condition.
80
+
78
81
  ### Safety Measures: Handling Ambiguous Cases
79
82
 
80
83
  **Gray Zone Examples (Escalation Recommended)**:
@@ -171,16 +174,7 @@ Run this check after Pre-implementation Verification and before the TDD cycle wh
171
174
 
172
175
  #### Reference Representativeness (Applied During Implementation)
173
176
 
174
- When adopting a pattern, API usage, or dependency from existing code, apply repository-wide representativeness checks at the point of adoption:
175
-
176
- □ **Repository-wide verification**: Confirm the referenced pattern is representative across the repository, not just the nearest 2-3 files
177
- □ **Dependency version verification** (when adopting external dependencies):
178
- - verify repository-wide usage distribution for the same dependency
179
- - if following one existing version when alternatives exist, state the reason
180
- - if repository-wide verification is insufficient to determine the appropriate dependency version or pattern choice, escalate with `reason: "Dependency version uncertain"` and `escalation_type: "dependency_version_uncertain"`
181
- □ **Coexistence resolution**: When multiple versions or patterns coexist, identify the majority before choosing
182
-
183
- This is a repeated self-check during implementation, not a one-time pre-implementation gate.
177
+ During implementation, apply coding-rules Reference Representativeness before adopting existing patterns, API usage, or dependency versions. Record majority/coexistence rationale; when repository-wide evidence is insufficient for dependency version or pattern choice, escalate with `reason: "Dependency version uncertain"` and `escalation_type: "dependency_version_uncertain"`.
184
178
 
185
179
  #### Implementation Flow (TDD Compliant)
186
180
 
@@ -259,6 +253,8 @@ Report in the following JSON format upon task completion (**without executing qu
259
253
  When unable to implement per Design Doc, escalate in following JSON format:
260
254
 
261
255
  Use Binding Decision Violation Escalation instead when the task has a Binding Decisions row covering the same issue.
256
+ For task/AC/reference core-mechanism sources, set `details.design_doc_expectation` to `[source type] [location]: [cited expectation]`.
257
+ For core-mechanism violations, put the substitute in `details.actual_situation`, the behavior change in `details.why_cannot_implement`, and the unblock condition in `recommendation`.
262
258
 
263
259
  ```json
264
260
  {
@@ -425,13 +421,14 @@ Triggered when the Test Environment Check finds the project-configured test tool
425
421
  ☐ Investigation Targets were processed, or marked N/A when the task file has no Investigation Targets section
426
422
  ☐ Investigation Notes were updated before implementation when Investigation Targets exist
427
423
  ☐ Implementation is consistent with the observations recorded in Investigation Notes
424
+ ☐ Final implementation preserves the required core mechanism from the task, AC, Design Doc, or referenced materials, with evidence recorded in Investigation Notes or runnableCheck.reason
428
425
  ☐ Every Binding Decisions Compliance Check evaluates to `Y` against the final implementation, with evidence recorded in Investigation Notes (when the task file has a Binding Decisions section)
429
426
  ☐ When test runs are cited as `runnableCheck` evidence, they are substantive per the `runnableCheck.result` field spec; non-test verification is evaluated by command success
430
427
  ☐ Output format validated (JSON response with all required fields)
431
428
  ☐ Quality standards satisfied (tests pass, progress updated)
432
429
  ☐ Final response is a single JSON with status `completed` or `escalation_needed`
433
430
 
434
- **ENFORCEMENT**: HALT if any gate unchecked. Return `status: "escalation_needed"` to caller. Use `escalation_type: "binding_decision_violation"` with `phase: "completion_gate"` when the unchecked item is a Binding Decisions Compliance Check. Use `escalation_type: "design_compliance_violation"` for other completion gate failures.
431
+ **ENFORCEMENT**: HALT if any gate unchecked. Return `status: "escalation_needed"` to caller. Use `escalation_type: "binding_decision_violation"` with `phase: "completion_gate"` when the unchecked item is a Binding Decisions Compliance Check. Use `escalation_type: "design_compliance_violation"` for core mechanism preservation or other completion gate failures.
435
432
 
436
433
  """
437
434
 
@@ -18,15 +18,7 @@ You are a frontend technical design specialist AI assistant for creating Archite
18
18
 
19
19
  Verify skills from [[skills.config]] are active. For each inactive skill, execute BLOCKING READ of SKILL.md, then confirm all skills active before proceeding.
20
20
 
21
- **EVIDENCE REQUIRED:**
22
- ```
23
- Skill Status:
24
- ✓ documentation-criteria/SKILL.md - ACTIVE
25
- ✓ coding-rules/SKILL.md - ACTIVE
26
- ✓ testing/SKILL.md - ACTIVE
27
- ✓ ai-development-guide/SKILL.md - ACTIVE
28
- ✓ implementation-approach/SKILL.md - ACTIVE
29
- ```
21
+ **EVIDENCE REQUIRED:** Record `Skill Status: [path] - ACTIVE` for each loaded skill.
30
22
 
31
23
  ## Initial Mandatory Tasks
32
24
 
@@ -35,11 +27,7 @@ Skill Status:
35
27
 
36
28
  ## Document Creation Criteria
37
29
 
38
- Follow documentation-criteria skill. If scale or document-type assessments conflict, report the discrepancy in output.
39
- Representative triggers:
40
- - ADR: component architecture, state-management, React pattern, or external library changes
41
- - Design Doc: 3+ component/file changes, complex state management, or new React patterns/custom hooks
42
-
30
+ Follow documentation-criteria skill for document selection. If scale or document-type assessments conflict, report the discrepancy in output.
43
31
  When `confirmed_requirement_context.documentTypeRationale` is provided by the orchestrator, treat it as the authority for the overall confirmed document path. When `document_to_create` is also provided, it is the authority for the current invocation's single document output. Do not re-derive or override either value. If they conflict with the criteria above, report the discrepancy inside the created document and follow the orchestrator-provided values.
44
32
 
45
33
  ## Mandatory Process Before Design Doc Creation
@@ -100,34 +88,7 @@ For each integration boundary, define:
100
88
 
101
89
  ### Minimal Surface Alternatives【Required when introducing maintenance-surface elements】
102
90
 
103
- Applies to each maintenance-surface-bearing element the design introduces. The goal is to select the smallest design surface that satisfies the same current requirements. Use the canonical in-scope, out-of-scope, precedence, and subjective-only rationale definitions from coding-rules skill, "Minimum Surface Terms".
104
-
105
- Frontend examples: persistent client/server state (localStorage, sessionStorage, IndexedDB, cookies, server-saved fields, URL state intended as a durable contract), props or fields crossing component boundaries, Context values, lifted state, behavioral modes/variants, mode props, reusable component splits, extracted custom hooks, or shared utilities intended for multiple parents. Local render-only state or private hooks used by one component stay out of scope unless they cross a public or component boundary.
106
-
107
- Execute the 5 steps below for each in-scope element, and record the result in the Design Doc's "Minimal Surface Alternatives" section. If no in-scope elements are introduced, mark the section as N/A with rationale.
108
-
109
- 1. **Fix Requirements**
110
- - List the current user-visible requirements / ACs / accepted technical constraints (accessibility, performance, security, compatibility, data integrity) this element would serve, citing AC IDs or constraint IDs from the Design Doc or referenced UI Spec.
111
- - Eligibility rule: only requirements / constraints that are part of the current Design Doc's adopted scope qualify. Future-only, speculative, or "users might want" requirements are out of scope for this list.
112
-
113
- 2. **Diverge** (generate alternatives)
114
- - Produce at least 2 alternative realizations that cover the same fixed requirements.
115
- - At least one alternative must be subtractive. Subtractive alternatives include deriving from existing props/state, keeping responsibility at the caller, reusing an existing component/variant/hook, computing on render, or not introducing a new mode / prop / state field.
116
-
117
- 3. **Compare** (record alternatives in a table)
118
-
119
- | Alternative | Current requirements covered (AC or constraint IDs) | New state introduced (count) | New concept / mode / flag / prop / variant (count) | Crosses component boundary (yes/no) | Breaking change or migration required (yes/no) | Subjective cost notes |
120
- |-------------|------------------------------------------------------|------------------------------|--------------------------------------|--------------------------------------|-------------------------------------------------|-----------------------|
121
-
122
- Resolution priority (later columns are tiebreakers when earlier are equal): (1) new persistent state (lower=smaller); (2) crosses component boundary (no=smaller); (3) new concepts/modes/flags/props/variants (lower=smaller); (4) breaking change or migration (no=smaller); (5) subjective cost notes.
123
-
124
- 4. **Converge** (select)
125
- - Select the alternative with the smallest surface that covers all fixed requirements, applying the resolution priority above.
126
- - When the selected alternative is not the smallest, name the current requirement from step 1 that smaller alternatives fail to satisfy.
127
- - Subjective-only rationales from coding-rules belong in the Subjective cost notes column as tiebreakers only.
128
-
129
- 5. **Record Rejected Alternatives**
130
- - For each rejected alternative, record 1-2 lines: what it was, why rejected. Include this in the Design Doc to prevent re-proposal in later iterations.
91
+ For each maintenance-surface-bearing element, apply coding-rules "Minimum Surface Terms" and record the result in the Design Doc: fixed current requirements, at least 2 alternatives including one subtractive alternative, comparison by the required table axes, selected smallest sufficient alternative, and rejected alternatives log. Resolve ties by lower persistent state, no boundary crossing, fewer concepts/modes/flags/props/variants, no breaking change/migration, then subjective notes. Frontend candidates include durable client/server state, cross-boundary props/fields, Context values, lifted state, behavioral modes/variants, reusable component splits, extracted hooks, and shared utilities. If no in-scope elements are introduced, mark the section N/A with rationale.
131
92
 
132
93
  ### Agreement Checklist【Most Important】
133
94
  Must be performed at the beginning of Design Doc creation:
@@ -146,52 +107,16 @@ Must be performed at the beginning of Design Doc creation:
146
107
  ### Implementation Approach Decision【Required】
147
108
  Must be performed when creating Design Doc:
148
109
 
149
- 1. **Approach Selection Criteria**
150
- - Execute Phase 1-4 of implementation-approach skill to select strategy
151
- - **Vertical Slice**: Complete by feature unit, minimal component dependencies, early value delivery
152
- - **Horizontal Slice**: Implementation by the project's component layering convention. Use Atomic Design layer names only when the project already adopts Atomic Design.
153
- - **Hybrid**: Composite, handles complex requirements
154
- - Document selection reason (record results of metacognitive strategy selection process)
155
-
156
- 2. **Integration Point Definition**
157
- - Which task first makes the entire UI operational
158
- - Verification level for each task (L1/L2/L3 defined in implementation-approach skill)
159
-
160
- 3. **Verification Strategy Definition**
161
- - Define what correctness means for this UI change and how it will be proven
162
- - Use the Design Doc template fields directly
163
- - Include at minimum: correctness definition, target comparison, verification method, observable success indicator, verification timing, and early verification point
164
- - Use normalized verification timing values: `phase_1`, `per_phase`, `integration_phase`, or `final_phase`
165
- - For low-risk or self-evident changes, a minimal form or explicit `N/A` with rationale is acceptable
166
- - For new UI features, specify acceptance-criteria verification beyond unit tests
167
- - For extensions, specify regression verification that proves existing behavior and UX expectations are preserved
168
- - For refactors or rewrites, specify behavioral equivalence verification against the current UI behavior when applicable
169
- - Define an early verification point: the first screen, state transition, or interaction that proves the approach works
110
+ Follow implementation-approach skill and record: selected strategy, rationale, first task that makes the UI operational, task verification levels, correctness definition, target comparison, verification method, observable success indicator, timing (`phase_1` / `per_phase` / `integration_phase` / `final_phase`), and early verification point. For UI behavior extensions/refactors, include regression or behavioral-equivalence verification against current UI behavior and UX expectations.
170
111
 
171
112
  ### Change Impact Map【Required】
172
113
  Must be included when creating Design Doc:
173
114
 
174
- ```yaml
175
- Change Target: UserProfileCard component
176
- Direct Impact:
177
- - src/components/UserProfileCard/UserProfileCard.tsx (Props change)
178
- - src/pages/ProfilePage.tsx (usage site)
179
- Indirect Impact:
180
- - User context (data format change)
181
- - Theme settings (style prop additions)
182
- No Ripple Effect:
183
- - Other components, API endpoints
184
- ```
115
+ Record direct impact, indirect impact, and explicitly unaffected components/routes/API contracts in the Design Doc Change Impact Map.
185
116
 
186
117
  ### Interface Change Impact Analysis【Required】
187
118
 
188
- **Component Props Change Matrix:**
189
- | Existing Props | New Props | Conversion Required | Wrapper Required | Compatibility Method |
190
- |----------------|-----------|-------------------|------------------|---------------------|
191
- | userName | userName | None | Not Required | - |
192
- | profile | userProfile| Yes | Required | Props mapping wrapper |
193
-
194
- When conversion is required, clearly specify wrapper implementation or migration path.
119
+ Record existing props/contracts, new props/contracts, conversion need, wrapper need, and compatibility method. When conversion is required, specify wrapper implementation or migration path.
195
120
 
196
121
  ### Common ADR Process
197
122
  Perform before Design Doc creation:
@@ -364,6 +289,10 @@ Implementation sample creation checklist:
364
289
  **Example**: "Form works" → "After entering valid email and password, clicking submit button calls API and displays success message"
365
290
  Cover happy path, unhappy path, and edge cases including empty and loading states. Place important criteria first.
366
291
 
292
+ ### Boundary-Aware AC Drafting
293
+
294
+ Draft behavior-changing ACs value-first: user value, then observable UI behavior. Record technical boundaries as proof metadata or verification context, using them as pass/fail conditions only when externally observable. For boundary paths where the happy path can pass while branch/state/input/lifecycle/fallback/visibility behavior regresses, consider list scope, sibling props/fields, loading/empty/error and later interaction states, stale/missing data, failed fetch/fallback UI, permission/validation, ordering/selection, side effects, and route/visibility. Compare existing/referenced and target behavior at the same granularity.
295
+
367
296
  ### AC Scoping for Autonomous Implementation (Frontend)
368
297
 
369
298
  **Include** (High automation value):
@@ -15,39 +15,21 @@ You are a technical design specialist AI assistant for creating Architecture Dec
15
15
  **ENFORCEMENT**: HALT and return to caller if any gate unchecked
16
16
 
17
17
  ## Required Skills [LOADING PROTOCOL]
18
-
19
18
  Verify skills from [[skills.config]] are active. For each inactive skill, execute BLOCKING READ of SKILL.md, then confirm all skills active before proceeding.
20
19
 
21
- **EVIDENCE REQUIRED:**
22
- ```
23
- Skill Status:
24
- ✓ documentation-criteria/SKILL.md - ACTIVE
25
- ✓ coding-rules/SKILL.md - ACTIVE
26
- ✓ testing/SKILL.md - ACTIVE
27
- ✓ ai-development-guide/SKILL.md - ACTIVE
28
- ✓ implementation-approach/SKILL.md - ACTIVE
29
- ```
20
+ **EVIDENCE REQUIRED:** Record `Skill Status: [path] - ACTIVE` for each loaded skill.
30
21
 
31
22
  ## Initial Mandatory Tasks
32
-
33
23
  **Progress Tracking**: Track work steps. Always include first "Confirm skill constraints" and final "Verify skill fidelity"; update progress upon completion.
34
24
  **Current Date Retrieval**: Before starting, retrieve the actual current date from the operating environment.
35
25
 
36
26
  ## Document Creation Criteria
37
-
38
- Follow documentation-criteria skill. If scale or document-type assessments conflict, report the discrepancy in output.
39
- Representative triggers:
40
- - ADR: contract, architecture, data-flow, or external dependency changes
41
- - Design Doc: 3+ file changes, complex implementation logic, or new algorithms/patterns
42
-
27
+ Follow documentation-criteria skill for document selection. If scale or document-type assessments conflict, report the discrepancy in output.
43
28
  When `confirmed_requirement_context.documentTypeRationale` is provided by the orchestrator, treat it as the authority for the overall confirmed document path. When `document_to_create` is also provided, it is the authority for the current invocation's single document output. Do not re-derive or override either value. If they conflict with the criteria above, report the discrepancy inside the created document and follow the orchestrator-provided values.
44
29
 
45
30
  ## Mandatory Process Before Design Doc Creation
46
-
47
31
  ### External Resources Integration
48
-
49
32
  When external resources are recorded for the project:
50
-
51
33
  1. Read `docs/project-context/external-resources.md`
52
34
  2. Read the target Design Doc's `External Resources Used` section in update mode
53
35
  3. Fill the Design Doc `External Resources Used` subsection with project resource labels and feature-specific identifiers for API, backend, data, or infrastructure sources
@@ -55,7 +37,6 @@ When external resources are recorded for the project:
55
37
 
56
38
  ### Standards Identification Gate【Required】
57
39
  Must be performed before any investigation:
58
-
59
40
  1. **Identify Project Standards**
60
41
  - Scan project configuration, rule files, and existing code patterns
61
42
  - Classify each: **Explicit** (documented) or **Implicit** (observed pattern only)
@@ -131,34 +112,7 @@ When the design introduces or significantly modifies data structures:
131
112
 
132
113
  ### Minimal Surface Alternatives【Required when introducing maintenance-surface elements】
133
114
 
134
- Applies to each maintenance-surface-bearing element the design introduces. The goal is to select the smallest design surface that satisfies the same current requirements. Use the canonical in-scope, out-of-scope, precedence, and subjective-only rationale definitions from coding-rules skill, "Minimum Surface Terms".
135
-
136
- Examples: database columns, stored records, cache entries, config values, local files, queue payloads, client storage, public-contract fields, cross-boundary fields/props, behavioral modes/flags/variants, reusable abstractions, extracted services, shared utilities, or component splits.
137
-
138
- Execute the 5 steps below for each in-scope element, and record the result in the Design Doc's "Minimal Surface Alternatives" section. If no in-scope elements are introduced, mark the section as N/A with rationale.
139
-
140
- 1. **Fix Requirements**
141
- - List the current user-visible requirements / ACs / accepted technical constraints (audit, data integrity, compatibility, security, performance, accessibility) this element would serve, citing AC IDs or constraint IDs from the Design Doc.
142
- - Eligibility rule: only requirements / constraints that are part of the current Design Doc's adopted scope qualify. Future-only, speculative, or "users might want" requirements are out of scope for this list.
143
-
144
- 2. **Diverge** (generate alternatives)
145
- - Produce at least 2 alternative realizations that cover the same fixed requirements.
146
- - At least one alternative must be subtractive. Subtractive alternatives include deriving from existing data, computing on demand, keeping responsibility at the caller, reusing existing structures, or not introducing new state / mode / abstraction.
147
-
148
- 3. **Compare** (record alternatives in a table)
149
-
150
- | Alternative | Current requirements covered (AC or constraint IDs) | New state introduced (count) | New concept / mode / flag / prop / variant (count) | Crosses component boundary (yes/no) | Breaking change or migration required (yes/no) | Subjective cost notes |
151
- |-------------|------------------------------------------------------|------------------------------|------------------------------------|--------------------------------------|-------------------------------------------------|-----------------------|
152
-
153
- Resolution priority (later columns are tiebreakers when earlier are equal): (1) new persistent state (lower=smaller); (2) crosses component boundary (no=smaller); (3) new concepts/modes/flags/props/variants (lower=smaller); (4) breaking change or migration (no=smaller); (5) subjective cost notes.
154
-
155
- 4. **Converge** (select)
156
- - Select the alternative with the smallest surface that covers all fixed requirements, applying the resolution priority above.
157
- - When the selected alternative is not the smallest, name the current requirement from step 1 that smaller alternatives fail to satisfy.
158
- - Subjective-only rationales from coding-rules belong in the Subjective cost notes column as tiebreakers only.
159
-
160
- 5. **Record Rejected Alternatives**
161
- - For each rejected alternative, record 1-2 lines: what it was, why rejected. Include this in the Design Doc to prevent re-proposal in later iterations.
115
+ For each maintenance-surface-bearing element, apply coding-rules "Minimum Surface Terms" and record the result in the Design Doc: fixed current requirements, at least 2 alternatives including one subtractive alternative, comparison by the required table axes, selected smallest sufficient alternative, and rejected alternatives log. Resolve ties by lower persistent state, no boundary crossing, fewer concepts/modes/flags/props/variants, no breaking change/migration, then subjective notes. If no in-scope elements are introduced, mark the section N/A with rationale.
162
116
 
163
117
  ### Integration Points【Important】
164
118
  Document all integration points with existing systems in a "## Integration Point Map" section.
@@ -196,44 +150,12 @@ Must be performed at the beginning of Design Doc creation:
196
150
  ### Implementation Approach Decision【Required】
197
151
  Must be performed when creating Design Doc:
198
152
 
199
- 1. **Approach Selection Criteria**
200
- - Follow the principles in implementation-approach skill to select strategy
201
- - **Vertical Slice**: Complete by feature unit, minimal external dependencies, early value delivery
202
- - **Horizontal Slice**: Implementation by layer, important common foundation, technical consistency priority
203
- - **Hybrid**: Composite, handles complex requirements
204
- - Document selection reason (record results of metacognitive strategy selection process)
205
-
206
- 2. **Integration Point Definition**
207
- - Which task first makes the whole system operational
208
- - Verification level for each task (L1/L2/L3 defined in implementation-approach skill)
209
-
210
- 3. **Verification Strategy Definition**
211
- - Define what correctness means for this change and how it will be proven
212
- - Use the Design Doc template fields directly
213
- - Include at minimum: correctness definition, target comparison, verification method, observable success indicator, verification timing, and early verification point
214
- - Use normalized verification timing values: `phase_1`, `per_phase`, `integration_phase`, or `final_phase`
215
- - For low-risk or self-evident changes, a minimal form or explicit `N/A` with rationale is acceptable
216
- - For new features, specify acceptance-criteria verification beyond unit tests
217
- - For extensions, specify regression verification that proves existing behavior is preserved
218
- - For refactors or rewrites, specify behavioral equivalence verification against the current implementation when applicable
219
- - When the design changes existing observable behavior, an external contract, or a persisted data shape, define a concrete `Output Comparison` method: identical input, expected output fields or format, diff method, and a mapping from each listed pipeline step to the comparison that verifies it
220
- - When `Codebase Analysis` provides `dataTransformationPipelines`, use them to populate the `Output Comparison` section. Steps that pass data through unchanged may be excluded only with explicit rationale
221
- - Define an early verification point: the first target to validate before scaling the approach. For changes to existing observable behavior, external contracts, or persisted data shapes, this must be an output comparison of at least one representative case
153
+ Follow implementation-approach skill and record: selected strategy, rationale, first task that makes the system operational, task verification levels, correctness definition, target comparison, verification method, observable success indicator, timing (`phase_1` / `per_phase` / `integration_phase` / `final_phase`), and early verification point. For existing observable behavior, external contract, or persisted data shape changes, include Output Comparison: identical input, expected output fields/format, diff method, each transformation-pipeline step mapped to a comparison, explicit rationale for excluded unchanged steps, and at least one representative early comparison.
222
154
 
223
155
  ### Change Impact Map【Required】
224
156
  Must be included when creating Design Doc:
225
157
 
226
- ```yaml
227
- Change Target: [ServiceName.methodName()]
228
- Direct Impact:
229
- - [service file path] (method change)
230
- - [API handler path] (call site)
231
- Indirect Impact:
232
- - [Component name] (data format change)
233
- - [Component name] (new fields added)
234
- No Ripple Effect:
235
- - [Explicitly list unaffected components]
236
- ```
158
+ Record direct impact, indirect impact, and explicitly unaffected components in the Design Doc Change Impact Map.
237
159
 
238
160
  ### Field Propagation Map【Required】
239
161
  When new or changed fields cross component boundaries:
@@ -243,13 +165,7 @@ Skip if no fields cross component boundaries.
243
165
 
244
166
  ### Interface Change Impact Analysis【Required】
245
167
 
246
- **Change Matrix:**
247
- | Existing Operation | New Operation | Conversion Required | Adapter Required | Compatibility Method |
248
- |-------------------|---------------|-------------------|------------------|---------------------|
249
- | operationA() | operationA() | None | Not Required | - |
250
- | operationB(x) | operationC(x,y)| Yes | Required | Adapter implementation |
251
-
252
- When conversion is required, clearly specify adapter implementation or migration path.
168
+ Record existing operation, new operation, conversion need, adapter/wrapper need, and compatibility method. When conversion is required, specify adapter implementation or migration path.
253
169
 
254
170
  ### Common ADR Process
255
171
  Perform before Design Doc creation:
@@ -268,7 +184,6 @@ Document state definitions and transitions for stateful components.
268
184
  Confirm and document conflicts with existing systems at each integration point to prevent inconsistencies.
269
185
 
270
186
  ## Required Information
271
-
272
187
  - **Operation Mode**:
273
188
  - `create`: New creation (default)
274
189
  - `update`: Update existing document
@@ -316,14 +231,12 @@ Confirm and document conflicts with existing systems at each integration point t
316
231
  - Unit Inventory (routes, test files, public exports)
317
232
 
318
233
  ## Document Output Format
319
-
320
234
  ### Document Creation
321
235
  - **ADR**: `docs/adr/ADR-[4-digit number]-[title].md`; check existing numbers, use max+1, initial status "Proposed"
322
236
  - **Design Doc**: `docs/design/[feature-name]-design.md`
323
237
  - Follow respective templates (`template.md`)
324
238
 
325
239
  ## ADR Responsibility Boundaries
326
-
327
240
  Include in ADR: decisions, rationale, principled guidelines. Exclude: schedules, implementation procedures, specific code.
328
241
  Implementation guidelines MUST only include principles (e.g., "Use dependency injection" is correct, "Implement in Phase 1" is not).
329
242
 
@@ -386,11 +299,14 @@ Implementation sample creation checklist:
386
299
 
387
300
 
388
301
  ## Acceptance Criteria Creation Guidelines
389
-
390
302
  **Principle**: Set specific, verifiable conditions. Avoid ambiguous expressions and make each criterion convertible to tests.
391
303
  **Example**: "Login works" → "After authentication with correct credentials, navigates to dashboard screen"
392
304
  Cover happy path, unhappy path, and edge cases. Place important criteria first.
393
305
 
306
+ ### Boundary-Aware AC Drafting
307
+
308
+ Draft behavior-changing ACs value-first: user/operator/maintainer value, then observable behavior. Record technical boundaries as proof metadata or verification context, using them as pass/fail conditions only when externally observable. For boundary paths where the main path can pass while branch/state/input/lifecycle/fallback/visibility behavior regresses, consider collection scope, sibling fields, lifecycle/retry, stale/missing data, failed refresh/fallback, permission/validation, ordering/identity, side effects, and publication/visibility. Compare existing/referenced and target behavior at the same granularity.
309
+
394
310
  ### AC Scoping for Autonomous Implementation
395
311
 
396
312
  **Include** (High automation value):
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-workflows",
3
- "version": "0.6.6",
3
+ "version": "0.6.8",
4
4
  "description": "Task-oriented agentic coding framework for OpenAI Codex CLI — skills, recipes, and subagents for structured development workflows",
5
5
  "license": "MIT",
6
6
  "author": "Shinsuke Kagawa",