create-quiver 0.13.0 → 0.14.0

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +9 -2
  3. package/README_FOR_AI.md +4 -0
  4. package/ROADMAP.md +6 -0
  5. package/docs/COMMANDS.md.template +3 -1
  6. package/docs/TROUBLESHOOTING.md.template +29 -0
  7. package/docs/WORKFLOW.md.template +13 -12
  8. package/package.json +1 -1
  9. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/COVERAGE_MATRIX.md +117 -0
  10. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/EVIDENCE_REPORT.md +200 -0
  11. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/EXECUTION_PLAN.md +60 -0
  12. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/SPEC.md +132 -0
  13. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/STATUS.md +36 -0
  14. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/pr.md +128 -0
  15. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-00-reconciliation-and-evidence-freeze/CLOSURE_BRIEF.md +44 -0
  16. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-00-reconciliation-and-evidence-freeze/EXECUTION_BRIEF.md +56 -0
  17. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-00-reconciliation-and-evidence-freeze/slice.json +71 -0
  18. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-01-ai-run-state-approvals-and-clean-output/CLOSURE_BRIEF.md +38 -0
  19. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-01-ai-run-state-approvals-and-clean-output/EXECUTION_BRIEF.md +53 -0
  20. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-01-ai-run-state-approvals-and-clean-output/slice.json +83 -0
  21. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-02-structured-technical-plan-contract-and-repair-flow/CLOSURE_BRIEF.md +33 -0
  22. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-02-structured-technical-plan-contract-and-repair-flow/EXECUTION_BRIEF.md +53 -0
  23. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-02-structured-technical-plan-contract-and-repair-flow/slice.json +85 -0
  24. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-03-active-slice-reconciliation-and-ai-inspect/CLOSURE_BRIEF.md +34 -0
  25. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-03-active-slice-reconciliation-and-ai-inspect/EXECUTION_BRIEF.md +52 -0
  26. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-03-active-slice-reconciliation-and-ai-inspect/slice.json +82 -0
  27. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-04-spec-validation-scope-and-worktree-reliability/CLOSURE_BRIEF.md +32 -0
  28. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-04-spec-validation-scope-and-worktree-reliability/EXECUTION_BRIEF.md +55 -0
  29. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-04-spec-validation-scope-and-worktree-reliability/slice.json +85 -0
  30. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-05-review-plan-closure-and-agent-dx/CLOSURE_BRIEF.md +35 -0
  31. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-05-review-plan-closure-and-agent-dx/EXECUTION_BRIEF.md +59 -0
  32. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-05-review-plan-closure-and-agent-dx/slice.json +94 -0
  33. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-06-backward-compatibility-docs-and-release-readiness/CLOSURE_BRIEF.md +40 -0
  34. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-06-backward-compatibility-docs-and-release-readiness/EXECUTION_BRIEF.md +56 -0
  35. package/specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-06-backward-compatibility-docs-and-release-readiness/slice.json +98 -0
  36. package/src/create-quiver/commands/ai.js +481 -14
  37. package/src/create-quiver/commands/spec.js +10 -0
  38. package/src/create-quiver/index.js +42 -4
  39. package/src/create-quiver/lib/ai/context-packs.js +2 -2
  40. package/src/create-quiver/lib/ai/export-state.js +52 -5
  41. package/src/create-quiver/lib/ai/github.js +14 -2
  42. package/src/create-quiver/lib/ai/plan-review.js +159 -0
  43. package/src/create-quiver/lib/ai/run-state.js +17 -2
  44. package/src/create-quiver/lib/ai/spec-generator.js +15 -0
  45. package/src/create-quiver/lib/project-state-resolver.js +195 -1
  46. package/src/create-quiver/lib/spec-worktrees.js +50 -2
@@ -0,0 +1,132 @@
1
+ # Quiver v28 - Pixel Quiver Feedback Reconciliation
2
+
3
+ **Date:** 2026-05-25
4
+ **Status:** Completed
5
+ **Source:** Pixel Quiver dogfooding follow-up after `create-quiver@0.13.0`
6
+
7
+ Slice numbering resets here. This spec intentionally starts at `slice-00`.
8
+
9
+ ## Problem
10
+
11
+ Pixel Quiver produced a second set of framework feedback after Quiver v27 shipped in `create-quiver@0.13.0`. The repository source of truth says v27 already covered `QP-001` to `QP-019` and `QIS-001` to `QIS-022`, but the Pixel Quiver files still list several of those items as open and add later issues around `spec create`, repair flows, active-slice reconciliation, worktrees, and `ai inspect`.
12
+
13
+ The risk is implementing duplicate fixes or missing regressions. Quiver needs a reconciliation-first spec that verifies what v27 truly covers, then fixes only the remaining, partial, regressed, or newly observed gaps.
14
+
15
+ ## Objective
16
+
17
+ Reconcile Pixel Quiver feedback against the current Quiver implementation, then harden the unresolved workflow gaps across AI runs, approvals, structured technical plans, active-slice state, spec validation, worktrees, plan reviews, agent DX, documentation, and release readiness.
18
+
19
+ ## Evidence Sources
20
+
21
+ Primary input files:
22
+
23
+ - `/Users/fabrijk/Documents/Work/Proyectos Personales/nika/Pixel Quiver/QUIVER_PROBLEMS.md`
24
+ - `/Users/fabrijk/Documents/Work/Proyectos Personales/nika/Pixel Quiver/QUIVER_IMPROVEMENT_SUGGESTIONS.md`
25
+ - `/Users/fabrijk/Documents/Work/Proyectos Personales/nika/Pixel Quiver/QUIVER_FRAMEWORK_IMPROVEMENTS.md`
26
+
27
+ Repository source-of-truth files:
28
+
29
+ - `README_FOR_AI.md`
30
+ - `ROADMAP.md`
31
+ - `BACKLOG.md`
32
+ - `specs/quiver-v27-reliability-ai-workflow-hardening/**`
33
+
34
+ ## Core Decisions
35
+
36
+ - Do not reimplement v27 behavior blindly.
37
+ - `slice-00` must freeze and reconcile evidence before implementation slices start.
38
+ - Each finding must end as `verified-resolved`, `fixed`, `documented-risk`, `duplicate`, or `out-of-scope-with-reason`.
39
+ - No npm publication or PR creation is included in this spec.
40
+ - Changes must remain backward compatible by default unless a stricter mode is explicitly documented.
41
+ - `--dry-run` behavior must remain read-only.
42
+ - Machine-readable output must be valid without stripping human logs.
43
+
44
+ ## Scope
45
+
46
+ ### Included
47
+
48
+ - Reconciliation matrix for all supplied Pixel Quiver `QP-*`, `QIS-*`, and framework improvement sections.
49
+ - AI run lifecycle and approval clarity.
50
+ - Clean AI command output and raw provider log persistence.
51
+ - Structured `spec.slices[]` contract for technical plans.
52
+ - Safe repair path for approved technical plans with missing structure.
53
+ - Active-slice multi-source reconciliation.
54
+ - `ai inspect` behavior after manual/fallback spec creation.
55
+ - `spec validate`, `check-slice`, `spec status`, `spec start`, scope, and worktree reliability.
56
+ - Structured `ai review-plan` closure metadata.
57
+ - Agent command DX using `npx --yes create-quiver@<version>`.
58
+ - Cross-platform help, docs, fixtures, tests, smoke coverage, and release readiness.
59
+
60
+ ### Excluded
61
+
62
+ - Pixel Quiver application changes.
63
+ - Building a web dashboard inside Quiver core.
64
+ - Publishing npm.
65
+ - Opening a PR.
66
+ - Removing legacy compatibility without migration.
67
+ - Storing provider credentials.
68
+
69
+ ## Acceptance Criteria
70
+
71
+ 1. Given v27 claims coverage for earlier findings, when `slice-00` completes, then every supplied finding is classified with evidence as resolved, partial, pending, regression, duplicate, or out of scope.
72
+ 2. Given a finding is already resolved by v27, when the final matrix is produced, then it is not reimplemented unless a regression test proves it still fails.
73
+ 3. Given a finding is pending or partial, when implementation starts, then it is mapped to exactly one primary slice and at least one validation artifact.
74
+ 4. Given an AI run is active, when another run is created or inspected, then Quiver avoids mixing scopes and shows the next safe action.
75
+ 5. Given approvals exist across multiple runs, when `ai approvals` runs, then active, historical, stale, orphaned, and run-specific approvals are distinguishable.
76
+ 6. Given `ai onboard`, `ai plan`, or provider-backed commands run, when output is shown, then useful human output is separated from raw logs and redacted raw artifacts are persisted separately.
77
+ 7. Given a technical plan is generated, when it is approved or used by `spec create`, then it contains a parseable structured `spec.slices[]` contract or fails before writing files.
78
+ 8. Given an approved plan lacks required structure, when the user requests repair, then Quiver can create a derived draft without mutating the approved artifact and requires review plus approval.
79
+ 9. Given active slice state exists in multiple files, when reconciliation runs, then Quiver reports all sources and supports safe dry-run decisions: preserve, close, replace, or block.
80
+ 10. Given a spec was created manually or by fallback, when `ai inspect` runs, then it reconciles existing specs and suggests `spec validate`, `next`, or `ai prompt-slice` instead of stale `spec create`.
81
+ 11. Given `spec validate` runs, when slices are structurally invalid for execution, then the command detects the relevant `check-slice --local` failures or reports them as strict warnings.
82
+ 12. Given a spec worktree path is missing, stale, dirty, or not listed by Git, when `spec status` runs, then the command reports the real state and recovery guidance.
83
+ 13. Given `spec start --dry-run` finds a dirty checkout, when it fails, then it lists blocking files and safe options without modifying state.
84
+ 14. Given `ai review-plan` runs, when it finishes, then it emits structured metadata for blocking status, approval recommendation, required fixes, optional hardening, and next command.
85
+ 15. Given generated examples target agents, when commands are printed, then non-interactive versioned examples use `npx --yes create-quiver@<version>`.
86
+ 16. Given docs are updated, when the spec closes, then `README_FOR_AI.md`, `README.md`, `CHANGELOG.md`, and `ROADMAP.md` do not contradict the implemented state.
87
+ 17. Given final validation runs, when release readiness is checked, then source tests and package/tarball smoke evidence are recorded.
88
+
89
+ ## Technical Plan
90
+
91
+ 1. Freeze evidence and create the reconciliation matrix before implementation.
92
+ 2. Add focused fixtures for unresolved or regressed cases.
93
+ 3. Harden AI run state and approvals before touching spec generation.
94
+ 4. Enforce the structured technical-plan contract and repair path.
95
+ 5. Add active-slice reconciliation and stale `ai inspect` recovery.
96
+ 6. Align validation gates and worktree reporting.
97
+ 7. Add plan-review closure metadata and agent-friendly command examples.
98
+ 8. Close with compatibility tests, documentation sync, smoke coverage, and release evidence.
99
+
100
+ ## Slice Roadmap
101
+
102
+ | Slice | Title | Status | Dependencies |
103
+ |---|---|---|---|
104
+ | slice-00 | Reconciliation and evidence freeze | completed | none |
105
+ | slice-01 | AI run state, approvals, and clean output | completed | slice-00 |
106
+ | slice-02 | Structured technical plan contract and repair flow | completed | slice-00, slice-01 |
107
+ | slice-03 | Active slice reconciliation and AI inspect | completed | slice-00, slice-01 |
108
+ | slice-04 | Spec validation, scope, and worktree reliability | completed | slice-00 |
109
+ | slice-05 | Review-plan closure and agent DX | completed | slice-00, slice-01 |
110
+ | slice-06 | Backward compatibility, docs, and release readiness | completed | slice-01, slice-02, slice-03, slice-04, slice-05 |
111
+
112
+ ## Validation Strategy
113
+
114
+ - `node --test tests/**/*.test.js`
115
+ - `npm run smoke:doctor-fixtures`
116
+ - `npm run smoke:guided-workflow`
117
+ - `npm run smoke:create-quiver`
118
+ - `npm run package:quiver`
119
+ - package/tarball smoke from a temporary directory
120
+ - `git diff --check`
121
+ - JSON parse validation for all `slice.json`
122
+ - `npx create-quiver spec validate specs/quiver-v28-pixel-quiver-feedback-reconciliation`
123
+ - `npx create-quiver check-handoff` for each execution and closure brief
124
+
125
+ ## Risks
126
+
127
+ - Some findings may already be fixed by v27 and only stale in Pixel Quiver docs.
128
+ - Tightening validation can break older project specs if strict behavior is not gated.
129
+ - AI lifecycle changes can affect existing `.quiver/runs` and `.quiver/approvals` state.
130
+ - Worktree changes can affect users with in-flight branches.
131
+ - Real dogfooding evidence contains absolute local paths and must not be copied into fixtures without sanitization.
132
+ - Local non-package files can accidentally enter npm tarballs unless ignored; v28 added `*.pdf` to `.npmignore` after package dry-run evidence.
@@ -0,0 +1,36 @@
1
+ # Status - Quiver v28 Pixel Quiver Feedback Reconciliation
2
+
3
+ ## Overall Status
4
+
5
+ - Phase: Final validation complete
6
+ - Progress: 100%
7
+ - Current recommended slice: none
8
+ - Source evidence: Pixel Quiver feedback files after `create-quiver@0.13.0`
9
+
10
+ ## Slices
11
+
12
+ | Slice | Title | Status | Progress | Dependencies |
13
+ |---|---|---|---:|---|
14
+ | slice-00 | Reconciliation and evidence freeze | completed | 100% | none |
15
+ | slice-01 | AI run state, approvals, and clean output | completed | 100% | slice-00 |
16
+ | slice-02 | Structured technical plan contract and repair flow | completed | 100% | slice-00, slice-01 |
17
+ | slice-03 | Active slice reconciliation and AI inspect | completed | 100% | slice-00, slice-01 |
18
+ | slice-04 | Spec validation, scope, and worktree reliability | completed | 100% | slice-00 |
19
+ | slice-05 | Review-plan closure and agent DX | completed | 100% | slice-00, slice-01 |
20
+ | slice-06 | Backward compatibility, docs, and release readiness | completed | 100% | slice-01, slice-02, slice-03, slice-04, slice-05 |
21
+
22
+ ## Blockers
23
+
24
+ - None.
25
+
26
+ ## Known Production Concerns
27
+
28
+ - v27 already covers part of the Pixel Quiver feedback; remaining slices must not duplicate verified-resolved work.
29
+ - Pixel Quiver evidence contains absolute local paths and must remain evidence only unless sanitized into fixtures.
30
+ - Backward compatibility for existing `.quiver/runs`, `.quiver/approvals`, active-slice docs, and worktree state is mandatory.
31
+ - Tightening validation must avoid breaking older specs by default; strict behavior should be explicit when needed.
32
+ - A local PDF in the repo root was detected by `npm pack --dry-run`; `.npmignore` now excludes `*.pdf` to avoid accidental package publication.
33
+
34
+ ## Next Step
35
+
36
+ Prepare the PR/release decision outside this spec. npm publication and PR creation were intentionally not performed here.
@@ -0,0 +1,128 @@
1
+ # Quiver v28 - Pixel Quiver Feedback Reconciliation
2
+
3
+ ## Title
4
+
5
+ Quiver v28 - Pixel Quiver Feedback Reconciliation
6
+
7
+ ## Summary
8
+
9
+ - Reconciles Pixel Quiver dogfooding findings against the current Quiver implementation.
10
+ - Fixes unresolved AI lifecycle, approvals, spec creation, active-slice, validation, worktree, plan-review, and agent-DX gaps.
11
+ - Adds regression coverage, documentation updates, smoke evidence, and package-readiness checks.
12
+ - Keeps v28 changes in `Unreleased`; no npm publication is claimed by this PR.
13
+
14
+ ## Scope
15
+
16
+ - `slice-00`: evidence freeze and reconciliation matrix.
17
+ - `slice-01`: AI run state, approvals, and clean output.
18
+ - `slice-02`: structured technical-plan contract and repair flow.
19
+ - `slice-03`: active-slice reconciliation and `ai inspect` recovery.
20
+ - `slice-04`: spec validation, scope, and worktree reliability.
21
+ - `slice-05`: review-plan closure and agent DX.
22
+ - `slice-06`: docs, compatibility checks, smoke tests, and release readiness.
23
+
24
+ ## Files
25
+
26
+ - `src/create-quiver/commands/ai.js`
27
+ - `src/create-quiver/commands/spec.js`
28
+ - `src/create-quiver/index.js`
29
+ - `src/create-quiver/lib/ai/**`
30
+ - `src/create-quiver/lib/project-state-resolver.js`
31
+ - `src/create-quiver/lib/spec-worktrees.js`
32
+ - `tests/commands/**`
33
+ - `tests/lib/**`
34
+ - `README.md`
35
+ - `README_FOR_AI.md`
36
+ - `CHANGELOG.md`
37
+ - `ROADMAP.md`
38
+ - `docs/*.template`
39
+ - `.npmignore`
40
+ - `specs/quiver-v28-pixel-quiver-feedback-reconciliation/**`
41
+
42
+ ## How to Test (DETAILED - REQUIRED)
43
+
44
+ ### Required Environment
45
+
46
+ - Node.js and npm available locally.
47
+ - Git repository checkout with access to the Quiver remote.
48
+ - `gh` is required only for PR operations, not for source validation.
49
+
50
+ ### Worktree Access
51
+
52
+ Run from the repository root:
53
+
54
+ ```bash
55
+ cd /Users/fabrijk/Documents/Work/Proyectos\ Personales/nika/frameworks/quiver
56
+ ```
57
+
58
+ ### Run the Project
59
+
60
+ This PR changes the `create-quiver` CLI. Use direct Node execution or npm scripts from the repo root:
61
+
62
+ ```bash
63
+ node bin/create-quiver.js --help
64
+ node bin/create-quiver.js ai --help
65
+ ```
66
+
67
+ ### Use Cases
68
+
69
+ Validate the main updated workflows:
70
+
71
+ ```bash
72
+ node bin/create-quiver.js spec validate specs/quiver-v28-pixel-quiver-feedback-reconciliation --strict
73
+ node bin/create-quiver.js next --all-ready --spec quiver-v28-pixel-quiver-feedback-reconciliation
74
+ ```
75
+
76
+ Expected result:
77
+
78
+ - Spec validation passes.
79
+ - `next --all-ready` reports no ready slices after v28 closure.
80
+
81
+ ### Technical Verification
82
+
83
+ Run:
84
+
85
+ ```bash
86
+ node --test tests/**/*.test.js
87
+ npm run smoke:doctor-fixtures
88
+ npm run smoke:guided-workflow
89
+ npm run smoke:create-quiver
90
+ npm run package:quiver
91
+ npm pack --dry-run --json
92
+ git diff --check
93
+ ```
94
+
95
+ Expected result:
96
+
97
+ - All tests pass.
98
+ - Smoke commands pass.
99
+ - Package smoke passes.
100
+ - `npm pack --dry-run --json` does not include local PDF files.
101
+ - `git diff --check` returns no whitespace errors.
102
+
103
+ ## Evidence
104
+
105
+ Recorded in `specs/quiver-v28-pixel-quiver-feedback-reconciliation/EVIDENCE_REPORT.md`.
106
+
107
+ Latest validation evidence:
108
+
109
+ - `node --test tests/**/*.test.js` passed with `376` tests.
110
+ - `npm run smoke:doctor-fixtures` passed with `13` fixture states.
111
+ - `npm run smoke:guided-workflow` passed.
112
+ - `npm run smoke:create-quiver` passed.
113
+ - `npm run package:quiver` passed.
114
+ - `npm pack --dry-run --json` passed with no `.pdf` files in the package.
115
+ - `git diff --check` passed.
116
+ - `node bin/create-quiver.js spec validate specs/quiver-v28-pixel-quiver-feedback-reconciliation --strict` passed.
117
+ - `node bin/create-quiver.js check-slice --local specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-06-backward-compatibility-docs-and-release-readiness/slice.json` passed.
118
+
119
+ ## Rollback
120
+
121
+ Revert this PR. No migration, npm publication, external service change, or credential storage change is included.
122
+
123
+ ## Risks / Notes
124
+
125
+ - v28 tightens validation and approval gates. Backward compatibility was preserved by keeping stricter behavior behind explicit validation and review paths where possible.
126
+ - Existing local `.quiver/` state may expose more precise stale-run or active-slice diagnostics after this change.
127
+ - `.npmignore` now excludes `*.pdf` because package dry-run showed a local requirements PDF would otherwise be included in the npm tarball.
128
+ - npm publication is intentionally out of scope for this PR.
@@ -0,0 +1,44 @@
1
+ # CLOSURE BRIEF - slice-00: Reconciliation and evidence freeze
2
+
3
+ ## Summary
4
+
5
+ Completed the mandatory reconciliation slice for Quiver v28. The Pixel Quiver feedback files were frozen with hashes/timestamps, all supplied `QP-*`, `QIS-*`, and narrative framework-improvement sections were classified, and the execution mapping for remaining slices was updated.
6
+
7
+ ## Validation
8
+
9
+ Passed:
10
+
11
+ - `git diff --check`
12
+ - JSON parse validation for v28 `slice.json` files
13
+ - `node bin/create-quiver.js spec validate specs/quiver-v28-pixel-quiver-feedback-reconciliation`
14
+ - `node bin/create-quiver.js spec validate specs/quiver-v28-pixel-quiver-feedback-reconciliation --strict`
15
+ - `node bin/create-quiver.js check-slice --local specs/quiver-v28-pixel-quiver-feedback-reconciliation/slices/slice-00-reconciliation-and-evidence-freeze/slice.json`
16
+ - `node bin/create-quiver.js next --all-ready --spec quiver-v28-pixel-quiver-feedback-reconciliation`
17
+ - `node bin/create-quiver.js plan --spec quiver-v28-pixel-quiver-feedback-reconciliation --json`
18
+
19
+ ## Relevant Changes
20
+
21
+ - Replaced the initial planning matrix in `COVERAGE_MATRIX.md` with evidence-backed classifications.
22
+ - Updated `EVIDENCE_REPORT.md` with frozen source hashes, timestamps, inspected evidence, and remaining validation requirements.
23
+ - Updated `STATUS.md` and `SPEC.md` so `slice-00` is completed and Wave 1 slices are ready.
24
+ - Marked `slice-01` and `slice-04` as ready in their `slice.json` files.
25
+ - Expanded `slice-05` scope to own GitHub auth/alias recovery copy, compact executor handoff guidance, and agent-safe command examples.
26
+
27
+ ## Pending Work
28
+
29
+ - `slice-01`: AI run state, approvals, and clean output.
30
+ - `slice-04`: spec validation, scope, and worktree reliability.
31
+ - `slice-02`, `slice-03`, and `slice-05` remain blocked until `slice-01` completes.
32
+ - `slice-06` remains the final documentation, compatibility, and release-readiness pass.
33
+
34
+ ## Remaining Risks
35
+
36
+ - Some v27-covered findings may still need regression tests if implementation slices touch nearby behavior.
37
+ - Pixel Quiver evidence contains absolute local paths and must not be copied into fixtures without sanitization.
38
+ - Framework ideas such as graph conflict summaries and browser-based visual validation are documented as future work, not v28 blockers.
39
+
40
+ ## Future Recommendations
41
+
42
+ - Keep all implementation slices anchored to `COVERAGE_MATRIX.md`.
43
+ - Do not start `slice-02`, `slice-03`, or `slice-05` until `slice-01` clarifies run and approval state.
44
+ - If a later slice finds that a `verified-resolved` item still fails in code, update the matrix before implementing the fix.
@@ -0,0 +1,56 @@
1
+ # EXECUTION BRIEF - slice-00: Reconciliation and evidence freeze
2
+
3
+ ## Context
4
+
5
+ Pixel Quiver produced a follow-up set of Quiver framework findings after `create-quiver@0.13.0`. `README_FOR_AI.md` says v27 already covered part of that set, so this slice must verify reality before code changes.
6
+
7
+ ## Objective
8
+
9
+ Freeze the input evidence and produce the final reconciliation matrix for v28.
10
+
11
+ ## Scope
12
+
13
+ - `specs/quiver-v28-pixel-quiver-feedback-reconciliation/**`
14
+ - `README_FOR_AI.md`
15
+ - `ROADMAP.md`
16
+ - `CHANGELOG.md`
17
+
18
+ ## Acceptance Criteria
19
+
20
+ - Every finding from the supplied files is classified with evidence.
21
+ - Pending or partial findings map to one implementation slice.
22
+ - Already-resolved findings are not scheduled for duplicate work.
23
+ - No product code changes are made.
24
+
25
+ ## Technical Plan Summary
26
+
27
+ Read the supplied Pixel Quiver files, compare them with v27 docs/code/tests, update the coverage matrix, and finalize the slice plan.
28
+
29
+ ## Suggested Execution Steps
30
+
31
+ 1. Record evidence source paths, timestamps, and hashes where practical.
32
+ 2. Compare each finding against v27 docs, source, and tests.
33
+ 3. Update `COVERAGE_MATRIX.md`.
34
+ 4. Update `STATUS.md`, `EVIDENCE_REPORT.md`, and `CLOSURE_BRIEF.md`.
35
+ 5. Validate JSON and spec structure.
36
+
37
+ ## Restrictions
38
+
39
+ - Do not modify product code.
40
+ - Do not publish npm.
41
+ - Do not open a PR.
42
+ - Do not mark a finding resolved without evidence.
43
+
44
+ ## Risks
45
+
46
+ - Reimplementing v27 behavior would create noise and possible regressions.
47
+ - Pixel Quiver files may be stale relative to the current Quiver source.
48
+
49
+ ## Completion Checklist
50
+
51
+ - [ ] Evidence freeze complete.
52
+ - [ ] Matrix final statuses assigned.
53
+ - [ ] Implementation slices adjusted if needed.
54
+ - [ ] JSON validation passed.
55
+ - [ ] Spec validation passed.
56
+
@@ -0,0 +1,71 @@
1
+ {
2
+ "slice_id": "slice-00-reconciliation-and-evidence-freeze",
3
+ "ticket": "QUIVER-28-00",
4
+ "type": "docs",
5
+ "title": "Reconciliation and evidence freeze",
6
+ "objective": "Freeze Pixel Quiver evidence, reconcile every supplied finding against v27, and produce the final implementation matrix before code changes.",
7
+ "description": "This mandatory documentary slice prevents duplicate fixes by classifying every QP, QIS, and framework improvement as resolved, partial, pending, regression, duplicate, or out of scope with evidence.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "v28-reconciliation-evidence-freeze",
12
+ "branch_name": "feature/QUIVER-28-00-v28-reconciliation-evidence-freeze"
13
+ },
14
+ "files": [
15
+ "specs/quiver-v28-pixel-quiver-feedback-reconciliation/**",
16
+ "README_FOR_AI.md",
17
+ "ROADMAP.md",
18
+ "CHANGELOG.md"
19
+ ],
20
+ "expected_read_paths": [
21
+ "README_FOR_AI.md",
22
+ "ROADMAP.md",
23
+ "BACKLOG.md",
24
+ "CHANGELOG.md",
25
+ "specs/quiver-v27-reliability-ai-workflow-hardening/**",
26
+ "src/create-quiver/**",
27
+ "tests/**"
28
+ ],
29
+ "allowed_write_paths": [
30
+ "specs/quiver-v28-pixel-quiver-feedback-reconciliation/**",
31
+ "README_FOR_AI.md",
32
+ "ROADMAP.md",
33
+ "CHANGELOG.md"
34
+ ],
35
+ "depends_on": [],
36
+ "parallel_safe": "no",
37
+ "parallel_safe_reason": "slice-00 is the mandatory foundation and controls what later slices are allowed to fix.",
38
+ "must": [
39
+ "Freeze input evidence with paths, timestamps or hashes, and source notes.",
40
+ "Compare Pixel Quiver findings against v27 implementation, docs, and tests.",
41
+ "Produce the final coverage matrix with one final status per finding.",
42
+ "Update docs only if needed to reflect planned state.",
43
+ "Do not modify product code."
44
+ ],
45
+ "not_included": [
46
+ "CLI behavior changes.",
47
+ "New tests beyond documentation validation.",
48
+ "npm publishing.",
49
+ "PR creation."
50
+ ],
51
+ "acceptance": [
52
+ "Every supplied QP/QIS/framework improvement is classified with evidence.",
53
+ "Every pending or partial finding is mapped to a primary implementation slice.",
54
+ "Every already-resolved finding has a test, code, or doc reference.",
55
+ "No implementation slice starts before this matrix is complete.",
56
+ "No product code is modified."
57
+ ],
58
+ "tests": [
59
+ "git diff --check",
60
+ "find specs/quiver-v28-pixel-quiver-feedback-reconciliation -name \"slice.json\" -print -exec node -e \"JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))\" {} \\;",
61
+ "npx create-quiver spec validate specs/quiver-v28-pixel-quiver-feedback-reconciliation"
62
+ ],
63
+ "validation_hints": [
64
+ "Do not copy unsanitized absolute paths into fixtures.",
65
+ "Treat v27 claims as hypotheses until verified against code and tests."
66
+ ],
67
+ "estimated_hours": 4,
68
+ "actual_hours": 4,
69
+ "completed_at": "2026-05-25T15:19:49Z",
70
+ "status": "completed"
71
+ }
@@ -0,0 +1,38 @@
1
+ # CLOSURE BRIEF - slice-01: AI run state, approvals, and clean output
2
+
3
+ ## Summary
4
+
5
+ Completed the AI run-state and approval-visibility hardening slice. Successful provider-backed planner commands now print clean extracted output instead of raw stdout/stderr, run-scoped approvals are shown separately from global planner approval files, and stale runs can be closed without deleting evidence.
6
+
7
+ ## Validation
8
+
9
+ Passed:
10
+
11
+ - `node --test tests/commands/ai-run-state.test.js tests/commands/ai-plan.test.js tests/commands/ai-export.test.js tests/commands/cli-contract.test.js`
12
+ - `node --test tests/lib/ai-run-state.test.js tests/lib/approvals.test.js tests/lib/ai-export-state.test.js`
13
+
14
+ ## Relevant Changes
15
+
16
+ - Updated `src/create-quiver/commands/ai.js`.
17
+ - Updated `src/create-quiver/lib/ai/run-state.js`.
18
+ - Updated `tests/commands/ai-run-state.test.js`.
19
+ - Updated `tests/commands/ai-plan.test.js`.
20
+ - Updated v28 coverage/status/evidence documents.
21
+
22
+ ## Pending Work
23
+
24
+ - `slice-02`: enforce and repair structured `spec.slices[]` technical-plan contracts.
25
+ - `slice-03`: reconcile multi-source active-slice state and stale `ai inspect` next commands.
26
+ - `slice-04`: align spec validation, scope, and worktree reliability.
27
+ - `slice-05`: add structured review-plan closure metadata and agent DX improvements.
28
+
29
+ ## Remaining Risks
30
+
31
+ - `ai run close` archives by setting phase/status to `closed`; it does not delete or migrate any run artifacts.
32
+ - Existing historical `.quiver/approvals/*` files may still be orphaned by design; the CLI now labels them instead of mutating them.
33
+ - More advanced run replacement UX can be added later if dogfooding shows `close` plus visible open-run warnings are not enough.
34
+
35
+ ## Future Recommendations
36
+
37
+ - Keep future planner commands using clean output on success and raw output only on failure diagnostics.
38
+ - Keep approval reports grouped by run when adding new phases or approval types.
@@ -0,0 +1,53 @@
1
+ # EXECUTION BRIEF - slice-01: AI run state, approvals, and clean output
2
+
3
+ ## Context
4
+
5
+ Pixel Quiver observed stale run state, approval history mixed with active work, and noisy provider output in AI commands.
6
+
7
+ ## Objective
8
+
9
+ Make AI run and approval state clear, scoped to the active run when requested, and safe for humans and agents to consume.
10
+
11
+ ## Scope
12
+
13
+ - AI command lifecycle and approvals.
14
+ - Clean draft persistence.
15
+ - Raw provider log storage and redaction.
16
+ - Tests for run/approval states.
17
+
18
+ ## Acceptance Criteria
19
+
20
+ - Active run and historical approvals are distinguishable.
21
+ - Clean drafts do not include prompt echo or raw provider logs.
22
+ - Raw logs are stored separately and redacted.
23
+ - Existing run/approval data remains readable.
24
+
25
+ ## Technical Plan Summary
26
+
27
+ Add or refine run-state and approval helpers, update AI command output, and add fixtures/tests around old and active lifecycle data.
28
+
29
+ ## Suggested Execution Steps
30
+
31
+ 1. Read `slice-00` final matrix for exact findings assigned here.
32
+ 2. Add failing tests for stale/historical approvals and noisy output.
33
+ 3. Update run/approval resolution.
34
+ 4. Update raw artifact persistence and output formatting.
35
+ 5. Run focused tests and update closure evidence.
36
+
37
+ ## Restrictions
38
+
39
+ - Do not implement spec generation changes in this slice.
40
+ - Do not change provider credentials handling.
41
+ - Do not store secrets.
42
+
43
+ ## Risks
44
+
45
+ - Existing `.quiver/approvals` layouts may vary across versions.
46
+
47
+ ## Completion Checklist
48
+
49
+ - [ ] Run-state tests pass.
50
+ - [ ] Approval grouping tests pass.
51
+ - [ ] Clean draft/raw log tests pass.
52
+ - [ ] Documentation evidence updated.
53
+
@@ -0,0 +1,83 @@
1
+ {
2
+ "slice_id": "slice-01-ai-run-state-approvals-and-clean-output",
3
+ "ticket": "QUIVER-28-01",
4
+ "type": "feature",
5
+ "title": "AI run state, approvals, and clean output",
6
+ "objective": "Harden AI run lifecycle, approval visibility, and provider output persistence so scopes and drafts do not get mixed.",
7
+ "description": "Separates active and historical runs, groups approvals by run, persists clean drafts and raw logs separately, and prevents stale approvals from appearing current.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "v28-ai-run-state-approvals-clean-output",
12
+ "branch_name": "feature/QUIVER-28-01-v28-ai-run-state-approvals-clean-output"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/commands/ai.js",
16
+ "src/create-quiver/lib/ai/run-state.js",
17
+ "src/create-quiver/lib/ai/artifacts.js",
18
+ "src/create-quiver/lib/ai/export-state.js",
19
+ "src/create-quiver/lib/approvals.js",
20
+ "tests/commands/ai-run-state.test.js",
21
+ "tests/commands/ai-plan.test.js",
22
+ "tests/commands/ai-export.test.js",
23
+ "tests/lib/ai-run-state.test.js",
24
+ "tests/lib/approvals.test.js",
25
+ "tests/lib/ai-export-state.test.js",
26
+ "specs/quiver-v28-pixel-quiver-feedback-reconciliation/**"
27
+ ],
28
+ "expected_read_paths": [
29
+ "src/create-quiver/commands/ai.js",
30
+ "src/create-quiver/lib/ai/**",
31
+ "src/create-quiver/lib/approvals.js",
32
+ "tests/commands/ai-*.test.js",
33
+ "tests/lib/ai-*.test.js"
34
+ ],
35
+ "allowed_write_paths": [
36
+ "src/create-quiver/commands/ai.js",
37
+ "src/create-quiver/lib/ai/run-state.js",
38
+ "src/create-quiver/lib/ai/artifacts.js",
39
+ "src/create-quiver/lib/ai/export-state.js",
40
+ "src/create-quiver/lib/approvals.js",
41
+ "tests/commands/ai-run-state.test.js",
42
+ "tests/commands/ai-plan.test.js",
43
+ "tests/commands/ai-export.test.js",
44
+ "tests/lib/ai-run-state.test.js",
45
+ "tests/lib/approvals.test.js",
46
+ "tests/lib/ai-export-state.test.js",
47
+ "specs/quiver-v28-pixel-quiver-feedback-reconciliation/**"
48
+ ],
49
+ "depends_on": [
50
+ "slice-00-reconciliation-and-evidence-freeze"
51
+ ],
52
+ "parallel_safe": "after_dependencies",
53
+ "parallel_safe_reason": "Can run after slice-00 if no overlap with slice-04 is introduced.",
54
+ "must": [
55
+ "Distinguish active, historical, stale, and orphaned approvals.",
56
+ "Keep clean drafts separate from raw provider logs.",
57
+ "Redact raw logs before persistence.",
58
+ "Avoid breaking existing run directories."
59
+ ],
60
+ "not_included": [
61
+ "Technical-plan schema repair.",
62
+ "Active-slice reconciliation.",
63
+ "PR creation."
64
+ ],
65
+ "acceptance": [
66
+ "AI commands do not mix current run output with historical approvals.",
67
+ "Raw provider logs are persisted separately from useful drafts.",
68
+ "Tests cover old, current, stale, and incomplete run states.",
69
+ "JSON export remains parseable without human log cleanup."
70
+ ],
71
+ "tests": [
72
+ "node --test tests/commands/ai-run-state.test.js tests/commands/ai-plan.test.js tests/commands/ai-export.test.js",
73
+ "node --test tests/lib/ai-run-state.test.js tests/lib/approvals.test.js tests/lib/ai-export-state.test.js"
74
+ ],
75
+ "validation_hints": [
76
+ "Add fixtures for old approvals before changing behavior.",
77
+ "Keep backward compatibility for existing .quiver/runs."
78
+ ],
79
+ "estimated_hours": 8,
80
+ "actual_hours": 8,
81
+ "completed_at": "2026-05-25T15:19:49Z",
82
+ "status": "completed"
83
+ }