create-quiver 0.6.0 → 0.8.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 (120) hide show
  1. package/.claude/settings.local.json +45 -0
  2. package/.github/workflows/ci.yml +9 -32
  3. package/AGENTS.md.template +41 -0
  4. package/BACKLOG.md +139 -0
  5. package/CHANGELOG.md +17 -0
  6. package/README.md +68 -14
  7. package/README_FOR_AI.md +48 -16
  8. package/ROADMAP.md +100 -0
  9. package/docs/AI_CONTEXT.md.template +19 -26
  10. package/docs/AI_ONBOARDING_PROMPT.md.template +16 -0
  11. package/docs/COMMANDS.md.template +25 -0
  12. package/docs/CONTEXTO.md.template +4 -17
  13. package/docs/DECISIONS.md.template +18 -0
  14. package/docs/DEEP.md.template +34 -0
  15. package/docs/DOCUMENTATION_GUIDE.md.template +9 -7
  16. package/docs/GITFLOW_PR_GUIDE.md.template +7 -0
  17. package/docs/INDEX.md.template +11 -0
  18. package/docs/QUICK.md.template +27 -0
  19. package/docs/STANDARD.md.template +49 -0
  20. package/docs/STATUS.md.template +2 -2
  21. package/docs/SUPPORT_MATRIX.md.template +16 -4
  22. package/docs/TESTING_GUIDE_FOR_AI.md.template +4 -3
  23. package/docs/TROUBLESHOOTING.md.template +14 -0
  24. package/docs/WORKFLOW.md.template +21 -4
  25. package/docs/examples/graph.md.template +62 -0
  26. package/docs/examples/next.md.template +27 -0
  27. package/docs/examples/plan.md.template +28 -0
  28. package/package.json +6 -2
  29. package/package.template.json +16 -0
  30. package/scripts/check-slice-readiness.sh +6 -4
  31. package/scripts/cleanup-slice.sh +2 -172
  32. package/scripts/init-docs.sh +147 -26
  33. package/scripts/package-quiver.sh +5 -0
  34. package/scripts/start-slice.sh +3 -425
  35. package/specs/[project-name]/EVIDENCE_REPORT.md.template +3 -1
  36. package/specs/[project-name]/HANDOFF.md.template +37 -0
  37. package/specs/[project-name]/slices/slice-template/slice.json +7 -2
  38. package/specs/quiver-v08-agent-onboarding-analysis/slices/slice-01-project-scan-command/slice.json +1 -1
  39. package/specs/quiver-v08-agent-onboarding-analysis/slices/slice-02-ai-onboarding-prompt/slice.json +1 -1
  40. package/specs/quiver-v08-agent-onboarding-analysis/slices/slice-03-doctor-readme-adoption-flow/slice.json +1 -1
  41. package/specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md +30 -0
  42. package/specs/quiver-v12-cross-platform-native-runtime/SPEC.md +86 -0
  43. package/specs/quiver-v12-cross-platform-native-runtime/STATUS.md +29 -0
  44. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-01-cross-platform-support-contract/slice.json +69 -0
  45. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-02-node-init-docs-runtime/slice.json +76 -0
  46. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-03-node-migrate-analyze-doctor-flow/slice.json +74 -0
  47. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-04-node-slice-lifecycle-commands/slice.json +81 -0
  48. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-05-generated-project-scripts-and-migration/slice.json +78 -0
  49. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-06-cross-platform-ci-release-readiness/slice.json +74 -0
  50. package/specs/quiver-v13-token-efficient-ai-context/EVIDENCE_REPORT.md +28 -0
  51. package/specs/quiver-v13-token-efficient-ai-context/SPEC.md +68 -0
  52. package/specs/quiver-v13-token-efficient-ai-context/STATUS.md +26 -0
  53. package/specs/quiver-v13-token-efficient-ai-context/slices/slice-01-token-efficient-ai-modes-guidance/slice.json +65 -0
  54. package/specs/quiver-v13-token-efficient-ai-context/slices/slice-02-decision-log-context-checkpoint/slice.json +64 -0
  55. package/specs/quiver-v13-token-efficient-ai-context/slices/slice-03-project-map-reading-order/slice.json +66 -0
  56. package/specs/quiver-v14-tiered-context-pack/EVIDENCE_REPORT.md +42 -0
  57. package/specs/quiver-v14-tiered-context-pack/SPEC.md +116 -0
  58. package/specs/quiver-v14-tiered-context-pack/STATUS.md +35 -0
  59. package/specs/quiver-v14-tiered-context-pack/slices/slice-01-tiered-context-pack/slice.json +77 -0
  60. package/specs/quiver-v14-tiered-context-pack/slices/slice-02-agents-md-router/slice.json +74 -0
  61. package/specs/quiver-v14-tiered-context-pack/slices/slice-03-active-slice-lifecycle/slice.json +74 -0
  62. package/specs/quiver-v14-tiered-context-pack/slices/slice-04-dedup-frontmatter/slice.json +83 -0
  63. package/specs/quiver-v14-tiered-context-pack/slices/slice-05-doctor-smokes-tiered-pack/slice.json +84 -0
  64. package/specs/quiver-v15-init-required-before-migrate/EVIDENCE_REPORT.md +26 -0
  65. package/specs/quiver-v15-init-required-before-migrate/SPEC.md +66 -0
  66. package/specs/quiver-v15-init-required-before-migrate/STATUS.md +26 -0
  67. package/specs/quiver-v15-init-required-before-migrate/slices/slice-01-migrate-initialization-precondition/slice.json +65 -0
  68. package/specs/quiver-v15-init-required-before-migrate/slices/slice-02-doctor-not-initialized-guidance/slice.json +61 -0
  69. package/specs/quiver-v15-init-required-before-migrate/slices/slice-03-docs-smokes-init-before-migrate/slice.json +64 -0
  70. package/specs/quiver-v16-handoff-contract/EVIDENCE_REPORT.md +26 -0
  71. package/specs/quiver-v16-handoff-contract/SPEC.md +68 -0
  72. package/specs/quiver-v16-handoff-contract/STATUS.md +26 -0
  73. package/specs/quiver-v16-handoff-contract/slices/slice-01-handoff-template-and-contract/slice.json +66 -0
  74. package/specs/quiver-v16-handoff-contract/slices/slice-02-check-handoff-command/slice.json +70 -0
  75. package/specs/quiver-v16-handoff-contract/slices/slice-03-handoff-scaffold-optional/slice.json +67 -0
  76. package/specs/quiver-v17-orchestration-foundation/EVIDENCE_REPORT.md +32 -0
  77. package/specs/quiver-v17-orchestration-foundation/SPEC.md +79 -0
  78. package/specs/quiver-v17-orchestration-foundation/STATUS.md +31 -0
  79. package/specs/quiver-v17-orchestration-foundation/slices/slice-01-ci-matrix-verified/slice.json +68 -0
  80. package/specs/quiver-v17-orchestration-foundation/slices/slice-02-slice-graph-library/slice.json +65 -0
  81. package/specs/quiver-v17-orchestration-foundation/slices/slice-03-depends-on-validation/slice.json +72 -0
  82. package/specs/quiver-v18-slice-orchestration/EVIDENCE_REPORT.md +38 -0
  83. package/specs/quiver-v18-slice-orchestration/SPEC.md +91 -0
  84. package/specs/quiver-v18-slice-orchestration/STATUS.md +33 -0
  85. package/specs/quiver-v18-slice-orchestration/slices/slice-01-plan-command/slice.json +79 -0
  86. package/specs/quiver-v18-slice-orchestration/slices/slice-02-graph-mvp-tree/slice.json +75 -0
  87. package/specs/quiver-v18-slice-orchestration/slices/slice-03-graph-extended-formats/slice.json +70 -0
  88. package/specs/quiver-v18-slice-orchestration/slices/slice-04-next-command/slice.json +73 -0
  89. package/specs/quiver-v18-stabilization/EVIDENCE_REPORT.md +26 -0
  90. package/specs/quiver-v18-stabilization/SPEC.md +62 -0
  91. package/specs/quiver-v18-stabilization/STATUS.md +30 -0
  92. package/specs/quiver-v18-stabilization/slices/slice-01-fix-legacy-dependency-resolution/CLOSURE_BRIEF.md +29 -0
  93. package/specs/quiver-v18-stabilization/slices/slice-01-fix-legacy-dependency-resolution/EXECUTION_BRIEF.md +134 -0
  94. package/specs/quiver-v18-stabilization/slices/slice-01-fix-legacy-dependency-resolution/slice.json +56 -0
  95. package/specs/quiver-v18-stabilization/slices/slice-02-roadmap-and-branch-cleanup/CLOSURE_BRIEF.md +29 -0
  96. package/specs/quiver-v18-stabilization/slices/slice-02-roadmap-and-branch-cleanup/EXECUTION_BRIEF.md +118 -0
  97. package/specs/quiver-v18-stabilization/slices/slice-02-roadmap-and-branch-cleanup/slice.json +57 -0
  98. package/specs/quiver-v18-stabilization/slices/slice-03-publish-drafts-branch/CLOSURE_BRIEF.md +23 -0
  99. package/specs/quiver-v18-stabilization/slices/slice-03-publish-drafts-branch/EXECUTION_BRIEF.md +73 -0
  100. package/specs/quiver-v18-stabilization/slices/slice-03-publish-drafts-branch/slice.json +49 -0
  101. package/src/create-quiver/commands/graph.js +97 -0
  102. package/src/create-quiver/commands/next.js +134 -0
  103. package/src/create-quiver/commands/plan.js +205 -0
  104. package/src/create-quiver/index.js +476 -123
  105. package/src/create-quiver/lib/analyze.js +9 -0
  106. package/src/create-quiver/lib/doctor.js +212 -0
  107. package/src/create-quiver/lib/git.js +154 -0
  108. package/src/create-quiver/lib/handoff.js +104 -0
  109. package/src/create-quiver/lib/init-docs.js +674 -0
  110. package/src/create-quiver/lib/json.js +14 -0
  111. package/src/create-quiver/lib/lifecycle.js +479 -0
  112. package/src/create-quiver/lib/paths.js +19 -0
  113. package/src/create-quiver/lib/readiness.js +354 -0
  114. package/src/create-quiver/lib/renderers/dot.js +129 -0
  115. package/src/create-quiver/lib/renderers/mermaid.js +119 -0
  116. package/src/create-quiver/lib/renderers/tree.js +116 -0
  117. package/src/create-quiver/lib/scope.js +5 -0
  118. package/src/create-quiver/lib/slice-graph.js +453 -0
  119. package/src/create-quiver/lib/slice.js +195 -0
  120. package/src/create-quiver/lib/state.js +139 -0
@@ -0,0 +1,45 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(git fetch *)",
5
+ "Bash(git checkout *)",
6
+ "Bash(git add *)",
7
+ "Bash(git commit -m ' *)",
8
+ "Bash(git cherry-pick *)",
9
+ "Bash(git reset *)",
10
+ "Bash(gh pr create --title 'docs: register v17-v22 orchestration plan and park web console idea' --base main --head docs/register-orchestration-plan-park-web-console --body ' *)",
11
+ "Bash(gh auth *)",
12
+ "Bash(gh pr *)",
13
+ "Bash(node -e \"const g=require\\('./src/create-quiver/lib/slice-graph'\\); const slices=g.readAllSlices\\('.'\\); console.log\\('Total slices:', slices.length\\); const graph=g.buildGraph\\(slices\\); const levels=g.computeLevels\\(graph\\); console.log\\('Levels:', levels.length\\);\")",
14
+ "Bash(npx . plan)",
15
+ "Bash(git pull *)",
16
+ "Read(//Users/fabrijk/Documents/Work/Proyectos Personales/nika/frameworks/.worktrees/quiver/bugfix-QUIVER-01-fix-legacy-dependency-resolution/**)",
17
+ "Bash(node --test tests/)",
18
+ "Bash(node --test tests/**/*.test.js)",
19
+ "Bash(node bin/create-quiver.js plan)",
20
+ "Bash(echo \"EXIT_$?\")",
21
+ "Bash(node bin/create-quiver.js plan --json)",
22
+ "Bash(node -e \"const d=JSON.parse\\(require\\('fs'\\).readFileSync\\('/dev/stdin','utf8'\\)\\); console.log\\('plan items:', Array.isArray\\(d.plan\\) ? d.plan.length : 'NOT ARRAY'\\); console.log\\('critical_path:', Array.isArray\\(d.critical_path\\)\\); console.log\\('total_hours:', typeof d.total_hours\\); process.exit\\(Array.isArray\\(d.plan\\) && Array.isArray\\(d.critical_path\\) && typeof d.total_hours === 'number' ? 0 : 1\\)\")",
23
+ "Bash(grep -v \"^\\\\-\\\\-$\")",
24
+ "Bash(echo \"EXIT:$?\")",
25
+ "Bash(node -e \"const d=JSON.parse\\(require\\('fs'\\).readFileSync\\('/tmp/plan_json.txt','utf8'\\)\\); console.log\\('plan:', Array.isArray\\(d.plan\\) ? d.plan.length + ' items' : 'INVALID'\\); console.log\\('critical_path:', Array.isArray\\(d.critical_path\\)\\); console.log\\('total_hours:', typeof d.total_hours\\)\")",
26
+ "Bash(xargs git branch -d)",
27
+ "Bash(git branch *)",
28
+ "Read(//private/tmp/**)",
29
+ "Read(//Users/fabrijk/Documents/Work/Proyectos Personales/nika/frameworks/quiver-v18-slice02/**)",
30
+ "Bash(git worktree *)",
31
+ "Bash(git ls-remote *)",
32
+ "Bash(node *)",
33
+ "Bash(npm view *)",
34
+ "Bash(bash scripts/release-quiver.sh)",
35
+ "Bash(git stash *)",
36
+ "Bash(npm whoami *)",
37
+ "Bash(bash scripts/release-quiver.sh --publish-current)",
38
+ "Bash(npm pkg *)",
39
+ "Bash(NPM_TOKEN=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 npm publish --access public)",
40
+ "Bash(NPM_TOKEN=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 npm publish --access public)",
41
+ "Bash(npm info *)",
42
+ "Bash(npm publish *)"
43
+ ]
44
+ }
45
+ }
@@ -22,16 +22,17 @@ jobs:
22
22
 
23
23
  - name: Validate slice templates
24
24
  run: |
25
- node -e "JSON.parse(require('fs').readFileSync('specs/[project-name]/slices/slice-template/slice.json', 'utf8'))"
26
- node -e "JSON.parse(require('fs').readFileSync('specs/quiver-v01/slices/slice-01-legal-integrity/slice.json', 'utf8'))"
25
+ node -e "const fs=require('fs'); const {parseJsonWithComments}=require('./src/create-quiver/lib/json'); parseJsonWithComments(fs.readFileSync('specs/[project-name]/slices/slice-template/slice.json', 'utf8'))"
26
+ node -e "const fs=require('fs'); const {parseJsonWithComments}=require('./src/create-quiver/lib/json'); parseJsonWithComments(fs.readFileSync('specs/quiver-v01/slices/slice-01-legal-integrity/slice.json', 'utf8'))"
27
27
 
28
- smoke-init-docs:
28
+ cross-platform-smoke:
29
29
  strategy:
30
30
  fail-fast: false
31
31
  matrix:
32
32
  os:
33
33
  - ubuntu-latest
34
34
  - macos-latest
35
+ - windows-latest
35
36
  runs-on: ${{ matrix.os }}
36
37
  steps:
37
38
  - name: Checkout
@@ -42,33 +43,9 @@ jobs:
42
43
  with:
43
44
  node-version: 22
44
45
 
45
- - name: Run init-docs smoke
46
- run: bash scripts/ci/smoke-init-docs.sh "Smoke Project"
46
+ - name: Run cross-platform smoke
47
+ run: node scripts/ci/smoke-cross-platform.js
47
48
 
48
- smoke-workflow-gates:
49
- runs-on: ubuntu-latest
50
- steps:
51
- - name: Checkout
52
- uses: actions/checkout@v4
53
-
54
- - name: Setup Node
55
- uses: actions/setup-node@v4
56
- with:
57
- node-version: 22
58
-
59
- - name: Run workflow gate smoke
60
- run: bash scripts/ci/smoke-workflow-gates.sh
61
-
62
- smoke-create-quiver:
63
- runs-on: ubuntu-latest
64
- steps:
65
- - name: Checkout
66
- uses: actions/checkout@v4
67
-
68
- - name: Setup Node
69
- uses: actions/setup-node@v4
70
- with:
71
- node-version: 22
72
-
73
- - name: Run create-quiver smoke
74
- run: bash scripts/ci/smoke-create-quiver.sh
49
+ - name: Run tiered pack smoke
50
+ shell: bash
51
+ run: bash scripts/ci/smoke-tiered-pack.sh
@@ -0,0 +1,41 @@
1
+ # AGENTS Router
2
+
3
+ Purpose
4
+
5
+ This file is the universal router for AI agents in Quiver-generated projects. Read it before any other project context when you need to decide how deep to load.
6
+
7
+ ## Reading Budget
8
+
9
+ - Planning: up to 10000 tokens
10
+ - Execution: under 2000 tokens before the first action
11
+ - Debug: under 1000 tokens before proposing a hypothesis
12
+
13
+ ## Reading Order
14
+
15
+ 1. QUICK
16
+ 2. STANDARD if QUICK is insufficient
17
+ 3. DEEP only when history or past decisions are requested
18
+
19
+ ## Output Policy
20
+
21
+ - Do not restate the task before acting.
22
+ - Do not summarize diffs after edits.
23
+ - Keep confirmations to one sentence max.
24
+
25
+ ## Slice Execution Rules
26
+
27
+ - If `docs/ai/ACTIVE_SLICE.md` exists, treat it as the source of truth.
28
+ - Do not read `SPEC.md` unless `ACTIVE_SLICE.md` points to it.
29
+ - Stay inside the slice `allowed_files` when an active slice is present.
30
+ - Prefer the slice tests and checklist over general repo context.
31
+
32
+ ## Links
33
+
34
+ - QUICK: `./docs/ai/QUICK.md`
35
+ - STANDARD: `./docs/ai/STANDARD.md`
36
+ - DEEP: `./docs/ai/DEEP.md`
37
+ - Project Map: `./docs/PROJECT_MAP.md`
38
+ - AI Context: `./docs/AI_CONTEXT.md`
39
+ - Decision Log: `./docs/DECISIONS.md`
40
+ - AI Onboarding Prompt: `./docs/AI_ONBOARDING_PROMPT.md`
41
+ - Active Slice: `./docs/ai/ACTIVE_SLICE.md`
package/BACKLOG.md ADDED
@@ -0,0 +1,139 @@
1
+ # Quiver Backlog
2
+
3
+ > **Purpose:** Emerging patterns and ideas that are not yet scoped as specs.
4
+ > Reviewed periodically to decide which ones graduate into a spec.
5
+ >
6
+ > **Audience:** The Quiver maintainer and any AI agent doing project onboarding.
7
+ > **Not to be confused with:** `ROADMAP.md` (committed work with versions) or
8
+ > active specs in `specs/quiver-vNN-*/` (in-progress or completed work).
9
+
10
+ ## How this file works
11
+
12
+ - Each entry is an **idea, pattern, or methodology** observed in real use.
13
+ - Entries stay here until one of three things happens:
14
+ 1. Enough evidence accumulates to promote it to a spec (move to `ROADMAP.md`).
15
+ 2. Evidence shows it is not worth formalizing (mark `parked` with reasoning).
16
+ 3. It turns out to already exist elsewhere (mark `resolved` with the link).
17
+ - **Do not delete parked entries.** The reasoning is valuable when the idea comes back.
18
+ - **Do not auto-promote.** A pattern graduates to a spec only when the maintainer confirms it is time.
19
+
20
+ ## Entry template
21
+
22
+ ```
23
+ ### [Short name]
24
+
25
+ - **Observed:** YYYY-MM-DD
26
+ - **Status:** emerging | evaluating | promoted | parked | resolved
27
+ - **Evidence so far:** <how often has this pattern appeared in real work>
28
+ - **Problem it solves:** <one or two sentences>
29
+ - **Proposed shape:** <what a formalization would look like>
30
+ - **Cost to formalize:** <rough estimate in slices/hours>
31
+ - **Reasons to wait:** <what would count as insufficient evidence>
32
+ - **Trigger to promote:** <concrete threshold to move into ROADMAP.md>
33
+ - **Related:** <links to specs, conversations, or handoffs>
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Active Entries
39
+
40
+ ### Slice Orchestration and Tooling Commands
41
+
42
+ - **Observed:** 2026-04-23
43
+ - **Status:** planned
44
+ - **Evidence so far:** 0 real cases. Drafted by the maintainer anticipating multi-model coordination (Opus/GPT-5.4 planning, Sonnet/GPT-5.4 Mini/Qwen Code execution) and visibility pain once specs accumulate.
45
+ - **Problem it solves:** Today coordinating multiple agents across pending slices requires ad-hoc grep, ls, and git commands. There is no canonical way to ask "what runs next", "what can run in parallel", "what is this repo's state", or "how expensive is this slice to load".
46
+ - **Proposed shape:**
47
+ - v17 Orchestration Foundation (CI matrix, `lib/slice-graph.js`, `depends_on` validation)
48
+ - v18 Slice Orchestration (`plan`, `graph`, `next`)
49
+ - v19 Project Visibility (`status`, `estimate`, `lint-spec`)
50
+ - v20 Context Diagnostics (`cost`, `diff-pack`, `replay`)
51
+ - v21 Slice Archaeology (`archive`, `blame-slice`)
52
+ - v22 Deferred Tooling (`fork-slice`, `squash-spec`, `share`, evidence-gated per slice)
53
+ - **Cost to formalize:** ~55h across 15 slices in 4 specs (v19–v22). Spec/slice files drafted under `drafts/v19-v22-orchestration-followups`.
54
+ - **Reasons to wait:** v17 and v18 shipped. v18 must pass its validation checkpoint (≥1 week real use) before v19 starts. Building orchestration before validating the existing commands risks reinforcing a design that does not earn its place.
55
+ - **Trigger to promote (per spec):**
56
+ - v19: immediately after v18 checkpoint passes (≥1 week real use of `plan`, `graph`, `next`)
57
+ - v20–v21: previous spec validation checkpoint passed (≥1 week real use)
58
+ - v22 per slice: explicit occurrence recorded in this file for each of `fork-slice`, `squash-spec`, `share`
59
+ - **Related:**
60
+ - `drafts/v19-v22-orchestration-followups` (parked spec drafts)
61
+ - `ROADMAP.md` Orchestration and Tooling section
62
+
63
+ ### Handoff Contract
64
+
65
+ - **Observed:** 2026-04-23
66
+ - **Status:** emerging
67
+ - **Evidence so far:** 1 real case. `specs/quiver-v14-tiered-context-pack/HANDOFF.md`, written to reconcile v13 and v14 before either could execute. Used to delegate meta-work to a separate agent with self-contained context, explicit validation, and negative constraints.
68
+ - **Problem it solves:** Today Quiver has no first-class vehicle for work that is neither a slice (product code) nor a spec (planning document). Examples: reconciling two in-flight specs, delegating a cleanup task to a different agent, transferring planning context from a planning-tier model (Opus, GPT-5.4) to an execution-tier model (Sonnet, GPT-5.4 Mini, Qwen Code). Without a vehicle, these tasks happen in ad-hoc chats or untracked commits and lose reproducibility.
69
+ - **Proposed shape:**
70
+ - `HANDOFF.md.template` with canonical sections (Background, What you will change, Validation checklist, Out of scope, Expected deliverable, Constraints)
71
+ - Convention for location (for example `specs/<spec>/HANDOFF-<slug>.md` or `specs/handoffs/<date>-<slug>.md`)
72
+ - Convention for lifecycle (created when needed, deleted after validation passes)
73
+ - Optional `create-quiver new-handoff <slug>` command
74
+ - Optional `create-quiver check-handoff <path>` that validates canonical sections
75
+ - Optional smoke that confirms merged handoffs followed the contract
76
+ - **Explicitly not** a new `type` in `slice.json` — handoffs are orthogonal to slices, not a variant of them
77
+ - **Cost to formalize:** ~2-3 slices, ~8-10 hours
78
+ - **Reasons to wait:** A single occurrence is not enough evidence that this needs tooling. The ad-hoc `HANDOFF.md` already works. Formalizing now risks building infrastructure for a case that may not repeat often enough to justify the surface area.
79
+ - **Trigger to promote:** 3 or more organic handoffs appear in real work over 2-3 months without this backlog entry being revisited. Or: one external user reports they wrote a handoff-like artifact for their own spec.
80
+ - **Related:**
81
+ - `specs/quiver-v14-tiered-context-pack/HANDOFF.md` (the first real handoff)
82
+ - `specs/quiver-v16-handoff-contract/SPEC.md` (draft spec created, pending evidence and execution)
83
+ - `ROADMAP.md` "Post-Checkpoint Plan" section
84
+ - Multi-model setup context: planning models (Opus, GPT-5.4) to execution models (Sonnet, GPT-5.4 Mini, Qwen Code)
85
+
86
+ ---
87
+
88
+ ## Parked Entries
89
+
90
+ ### Local Web Console for Slice Visualization
91
+
92
+ - **Observed:** 2026-05-12
93
+ - **Status:** parked
94
+ - **Evidence so far:** 0 real cases. Standalone prototype explored (`devflow-console`, Express + WebSocket + React, ~350 LoC, lives outside this repo at `/Users/fabrijk/Downloads/devflow-console`).
95
+ - **Problem it would solve:** Visual graph of slices (parallel vs sequential, file-level conflicts), button-driven workflow, in-browser terminal, reusable prompts panel.
96
+ - **Why parked:**
97
+ - Breaks Quiver's CLI-first identity; turns a scaffolder into a mini-IDE.
98
+ - ~80% of visible value duplicates planned CLI work in v19–v22 (`quiver:status`, `quiver:estimate`, etc.) and already-shipped v18 (`quiver:plan`, `quiver:graph`, `quiver:next`).
99
+ - Real security surface: arbitrary command execution via HTTP, DNS rebinding against localhost, open CORS, no auth, race conditions on shared filesystem state.
100
+ - Adds heavy maintenance cost (React + Vite + Express + ws) to a package distributed as a lightweight `npx create-quiver`.
101
+ - Multi-model agents (the actual audience for Quiver workflows) do not use UI.
102
+ - **Cheaper alternatives identified first:**
103
+ - `quiver:graph --html` static export (no server, single self-contained file). Explore as subflag of v18 if Mermaid proves insufficient.
104
+ - Mermaid output shipped in v18 slice-03, renders natively in VSCode/IntelliJ.
105
+ - Optional VSCode extension as companion if UI is ever justified.
106
+ - **Trigger to promote:**
107
+ 1. v18 (`plan`, `graph`, `next`) is used in real work for ≥3 weeks after its checkpoint passes.
108
+ 2. Mermaid/ASCII output of `quiver:graph` is documented as insufficient with concrete friction examples.
109
+ 3. `quiver:graph --html` static export is built and also proves insufficient.
110
+ 4. If ever implemented: must be a separate companion package (e.g. `@quiver/console`) or VSCode extension — never integrated into `create-quiver` core.
111
+ - **Related:**
112
+ - Reference prototype: outside repo (not tracked)
113
+ - `specs/quiver-v18-slice-orchestration/` — CLI alternative already shipped
114
+
115
+ ## Resolved Entries
116
+
117
+ _None yet._
118
+
119
+ ---
120
+
121
+ ## Review cadence
122
+
123
+ Revisit this file:
124
+
125
+ - After each spec reaches its validation checkpoint
126
+ - Before writing a new spec (to confirm the work is not already an emerging backlog pattern)
127
+ - When adding a new entry (check if it overlaps with an existing one)
128
+
129
+ ## Discovery hooks
130
+
131
+ This file is referenced from:
132
+
133
+ - `README.md` References section
134
+ - `README_FOR_AI.md` onboarding guidance
135
+ - `ROADMAP.md` Post-Checkpoint Plan
136
+
137
+ If you are an AI agent doing onboarding, read this file after `ROADMAP.md` and
138
+ before proposing any new spec. Ideas that look novel may already be tracked
139
+ here with documented reasons not to formalize them yet.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.8.0] - 2026-05-13
8
+
9
+ ### Added
10
+
11
+ - `quiver:plan` — lists all pending slices in dependency order with estimated hours, status, and critical path
12
+ - `quiver:graph` — visualizes the slice dependency graph in ASCII tree, Mermaid, and DOT formats
13
+ - `quiver:next` — suggests the next ready slice; supports `--all-ready`, `--json`, and `--auto-start`
14
+ - Slice graph library — `readAllSlices`, `buildGraph`, `topoSort`, `computeLevels`, `detectFileConflicts` for programmatic graph access
15
+ - `depends_on` and `parallel_safe` fields with validation in `check-slice`
16
+ - JSON-with-comments support for slice templates
17
+ - Cross-platform CI matrix covering macOS, Linux, and Windows for the Node-native runtime
18
+ - Node-native generated project npm scripts and additive migration support for existing projects
19
+
20
+ ### Fixed
21
+
22
+ - `quiver:plan` no longer crashes on repos with legacy bare spec names in the `dependencies` field (e.g. `"quiver-v01"`) — these are silently dropped instead of throwing `MISSING_DEPENDENCY`
23
+
7
24
  ## [0.4.0] - 2026-04-21
8
25
 
9
26
  ### Added
package/README.md CHANGED
@@ -34,18 +34,49 @@ npx create-quiver --name "Project Name" --dir "/Users/me/My Project"
34
34
 
35
35
  ### 2. Analyze And Validate
36
36
 
37
- Run the local analyzer and then validate the generated contract:
37
+ Run the local analyzer and then validate the generated contract from the project root:
38
38
 
39
39
  ```bash
40
- npx create-quiver analyze --dir ./target-repo
41
- npx create-quiver doctor --dir ./target-repo
40
+ npx create-quiver analyze
41
+ npx create-quiver graph
42
+ npx create-quiver doctor
43
+ npx create-quiver next
42
44
  ```
43
45
 
44
- If you are working in the current directory, use `--dir .`.
46
+ Use `npx create-quiver graph --format mermaid` for PR-ready Markdown or `npx create-quiver graph --format dot` for Graphviz source.
47
+
48
+ If you need to target another directory from outside the project, pass `--dir` explicitly. For the current project root, omit it.
45
49
 
46
50
  The analyzer creates `docs/PROJECT_SCAN.json` and `docs/PROJECT_MAP.md`. These files give the AI agent a deterministic project map before it edits context docs.
47
51
 
48
- The doctor checks the generated project contract and prints the next workflow steps. If the scan artifacts are missing, it recommends `npx create-quiver analyze --dir .` first.
52
+ The doctor checks the generated project contract and prints the next workflow steps. If the scan artifacts are missing, it recommends `npx create-quiver analyze` first.
53
+ `npx create-quiver next` prints the next ready slice and can auto-start it behind a confirmation prompt.
54
+
55
+ ### Project NPM Scripts
56
+
57
+ Generated projects include `quiver:*` npm scripts that call the Node CLI and are the preferred repeatable workflow:
58
+
59
+ ```bash
60
+ npm run quiver:analyze
61
+ npm run quiver:plan
62
+ npm run quiver:graph
63
+ npm run quiver:next
64
+ npm run quiver:doctor
65
+ npm run quiver:migrate
66
+ npm run quiver:start-slice -- specs/<project-slug>/slices/slice-01/slice.json
67
+ npm run quiver:check-slice -- specs/<project-slug>/slices/slice-01/slice.json
68
+ npm run quiver:check-pr -- specs/<project-slug>/slices/slice-01/slice.json
69
+ npm run quiver:cleanup-slice -- specs/<project-slug>/slices/slice-01/slice.json
70
+ npm run quiver:check-scope -- specs/<project-slug>/slices/slice-01/slice.json
71
+ npm run quiver:refresh-active-slices
72
+ ```
73
+
74
+ `npm run quiver:graph` prints the tree view by default. Pass `--format mermaid` or `--format dot` when you need an exportable graph artifact.
75
+ `npm run quiver:next` points to the next ready slice and can auto-start it behind a confirmation prompt.
76
+ `npx create-quiver next --all-ready` shows the full ready level when you want the whole queue instead of one slice.
77
+
78
+ The legacy Bash wrappers remain in `tools/scripts/` for compatibility, but new project-level automation should prefer the `quiver:*` scripts and the direct `npx create-quiver ...` commands.
79
+ `npm run quiver:migrate` is only for projects that were already initialized by Quiver.
49
80
 
50
81
  ### 3. Upgrade Existing Projects
51
82
 
@@ -53,20 +84,33 @@ If the project already had Quiver from an older version, upgrade it from the pro
53
84
 
54
85
  ```bash
55
86
  cd /path/to/your-project
56
- npx create-quiver migrate --dir .
57
- npx create-quiver analyze --dir .
58
- npx create-quiver doctor --dir .
87
+ npx create-quiver migrate
88
+ npx create-quiver analyze
89
+ npx create-quiver graph
90
+ npx create-quiver doctor
91
+ npx create-quiver next
92
+ ```
93
+
94
+ Use `npx create-quiver graph --format mermaid` for GitHub-friendly graph embeds or `npx create-quiver graph --format dot` for Graphviz pipelines.
95
+
96
+ If the project never ran Quiver initialization before, do not use `migrate` as bootstrap. Run:
97
+
98
+ ```bash
99
+ npx create-quiver --name "Project Name"
59
100
  ```
60
101
 
61
102
  If your team prefers a pinned local dependency, update the package first and then run the same flow:
62
103
 
63
104
  ```bash
64
105
  npm install --save-dev create-quiver@latest
65
- npx create-quiver migrate --dir .
66
- npx create-quiver analyze --dir .
67
- npx create-quiver doctor --dir .
106
+ npx create-quiver migrate
107
+ npx create-quiver analyze
108
+ npx create-quiver graph
109
+ npx create-quiver doctor
68
110
  ```
69
111
 
112
+ The tree output remains the default, but Mermaid and DOT are available on demand for exported docs and slide decks.
113
+
70
114
  ### 4. Ask The AI To Prepare Context
71
115
 
72
116
  Open your AI agent in the target project and run this short handoff:
@@ -85,7 +129,7 @@ After the context docs are reviewed:
85
129
 
86
130
  1. Define or refine `specs/<project-slug>/SPEC.md`.
87
131
  2. Create the first slice from `specs/<project-slug>/slices/slice-template/slice.json`.
88
- 3. Start work with `tools/scripts/start-slice.sh <slice.json>`.
132
+ 3. Start work with `npx create-quiver start-slice <slice.json>` or `npm run quiver:start-slice -- <slice.json>`.
89
133
  4. Make one commit per slice.
90
134
  5. Open one PR per spec.
91
135
 
@@ -95,10 +139,16 @@ Slice numbering is local to each spec: every new spec starts at `slice-01`.
95
139
 
96
140
  - Node.js and npm for the installer
97
141
  - Git for slice branches, worktrees, and PR workflow checks
98
- - macOS or Linux as the primary supported shell environment
142
+ - macOS, Linux, and Windows PowerShell/CMD are the target developer environments for the cross-platform runtime work
143
+
144
+ Windows native support is verified only when the cross-platform CI matrix is green. Bash remains a legacy compatibility path until the runtime slices land.
99
145
 
100
146
  See the generated `docs/SUPPORT_MATRIX.md` for the detailed support contract.
101
147
 
148
+ ## Cross-Platform Support
149
+
150
+ Quiver is targeting native support on macOS, Linux, and Windows PowerShell/CMD. Bash is a legacy compatibility path until the runtime slices land, so the long-term contract is a Node-first workflow rather than a Bash-first one. The CI matrix must be green before Windows is considered fully verified.
151
+
102
152
  ## What Gets Generated
103
153
 
104
154
  Quiver generates a project-local workflow under:
@@ -106,6 +156,10 @@ Quiver generates a project-local workflow under:
106
156
  - `docs/` for project context, workflow, support, troubleshooting, and AI guidance
107
157
  - `docs/PROJECT_SCAN.json` and `docs/PROJECT_MAP.md` after `create-quiver analyze`
108
158
  - `docs/AI_ONBOARDING_PROMPT.md` as the generated handoff prompt for the AI agent
159
+ - `specs/<project-slug>/HANDOFF.md` as the exceptional transfer artifact between agents or phases
160
+ - `npx create-quiver new-handoff <spec-slug>` to scaffold an optional handoff artifact when work needs to move between agents or phases
161
+ - `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md` to validate a transferred handoff before execution
162
+ - `docs/COMMANDS.md` as the canonical command reference table for orchestration
109
163
  - `specs/<project-slug>/` for the project spec, status, evidence, and slice contracts
110
164
  - `tools/scripts/` for slice lifecycle and readiness gates
111
165
  - `.github/` for default PR, issue, and CI templates
@@ -122,7 +176,7 @@ Use the manual flow only when developing Quiver locally or testing a template ch
122
176
  ```
123
177
 
124
178
  The CLI path is the supported adoption path for users.
125
- For analyzed projects, the agent handoff prompt lives at `docs/AI_ONBOARDING_PROMPT.md` in the generated project.
179
+ For analyzed projects, the agent handoff prompt lives at `docs/AI_ONBOARDING_PROMPT.md` in the generated project. If a bounded transfer between agents or phases is needed, scaffold `specs/<project-slug>/HANDOFF.md` with `npx create-quiver new-handoff <spec-slug>` and validate it with `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md`.
126
180
 
127
181
  ## For AI Agents
128
182
 
package/README_FOR_AI.md CHANGED
@@ -7,11 +7,33 @@ The first AI job in a generated project is context preparation, not product impl
7
7
  Important: slice numbering resets inside each spec. `slice-01` is the first slice of that spec, not a global repo counter.
8
8
  The canonical installer entrypoint is `npx create-quiver` run from the target project root.
9
9
  Do not recommend global installation; use `npx` or a project-local devDependency when the team needs a pinned version.
10
- The post-init contract is validated with `npx create-quiver doctor --dir <project>`.
11
- If the project already exists from an older Quiver version, run `npx create-quiver migrate --dir <project>` before `analyze`.
10
+ The post-init contract is validated with `npx create-quiver doctor` from the project root.
11
+ If the project already exists from an older Quiver version and was previously initialized by Quiver, run `npx create-quiver migrate` before `analyze` from the project root.
12
+ If the project was never initialized by Quiver, do not use `migrate` as bootstrap; run `npx create-quiver --name "Project Name"` first.
13
+ Generated projects also get `quiver:*` npm scripts that call the Node CLI directly; prefer those for repeatable project workflows, including `quiver:plan` for sequential planning, `quiver:graph` for parallel-level inspection, and `quiver:next` for the next ready slice. Use `quiver:graph --format mermaid` for PR-ready Markdown or `quiver:graph --format dot` for Graphviz source.
12
14
  Maintain release notes and package publishing with `scripts/release-quiver.sh`.
13
15
  The primary generated project context for agents is `docs/AI_CONTEXT.md`.
16
+ The project map is the single source of truth for stack, package manager, commands, and file hints: `docs/PROJECT_MAP.md`.
17
+ The universal router for generated projects is `AGENTS.md`; read it before `docs/AI_CONTEXT.md` and `docs/AI_ONBOARDING_PROMPT.md`.
18
+ Generated projects also get `docs/DECISIONS.md`; use it for durable choices that should not be re-litigated.
14
19
  If a generated project has been analyzed, the exact agent handoff prompt is `docs/AI_ONBOARDING_PROMPT.md`.
20
+ If a new bounded transfer is needed, scaffold `specs/<project-slug>/HANDOFF.md` with `npx create-quiver new-handoff <spec-slug>` and validate it with `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md`.
21
+ Use `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md` to validate a transferred handoff before execution.
22
+ During onboarding, after reading `ROADMAP.md`, also read `BACKLOG.md` in the repository root: it tracks emerging patterns that are not yet scoped as specs. Before proposing a new spec, confirm the idea is not already parked or emerging there.
23
+
24
+ ## Token-Efficient Reading Rules
25
+
26
+ Use the smallest context that still answers the current task.
27
+
28
+ - **Onboarding:** start from `docs/PROJECT_MAP.md`, `docs/PROJECT_SCAN.json`, `docs/AI_CONTEXT.md`, and `docs/AI_ONBOARDING_PROMPT.md` before opening source files.
29
+ - **Onboarding router:** start from `AGENTS.md` first, then the onboarding files above.
30
+ - **Implementation:** start from `docs/ai/ACTIVE_SLICE.md` when it exists; otherwise start from `specs/<project-slug>/slices/<slice-id>/slice.json`, then read only the declared files, nearby tests, and directly related source.
31
+ - **Handoff:** start from `specs/<project-slug>/HANDOFF.md` when the work was explicitly transferred through a handoff artifact.
32
+ - **Handoff scaffold:** if no handoff exists yet and the work needs one, use `npx create-quiver new-handoff <spec-slug>` first.
33
+ - **Review:** start from `git diff` and the slice scope before opening full files.
34
+ - **Debug:** start from the command, exit code, first relevant error, stacktrace, and the nearest changed code before reading long logs.
35
+
36
+ Prefer maps, metadata, diffs, and summaries over full file reads when they are enough. Treat front-matter as a skim-first signal: if the header is enough, do not open the body.
15
37
 
16
38
  ## Core Rules
17
39
 
@@ -19,10 +41,17 @@ If a generated project has been analyzed, the exact agent handoff prompt is `doc
19
41
  - Always use `init-docs.sh` instead of copying files by hand.
20
42
  - Treat `docs-template/` as generic and `docs/` as generated project-specific output.
21
43
  - Not every project needs every optional file.
22
- - The AI context pack lives in `docs/AI_CONTEXT.md`; `docs/CONTEXTO.md` is the broader project overview.
44
+ - The AI context pack lives in `docs/AI_CONTEXT.md`; `docs/CONTEXTO.md` is the broader project overview; `docs/PROJECT_MAP.md` owns stack and command facts.
23
45
  - The onboarding prompt lives in `docs/AI_ONBOARDING_PROMPT.md` and should reference the analyzer outputs.
46
+ - `specs/<project-slug>/HANDOFF.md` is reserved for exceptional context transfers between agents or phases.
24
47
  - Initial onboarding should complete context docs and report assumptions before any feature work starts.
48
+ - The normal workflow runs from the project root without `--dir`; use `--dir` only when targeting another directory explicitly.
49
+ - The cross-platform work targets native macOS, Linux, and Windows shells; Bash is a legacy compatibility path until the runtime slices land, and Windows support is only considered verified once the CI matrix is green.
25
50
  - The support contract lives in `docs/SUPPORT_MATRIX.md` and `docs/TROUBLESHOOTING.md`.
51
+ - Generated project npm scripts should prefer `quiver:*` names such as `quiver:analyze`, `quiver:plan`, `quiver:graph`, `quiver:next`, `quiver:doctor`, `quiver:start-slice`, `quiver:check-slice`, and `quiver:check-pr`.
52
+ - `quiver:graph` defaults to the tree view; choose `--format mermaid` or `--format dot` when you need exportable graph artifacts.
53
+ - `quiver:next` prints the next ready slice and can auto-start it behind a confirmation prompt.
54
+ - `quiver:next --all-ready` prints the whole ready level when you want to inspect every actionable slice at once.
26
55
 
27
56
  ## Initialization Flow
28
57
 
@@ -76,19 +105,22 @@ After initialization, the user should:
76
105
  2. Fill in `docs/AI_ONBOARDING_PROMPT.md`
77
106
  3. Fill in `docs/CONTEXTO.md`
78
107
  4. Fill in `docs/STATUS.md`
79
- 5. Run `npx create-quiver analyze --dir <project>` if scan artifacts are missing
80
- 6. If the project already exists from an older Quiver version, run `npx create-quiver migrate --dir <project>`
81
- 7. Ask the AI agent to execute `docs/AI_ONBOARDING_PROMPT.md`
82
- 8. Review context docs before creating the first implementation slice
83
- 9. Open and merge the documentation PR that establishes the workflow files
84
- 10. Create the first slice in `specs/{{PROJECT_SLUG}}/slices/[slice-id]/`
85
- 11. Add `ticket` and `git.*`
86
- 12. Run `tools/scripts/start-slice.sh [--allow-draft] <slice.json>`
87
- 13. Make one commit per slice
88
- 14. Open one PR per spec
89
- 15. Validate the slice and the final PR with the workflow gates
90
-
91
- Bootstrap note: `start-slice.sh` should resolve paths canonically, prefer a local `develop` or `main` base branch before reaching for `origin`, and reject `draft` slices unless `--allow-draft` is passed intentionally.
108
+ 5. Run `npx create-quiver analyze` if scan artifacts are missing
109
+ 6. If the project already exists from an older Quiver version and was previously initialized by Quiver, run `npx create-quiver migrate`
110
+ 7. If the project was never initialized by Quiver, run `npx create-quiver --name "Project Name"` instead of `migrate`
111
+ 8. Ask the AI agent to execute `docs/AI_ONBOARDING_PROMPT.md`
112
+ 9. Review context docs before creating the first implementation slice
113
+ 10. Open and merge the documentation PR that establishes the workflow files
114
+ 11. Create the first slice in `specs/{{PROJECT_SLUG}}/slices/[slice-id]/`
115
+ 12. Add `ticket` and `git.*`
116
+ 13. Run `npx create-quiver plan` or `npm run quiver:plan`
117
+ 14. Run `npx create-quiver next` or `npm run quiver:next`
118
+ 14. Run `npx create-quiver start-slice [--allow-draft] <slice.json>` or `npm run quiver:start-slice -- [--allow-draft] <slice.json>`
119
+ 15. Make one commit per slice
120
+ 16. Open one PR per spec
121
+ 17. Validate the slice and the final PR with the workflow gates
122
+
123
+ Bootstrap note: `start-slice` should resolve paths canonically, prefer a local `develop` or `main` base branch before reaching for `origin`, and reject `draft` slices unless `--allow-draft` is passed intentionally.
92
124
 
93
125
  ## Optional Files
94
126
 
package/ROADMAP.md CHANGED
@@ -18,3 +18,103 @@
18
18
  - Add richer templates and examples
19
19
  - Improve release workflows
20
20
 
21
+ ## v0.4 (shipped 2026-04-21)
22
+
23
+ - `create-quiver` CLI installer surface
24
+ - Post-init `doctor` validation mode
25
+ - Release helper and packaged-installer smoke checks
26
+
27
+ ## v0.5 (shipped)
28
+
29
+ - Existing project migration flow (`create-quiver migrate`)
30
+ - Onboarding README flow polish
31
+ - Local project installation guidance
32
+
33
+ ## v0.6 (shipped)
34
+
35
+ > Scope absorbed into v0.7. Node-native runtime and `quiver:*` npm scripts
36
+ > landed together with the token-efficient context pack work.
37
+
38
+ - Cross-platform CI matrix (macOS, Linux, Windows) for Node-native runtime
39
+ - Node-native generated project npm scripts (`quiver:*`)
40
+ - Additive migration support for existing projects
41
+
42
+ ## v0.7 — Token-Efficient AI Context Packs (shipped 2026-04-23)
43
+
44
+ - **v13** — Token-efficient AI modes guidance (Completed)
45
+ - **v14** — Tiered context pack: QUICK/STANDARD/DEEP tiers, AGENTS.md router, ACTIVE_SLICE lifecycle, YAML front-matter, dedup (Completed)
46
+ - **v15** — Init required before migrate (Completed)
47
+ - v13 slice-04 reconciled into v14 slice-05 (2026-04-23); v13 slice-02 narrowed to `DECISIONS.md` only
48
+ - Validation checkpoint passed after real-world use and spec completion
49
+
50
+ ## Post-Checkpoint Plan (do not execute before validating v14)
51
+
52
+ > This section is intentionally speculative. Every item below is pending
53
+ > evidence from v14 in real use. Rescope or drop anything that does not
54
+ > respond to observed friction.
55
+
56
+ ### Orchestration and Tooling (v19–v22, spec drafts created 2026-04-23)
57
+
58
+ Draft specs exist but are **not executed until v18 passes its validation checkpoint**. Each subsequent spec requires the previous one to pass its own checkpoint before it starts.
59
+
60
+ - **v19 — Project Visibility** (3 slices, ~11h): `quiver:status`, `quiver:estimate`, `quiver:lint-spec`
61
+ - **v20 — Context Diagnostics** (3 slices, ~13h): `quiver:cost`, `quiver:diff-pack`, `quiver:replay`
62
+ - **v21 — Slice Archaeology** (2 slices, ~7h): `quiver:archive`, `quiver:blame-slice`; `bisect-slice` documented via `git bisect run` in TROUBLESHOOTING
63
+ - **v22 — Deferred Tooling** (3 slices, ~10h, evidence-gated): `quiver:fork-slice`, `quiver:squash-spec`, `quiver:share`
64
+
65
+ Plan total: ~41h across 11 slices. Drafts parked on `drafts/v19-v22-orchestration-followups`. v22 stays deferred until BACKLOG.md records ≥1 occurrence per slice.
66
+
67
+ ### v0.8 — Handoff Contract (draft spec created, pending evidence)
68
+
69
+ - Canonical `HANDOFF.md.template` for exceptional context transfers
70
+ - `create-quiver check-handoff <path>` validation for structure and placement
71
+ - Optional `create-quiver new-handoff <slug>` scaffold
72
+ - Keep handoffs orthogonal to `slice.json`, not a new slice type
73
+
74
+ ### v0.9 — Context Hygiene and Diagnostics (proposed, not yet spec-ed)
75
+
76
+ - Analyzer noise filter (ignore lockfiles, dist/, build/, binaries, generated files)
77
+ - `create-quiver token-cost` diagnostic (4 chars/token heuristic)
78
+ - `create-quiver diff-pack` for review and debug modes
79
+ - Cache-friendly ordering within the pack (stable above, volatile below)
80
+ - `docs/ai/INDEX.yaml` inverted index (directory → purpose)
81
+
82
+ ### Block A — Zero-Question First Use (proposed)
83
+
84
+ - `npx create-quiver` with no args auto-detects name, stack, runs analyze + doctor
85
+ - `--lite` template variant for small projects
86
+ - Optional `--interactive` wizard
87
+ - Auto-regenerate context pack on every `start-slice`
88
+
89
+ ### Block B — Multi-Model Context Adapters (proposed, only if users ask)
90
+
91
+ - Additional adapters beyond `AGENTS.md`: `.cursorrules`, `.cursor/rules/*.mdc`, `copilot-instructions.md`, `PROMPT_FOR_EXECUTOR.md`
92
+ - Decision driven by which tools actual users adopt
93
+
94
+ ### Block C — Convincing Example (proposed)
95
+
96
+ - Real end-to-end example in `examples/full-crud/` with 3 merged slices
97
+ - 30-second hello-world asciinema at top of README
98
+ - "When NOT to use Quiver" section
99
+
100
+ ### Block D — Polish Debt (proposed)
101
+
102
+ - Actionable error messages (replace stack traces)
103
+ - Embedded JSON Schema validation for `slice.json`
104
+ - `start-slice` without arguments auto-detects active slice by branch
105
+ - `create-quiver status` dashboard
106
+
107
+ ### Deferred Until Real Demand
108
+
109
+ - Killing Bash entirely (breaking change — needs user base first)
110
+ - `@quiver/cli` / `@quiver/template` package split
111
+ - Git hooks auto-install
112
+ - Metrics/telemetry
113
+
114
+ ## Decision Rules
115
+
116
+ - No new spec is written until the previous spec's checkpoint passes
117
+ - Specs respond to observed friction, not pre-planned lists
118
+ - Breaking changes require at least one confirmed external user
119
+ - Prefer recording "we decided not to do X" over silently dropping ideas
120
+ - Emerging patterns that are not yet ready for a spec live in [`BACKLOG.md`](./BACKLOG.md) — review it before writing a new spec