create-quiver 0.15.1 → 0.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +3 -0
- package/README.md +2 -0
- package/README_FOR_AI.md +5 -3
- package/docs/CLI_UX_GUIDE.md +15 -1
- package/docs/COMMANDS.md.template +2 -1
- package/docs/WORKFLOW.md.template +2 -2
- package/docs/reference/commands.md +10 -4
- package/package.json +1 -1
- package/specs/quiver-v33-approval-ux-and-planner-progress/EVIDENCE_REPORT.md +93 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/EXECUTION_PLAN.md +83 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/SPEC.md +158 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/STATUS.md +31 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/pr.md +109 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-00-approval-ux-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-00-approval-ux-foundation/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-00-approval-ux-foundation/slice.json +65 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-01-approval-candidates-model/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-01-approval-candidates-model/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-01-approval-candidates-model/slice.json +74 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-02-approve-interactive-selection/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-02-approve-interactive-selection/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-02-approve-interactive-selection/slice.json +79 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-03-technical-plan-review-decision-data/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-03-technical-plan-review-decision-data/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-03-technical-plan-review-decision-data/slice.json +75 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-04-revise-input-guardrails/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-04-revise-input-guardrails/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-04-revise-input-guardrails/slice.json +73 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-05-provider-progress-alignment/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-05-provider-progress-alignment/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-05-provider-progress-alignment/slice.json +91 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-06-workflow-surface-integration/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-06-workflow-surface-integration/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-06-workflow-surface-integration/slice.json +87 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-07-docs-tests-release-readiness/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-07-docs-tests-release-readiness/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-07-docs-tests-release-readiness/slice.json +97 -0
- package/src/create-quiver/commands/ai.js +112 -12
- package/src/create-quiver/commands/flow.js +74 -12
- package/src/create-quiver/commands/spec.js +8 -1
- package/src/create-quiver/index.js +10 -2
- package/src/create-quiver/lib/ai/approval-candidates.js +86 -0
- package/src/create-quiver/lib/ai/plan-review.js +77 -1
- package/src/create-quiver/lib/ai/run-state.js +21 -4
- package/src/create-quiver/lib/approvals.js +103 -0
- package/src/create-quiver/lib/git.js +13 -4
- package/src/create-quiver/lib/paths.js +45 -3
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-04-revise-input-guardrails",
|
|
3
|
+
"ticket": "QUIVER-33-04",
|
|
4
|
+
"type": "fix",
|
|
5
|
+
"title": "Revise input guardrails",
|
|
6
|
+
"objective": "Handle missing, incomplete, nonexistent, and accidental extra `ai revise --input` usage before provider execution.",
|
|
7
|
+
"description": "Hardens `ai revise` for both acceptance and technical-plan phases so incomplete inputs fail actionably or guide the user in TTY without silently ignoring mistakes.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "fix",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v33-revise-input-guardrails",
|
|
12
|
+
"branch_name": "fix/QUIVER-33-04-v33-revise-input-guardrails"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/index.js",
|
|
16
|
+
"src/create-quiver/commands/ai.js",
|
|
17
|
+
"tests/commands/ai-plan.test.js",
|
|
18
|
+
"tests/commands/cli-contract.test.js"
|
|
19
|
+
],
|
|
20
|
+
"expected_read_paths": [
|
|
21
|
+
"src/create-quiver/index.js",
|
|
22
|
+
"src/create-quiver/commands/ai.js",
|
|
23
|
+
"tests/commands/ai-plan.test.js",
|
|
24
|
+
"tests/commands/cli-contract.test.js",
|
|
25
|
+
"SPEC.md"
|
|
26
|
+
],
|
|
27
|
+
"allowed_write_paths": [
|
|
28
|
+
"src/create-quiver/index.js",
|
|
29
|
+
"src/create-quiver/commands/ai.js",
|
|
30
|
+
"tests/commands/ai-plan.test.js",
|
|
31
|
+
"tests/commands/cli-contract.test.js",
|
|
32
|
+
"specs/quiver-v33-approval-ux-and-planner-progress/**"
|
|
33
|
+
],
|
|
34
|
+
"depends_on": [
|
|
35
|
+
"slice-01-approval-candidates-model"
|
|
36
|
+
],
|
|
37
|
+
"parallel_safe": "yes",
|
|
38
|
+
"parallel_safe_reason": "Can run after slice-01, but coordinate command-file conflicts with slice-02 and slice-05.",
|
|
39
|
+
"must": [
|
|
40
|
+
"Detect `ai revise --phase acceptance --input` without a value.",
|
|
41
|
+
"Detect `ai revise --phase technical-plan --input` without a value.",
|
|
42
|
+
"Fail before provider execution for missing or nonexistent files.",
|
|
43
|
+
"Handle accidental trailing args such as `s` with a clear error or documented parse behavior.",
|
|
44
|
+
"In no-TTY/CI, show an explicit corrected command.",
|
|
45
|
+
"In TTY, show focused guidance or selector only if useful artifacts exist."
|
|
46
|
+
],
|
|
47
|
+
"not_included": [
|
|
48
|
+
"Generating feedback files automatically.",
|
|
49
|
+
"Running providers when input is invalid.",
|
|
50
|
+
"Changing revise prompt semantics."
|
|
51
|
+
],
|
|
52
|
+
"acceptance": [
|
|
53
|
+
"`ai revise --phase acceptance --input` fails before provider execution with a useful next command.",
|
|
54
|
+
"`ai revise --phase technical-plan --input` fails before provider execution with a useful next command.",
|
|
55
|
+
"Nonexistent feedback input fails before provider execution.",
|
|
56
|
+
"Accidental extra args are not silently accepted.",
|
|
57
|
+
"No-TTY/CI does not prompt.",
|
|
58
|
+
"Existing valid revise commands still work."
|
|
59
|
+
],
|
|
60
|
+
"tests": [
|
|
61
|
+
"node --test tests/commands/ai-plan.test.js tests/commands/cli-contract.test.js",
|
|
62
|
+
"git diff --check"
|
|
63
|
+
],
|
|
64
|
+
"validation_hints": [
|
|
65
|
+
"Cover parser-level missing value behavior and command-level missing file behavior separately.",
|
|
66
|
+
"Avoid provider mocks for invalid input paths because provider execution should not start."
|
|
67
|
+
],
|
|
68
|
+
"estimated_hours": 6,
|
|
69
|
+
"status": "completed",
|
|
70
|
+
"blocked_reason": null,
|
|
71
|
+
"actual_hours": 6,
|
|
72
|
+
"completed_at": "2026-05-28"
|
|
73
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-05 Provider progress alignment
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Completed provider progress alignment for planner/reviewer flows. `ai plan`, `ai revise`, `ai review-plan`, and `ai repair-plan` now use real preparation checks and provider spinner behavior in human TTY mode.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [x] Planner progress tests pass.
|
|
10
|
+
- [x] Review-plan progress tests pass.
|
|
11
|
+
- [x] Repair-plan progress tests pass.
|
|
12
|
+
- [x] Machine-output cleanliness tests pass.
|
|
13
|
+
|
|
14
|
+
## Pending
|
|
15
|
+
|
|
16
|
+
- None.
|
|
17
|
+
|
|
18
|
+
## Remaining Risks
|
|
19
|
+
|
|
20
|
+
- None critical; final smoke and package readiness passed.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-05 Provider progress alignment
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
`ai prepare-context --with-planner` provides the UX baseline. Planner and reviewer commands must look alive during real provider execution without affecting machine output.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Align progress/loaders for `ai plan`, `ai revise`, `ai review-plan`, and `ai repair-plan`, and audit existing long-running flows.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- `src/create-quiver/commands/ai.js`
|
|
14
|
+
- existing CLI UX helpers if needed
|
|
15
|
+
- focused progress tests
|
|
16
|
+
|
|
17
|
+
## Acceptance Criteria
|
|
18
|
+
|
|
19
|
+
- Live provider-backed planner/reviewer commands show progress in human TTY.
|
|
20
|
+
- Dry-run and print-prompt do not show loaders.
|
|
21
|
+
- JSON/no-TTY/CI/no-color stay clean.
|
|
22
|
+
- Provider failure stops the spinner.
|
|
23
|
+
- Existing compliant flows are protected by regression tests or noted.
|
|
24
|
+
|
|
25
|
+
## Technical Plan Summary
|
|
26
|
+
|
|
27
|
+
Reuse `createCommandUx`, `shouldShowHumanProgress`, `writeProgressChecks`, and `runProviderWithProgress`. Avoid new abstractions unless real duplication appears.
|
|
28
|
+
|
|
29
|
+
## Suggested Steps
|
|
30
|
+
|
|
31
|
+
1. Audit current progress usage.
|
|
32
|
+
2. Add missing progress stages.
|
|
33
|
+
3. Add tests with injected spinner/UX helpers.
|
|
34
|
+
4. Add no-color/no-TTY regression coverage where gaps exist.
|
|
35
|
+
|
|
36
|
+
## Restrictions
|
|
37
|
+
|
|
38
|
+
- Do not change provider prompts.
|
|
39
|
+
- Do not add progress to JSON output.
|
|
40
|
+
- Do not mark fake work as completed.
|
|
41
|
+
|
|
42
|
+
## Risks
|
|
43
|
+
|
|
44
|
+
- Progress output can be hard to test if implementation is coupled to terminal rendering.
|
|
45
|
+
|
|
46
|
+
## Completion Checklist
|
|
47
|
+
|
|
48
|
+
- [ ] Planner progress covered.
|
|
49
|
+
- [ ] Review-plan progress covered.
|
|
50
|
+
- [ ] Repair-plan progress covered.
|
|
51
|
+
- [ ] Machine-output cleanliness covered.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-05-provider-progress-alignment",
|
|
3
|
+
"ticket": "QUIVER-33-05",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Provider progress alignment",
|
|
6
|
+
"objective": "Align progress messages and loaders for provider-backed planner and reviewer commands.",
|
|
7
|
+
"description": "Ensures `ai plan`, `ai revise`, `ai review-plan`, and `ai repair-plan` use the same production-safe progress contract as `ai prepare-context --with-planner`, while auditing existing long-running flows.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v33-provider-progress-alignment",
|
|
12
|
+
"branch_name": "feature/QUIVER-33-05-v33-provider-progress-alignment"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/ai/executor.js",
|
|
17
|
+
"src/create-quiver/lib/ai/execution-plan.js",
|
|
18
|
+
"src/create-quiver/lib/cli/ux.js",
|
|
19
|
+
"tests/commands/ai-plan.test.js",
|
|
20
|
+
"tests/commands/ai-review-plan.test.js",
|
|
21
|
+
"tests/commands/ai-prepare-context-planner.test.js",
|
|
22
|
+
"tests/commands/ai-execute-slice.test.js",
|
|
23
|
+
"tests/commands/ai-execute-plan.test.js",
|
|
24
|
+
"tests/commands/ai-pr.test.js",
|
|
25
|
+
"tests/lib/cli-ux.test.js"
|
|
26
|
+
],
|
|
27
|
+
"expected_read_paths": [
|
|
28
|
+
"src/create-quiver/commands/ai.js",
|
|
29
|
+
"src/create-quiver/lib/ai/executor.js",
|
|
30
|
+
"src/create-quiver/lib/ai/execution-plan.js",
|
|
31
|
+
"src/create-quiver/lib/cli/ux.js",
|
|
32
|
+
"tests/commands/ai-prepare-context-planner.test.js",
|
|
33
|
+
"tests/lib/cli-ux.test.js",
|
|
34
|
+
"SPEC.md"
|
|
35
|
+
],
|
|
36
|
+
"allowed_write_paths": [
|
|
37
|
+
"src/create-quiver/commands/ai.js",
|
|
38
|
+
"src/create-quiver/lib/ai/executor.js",
|
|
39
|
+
"src/create-quiver/lib/ai/execution-plan.js",
|
|
40
|
+
"src/create-quiver/lib/cli/ux.js",
|
|
41
|
+
"tests/commands/ai-plan.test.js",
|
|
42
|
+
"tests/commands/ai-review-plan.test.js",
|
|
43
|
+
"tests/commands/ai-prepare-context-planner.test.js",
|
|
44
|
+
"tests/commands/ai-execute-slice.test.js",
|
|
45
|
+
"tests/commands/ai-execute-plan.test.js",
|
|
46
|
+
"tests/commands/ai-pr.test.js",
|
|
47
|
+
"tests/lib/cli-ux.test.js",
|
|
48
|
+
"specs/quiver-v33-approval-ux-and-planner-progress/**"
|
|
49
|
+
],
|
|
50
|
+
"depends_on": [
|
|
51
|
+
"slice-01-approval-candidates-model"
|
|
52
|
+
],
|
|
53
|
+
"parallel_safe": "yes",
|
|
54
|
+
"parallel_safe_reason": "Can run after slice-01, but command-file conflicts with approval slices should be coordinated.",
|
|
55
|
+
"must": [
|
|
56
|
+
"Show human progress for `ai plan --phase acceptance` live provider execution.",
|
|
57
|
+
"Show human progress for `ai plan --phase technical-plan` live provider execution.",
|
|
58
|
+
"Show human progress for `ai revise` live provider execution through the shared plan path.",
|
|
59
|
+
"Show human progress for `ai review-plan` live provider execution.",
|
|
60
|
+
"Show human progress for `ai repair-plan` live provider execution.",
|
|
61
|
+
"Do not show loaders for dry-run or print-prompt.",
|
|
62
|
+
"Do not contaminate JSON, no-color, CI, or no-TTY output.",
|
|
63
|
+
"Audit existing long-running flows and add regression tests only where behavior should remain unchanged."
|
|
64
|
+
],
|
|
65
|
+
"not_included": [
|
|
66
|
+
"Changing provider prompts.",
|
|
67
|
+
"Changing provider adapters.",
|
|
68
|
+
"Adding new UX dependencies."
|
|
69
|
+
],
|
|
70
|
+
"acceptance": [
|
|
71
|
+
"Planner commands show real staged progress in human mode.",
|
|
72
|
+
"Reviewer and repair-plan commands show real staged progress in human mode.",
|
|
73
|
+
"Dry-run and print-prompt remain provider-free and loader-free.",
|
|
74
|
+
"Provider failure stops spinner and surfaces actionable context.",
|
|
75
|
+
"Existing prepare-context, onboard, execute-slice, execute-plan, and pr progress behavior is covered by regression tests or explicitly documented as already compliant."
|
|
76
|
+
],
|
|
77
|
+
"tests": [
|
|
78
|
+
"node --test tests/commands/ai-plan.test.js tests/commands/ai-review-plan.test.js tests/commands/ai-prepare-context-planner.test.js tests/lib/cli-ux.test.js",
|
|
79
|
+
"node --test tests/commands/ai-execute-slice.test.js tests/commands/ai-execute-plan.test.js tests/commands/ai-pr.test.js",
|
|
80
|
+
"git diff --check"
|
|
81
|
+
],
|
|
82
|
+
"validation_hints": [
|
|
83
|
+
"Use injected spinner helpers in tests.",
|
|
84
|
+
"Avoid fake progress checks that claim completed work before it happens."
|
|
85
|
+
],
|
|
86
|
+
"estimated_hours": 8,
|
|
87
|
+
"status": "completed",
|
|
88
|
+
"blocked_reason": null,
|
|
89
|
+
"actual_hours": 8,
|
|
90
|
+
"completed_at": "2026-05-28"
|
|
91
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-06 Workflow surface integration
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Completed workflow surface integration through shared approval-candidate helpers. `ai approvals`, `flow`, `ai status`, `ai resume`, and `spec create --interactive` now align on recommended approval versions and blocked review guidance.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [x] Approval status tests pass.
|
|
10
|
+
- [x] Flow tests pass.
|
|
11
|
+
- [x] Run-state tests pass.
|
|
12
|
+
- [x] Spec create tests pass.
|
|
13
|
+
|
|
14
|
+
## Pending
|
|
15
|
+
|
|
16
|
+
- None.
|
|
17
|
+
|
|
18
|
+
## Remaining Risks
|
|
19
|
+
|
|
20
|
+
- None critical; drift-prone surfaces are covered by focused tests and full suite.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-06 Workflow surface integration
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
After approval selection and review-decision data exist, other workflow surfaces must consume the same source of truth to prevent contradictory next steps.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Integrate shared approval candidates into `ai approvals`, `flow`, `ai status`, `ai resume`, and `spec create --interactive`.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- `src/create-quiver/commands/ai.js`
|
|
14
|
+
- `src/create-quiver/commands/flow.js`
|
|
15
|
+
- `src/create-quiver/commands/spec.js`
|
|
16
|
+
- `src/create-quiver/lib/ai/run-state.js`
|
|
17
|
+
- focused tests
|
|
18
|
+
|
|
19
|
+
## Acceptance Criteria
|
|
20
|
+
|
|
21
|
+
- `ai approvals` and `ai approve` recommend the same current version.
|
|
22
|
+
- `flow` points to safe next steps consistent with candidates.
|
|
23
|
+
- `ai status` and `ai resume` do not contradict approval guidance.
|
|
24
|
+
- `spec create --interactive` shows reviewed and approved technical-plan input clearly.
|
|
25
|
+
- Read-only outputs remain prompt-free.
|
|
26
|
+
|
|
27
|
+
## Technical Plan Summary
|
|
28
|
+
|
|
29
|
+
Replace duplicated next-command decisions with the shared candidate model where approval phases are involved.
|
|
30
|
+
|
|
31
|
+
## Suggested Steps
|
|
32
|
+
|
|
33
|
+
1. Update approval status output.
|
|
34
|
+
2. Update flow decision points.
|
|
35
|
+
3. Update run-state next-command guidance.
|
|
36
|
+
4. Update spec create interactive summary.
|
|
37
|
+
5. Add drift-prevention tests.
|
|
38
|
+
|
|
39
|
+
## Restrictions
|
|
40
|
+
|
|
41
|
+
- Do not prompt from read-only commands.
|
|
42
|
+
- Do not change spec generation semantics.
|
|
43
|
+
|
|
44
|
+
## Risks
|
|
45
|
+
|
|
46
|
+
- Existing snapshot-style output tests may need precise updates.
|
|
47
|
+
|
|
48
|
+
## Completion Checklist
|
|
49
|
+
|
|
50
|
+
- [ ] `ai approvals` integrated.
|
|
51
|
+
- [ ] `flow` integrated.
|
|
52
|
+
- [ ] `ai status/resume` integrated.
|
|
53
|
+
- [ ] `spec create --interactive` integrated.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-06-workflow-surface-integration",
|
|
3
|
+
"ticket": "QUIVER-33-06",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Workflow surface integration",
|
|
6
|
+
"objective": "Use shared approval candidates across status, approval, flow, resume, and spec-create surfaces.",
|
|
7
|
+
"description": "Integrates the shared decision model into `ai approvals`, `flow`, `ai status`, `ai resume`, and `spec create --interactive` so every surface recommends the same safe next step.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v33-workflow-surface-integration",
|
|
12
|
+
"branch_name": "feature/QUIVER-33-06-v33-workflow-surface-integration"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/commands/flow.js",
|
|
17
|
+
"src/create-quiver/commands/spec.js",
|
|
18
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
19
|
+
"src/create-quiver/lib/approvals.js",
|
|
20
|
+
"tests/commands/ai-run-state.test.js",
|
|
21
|
+
"tests/commands/flow.test.js",
|
|
22
|
+
"tests/commands/spec-create.test.js"
|
|
23
|
+
],
|
|
24
|
+
"expected_read_paths": [
|
|
25
|
+
"src/create-quiver/commands/ai.js",
|
|
26
|
+
"src/create-quiver/commands/flow.js",
|
|
27
|
+
"src/create-quiver/commands/spec.js",
|
|
28
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
29
|
+
"src/create-quiver/lib/approvals.js",
|
|
30
|
+
"tests/commands/ai-run-state.test.js",
|
|
31
|
+
"tests/commands/flow.test.js",
|
|
32
|
+
"tests/commands/spec-create.test.js",
|
|
33
|
+
"SPEC.md"
|
|
34
|
+
],
|
|
35
|
+
"allowed_write_paths": [
|
|
36
|
+
"src/create-quiver/commands/ai.js",
|
|
37
|
+
"src/create-quiver/commands/flow.js",
|
|
38
|
+
"src/create-quiver/commands/spec.js",
|
|
39
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
40
|
+
"src/create-quiver/lib/approvals.js",
|
|
41
|
+
"tests/commands/ai-run-state.test.js",
|
|
42
|
+
"tests/commands/flow.test.js",
|
|
43
|
+
"tests/commands/spec-create.test.js",
|
|
44
|
+
"specs/quiver-v33-approval-ux-and-planner-progress/**"
|
|
45
|
+
],
|
|
46
|
+
"depends_on": [
|
|
47
|
+
"slice-01-approval-candidates-model",
|
|
48
|
+
"slice-02-approve-interactive-selection",
|
|
49
|
+
"slice-03-technical-plan-review-decision-data"
|
|
50
|
+
],
|
|
51
|
+
"parallel_safe": "no",
|
|
52
|
+
"parallel_safe_reason": "This slice touches multiple workflow surfaces and should land after core approval behavior is stable.",
|
|
53
|
+
"must": [
|
|
54
|
+
"Update `ai approvals` to use shared approval candidate data.",
|
|
55
|
+
"Update `flow` recommendations to avoid conflicting approval guidance.",
|
|
56
|
+
"Update `ai status` and `ai resume` next safe commands where approval selection applies.",
|
|
57
|
+
"Update `spec create --interactive` to show reviewed and approved technical-plan input using shared data.",
|
|
58
|
+
"Keep read-only/machine-readable surfaces free of prompts.",
|
|
59
|
+
"Avoid duplicating decision logic in each command."
|
|
60
|
+
],
|
|
61
|
+
"not_included": [
|
|
62
|
+
"Changing execution-plan logic.",
|
|
63
|
+
"Changing spec artifact generation semantics.",
|
|
64
|
+
"Adding new lifecycle phases unless unavoidable."
|
|
65
|
+
],
|
|
66
|
+
"acceptance": [
|
|
67
|
+
"`ai approvals` shows the same recommended approval version as `ai approve`.",
|
|
68
|
+
"`flow` recommends approval commands consistent with candidate state.",
|
|
69
|
+
"`ai status` and `ai resume` do not contradict `ai approvals`.",
|
|
70
|
+
"`spec create --interactive` identifies the reviewed and approved technical plan clearly.",
|
|
71
|
+
"JSON and read-only commands remain prompt-free.",
|
|
72
|
+
"Tests cover drift-prone states."
|
|
73
|
+
],
|
|
74
|
+
"tests": [
|
|
75
|
+
"node --test tests/commands/ai-run-state.test.js tests/commands/flow.test.js tests/commands/spec-create.test.js tests/commands/ai-review-plan.test.js",
|
|
76
|
+
"git diff --check"
|
|
77
|
+
],
|
|
78
|
+
"validation_hints": [
|
|
79
|
+
"Prefer one shared formatting/data helper over duplicated command-specific state checks.",
|
|
80
|
+
"Keep command output stable enough for existing tests unless the visible contract intentionally changes."
|
|
81
|
+
],
|
|
82
|
+
"estimated_hours": 8,
|
|
83
|
+
"status": "completed",
|
|
84
|
+
"blocked_reason": null,
|
|
85
|
+
"actual_hours": 8,
|
|
86
|
+
"completed_at": "2026-05-28"
|
|
87
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-07 Docs, tests, and release readiness
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Completed docs, template alignment, full test validation, smokes, package readiness, evidence, status metadata, and PR body updates for v33.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [x] Docs are aligned.
|
|
10
|
+
- [x] Full tests pass.
|
|
11
|
+
- [x] Smokes pass.
|
|
12
|
+
- [x] Evidence and PR body are updated.
|
|
13
|
+
|
|
14
|
+
## Pending
|
|
15
|
+
|
|
16
|
+
- None.
|
|
17
|
+
|
|
18
|
+
## Remaining Risks
|
|
19
|
+
|
|
20
|
+
- None critical.
|
|
21
|
+
- This slice does not claim npm publication.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-07 Docs, tests, and release readiness
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
This slice closes the spec after implementation slices land. It synchronizes documentation, evidence, and PR readiness.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Update docs and evidence, run validation, and prepare the PR for review without claiming package publication.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- `docs/CLI_UX_GUIDE.md`
|
|
14
|
+
- `docs/reference/commands.md`
|
|
15
|
+
- `README_FOR_AI.md`
|
|
16
|
+
- generated docs templates if affected
|
|
17
|
+
- changelog/roadmap if local release process requires it
|
|
18
|
+
- spec evidence and closure docs
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- Public and AI-facing docs match implemented behavior.
|
|
23
|
+
- Generated templates match command guidance.
|
|
24
|
+
- Focused and full tests pass or blockers are explicit.
|
|
25
|
+
- Smoke/package readiness evidence is recorded.
|
|
26
|
+
- Spec status and PR body are updated.
|
|
27
|
+
|
|
28
|
+
## Technical Plan Summary
|
|
29
|
+
|
|
30
|
+
Close documentation after behavior is real. Run focused tests first, then full suite and smokes.
|
|
31
|
+
|
|
32
|
+
## Suggested Steps
|
|
33
|
+
|
|
34
|
+
1. Update docs and templates.
|
|
35
|
+
2. Run focused command tests.
|
|
36
|
+
3. Run full tests and smokes.
|
|
37
|
+
4. Update evidence and status.
|
|
38
|
+
5. Update PR body.
|
|
39
|
+
|
|
40
|
+
## Restrictions
|
|
41
|
+
|
|
42
|
+
- Do not claim npm publication.
|
|
43
|
+
- Do not introduce new behavior beyond documentation/test closure.
|
|
44
|
+
|
|
45
|
+
## Risks
|
|
46
|
+
|
|
47
|
+
- Full smokes can be slow or environment-sensitive; record exact blockers if any fail.
|
|
48
|
+
|
|
49
|
+
## Completion Checklist
|
|
50
|
+
|
|
51
|
+
- [ ] Docs updated.
|
|
52
|
+
- [ ] Focused tests run.
|
|
53
|
+
- [ ] Full tests/smokes run or blockers recorded.
|
|
54
|
+
- [ ] Evidence report updated.
|
|
55
|
+
- [ ] PR body ready.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-07-docs-tests-release-readiness",
|
|
3
|
+
"ticket": "QUIVER-33-07",
|
|
4
|
+
"type": "docs",
|
|
5
|
+
"title": "Docs, tests, and release readiness",
|
|
6
|
+
"objective": "Close documentation, regression coverage, smoke validation, and release readiness for v33.",
|
|
7
|
+
"description": "Updates public and AI-facing docs after implementation, runs full tests and smokes, records evidence, and prepares the PR for review.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v33-docs-tests-release-readiness",
|
|
12
|
+
"branch_name": "feature/QUIVER-33-07-v33-docs-tests-release-readiness"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"README_FOR_AI.md",
|
|
16
|
+
"docs/CLI_UX_GUIDE.md",
|
|
17
|
+
"docs/reference/commands.md",
|
|
18
|
+
"docs/COMMANDS.md.template",
|
|
19
|
+
"docs/AI_ONBOARDING_PROMPT.md.template",
|
|
20
|
+
"CHANGELOG.md",
|
|
21
|
+
"ROADMAP.md",
|
|
22
|
+
"specs/quiver-v33-approval-ux-and-planner-progress/**"
|
|
23
|
+
],
|
|
24
|
+
"expected_read_paths": [
|
|
25
|
+
"README_FOR_AI.md",
|
|
26
|
+
"README.md",
|
|
27
|
+
"docs/CLI_UX_GUIDE.md",
|
|
28
|
+
"docs/reference/commands.md",
|
|
29
|
+
"docs/COMMANDS.md.template",
|
|
30
|
+
"docs/AI_ONBOARDING_PROMPT.md.template",
|
|
31
|
+
"CHANGELOG.md",
|
|
32
|
+
"ROADMAP.md",
|
|
33
|
+
"SPEC.md",
|
|
34
|
+
"EVIDENCE_REPORT.md"
|
|
35
|
+
],
|
|
36
|
+
"allowed_write_paths": [
|
|
37
|
+
"README_FOR_AI.md",
|
|
38
|
+
"README.md",
|
|
39
|
+
"docs/CLI_UX_GUIDE.md",
|
|
40
|
+
"docs/reference/commands.md",
|
|
41
|
+
"docs/COMMANDS.md.template",
|
|
42
|
+
"docs/AI_ONBOARDING_PROMPT.md.template",
|
|
43
|
+
"CHANGELOG.md",
|
|
44
|
+
"ROADMAP.md",
|
|
45
|
+
"specs/quiver-v33-approval-ux-and-planner-progress/**"
|
|
46
|
+
],
|
|
47
|
+
"depends_on": [
|
|
48
|
+
"slice-02-approve-interactive-selection",
|
|
49
|
+
"slice-03-technical-plan-review-decision-data",
|
|
50
|
+
"slice-04-revise-input-guardrails",
|
|
51
|
+
"slice-05-provider-progress-alignment",
|
|
52
|
+
"slice-06-workflow-surface-integration"
|
|
53
|
+
],
|
|
54
|
+
"parallel_safe": "no",
|
|
55
|
+
"parallel_safe_reason": "Final docs, tests, smoke evidence, and release readiness must close after all implementation slices.",
|
|
56
|
+
"must": [
|
|
57
|
+
"Update CLI UX and command reference docs for approval selectors, revise guardrails, and progress behavior.",
|
|
58
|
+
"Update README_FOR_AI source-of-truth notes.",
|
|
59
|
+
"Update generated templates if command guidance changes.",
|
|
60
|
+
"Run focused tests and full test suite.",
|
|
61
|
+
"Run smoke commands and package readiness checks where feasible.",
|
|
62
|
+
"Update STATUS.md, EVIDENCE_REPORT.md, CLOSURE_BRIEF.md files, and pr.md with final evidence.",
|
|
63
|
+
"Avoid claiming package publication until it actually happens."
|
|
64
|
+
],
|
|
65
|
+
"not_included": [
|
|
66
|
+
"New product behavior beyond closing docs/tests.",
|
|
67
|
+
"Actual npm publication.",
|
|
68
|
+
"Post-merge cleanup."
|
|
69
|
+
],
|
|
70
|
+
"acceptance": [
|
|
71
|
+
"Docs describe TTY approval selection and no-TTY explicit version behavior.",
|
|
72
|
+
"Docs describe planner progress behavior without implying prompts are mandatory.",
|
|
73
|
+
"Generated templates remain aligned.",
|
|
74
|
+
"Focused tests for every changed command pass.",
|
|
75
|
+
"Full test suite passes or documented blockers are explicit.",
|
|
76
|
+
"Smoke/package readiness evidence is recorded.",
|
|
77
|
+
"Spec status and PR body are updated."
|
|
78
|
+
],
|
|
79
|
+
"tests": [
|
|
80
|
+
"node --test tests/**/*.test.js",
|
|
81
|
+
"npm run smoke:create-quiver",
|
|
82
|
+
"npm run smoke:doctor-fixtures",
|
|
83
|
+
"npm run smoke:guided-workflow",
|
|
84
|
+
"npm run package:quiver",
|
|
85
|
+
"git diff --check",
|
|
86
|
+
"node bin/create-quiver.js spec validate specs/quiver-v33-approval-ux-and-planner-progress"
|
|
87
|
+
],
|
|
88
|
+
"validation_hints": [
|
|
89
|
+
"If package smoke is too slow or blocked, record the exact blocker and run the maximal focused test subset.",
|
|
90
|
+
"Do not claim npm release or latest package availability."
|
|
91
|
+
],
|
|
92
|
+
"estimated_hours": 6,
|
|
93
|
+
"status": "completed",
|
|
94
|
+
"blocked_reason": null,
|
|
95
|
+
"actual_hours": 6,
|
|
96
|
+
"completed_at": "2026-05-28"
|
|
97
|
+
}
|