container-superposition 0.1.13 → 0.1.14-pr.176.30348783452

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,11 +50,11 @@ npx container-superposition regen
50
50
  # Or select the project file explicitly
51
51
  npx container-superposition regen --from-project
52
52
 
53
- # Non-interactive CLI example
54
- npx container-superposition init --stack compose --language nodejs --database postgres
53
+ # Reuse persisted project-file values without the questionnaire
54
+ npx container-superposition init --from-project --no-interactive
55
55
 
56
56
  # Write only superposition.yml without generating .devcontainer/
57
- npx container-superposition init --stack compose --language nodejs --no-scaffold
57
+ npx container-superposition init --stack compose --preset web-api --no-scaffold
58
58
 
59
59
  # Migrate a manifest-only repo to the project-file model
60
60
  npx container-superposition migrate
@@ -64,6 +64,7 @@ npx container-superposition migrate
64
64
 
65
65
  - Base templates: `plain` (single image) and `compose` (multi-service).
66
66
  - Overlays: add languages, databases, observability, cloud tools, dev tools.
67
+ - Catalogs: mix the built-in catalog with project-pinned private catalogs declared in `superposition.yml`.
67
68
  - Composition: merges overlays into a standard `.devcontainer/` you can edit freely.
68
69
  - Compose defaults: tool-owned compose port bindings are hard-rendered to final numeric host ports; `.devcontainer/.env` and `.devcontainer/.env.example` are opt-in artifacts only via `--compose-env-files` / `composeEnvFiles: true`.
69
70
  - Project config: `superposition.yml` (or `.superposition.yml`) is the **canonical input** for all
@@ -1,5 +1,9 @@
1
1
  # ADR Index
2
2
 
3
+ ## Working conventions
4
+
5
+ - New ADRs should start from `docs/adr/_adr_template.md`.
6
+
3
7
  | ADR | Title | Status | Summary |
4
8
  | ----------------------------------------------------------- | ------------------------------------------------------------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
5
9
  | [001](adr001-project-file-first-replay-and-regeneration.md) | Project-file-first replay and regeneration workflow | Proposed | Make repository project file canonical durable input for generation, replay, remediation, and migration workflows while keeping manifest as generated compatibility artifact. |
@@ -32,7 +32,7 @@ relationships: {}
32
32
 
33
33
  <!--
34
34
  ## Create an ADR
35
- 1. Copy `docs/adr/_template.md` to `docs/adr/adrXXX-my-decision.md` (assign ADR number when ready)
35
+ 1. Copy `docs/adr/_adr_template.md` to `docs/adr/adrXXX-my-decision.md` (assign ADR number when ready)
36
36
  1. Fill in the front matter YAML
37
37
  1. Keep the ADR focused on one architectural decision or one tightly-coupled decision set
38
38
  1. Read `docs/foundation.md` first and ensure the ADR aligns with or explicitly updates those baseline rules
@@ -0,0 +1,10 @@
1
+ # Agent / Skill Evals
2
+
3
+ Store representative historical tasks, trigger tests, output assertions, and baseline comparisons here.
4
+
5
+ Suggested contents:
6
+
7
+ - task corpus references
8
+ - per-skill eval notes
9
+ - workflow replay summaries
10
+ - keep / revise / delete decisions
@@ -1,40 +1,10 @@
1
1
  # Opportunity Backlog
2
2
 
3
- Last updated: 2026-07-23
3
+ Last updated: 2026-07-28
4
4
 
5
5
  ## Prioritized
6
6
 
7
- ### 1. Versioned private overlay and preset catalogs
8
-
9
- - **type**: feature
10
- - **status**: prioritized
11
- - **value summary**: Unlock the biggest strategic expansion path by letting platform teams publish, pin, and evolve private catalogs without forking the tool, while preserving deterministic project-file-driven replay.
12
- - **urgency**: Medium
13
- - **confidence**: Medium
14
- - **rough effort/risk**: High effort, High architecture/security risk
15
- - **evidence**:
16
- - Draft spec exists: `docs/specs/029-versioned-private-catalogs/spec.md`.
17
- - The spec identifies blocked platform-team outcomes today: central platform ownership, independent catalog release cadence, reproducible pinning, and explicit trust/upgrade workflows.
18
- - The spec also identifies cross-command impact across `init`, `regen`, `doctor`, `list`, `explain`, and schema-aware authoring.
19
- - The spec explicitly calls for a new ADR because the feature changes trust boundaries, registry resolution order, validation, and cache/materialization responsibilities.
20
- - **recommended next prompt or owner**: `/adr` for the catalog trust/resolution decision, then implementation planning against `docs/specs/029-versioned-private-catalogs/spec.md`.
21
-
22
- ### 2. Broaden repeatable compose overlays beyond PostgreSQL
23
-
24
- - **type**: feature
25
- - **status**: prioritized
26
- - **value summary**: Expand real stack-building capability by making more infrastructure overlays repeatable through the now-final named-instance contract, increasing overlay availability and customization power for compose users.
27
- - **urgency**: High
28
- - **confidence**: Medium-High
29
- - **rough effort/risk**: Medium effort, Medium risk
30
- - **evidence**:
31
- - `docs/specs/050-compose-overlay-instances/spec.md` is now `Final`, so the core object-form multi-instance contract is complete.
32
- - `docs/specs/051-repeatable-compose-overlay-rollout/spec.md` already defines a phased rollout and approves Phase 1A candidates: `redis`, `fuseki`, `sqlserver`, and `nats`.
33
- - The `051` audit explicitly separates low-risk Class A overlays from deferred dependency-bound or multi-service families.
34
- - Recent BDD and plan-output hardening reduced regression risk for follow-on user-visible overlay work.
35
- - **recommended next prompt or owner**: `/spec` or implementation handoff for `docs/specs/051-repeatable-compose-overlay-rollout/spec.md`.
36
-
37
- ### 3. Discovery surface clarity and canonical docs alignment
7
+ ### 1. Discovery surface clarity and canonical docs alignment
38
8
 
39
9
  - **type**: UX
40
10
  - **status**: prioritized
@@ -48,7 +18,7 @@ Last updated: 2026-07-23
48
18
  - `docs/roadmap.md` currently places this theme in `Now`.
49
19
  - **recommended next prompt or owner**: `/spec` or implementation handoff for `docs/specs/030-discovery-surface-and-docs-alignment/spec.md`.
50
20
 
51
- ### 4. Preset-led onboarding for common jobs-to-be-done
21
+ ### 2. Preset-led onboarding for common jobs-to-be-done
52
22
 
53
23
  - **type**: feature
54
24
  - **status**: candidate
@@ -62,7 +32,7 @@ Last updated: 2026-07-23
62
32
  - `docs/roadmap.md` currently places this theme in `Next`.
63
33
  - **recommended next prompt or owner**: `/spec` or implementation handoff for `docs/specs/031-preset-led-onboarding-for-common-jobs/spec.md`.
64
34
 
65
- ### 5. Portfolio refresh after recent workflow and overlay-contract wins
35
+ ### 3. Portfolio refresh after recent workflow and overlay-contract wins
66
36
 
67
37
  - **type**: process
68
38
  - **status**: candidate
@@ -84,10 +54,10 @@ Last updated: 2026-07-23
84
54
  2. Portfolio refresh after recent workflow and overlay-contract wins
85
55
  3. Preset-led onboarding for common jobs-to-be-done
86
56
 
87
- ### Next big bets
57
+ ### Recently shipped / no longer active opportunities
88
58
 
89
- 1. Versioned private overlay and preset catalogs
90
- 2. Broaden repeatable compose overlays beyond PostgreSQL
59
+ - Versioned private overlay and preset catalogs shipped through spec `029-versioned-private-catalogs`.
60
+ - Repeatable compose-overlay rollout shipped through specs `050-compose-overlay-instances` and `051-repeatable-compose-overlay-rollout`.
91
61
 
92
62
  ### Longer-term options
93
63
 
@@ -99,7 +69,6 @@ Last updated: 2026-07-23
99
69
 
100
70
  - Ranking emphasizes expected value first because the current prioritization request explicitly deprioritized effort as a decision driver.
101
71
  - Confidence remains evidence-bound to repository docs/specs only; no telemetry, support volume, or market research was reviewed here.
102
- - `029` is ranked highest on upside, not on ease or certainty.
103
- - `051` is the strongest newly strengthened near-term capability opportunity because `050` is now final and `051` already narrows the rollout to audited overlay classes.
104
72
  - `030` remains the strongest broad UX/trust opportunity and is still the clearest low-risk shipping candidate.
73
+ - Private catalogs and repeatable compose-overlay rollout moved out of the active backlog because shipped specs `029`, `050`, and `051` now cover that work.
105
74
  - Earlier repo-local Pi skill opportunities are no longer active backlog leaders because the relevant workflow/skill work has already shipped through specs `039` and `052`.
package/docs/roadmap.md CHANGED
@@ -12,12 +12,13 @@ This roadmap is derived from the current opportunity backlog in `docs/opportunit
12
12
  - **Improve onboarding for common jobs-to-be-done** with stronger preset-led setup paths and less choice overload for first-time users.
13
13
  - **Make preview-first workflows more visible** so `plan`, `--verbose`, and `--diff` become an obvious safety step before generation and regeneration.
14
14
 
15
- ## Later
15
+ ## Recently shipped
16
16
 
17
- - **Support versioned private overlay and preset catalogs** so platform teams can publish, pin, and evolve internal catalogs without forking the tool.
17
+ - **Versioned private overlay and preset catalogs** now let platform teams publish, pin, and evolve internal catalogs without forking the tool.
18
+ - **Repeatable compose-overlay rollout** now extends named-instance support beyond PostgreSQL to the audited `redis`, `fuseki`, `sqlserver`, and `nats` overlays.
18
19
 
19
20
  ## Assumptions and Dependencies
20
21
 
21
22
  - ADR `001` remains the authority for project-file-first generation, replay, and remediation.
22
23
  - Discovery and onboarding improvements depend on keeping user docs, CLI help, and generated reference docs aligned.
23
- - Private-catalog work is higher-risk architecture work and should continue to be driven through explicit specs and ADR review.
24
+ - Future private-catalog extensions should continue to be driven through explicit specs and ADR review.
@@ -187,8 +187,7 @@ Validation should explicitly cover:
187
187
 
188
188
  ### Known repo gaps
189
189
 
190
- - `docs/foundation.md` is absent, so ADR `001` remains the architecture authority for this area.
191
- - Repo contains an empty `docs/specs/037-doctor-command-modularization/` directory, which is a numbering / workflow hygiene concern but does not block this draft.
190
+ - `docs/foundation.md` and ADR `001` are the relevant architecture authorities for this area.
192
191
 
193
192
  ## Technical Design
194
193
 
@@ -411,7 +410,7 @@ Minimum implementation validation:
411
410
 
412
411
  aligned with current ADR authority
413
412
 
414
- This design stays within ADR `001` by preserving project-file-first authority, compatibility manifest writing, and generated-output-unchanged conversion semantics. No ADR amendment is required. The repo still lacks `docs/foundation.md`, so ADR `001` remains the controlling architecture reference for this work.
413
+ This design stays within `docs/foundation.md` and ADR `001` by preserving project-file-first authority, compatibility manifest writing, and generated-output-unchanged conversion semantics. No ADR amendment is required.
415
414
 
416
415
  ## Open Questions
417
416
 
@@ -504,8 +504,7 @@ Validation should explicitly cover:
504
504
 
505
505
  ### Known repo gaps
506
506
 
507
- - `docs/foundation.md` is absent, so ADR `001` remains the relevant architecture authority.
508
- - Repo contains an empty `docs/specs/037-doctor-command-modularization/` directory, which is workflow hygiene noise but does not block this draft.
507
+ - `docs/foundation.md` and ADR `001` are the relevant architecture authorities.
509
508
 
510
509
  ## Architecture Decision Impact
511
510
 
@@ -1,5 +1,11 @@
1
1
  # Specs Index
2
2
 
3
+ ## Working conventions
4
+
5
+ - New work should use `docs/specs/_spec_template.md` for the outcome-focused spec and `docs/specs/_plan_template.md` for execution detail.
6
+ - Keep implementation sequencing, affected files, validation strategy, and rollback thinking in `plan.md`, not in `spec.md`.
7
+ - Existing historical specs without `plan.md` were preserved as-is during pi-kit setup; add `plan.md` only when those specs are actively revised or extended.
8
+
3
9
  | Spec | Title | Status | Taxonomy |
4
10
  | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------ | ----------------------------------------- |
5
11
  | [001-verbose-plan-graph](001-verbose-plan-graph/spec.md) | Verbose Plan Graph | Final | CLI-UX |
@@ -0,0 +1,40 @@
1
+ # Plan
2
+
3
+ ## Scope
4
+
5
+ - Spec: `docs/specs/NNN-slug/spec.md`
6
+
7
+ ## Ordered Steps
8
+
9
+ 1. [step]
10
+ 2. [step]
11
+
12
+ ## Affected Areas
13
+
14
+ - `path` — why it changes
15
+
16
+ ## Validation Surface and Strategy
17
+
18
+ - Build/type/lint checks: [commands or reason not applicable]
19
+ - Unit/integration/e2e/contract checks: [commands or reason not applicable]
20
+ - Manual or exploratory checks: [method or reason not applicable]
21
+ - Acceptance-criteria evidence plan: [how each AC ID will be verified]
22
+ - Review gate: [SELF_CHECK / INDEPENDENT, with rationale]
23
+ - Evidence provenance: [source revision, environment, timestamp, executor, exit code]
24
+ - Skipped or deferred checks: [reason and residual risk]
25
+
26
+ ## Rollback / Containment
27
+
28
+ - [how to revert or limit blast radius]
29
+
30
+ ## Open Questions
31
+
32
+ - [question]
33
+
34
+ ## Risks / Dependencies
35
+
36
+ - [important dependency, sequencing risk, migration concern, or coordination need]
37
+
38
+ ## Implementation Notes
39
+
40
+ - Update this section when implementation diverges from the original plan.
@@ -0,0 +1,53 @@
1
+ ---
2
+ spec: 'NNN-slug'
3
+ title: '[Short descriptive title]'
4
+ status: 'Draft'
5
+ review_gate: ''
6
+ owner: 'delivery-interrogator'
7
+ created: 'YYYY-MM-DD'
8
+ updated: 'YYYY-MM-DD'
9
+ related_adrs: []
10
+ related_foundation:
11
+ - 'docs/foundation.md'
12
+ ---
13
+
14
+ # [Title]
15
+
16
+ ## Problem
17
+
18
+ [What problem exists, for whom, and why it matters.]
19
+
20
+ ## Why now
21
+
22
+ [Why this change matters now.]
23
+
24
+ ## Acceptance Criteria
25
+
26
+ - [ ] AC1: [specific, testable criterion]
27
+ - [ ] AC2: [specific, testable criterion]
28
+ - [ ] AC3: [relevant quality, compatibility, documentation, validation, or changelog expectation]
29
+
30
+ Keep acceptance-criterion IDs stable across spec revisions so plans, tests, evidence, and review findings can cite them.
31
+
32
+ ## Non-goals
33
+
34
+ - [non-goal 1]
35
+ - [non-goal 2]
36
+
37
+ ## Ambiguities / Open Questions
38
+
39
+ - [question or ambiguity]
40
+
41
+ ## Evidence / References
42
+
43
+ - [reference]
44
+ - [reference]
45
+
46
+ ## Risks / Constraints
47
+
48
+ - [risk, constraint, dependency, or rollout concern]
49
+
50
+ ## Notes
51
+
52
+ - Keep implementation detail out of this file.
53
+ - Put sequencing and file-level execution details in `plan.md`.
@@ -1,6 +1,6 @@
1
1
  # Feature Taxonomy
2
2
 
3
- This index maps all specs to their feature categories. Maintained by the `tool-pm` agent — update whenever a new spec is added.
3
+ This index maps all specs to their feature categories. Update it whenever a new spec is added.
4
4
 
5
5
  ## Taxonomy categories
6
6
 
@@ -230,17 +230,17 @@ _No specs yet._
230
230
 
231
231
  ## PROJECT — Project-level configuration
232
232
 
233
- | Spec | Title | Status |
234
- | ------------------------------------------------------------------------------ | ------------------------------------------------------------ | ----------------------------- |
235
- | [002-superposition-config-file](002-superposition-config-file/spec.md) | Project Configuration File | Final |
236
- | [008-project-file-canonical](008-project-file-canonical/spec.md) | Make superposition.yml Canonical Input | Final |
237
- | [009-project-env](009-project-env/spec.md) | Unified Project-Level Environment Variables | Final |
238
- | [018-init-project-file](018-init-project-file/spec.md) | `init --project-file` | Final |
239
- | [019-project-mounts](019-project-mounts/spec.md) | First-Class Mounts Support | Final |
240
- | [022-local-superposition-config](022-local-superposition-config/spec.md) | Local Superposition Config | Final |
241
- | [029-versioned-private-catalogs](029-versioned-private-catalogs/spec.md) | Versioned Private Overlay and Preset Catalogs | Implemented (QA: Needs Fixes) |
242
- | [041-local-port-conflict-overrides](041-local-port-conflict-overrides/spec.md) | Local Port Conflict Overrides in `superposition.local.yml` | Final |
243
- | [042-global-default-configuration](042-global-default-configuration/spec.md) | User-Scoped Global Defaults with Stack-Aware Local Templates | Final |
244
- | [043-compose-network-name](043-compose-network-name/spec.md) | Project-Specific Compose Network Names | Final |
245
- | [049-global-init-defaults-surface](049-global-init-defaults-surface/spec.md) | Expand User-Scoped Global Init Defaults Surface | Final |
246
- | [050-compose-overlay-instances](050-compose-overlay-instances/spec.md) | Multi-Instance Compose Overlays with Instance Overrides | Final |
233
+ | Spec | Title | Status |
234
+ | ------------------------------------------------------------------------------ | ------------------------------------------------------------ | ------ |
235
+ | [002-superposition-config-file](002-superposition-config-file/spec.md) | Project Configuration File | Final |
236
+ | [008-project-file-canonical](008-project-file-canonical/spec.md) | Make superposition.yml Canonical Input | Final |
237
+ | [009-project-env](009-project-env/spec.md) | Unified Project-Level Environment Variables | Final |
238
+ | [018-init-project-file](018-init-project-file/spec.md) | `init --project-file` | Final |
239
+ | [019-project-mounts](019-project-mounts/spec.md) | First-Class Mounts Support | Final |
240
+ | [022-local-superposition-config](022-local-superposition-config/spec.md) | Local Superposition Config | Final |
241
+ | [029-versioned-private-catalogs](029-versioned-private-catalogs/spec.md) | Versioned Private Overlay and Preset Catalogs | Final |
242
+ | [041-local-port-conflict-overrides](041-local-port-conflict-overrides/spec.md) | Local Port Conflict Overrides in `superposition.local.yml` | Final |
243
+ | [042-global-default-configuration](042-global-default-configuration/spec.md) | User-Scoped Global Defaults with Stack-Aware Local Templates | Final |
244
+ | [043-compose-network-name](043-compose-network-name/spec.md) | Project-Specific Compose Network Names | Final |
245
+ | [049-global-init-defaults-surface](049-global-init-defaults-surface/spec.md) | Expand User-Scoped Global Init Defaults Surface | Final |
246
+ | [050-compose-overlay-instances](050-compose-overlay-instances/spec.md) | Multi-Instance Compose Overlays with Instance Overrides | Final |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "container-superposition",
3
- "version": "0.1.13",
3
+ "version": "0.1.14-pr.176.30348783452",
4
4
  "description": "Solution-ready devcontainer templates and features with guided initialization",
5
5
  "type": "module",
6
6
  "main": "dist/scripts/init.js",
@@ -1,206 +0,0 @@
1
- ---
2
- spec: 'NNN-slug'
3
- title: '[Short descriptive title]'
4
- status: 'Draft'
5
- qa_status: ''
6
- priority: 'P0'
7
- owner: 'pm'
8
- product_approval: ''
9
- architecture_review: ''
10
- ux_review: ''
11
- created: 'YYYY-MM-DD'
12
- updated: 'YYYY-MM-DD'
13
- related_adrs: []
14
- related_foundation:
15
- - 'docs/foundation.md'
16
- related_specs: []
17
- normative_references: []
18
- ---
19
-
20
- # [Title]
21
-
22
- **Spec**: `NNN-slug`
23
- **Status**: Draft
24
- **Created**: YYYY-MM-DD
25
- **Priority**: P0 | P1 | P2 | P3
26
- **Product Approval**: pending | approved | not-needed
27
- **Architecture Review**: pending | approved | not-needed
28
- **UX Review**: pending | approved | not-needed
29
-
30
- > P0 = unusable without; P1 = core value, ship v1; P2 = post-launch; P3 = backlog
31
-
32
- ## Description
33
-
34
- [Describe the problem, user need, and intended outcome.]
35
-
36
- ## Evidence <!-- especially important for reverse-spec work -->
37
-
38
- - [path or source 1] — [why it matters]
39
- - [path or source 2] — [why it matters]
40
-
41
- ## Problem Statement
42
-
43
- [What problem exists today, for whom, and why it matters.]
44
-
45
- ## User Goals / Jobs To Be Done
46
-
47
- - [job or goal 1]
48
- - [job or goal 2]
49
-
50
- ## Success Signals
51
-
52
- - [signal 1]
53
- - [signal 2]
54
-
55
- ## Confidence <!-- optional, especially for reverse-spec work -->
56
-
57
- - Overall confidence: high | medium | low
58
- - Confidence notes: [what is directly evidenced vs inferred]
59
-
60
- ## User Stories
61
-
62
- **US-1** As a user, I want ...
63
-
64
- ## Goals
65
-
66
- - [goal 1]
67
- - [goal 2]
68
-
69
- ## Non-Goals
70
-
71
- - [non-goal 1]
72
- - [non-goal 2]
73
-
74
- ## Authority and References
75
-
76
- This spec must align with:
77
-
78
- - `docs/foundation.md`
79
- - relevant ADRs in `docs/adr/`
80
- - relevant project-context and normative-reference documents
81
-
82
- List the specific references for this spec:
83
-
84
- - [reference 1]
85
- - [reference 2]
86
-
87
- ## Design
88
-
89
- ### Observed Behavior <!-- optional for reverse-spec work -->
90
-
91
- [Describe observed current behavior from evidence.]
92
-
93
- ### Likely Intent <!-- optional for reverse-spec work -->
94
-
95
- [Describe what the feature appears intended to accomplish.]
96
-
97
- ### Product / Behavior
98
-
99
- [Describe the user-visible or system-visible behavior.]
100
-
101
- ### Technical Notes
102
-
103
- [Describe technical expectations only when PM should make them explicit before architect handoff.]
104
-
105
- ### UX Notes <!-- optional -->
106
-
107
- [Describe layout, interaction, wording, state, or navigation expectations when relevant.]
108
-
109
- ## Constraints
110
-
111
- - [constraint 1]
112
- - [constraint 2]
113
-
114
- ## Preferences / Tradeoffs <!-- optional -->
115
-
116
- - [preferred approach or tradeoff 1]
117
- - [preferred approach or tradeoff 2]
118
-
119
- ## Risks <!-- optional -->
120
-
121
- - [risk 1]
122
- - [risk 2]
123
-
124
- ## Implementation / Intent Mismatches <!-- optional, especially for reverse-spec work -->
125
-
126
- - [mismatch 1]
127
- - [mismatch 2]
128
-
129
- ## Acceptance Criteria
130
-
131
- - [ ] [specific, testable criterion]
132
- - [ ] [specific, testable criterion]
133
- - [ ] All new or changed behavior is covered by automated tests at the appropriate level
134
- - [ ] Documentation and workflow artifacts are updated to match the implemented or reviewed state
135
-
136
- ## Out of Scope
137
-
138
- - [out of scope 1]
139
- - [out of scope 2]
140
-
141
- ## Assumptions <!-- optional -->
142
-
143
- - [assumption 1]
144
-
145
- ## Open Questions <!-- optional -->
146
-
147
- - [question 1]
148
-
149
- ## Definition of Done
150
-
151
- > Filled in progressively by each role. QA sets `Status: Final` only after verifying all gates.
152
- > Full standards in `docs/definition-of-done.md`.
153
-
154
- ### Code
155
-
156
- - [ ] No lint errors
157
- - [ ] No type errors
158
- - [ ] No debug or uncommitted temporary code
159
- - [ ] Follows project conventions
160
-
161
- ### Tests
162
-
163
- - [ ] Unit tests cover new pure logic
164
- - [ ] Integration tests cover system boundaries
165
- - [ ] All tests pass
166
- - [ ] No unjustified skipped tests
167
- - [ ] Failure and edge cases covered
168
-
169
- ### Documentation
170
-
171
- - [ ] Public interfaces documented
172
- - [ ] All new documentation in Markdown
173
- - [ ] All diagrams in Mermaid
174
- - [ ] README updated if behavior or setup changed
175
- - [ ] Architecture docs updated if ownership or boundaries changed
176
-
177
- ### Changelog
178
-
179
- - [ ] `CHANGELOG.md` updated under `[Unreleased]` for user-visible changes
180
-
181
- ### Workflow artifacts
182
-
183
- - [ ] Acceptance criteria checked off (met only — unmet left unchecked with explanation)
184
- - [ ] `## Implementation Notes` written
185
- - [ ] Spec status and index synchronized
186
- - [ ] QA feedback rows marked `Done` where applicable
187
-
188
- ### Architecture
189
-
190
- - [ ] No ADR or foundation rules silently violated
191
- - [ ] ADR created or amended if a standing decision was made or changed
192
-
193
- ### QA verification
194
-
195
- - [ ] All above gates verified independently
196
- - [ ] Acceptance criteria classified: MET / CLAIMED BUT FAILED / OPEN / UNCHECKED
197
- - [ ] No regressions introduced
198
- - [ ] Spec set to `Final`
199
-
200
- ## Implementation Notes <!-- developer-owned when implemented -->
201
-
202
- [Brief summary of what was built, deviations, or reviewer-relevant notes.]
203
-
204
- ## QA Feedback <!-- QA-owned when needed -->
205
-
206
- [Present only when QA adds it.]