codex-workflows 0.6.6 → 0.6.7

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.
@@ -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
@@ -272,7 +274,8 @@ Adapt comment syntax to the project's language when generating annotations.
272
274
  "e2eAbsenceReason": {
273
275
  "fixtureE2e": "all_e2e_candidates_below_threshold",
274
276
  "serviceE2e": "no_real_service_dependency"
275
- }
277
+ },
278
+ "boundaryProofGaps": []
276
279
  }
277
280
  ```
278
281
 
@@ -293,7 +296,14 @@ Adapt comment syntax to the project's language when generating annotations.
293
296
  "e2eAbsenceReason": {
294
297
  "fixtureE2e": null,
295
298
  "serviceE2e": null
296
- }
299
+ },
300
+ "boundaryProofGaps": [
301
+ {
302
+ "acId": "[AC-XXX]",
303
+ "boundaryPath": "[branch/state/input/lifecycle/fallback/visibility path]",
304
+ "reason": "budget_insufficient_for_boundary_proof"
305
+ }
306
+ ]
297
307
  }
298
308
  ```
299
309
 
@@ -306,7 +316,7 @@ Each test case MUST have the following standard annotations for test implementat
306
316
  - **@dependency**: none | [component names] | full-ui (mocked backend) | full-system
307
317
  - **@complexity**: low | medium | high
308
318
  - **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
319
+ - **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
320
 
311
321
  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
322
 
@@ -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.7",
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",