create-quiver 0.12.0 → 0.12.1

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 (109) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +49 -17
  3. package/README_FOR_AI.md +31 -29
  4. package/ROADMAP.md +15 -3
  5. package/docs/AI_ONBOARDING_PROMPT.md.template +7 -1
  6. package/docs/COMMANDS.md.template +44 -18
  7. package/docs/STATUS.md.template +5 -1
  8. package/docs/WORKFLOW.md.template +13 -11
  9. package/package.json +9 -3
  10. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/EVIDENCE_REPORT.md +293 -0
  11. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/EXECUTION_PLAN.md +58 -0
  12. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/SPEC.md +242 -0
  13. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/STATUS.md +35 -0
  14. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/pr.md +77 -0
  15. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +34 -0
  16. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
  17. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/slice.json +52 -0
  18. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/CLOSURE_BRIEF.md +36 -0
  19. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/EXECUTION_BRIEF.md +52 -0
  20. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/slice.json +56 -0
  21. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/CLOSURE_BRIEF.md +43 -0
  22. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/EXECUTION_BRIEF.md +54 -0
  23. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/slice.json +52 -0
  24. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/CLOSURE_BRIEF.md +35 -0
  25. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/EXECUTION_BRIEF.md +53 -0
  26. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/slice.json +54 -0
  27. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/CLOSURE_BRIEF.md +34 -0
  28. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/EXECUTION_BRIEF.md +54 -0
  29. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/slice.json +52 -0
  30. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/CLOSURE_BRIEF.md +34 -0
  31. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/EXECUTION_BRIEF.md +54 -0
  32. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/slice.json +53 -0
  33. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/CLOSURE_BRIEF.md +33 -0
  34. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/EXECUTION_BRIEF.md +56 -0
  35. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/slice.json +55 -0
  36. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/CLOSURE_BRIEF.md +33 -0
  37. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/EXECUTION_BRIEF.md +54 -0
  38. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/slice.json +52 -0
  39. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/CLOSURE_BRIEF.md +39 -0
  40. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/EXECUTION_BRIEF.md +56 -0
  41. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/slice.json +53 -0
  42. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/CLOSURE_BRIEF.md +38 -0
  43. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/EXECUTION_BRIEF.md +57 -0
  44. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/slice.json +52 -0
  45. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/CLOSURE_BRIEF.md +39 -0
  46. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/EXECUTION_BRIEF.md +55 -0
  47. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/slice.json +56 -0
  48. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/CLOSURE_BRIEF.md +36 -0
  49. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/EXECUTION_BRIEF.md +54 -0
  50. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/slice.json +53 -0
  51. package/specs/quiver-v26-0121-smoke-hardening/EVIDENCE_REPORT.md +208 -0
  52. package/specs/quiver-v26-0121-smoke-hardening/EXECUTION_PLAN.md +57 -0
  53. package/specs/quiver-v26-0121-smoke-hardening/SPEC.md +137 -0
  54. package/specs/quiver-v26-0121-smoke-hardening/STATUS.md +32 -0
  55. package/specs/quiver-v26-0121-smoke-hardening/pr.md +96 -0
  56. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/CLOSURE_BRIEF.md +35 -0
  57. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/EXECUTION_BRIEF.md +55 -0
  58. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/slice.json +73 -0
  59. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/CLOSURE_BRIEF.md +38 -0
  60. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/EXECUTION_BRIEF.md +51 -0
  61. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/slice.json +76 -0
  62. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/CLOSURE_BRIEF.md +37 -0
  63. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/EXECUTION_BRIEF.md +52 -0
  64. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/slice.json +75 -0
  65. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/CLOSURE_BRIEF.md +37 -0
  66. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/EXECUTION_BRIEF.md +53 -0
  67. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/slice.json +77 -0
  68. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/CLOSURE_BRIEF.md +35 -0
  69. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/EXECUTION_BRIEF.md +52 -0
  70. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/slice.json +77 -0
  71. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/CLOSURE_BRIEF.md +34 -0
  72. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/EXECUTION_BRIEF.md +54 -0
  73. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/slice.json +84 -0
  74. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/CLOSURE_BRIEF.md +35 -0
  75. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/EXECUTION_BRIEF.md +53 -0
  76. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/slice.json +82 -0
  77. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/CLOSURE_BRIEF.md +35 -0
  78. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/EXECUTION_BRIEF.md +55 -0
  79. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/slice.json +92 -0
  80. package/src/create-quiver/commands/ai.js +577 -27
  81. package/src/create-quiver/commands/flow.js +6 -5
  82. package/src/create-quiver/commands/graph.js +6 -4
  83. package/src/create-quiver/commands/plan.js +3 -3
  84. package/src/create-quiver/index.js +328 -12
  85. package/src/create-quiver/lib/actionable-error.js +27 -0
  86. package/src/create-quiver/lib/agent-profiles.js +1 -1
  87. package/src/create-quiver/lib/ai/context-packs.js +4 -0
  88. package/src/create-quiver/lib/ai/execution-plan.js +7 -1
  89. package/src/create-quiver/lib/ai/executor.js +270 -20
  90. package/src/create-quiver/lib/ai/export-state.js +534 -0
  91. package/src/create-quiver/lib/ai/github.js +83 -0
  92. package/src/create-quiver/lib/ai/onboarding-template.js +215 -2
  93. package/src/create-quiver/lib/ai/plan-review.js +5 -2
  94. package/src/create-quiver/lib/ai/providers.js +4 -3
  95. package/src/create-quiver/lib/ai/run-state.js +414 -0
  96. package/src/create-quiver/lib/ai/spec-generator.js +12 -0
  97. package/src/create-quiver/lib/ai/spec-templates.js +78 -9
  98. package/src/create-quiver/lib/approvals.js +22 -3
  99. package/src/create-quiver/lib/demo.js +189 -14
  100. package/src/create-quiver/lib/doctor.js +75 -0
  101. package/src/create-quiver/lib/handoff.js +81 -12
  102. package/src/create-quiver/lib/init-docs.js +24 -6
  103. package/src/create-quiver/lib/init-layout.js +8 -0
  104. package/src/create-quiver/lib/json.js +53 -3
  105. package/src/create-quiver/lib/readiness.js +18 -3
  106. package/src/create-quiver/lib/scope.js +50 -7
  107. package/src/create-quiver/lib/slice-graph.js +138 -38
  108. package/src/create-quiver/lib/slice.js +6 -1
  109. package/src/create-quiver/lib/spec-worktrees.js +16 -2
@@ -0,0 +1,43 @@
1
+ # CLOSURE BRIEF - slice-02: Run state, phase gates, and locks
2
+
3
+ ## Summary of Work
4
+
5
+ - Added persistent AI lifecycle run state under `.quiver/runs/<run-id>/`.
6
+ - Added `ai run create`, `ai status`, and `ai resume` command behavior.
7
+ - Added approvals metadata for lifecycle runs.
8
+ - Added run/slice lock helpers with stale-lock metadata in `.quiver/locks/`.
9
+ - Connected `ai plan` and `ai approve` to lifecycle phase updates.
10
+ - Added phase guard helpers for blocking future-phase work with next-command guidance.
11
+
12
+ ## Validation Against Acceptance Criteria
13
+
14
+ - [x] Run creation inspected.
15
+ - [x] Resume verified.
16
+ - [x] Invalid phase blocked.
17
+ - [x] Locks verified.
18
+ - [x] Tests run.
19
+
20
+ ## Relevant Changes
21
+
22
+ - `src/create-quiver/lib/ai/run-state.js`
23
+ - `src/create-quiver/commands/ai.js`
24
+ - `src/create-quiver/index.js`
25
+ - `src/create-quiver/lib/init-layout.js`
26
+ - `tests/lib/ai-run-state.test.js`
27
+ - `tests/commands/ai-run-state.test.js`
28
+ - `tests/lib/init-layout.test.js`
29
+ - `README.md`
30
+ - `README_FOR_AI.md`
31
+ - `docs/COMMANDS.md.template`
32
+
33
+ ## Pending
34
+
35
+ - None.
36
+
37
+ ## Remaining Risks
38
+
39
+ - Locks are implemented as file locks with owner metadata. Process liveness cleanup is intentionally manual for now to avoid unsafe deletion.
40
+
41
+ ## Future Recommendations
42
+
43
+ - Later slices should wire `assertAiRunPhaseAllows` into spec generation, execution planning, slice execution, and PR creation.
@@ -0,0 +1,54 @@
1
+ # EXECUTION BRIEF - slice-02: Run state, phase gates, and locks
2
+
3
+ ## Context
4
+
5
+ The lifecycle must survive interruptions, multiple agents, and multiple terminal sessions. Chat memory is not a safe state store.
6
+
7
+ ## Objective
8
+
9
+ Add persistent run state, phase validation, approvals metadata, status/resume, and locks.
10
+
11
+ ## Scope
12
+
13
+ - `.quiver/runs/<run-id>/state.json`.
14
+ - `.quiver/runs/<run-id>/approvals.json`.
15
+ - Run status and resume commands or command paths.
16
+ - Phase transition validation.
17
+ - Run/slice locks and stale-lock recovery.
18
+
19
+ ## Acceptance Criteria
20
+
21
+ - Run state persists and can be resumed.
22
+ - Future-phase commands are blocked.
23
+ - Locks prevent concurrent mutation.
24
+ - Stale locks are recoverable with metadata.
25
+
26
+ ## Technical Plan Summary
27
+
28
+ Create state helpers and phase transition guards before adding higher-level planner or executor flows.
29
+
30
+ ## Suggested Execution Steps
31
+
32
+ 1. Define state schema and phase enum.
33
+ 2. Add read/write helpers.
34
+ 3. Add phase guard utility.
35
+ 4. Add lock helpers.
36
+ 5. Wire status/resume commands.
37
+ 6. Test phase and lock behavior with temp fixtures.
38
+
39
+ ## Restrictions
40
+
41
+ - Do not execute provider CLIs.
42
+ - Do not generate specs in this slice.
43
+
44
+ ## Risks
45
+
46
+ - State schema drift can break future runs. Keep it versioned or migration-ready.
47
+
48
+ ## Completion Checklist
49
+
50
+ - [ ] State helpers implemented.
51
+ - [ ] Phase guards implemented.
52
+ - [ ] Locks implemented.
53
+ - [ ] Tests passing.
54
+ - [ ] Evidence appended.
@@ -0,0 +1,52 @@
1
+ {
2
+ "slice_id": "slice-02-run-state-phase-locks",
3
+ "ticket": "QUIVER-25-02",
4
+ "type": "feature",
5
+ "title": "Run state, phase gates, and locks",
6
+ "objective": "Persist AI lifecycle state and prevent invalid phase transitions or concurrent run corruption.",
7
+ "description": "Introduce `.quiver/runs/<run-id>/` state, approvals metadata, status/resume behavior, phase validation, and locks for runs and slices.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "run-state-phase-locks",
12
+ "branch_name": "feature/QUIVER-25-02-run-state-phase-locks"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/**",
16
+ "docs/**",
17
+ "tests/**"
18
+ ],
19
+ "depends_on": [
20
+ "slice-01-cli-contract-compatibility"
21
+ ],
22
+ "parallel_safe": "no",
23
+ "parallel_safe_reason": "Creates shared state machinery required by later slices.",
24
+ "must": [
25
+ "Create and load `.quiver/runs/<run-id>/state.json`.",
26
+ "Persist approvals metadata.",
27
+ "Add status and resume behavior.",
28
+ "Block commands that do not match the current phase.",
29
+ "Add run and slice locks with stale-lock metadata."
30
+ ],
31
+ "not_included": [
32
+ "Provider execution.",
33
+ "Generating specs from planner output.",
34
+ "Git worktree lifecycle."
35
+ ],
36
+ "acceptance": [
37
+ "A run can be created, inspected, and resumed.",
38
+ "Invalid future-phase commands are blocked with next-command guidance.",
39
+ "Run and slice locks prevent concurrent mutation.",
40
+ "Stale lock recovery shows metadata before removal.",
41
+ "State can be read without chat memory."
42
+ ],
43
+ "tests": [
44
+ "node --test tests/**/*.test.js",
45
+ "git diff --check"
46
+ ],
47
+ "estimated_hours": 6,
48
+ "status": "completed",
49
+ "blocked_reason": null,
50
+ "actual_hours": 3,
51
+ "completed_at": "2026-05-22T00:00:00-0300"
52
+ }
@@ -0,0 +1,35 @@
1
+ # CLOSURE BRIEF - slice-03: Safe AI onboarding documentation
2
+
3
+ ## Summary of Work
4
+
5
+ Implemented safe docs-only AI context preparation for new and existing projects.
6
+
7
+ ## Validation Against Acceptance Criteria
8
+
9
+ - [x] New project fixture validated.
10
+ - [x] Existing project fixture validated.
11
+ - [x] Dry-run validated.
12
+ - [x] Snapshot validated.
13
+ - [x] Conflict reporting validated.
14
+
15
+ ## Relevant Changes
16
+
17
+ - `ai prepare-context --dry-run` now reports proposed doc actions, compact diffs, assumptions, risks, contradictions, omitted paths, and uncertainty markers without writing.
18
+ - Write mode snapshots touched docs under `.quiver/runs/<run-id>/snapshots/` before updating docs.
19
+ - Existing human-authored docs are preserved; Quiver appends or refreshes a managed context-prep block instead of replacing the full file.
20
+ - Context prep now targets `INDEX`, `PROJECT_MAP`, `AI_CONTEXT`, `AI_ONBOARDING_PROMPT`, `CONTEXTO`, `WORKFLOW`, `ARCHITECTURE`, `STATUS`, and `DECISIONS`.
21
+ - Context prep advances the lifecycle run to `onboarding-ready` after successful docs writes.
22
+ - README and command docs describe diff preview, snapshots, and contradiction reporting.
23
+
24
+ ## Pending
25
+
26
+ No pending implementation for this slice.
27
+
28
+ ## Remaining Risks
29
+
30
+ - Diff snippets are previews; full review should still use `git diff`.
31
+ - Contradiction detection is conservative and should expand with more real project signals in future hardening.
32
+
33
+ ## Future Recommendations
34
+
35
+ - Dogfood this slice on Quiver itself and on a small generated project.
@@ -0,0 +1,53 @@
1
+ # EXECUTION BRIEF - slice-03: Safe AI onboarding documentation
2
+
3
+ ## Context
4
+
5
+ Quiver should reduce manual onboarding work by letting AI complete project context docs, but this must be safe in existing projects.
6
+
7
+ ## Objective
8
+
9
+ Generate and update onboarding documentation with dry-run, snapshots, assumptions, and conflict reporting.
10
+
11
+ ## Scope
12
+
13
+ - Docs-only onboarding generation.
14
+ - New project and existing project behavior.
15
+ - Dry-run previews and snapshots.
16
+ - Uncertainty markers and contradiction reports.
17
+
18
+ ## Acceptance Criteria
19
+
20
+ - New projects get generated onboarding docs.
21
+ - Existing docs are preserved unless explicitly updated.
22
+ - `--dry-run` writes nothing.
23
+ - Snapshots are saved before writes.
24
+ - Unknowns and contradictions are visible.
25
+
26
+ ## Technical Plan Summary
27
+
28
+ Extend analyzer/context preparation into a safe doc writer that separates inferred facts from assumptions and uses the run state created in slice-02.
29
+
30
+ ## Suggested Execution Steps
31
+
32
+ 1. Define allowed docs and write policy.
33
+ 2. Add dry-run diff output.
34
+ 3. Add snapshot creation.
35
+ 4. Add uncertainty/conflict reporting.
36
+ 5. Cover project-new, project-existing, and old-Quiver fixtures.
37
+
38
+ ## Restrictions
39
+
40
+ - Do not modify product code in target projects.
41
+ - Do not read or log secret values from `.env` files.
42
+
43
+ ## Risks
44
+
45
+ - AI text may sound more certain than evidence supports. Force uncertainty labels.
46
+
47
+ ## Completion Checklist
48
+
49
+ - [ ] Dry-run implemented.
50
+ - [ ] Snapshot behavior implemented.
51
+ - [ ] Existing docs preservation tested.
52
+ - [ ] Conflict reporting tested.
53
+ - [ ] Evidence appended.
@@ -0,0 +1,54 @@
1
+ {
2
+ "slice_id": "slice-03-safe-ai-onboarding-docs",
3
+ "ticket": "QUIVER-25-03",
4
+ "type": "feature",
5
+ "title": "Safe AI onboarding documentation",
6
+ "objective": "Let Quiver use AI to generate and update project onboarding docs safely for new, existing, and older Quiver projects.",
7
+ "description": "Implement docs-only onboarding generation with dry-run, diffs, snapshots, assumptions, risks, and conflict reporting.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "safe-ai-onboarding-docs",
12
+ "branch_name": "feature/QUIVER-25-03-safe-ai-onboarding-docs"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/**",
16
+ "docs/**",
17
+ "templates/**",
18
+ "tests/**"
19
+ ],
20
+ "depends_on": [
21
+ "slice-02-run-state-phase-locks"
22
+ ],
23
+ "parallel_safe": "yes",
24
+ "parallel_safe_reason": "Can run beside agent adapter work if command/state files do not overlap.",
25
+ "must": [
26
+ "Support onboarding generation with `--dry-run`.",
27
+ "Generate or update docs such as CONTEXTO, WORKFLOW, ARCHITECTURE, STATUS, INDEX, AI_CONTEXT, and PROJECT_MAP where applicable.",
28
+ "Mark uncertain content as TODO, Assumption, or Pending confirmation.",
29
+ "Preserve human-authored content and show diffs before writing.",
30
+ "Snapshot touched docs before writing.",
31
+ "Report contradictions instead of silently resolving them."
32
+ ],
33
+ "not_included": [
34
+ "Provider adapter implementation unless needed for prompt-only output.",
35
+ "Spec generation from approved plans.",
36
+ "Product code modification in target projects."
37
+ ],
38
+ "acceptance": [
39
+ "New projects receive useful onboarding docs from inferred stack/scripts/structure.",
40
+ "Existing projects update only approved docs without deleting useful content.",
41
+ "`--dry-run` writes nothing and reports proposed changes.",
42
+ "Snapshots are stored before writes.",
43
+ "Contradictions and unknowns are reported clearly.",
44
+ "No product code files are modified by onboarding generation."
45
+ ],
46
+ "tests": [
47
+ "node --test tests/**/*.test.js",
48
+ "git diff --check"
49
+ ],
50
+ "estimated_hours": 8,
51
+ "status": "completed",
52
+ "completed_at": "2026-05-22T16:31:18-0300",
53
+ "blocked_reason": null
54
+ }
@@ -0,0 +1,34 @@
1
+ # CLOSURE BRIEF - slice-04: Agent profiles and provider adapters
2
+
3
+ ## Summary of Work
4
+
5
+ Implemented the provider-agnostic agent profile contract for planner, executor, reviewer, and doctor roles, plus prompt-only rendering and redacted provider output.
6
+
7
+ ## Validation Against Acceptance Criteria
8
+
9
+ - [x] Profiles inspected.
10
+ - [x] Prompt-only mode verified.
11
+ - [x] Missing CLI guidance verified.
12
+ - [x] Structured output captured.
13
+ - [x] Tests run.
14
+
15
+ ## Relevant Changes
16
+
17
+ - Added `doctor` as a supported agent profile and removed `researcher` from the public profile contract.
18
+ - Added `--print-prompt` support for planner/reviewer AI commands without invoking provider CLIs.
19
+ - Redacted likely secrets from provider stdout, stderr, and error messages.
20
+ - Added focused tests for doctor profiles, prompt-only output, missing CLI guidance, structured provider metadata, and log redaction.
21
+ - Updated README and command reference docs.
22
+
23
+ ## Pending
24
+
25
+ No pending implementation for this slice.
26
+
27
+ ## Remaining Risks
28
+
29
+ - Redaction remains best-effort and should not be treated as a reason to intentionally print secrets.
30
+ - `ai doctor` does not yet use the doctor provider profile; it remains a local readiness/GitHub preflight command.
31
+
32
+ ## Future Recommendations
33
+
34
+ - Consider a later explicit `ai doctor --provider` diagnostic flow if the doctor profile should run model-assisted diagnosis.
@@ -0,0 +1,54 @@
1
+ # EXECUTION BRIEF - slice-04: Agent profiles and provider adapters
2
+
3
+ ## Context
4
+
5
+ Quiver must support different model CLIs without hard-coding one provider or storing credentials.
6
+
7
+ ## Objective
8
+
9
+ Add provider-agnostic agent profiles and adapter contracts, starting with prompt-only behavior.
10
+
11
+ ## Scope
12
+
13
+ - Planner, executor, reviewer, and doctor profiles.
14
+ - Provider command validation.
15
+ - Prompt rendering.
16
+ - Structured command result capture.
17
+ - Secret redaction for adapter logs.
18
+
19
+ ## Acceptance Criteria
20
+
21
+ - Profiles store labels and command preferences, not secrets.
22
+ - Prompt-only mode works.
23
+ - Missing CLI errors are actionable.
24
+ - Execution metadata is captured when execution is enabled.
25
+
26
+ ## Technical Plan Summary
27
+
28
+ Build a small adapter layer around external CLIs with explicit input/output contracts and dry-run-safe behavior.
29
+
30
+ ## Suggested Execution Steps
31
+
32
+ 1. Inspect current agent profile code.
33
+ 2. Define adapter interface.
34
+ 3. Implement prompt-only path.
35
+ 4. Add CLI availability checks.
36
+ 5. Add structured result capture and redaction.
37
+ 6. Test with mocked provider commands.
38
+
39
+ ## Restrictions
40
+
41
+ - Do not require real provider credentials in tests.
42
+ - Do not store API keys or tokens.
43
+
44
+ ## Risks
45
+
46
+ - Provider CLIs differ substantially. Keep the first contract conservative.
47
+
48
+ ## Completion Checklist
49
+
50
+ - [ ] Profile schema updated.
51
+ - [ ] Prompt-only path validated.
52
+ - [ ] Missing CLI errors tested.
53
+ - [ ] Redaction tested.
54
+ - [ ] Evidence appended.
@@ -0,0 +1,52 @@
1
+ {
2
+ "slice_id": "slice-04-agent-profiles-adapters",
3
+ "ticket": "QUIVER-25-04",
4
+ "type": "feature",
5
+ "title": "Agent profiles and provider adapters",
6
+ "objective": "Create a safe provider-agnostic contract for planner, executor, reviewer, and doctor agents.",
7
+ "description": "Add profile and adapter behavior for Codex, Claude, Gemini, or custom commands, starting with prompt-only and dry-run-safe execution.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "agent-profiles-adapters",
12
+ "branch_name": "feature/QUIVER-25-04-agent-profiles-adapters"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/**",
16
+ "docs/**",
17
+ "tests/**"
18
+ ],
19
+ "depends_on": [
20
+ "slice-02-run-state-phase-locks"
21
+ ],
22
+ "parallel_safe": "yes",
23
+ "parallel_safe_reason": "Can run beside onboarding docs if adapter files are isolated.",
24
+ "must": [
25
+ "Support planner, executor, reviewer, and doctor profiles.",
26
+ "Store provider/model labels but never credentials.",
27
+ "Support prompt-only output with `--print-prompt` or equivalent.",
28
+ "Validate provider CLI availability before execution.",
29
+ "Capture stdout, stderr, exit code, timeout, and sanitized logs.",
30
+ "Define fallback behavior when a CLI is missing."
31
+ ],
32
+ "not_included": [
33
+ "Approval gate implementation.",
34
+ "Spec generation.",
35
+ "Automatic multi-agent scheduling."
36
+ ],
37
+ "acceptance": [
38
+ "Profiles can be configured and inspected without secrets.",
39
+ "Prompt-only mode works without provider authentication.",
40
+ "Missing provider CLI produces actionable guidance.",
41
+ "Adapter output is captured in a structured way.",
42
+ "Logs redact likely secrets before writing."
43
+ ],
44
+ "tests": [
45
+ "node --test tests/**/*.test.js",
46
+ "git diff --check"
47
+ ],
48
+ "estimated_hours": 7,
49
+ "status": "completed",
50
+ "completed_at": "2026-05-22T16:21:54-0300",
51
+ "blocked_reason": null
52
+ }
@@ -0,0 +1,34 @@
1
+ # CLOSURE BRIEF - slice-05: Approval gates and planner iterations
2
+
3
+ ## Summary of Work
4
+
5
+ Implemented versioned planner approval gates for acceptance and technical-plan phases. `ai revise` now creates a new draft version from human feedback without approving or advancing the phase, while `ai approve` requires an explicit current draft version. Technical-plan approval now requires a production-readiness review for the current draft before spec generation can proceed.
6
+
7
+ ## Validation Against Acceptance Criteria
8
+
9
+ - [x] Criteria revision flow verified.
10
+ - [x] Criteria approval verified.
11
+ - [x] Plan revision flow verified.
12
+ - [x] Plan approval verified.
13
+ - [x] Premature spec generation blocked.
14
+
15
+ ## Relevant Changes
16
+
17
+ - Added `npx create-quiver ai revise`.
18
+ - Changed `ai approve` to approve saved draft versions only with `--version <n>`.
19
+ - Blocked approval of missing or non-current draft versions.
20
+ - Required current production-readiness review before technical-plan approval.
21
+ - Updated flow guidance, README, generated docs, init templates, and command reference.
22
+ - Added regression tests for revise, approval versioning, stale review blocking, and spec generation gates.
23
+
24
+ ## Pending
25
+
26
+ None for this slice.
27
+
28
+ ## Remaining Risks
29
+
30
+ - Technical-plan review checks are local state based; external provider quality still depends on the configured reviewer prompt and model.
31
+
32
+ ## Future Recommendations
33
+
34
+ - Keep approval messages concise and cite the approved draft version.
@@ -0,0 +1,54 @@
1
+ # EXECUTION BRIEF - slice-05: Approval gates and planner iterations
2
+
3
+ ## Context
4
+
5
+ Human approval is central to Quiver. Planner output must be iterated and approved before later phases can run.
6
+
7
+ ## Objective
8
+
9
+ Persist criteria and technical-plan drafts, revisions, and approvals with strict phase gates.
10
+
11
+ ## Scope
12
+
13
+ - Acceptance criteria drafts.
14
+ - Technical-plan drafts.
15
+ - Revise commands.
16
+ - Approval commands.
17
+ - Approval state and phase blocking.
18
+
19
+ ## Acceptance Criteria
20
+
21
+ - Drafts are versioned.
22
+ - Revisions do not advance phase.
23
+ - Approvals require concrete versions.
24
+ - Spec generation is blocked before approval.
25
+ - Approval history survives session changes.
26
+
27
+ ## Technical Plan Summary
28
+
29
+ Use the run state from slice-02 and adapter prompts from slice-04 to manage planner drafts and approvals.
30
+
31
+ ## Suggested Execution Steps
32
+
33
+ 1. Define draft storage layout.
34
+ 2. Add criteria draft/revise/approve behavior.
35
+ 3. Add technical-plan draft/revise/review/approve behavior.
36
+ 4. Wire phase guards.
37
+ 5. Test invalid transitions.
38
+
39
+ ## Restrictions
40
+
41
+ - Do not create spec/slice files in this slice.
42
+ - Do not execute implementation agents.
43
+
44
+ ## Risks
45
+
46
+ - Loose approval semantics can let users approve the wrong version. Require explicit version IDs.
47
+
48
+ ## Completion Checklist
49
+
50
+ - [ ] Criteria gate tested.
51
+ - [ ] Technical-plan gate tested.
52
+ - [ ] Invalid transitions tested.
53
+ - [ ] Approval state documented.
54
+ - [ ] Evidence appended.
@@ -0,0 +1,53 @@
1
+ {
2
+ "slice_id": "slice-05-approval-gates",
3
+ "ticket": "QUIVER-25-05",
4
+ "type": "feature",
5
+ "title": "Approval gates and planner iterations",
6
+ "objective": "Implement human approval gates for criteria, technical plans, and production-readiness review.",
7
+ "description": "Persist versioned planner drafts, allow revisions, require explicit approval, and block later phases until approvals exist.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "approval-gates-planner-iterations",
12
+ "branch_name": "feature/QUIVER-25-05-approval-gates-planner-iterations"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/**",
16
+ "docs/**",
17
+ "tests/**"
18
+ ],
19
+ "depends_on": [
20
+ "slice-02-run-state-phase-locks",
21
+ "slice-04-agent-profiles-adapters"
22
+ ],
23
+ "parallel_safe": "no",
24
+ "parallel_safe_reason": "Depends on shared state and agent profile contracts.",
25
+ "must": [
26
+ "Store versioned acceptance criteria drafts.",
27
+ "Store versioned technical-plan drafts.",
28
+ "Support revise commands that do not advance phase.",
29
+ "Approve only concrete versions.",
30
+ "Block spec generation until the plan is approved.",
31
+ "Record approval decisions and timestamps."
32
+ ],
33
+ "not_included": [
34
+ "Spec file generation.",
35
+ "Slice execution.",
36
+ "PR creation."
37
+ ],
38
+ "acceptance": [
39
+ "Criteria drafts can be generated, revised, and approved.",
40
+ "Technical-plan drafts can be generated, revised, reviewed, and approved.",
41
+ "Approving a missing or non-current version fails clearly.",
42
+ "Spec generation is blocked before plan approval.",
43
+ "Approvals are readable from state without chat memory."
44
+ ],
45
+ "tests": [
46
+ "node --test tests/**/*.test.js",
47
+ "git diff --check"
48
+ ],
49
+ "estimated_hours": 7,
50
+ "status": "completed",
51
+ "blocked_reason": null,
52
+ "completed_at": "2026-05-22T16:45:36-0300"
53
+ }
@@ -0,0 +1,33 @@
1
+ # CLOSURE BRIEF - slice-06: Spec, slice, handoff, and PR body generation
2
+
3
+ ## Summary of Work
4
+
5
+ Completed the generated artifact contract for specs and slices. Generated `slice.json` files now include dependency data, parallel safety, expected read paths, allowed write paths, and validation hints, and generated `EXECUTION_BRIEF.md` files expose the same execution contract for agents.
6
+
7
+ ## Validation Against Acceptance Criteria
8
+
9
+ - [x] Blocked before plan approval.
10
+ - [x] Dry-run verified.
11
+ - [x] Spec artifacts generated.
12
+ - [x] Slice handoffs generated.
13
+ - [x] JSON validation passed.
14
+
15
+ ## Relevant Changes
16
+
17
+ - Added generated `expected_read_paths`, `allowed_write_paths`, and `validation_hints` to `slice.json`.
18
+ - Added validation that generated slice JSON contains those arrays.
19
+ - Added the same read/write/validation sections to generated execution briefs.
20
+ - Preserved backward compatibility by deriving `allowed_write_paths` from existing `files` and deriving `files` from explicit allowed write paths when needed.
21
+ - Added fixture coverage for explicit and default scope declarations.
22
+
23
+ ## Pending
24
+
25
+ None for this slice.
26
+
27
+ ## Remaining Risks
28
+
29
+ - Generated scopes are only as accurate as the approved planner output and safe defaults.
30
+
31
+ ## Future Recommendations
32
+
33
+ - Use generated artifacts to dogfood the next Quiver spec.
@@ -0,0 +1,56 @@
1
+ # EXECUTION BRIEF - slice-06: Spec, slice, handoff, and PR body generation
2
+
3
+ ## Context
4
+
5
+ Once the technical plan is approved, Quiver must turn it into durable artifacts that agents and humans can execute.
6
+
7
+ ## Objective
8
+
9
+ Generate complete spec/slice/handoff/PR artifacts from approved planner output.
10
+
11
+ ## Scope
12
+
13
+ - Spec folder creation.
14
+ - Mandatory `slice-00`.
15
+ - Slice JSON and handoff generation.
16
+ - `EXECUTION_PLAN.md`, `EVIDENCE_REPORT.md`, `STATUS.md`, and `pr.md`.
17
+ - File scope declarations.
18
+ - Dry-run previews.
19
+
20
+ ## Acceptance Criteria
21
+
22
+ - Generation is blocked before plan approval.
23
+ - Dry-run lists all proposed files.
24
+ - Artifacts follow Quiver layout.
25
+ - Every slice has handoffs and parseable JSON.
26
+ - `slice-00` exists.
27
+
28
+ ## Technical Plan Summary
29
+
30
+ Transform approved planner output into the canonical `specs/<spec-slug>/` structure and validate before writing.
31
+
32
+ ## Suggested Execution Steps
33
+
34
+ 1. Define artifact generator contracts.
35
+ 2. Add dry-run preview.
36
+ 3. Generate top-level files.
37
+ 4. Generate slices and handoffs.
38
+ 5. Validate JSON and required files.
39
+ 6. Test with fixture planner outputs.
40
+
41
+ ## Restrictions
42
+
43
+ - Do not run execution agents.
44
+ - Do not commit or open PRs.
45
+
46
+ ## Risks
47
+
48
+ - Poor planner output may create unusable slices. Validate and fail with actionable messages.
49
+
50
+ ## Completion Checklist
51
+
52
+ - [ ] Dry-run tested.
53
+ - [ ] Generated files validated.
54
+ - [ ] Mandatory slice-00 tested.
55
+ - [ ] PR body tested.
56
+ - [ ] Evidence appended.