create-quiver 0.14.1 → 0.15.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 (51) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +4 -0
  3. package/README_FOR_AI.md +8 -2
  4. package/ROADMAP.md +8 -2
  5. package/docs/CLI_UX_GUIDE.md +64 -4
  6. package/docs/COMMANDS.md.template +7 -1
  7. package/docs/reference/commands.md +4 -0
  8. package/package.json +1 -1
  9. package/specs/quiver-v30-interactive-cli-ux-agent-selection/EVIDENCE_REPORT.md +213 -0
  10. package/specs/quiver-v30-interactive-cli-ux-agent-selection/EXECUTION_PLAN.md +85 -0
  11. package/specs/quiver-v30-interactive-cli-ux-agent-selection/SPEC.md +213 -0
  12. package/specs/quiver-v30-interactive-cli-ux-agent-selection/STATUS.md +31 -0
  13. package/specs/quiver-v30-interactive-cli-ux-agent-selection/pr.md +103 -0
  14. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +33 -0
  15. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +56 -0
  16. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/slice.json +71 -0
  17. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/CLOSURE_BRIEF.md +31 -0
  18. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/EXECUTION_BRIEF.md +54 -0
  19. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/slice.json +69 -0
  20. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/CLOSURE_BRIEF.md +33 -0
  21. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/EXECUTION_BRIEF.md +56 -0
  22. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/slice.json +81 -0
  23. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/CLOSURE_BRIEF.md +32 -0
  24. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/EXECUTION_BRIEF.md +54 -0
  25. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/slice.json +75 -0
  26. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/CLOSURE_BRIEF.md +32 -0
  27. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/EXECUTION_BRIEF.md +57 -0
  28. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/slice.json +85 -0
  29. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/CLOSURE_BRIEF.md +33 -0
  30. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/EXECUTION_BRIEF.md +57 -0
  31. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/slice.json +85 -0
  32. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/CLOSURE_BRIEF.md +35 -0
  33. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/EXECUTION_BRIEF.md +55 -0
  34. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/slice.json +81 -0
  35. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/CLOSURE_BRIEF.md +34 -0
  36. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/EXECUTION_BRIEF.md +55 -0
  37. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/slice.json +85 -0
  38. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/CLOSURE_BRIEF.md +34 -0
  39. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/EXECUTION_BRIEF.md +59 -0
  40. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/slice.json +95 -0
  41. package/src/create-quiver/commands/ai.js +364 -81
  42. package/src/create-quiver/commands/spec.js +106 -6
  43. package/src/create-quiver/index.js +533 -70
  44. package/src/create-quiver/lib/agent-profiles.js +111 -10
  45. package/src/create-quiver/lib/ai/execution-plan.js +106 -8
  46. package/src/create-quiver/lib/ai/executor.js +284 -28
  47. package/src/create-quiver/lib/ai/providers.js +71 -1
  48. package/src/create-quiver/lib/cli/selectors.js +107 -0
  49. package/src/create-quiver/lib/cli/theme.js +5 -2
  50. package/src/create-quiver/lib/cli/ux-flags.js +18 -0
  51. package/src/create-quiver/lib/cli/ux.js +100 -5
@@ -0,0 +1,33 @@
1
+ # CLOSURE_BRIEF - slice-02 Agent profile selection and selectors
2
+
3
+ ## Summary
4
+
5
+ Added backward-compatible named agent profiles per role and a reusable selector helper with non-interactive fallback behavior.
6
+
7
+ ## Validation Against Acceptance Criteria
8
+
9
+ - [x] Multiple profiles per role validated.
10
+ - [x] Backward compatibility validated.
11
+ - [x] Selectors use configured data only.
12
+ - [x] No-TTY/CI/JSON fallback validated.
13
+
14
+ ## Relevant Changes
15
+
16
+ - Updated `src/create-quiver/lib/agent-profiles.js`.
17
+ - Added `src/create-quiver/lib/cli/selectors.js`.
18
+ - Updated parser support in `src/create-quiver/index.js`.
19
+ - Updated `ai agent` output in `src/create-quiver/commands/ai.js`.
20
+ - Added `tests/lib/cli-selectors.test.js`.
21
+ - Updated agent profile command/library tests.
22
+
23
+ ## Pending
24
+
25
+ - Provider model execution mapping is handled by slice-03.
26
+
27
+ ## Remaining Risks
28
+
29
+ - New selector flags are parsed but not fully consumed by every command until later slices.
30
+
31
+ ## Future Recommendations
32
+
33
+ Keep selector choices observable in dry-run output so humans can debug defaults before live execution.
@@ -0,0 +1,56 @@
1
+ # EXECUTION_BRIEF - slice-02 Agent profile selection and selectors
2
+
3
+ ## Context
4
+
5
+ The user wants commands that need Planners or Executors to show selectors such as `GPT 5.5` and `OPUS 4.7`, sourced from real configured profiles. The same selection must be scriptable through flags.
6
+
7
+ ## Objective
8
+
9
+ Add the selection contract for agents, specs, slices, methodology, and execution modes.
10
+
11
+ ## Scope
12
+
13
+ - Multiple named profiles per role.
14
+ - Display-name resolution.
15
+ - Interactive selectors behind `--interactive`.
16
+ - Non-interactive flags.
17
+ - Spec/slice selector data using stable internal values.
18
+ - Methodology selector with only `WDD + SDD` for now.
19
+
20
+ ## Acceptance Criteria
21
+
22
+ - Selectors use configured data only.
23
+ - Display name appears instead of raw provider when configured.
24
+ - No prompt opens in CI/no-TTY/JSON.
25
+ - Missing default choices fail with actionable guidance.
26
+ - Existing configs remain compatible.
27
+
28
+ ## Plan tecnico resumido
29
+
30
+ Build selectors as reusable infrastructure, not command-specific prompt code. Keep prompts opt-in and flags authoritative for automation.
31
+
32
+ ## Suggested Steps
33
+
34
+ 1. Extend profile read/write helpers for named arrays per role.
35
+ 2. Add display-name resolver.
36
+ 3. Add selector helpers with injectable prompt implementation.
37
+ 4. Add command-line args for role/spec/slice choices.
38
+ 5. Add tests for old and new profile shapes.
39
+
40
+ ## Restrictions
41
+
42
+ - Do not execute providers in this slice.
43
+ - Do not invent model options.
44
+ - Do not add unsupported methodologies.
45
+
46
+ ## Risks
47
+
48
+ - Config migration can break existing users if not backward compatible.
49
+ - Labels can become ambiguous if internal selector values are not unique.
50
+
51
+ ## Completion Checklist
52
+
53
+ - [ ] Multiple profile shape supported.
54
+ - [ ] Display-name resolution tested.
55
+ - [ ] Selectors tested in TTY and no-TTY paths.
56
+ - [ ] Non-interactive flags documented.
@@ -0,0 +1,81 @@
1
+ {
2
+ "slice_id": "slice-02-agent-profile-selection-selectors",
3
+ "ticket": "QUIVER-30-02",
4
+ "type": "feature",
5
+ "title": "Agent profile selection and selectors",
6
+ "objective": "Support multiple named IA profiles per role and reusable interactive selectors with non-interactive equivalents.",
7
+ "description": "Adds role-specific profile selection for Planner, Executor, Reviewer, and Doctor plus selectors for specs, slices, methodology, modes, verbosity, and execution strategy.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "v30-agent-profile-selection-selectors",
12
+ "branch_name": "feature/QUIVER-30-02-v30-agent-profile-selection-selectors"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/lib/agent-profiles.js",
16
+ "src/create-quiver/lib/cli/**",
17
+ "src/create-quiver/commands/ai.js",
18
+ "src/create-quiver/index.js",
19
+ "tests/lib/agent-profiles.test.js",
20
+ "tests/commands/ai-agent.test.js",
21
+ "specs/quiver-v30-interactive-cli-ux-agent-selection/**"
22
+ ],
23
+ "expected_read_paths": [
24
+ "src/create-quiver/lib/agent-profiles.js",
25
+ "src/create-quiver/lib/ai/export-state.js",
26
+ "src/create-quiver/lib/slice-graph.js",
27
+ "src/create-quiver/commands/spec.js",
28
+ "tests/commands/ai-agent.test.js"
29
+ ],
30
+ "allowed_write_paths": [
31
+ "src/create-quiver/lib/agent-profiles.js",
32
+ "src/create-quiver/lib/cli/**",
33
+ "src/create-quiver/commands/ai.js",
34
+ "src/create-quiver/index.js",
35
+ "tests/lib/agent-profiles.test.js",
36
+ "tests/lib/cli-*.test.js",
37
+ "tests/commands/ai-agent.test.js",
38
+ "docs/CLI_UX_GUIDE.md",
39
+ "docs/reference/commands.md",
40
+ "specs/quiver-v30-interactive-cli-ux-agent-selection/**"
41
+ ],
42
+ "depends_on": [
43
+ "slice-01-cli-ux-runtime-progress-engine"
44
+ ],
45
+ "parallel_safe": "after_dependencies",
46
+ "parallel_safe_reason": "Selector work depends on UX runtime but can precede provider model mapping.",
47
+ "must": [
48
+ "Support multiple named profiles per role while keeping existing profile config backward compatible.",
49
+ "Resolve display name from displayName, model, provider, then role.",
50
+ "Add selectors only when --interactive is used.",
51
+ "Add non-interactive flags for planner, executor, reviewer, doctor, spec, slice, and methodology selections.",
52
+ "Fail actionably when multiple options exist and no default or flag is available.",
53
+ "Use unique values internally for specs and slices."
54
+ ],
55
+ "not_included": [
56
+ "Passing model arguments to provider commands.",
57
+ "Adopting selectors in every command.",
58
+ "Adding methodologies beyond WDD + SDD."
59
+ ],
60
+ "acceptance": [
61
+ "Configured profiles populate selector options.",
62
+ "No hardcoded model choices appear unless configured by the user.",
63
+ "Display names are used in headings and summaries.",
64
+ "CI/no-TTY/JSON modes never open selectors.",
65
+ "Equivalent flags exist for selector decisions.",
66
+ "Existing single-profile configurations continue to work."
67
+ ],
68
+ "tests": [
69
+ "node --test tests/lib/agent-profiles.test.js tests/commands/ai-agent.test.js tests/lib/cli-*.test.js",
70
+ "git diff --check"
71
+ ],
72
+ "validation_hints": [
73
+ "Treat old .quiver/agents/profiles.json shape as backward-compatible input.",
74
+ "Keep selector labels human-friendly but values path/id stable."
75
+ ],
76
+ "estimated_hours": 10,
77
+ "status": "completed",
78
+ "blocked_reason": null,
79
+ "actual_hours": 4,
80
+ "completed_at": "2026-05-26"
81
+ }
@@ -0,0 +1,32 @@
1
+ # CLOSURE_BRIEF - slice-03 Provider model selection contract
2
+
3
+ ## Summary
4
+
5
+ Implemented the provider/model selection contract for planner and reviewer IA flows.
6
+
7
+ ## Validation Against Acceptance Criteria
8
+
9
+ - [x] Model support metadata validated.
10
+ - [x] Supported model invocation validated.
11
+ - [x] Unsupported model blocking validated.
12
+ - [x] Existing provider compatibility validated.
13
+
14
+ ## Relevant Changes
15
+
16
+ - Added `supportsModelSelection`, model arg builders, model-selection metadata, and enforcement to provider adapters.
17
+ - Added dry-run visibility for selected provider models.
18
+ - Wired selected profile models into planner/reviewer command flows.
19
+ - Added targeted provider and command tests.
20
+ - Documented the model-selection contract in `docs/CLI_UX_GUIDE.md` and synchronized `README_FOR_AI.md`.
21
+
22
+ ## Pending
23
+
24
+ - Executor command flows must use the same provider/model contract in slice-05.
25
+
26
+ ## Remaining Risks
27
+
28
+ - Provider CLI model flags can vary by installed CLI version; release validation should include local dry-run/live smoke tests where CLIs are available.
29
+
30
+ ## Future Recommendations
31
+
32
+ Keep provider adapter docs explicit about which model selectors are enforced by CLI flags and which require provider-side configuration.
@@ -0,0 +1,54 @@
1
+ # EXECUTION_BRIEF - slice-03 Provider model selection contract
2
+
3
+ ## Context
4
+
5
+ The UX must not show `GPT 5.5` or `OPUS 4.7` as selected if the real provider command cannot receive or enforce that model choice.
6
+
7
+ ## Objective
8
+
9
+ Make provider/model selection honest, testable, and safe.
10
+
11
+ ## Scope
12
+
13
+ - Provider adapter metadata for model support.
14
+ - Model argument construction where supported.
15
+ - Live-mode blocking for unsupported model selection.
16
+ - Dry-run visibility for provider/profile/model behavior.
17
+ - Tests around provider invocations and unsupported combinations.
18
+
19
+ ## Acceptance Criteria
20
+
21
+ - Selected models affect real provider invocation when supported.
22
+ - Unsupported model selection blocks live execution with next steps.
23
+ - Prompt-only and dry-run flows stay provider-auth-free where applicable.
24
+ - Existing provider usage without model remains compatible.
25
+
26
+ ## Plan tecnico resumido
27
+
28
+ Extend provider definitions with model support metadata and validate selected profiles before spawning provider CLIs.
29
+
30
+ ## Suggested Steps
31
+
32
+ 1. Inspect provider CLI capabilities already assumed by Quiver.
33
+ 2. Add adapter metadata and model arg builder.
34
+ 3. Wire selected profiles into provider invocation.
35
+ 4. Add blocking error for unsupported model selection.
36
+ 5. Add tests for supported, unsupported, dry-run, and prompt-only paths.
37
+
38
+ ## Restrictions
39
+
40
+ - Do not add credentials or secret storage.
41
+ - Do not add unsupported providers.
42
+ - Do not silently ignore configured models in live mode.
43
+
44
+ ## Risks
45
+
46
+ - Provider CLI model flags can differ by installed version.
47
+ - Over-blocking can frustrate users if a provider supports model selection through config but not CLI flags.
48
+
49
+ ## Completion Checklist
50
+
51
+ - [ ] Provider metadata implemented.
52
+ - [ ] Model invocation tests pass.
53
+ - [ ] Unsupported model blocking tested.
54
+ - [ ] Docs explain provider/model limits.
@@ -0,0 +1,75 @@
1
+ {
2
+ "slice_id": "slice-03-provider-model-selection-contract",
3
+ "ticket": "QUIVER-30-03",
4
+ "type": "feature",
5
+ "title": "Provider model selection contract",
6
+ "objective": "Ensure selected profile/model values either affect real provider invocations or block live execution with clear guidance.",
7
+ "description": "Adds provider adapter metadata for model selection support, model argument mapping, display-only restrictions, and validation before live IA execution.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "v30-provider-model-selection-contract",
12
+ "branch_name": "feature/QUIVER-30-03-v30-provider-model-selection-contract"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/lib/ai/providers.js",
16
+ "src/create-quiver/lib/ai/preflight.js",
17
+ "src/create-quiver/commands/ai.js",
18
+ "tests/lib/ai-providers.test.js",
19
+ "tests/commands/ai-*.test.js",
20
+ "specs/quiver-v30-interactive-cli-ux-agent-selection/**"
21
+ ],
22
+ "expected_read_paths": [
23
+ "src/create-quiver/lib/ai/providers.js",
24
+ "src/create-quiver/lib/agent-profiles.js",
25
+ "src/create-quiver/commands/ai.js",
26
+ "tests/lib/ai-providers.test.js"
27
+ ],
28
+ "allowed_write_paths": [
29
+ "src/create-quiver/lib/ai/providers.js",
30
+ "src/create-quiver/lib/ai/preflight.js",
31
+ "src/create-quiver/commands/ai.js",
32
+ "tests/lib/ai-providers.test.js",
33
+ "tests/commands/ai-*.test.js",
34
+ "docs/CLI_UX_GUIDE.md",
35
+ "docs/reference/commands.md",
36
+ "specs/quiver-v30-interactive-cli-ux-agent-selection/**"
37
+ ],
38
+ "depends_on": [
39
+ "slice-02-agent-profile-selection-selectors"
40
+ ],
41
+ "parallel_safe": "after_dependencies",
42
+ "parallel_safe_reason": "Depends on selected profile shape and display-name semantics.",
43
+ "must": [
44
+ "Add provider adapter metadata for supportsModelSelection.",
45
+ "Add model argument builder per supported provider where safe.",
46
+ "Validate selected profile model before live provider execution.",
47
+ "Block live execution if model selection is unsupported and the selected model would be misleading.",
48
+ "Expose clear dry-run output showing command, provider, profile, model, and whether model selection is enforced."
49
+ ],
50
+ "not_included": [
51
+ "Adding new providers.",
52
+ "Storing credentials.",
53
+ "Changing profile selector UI."
54
+ ],
55
+ "acceptance": [
56
+ "Provider invocation includes model args when adapter support exists.",
57
+ "Unsupported model selection blocks live mode with an actionable message.",
58
+ "Dry-run makes model support status visible.",
59
+ "Prompt-only mode does not require provider auth.",
60
+ "Existing provider behavior without model profiles remains compatible."
61
+ ],
62
+ "tests": [
63
+ "node --test tests/lib/ai-providers.test.js tests/commands/ai-onboard.test.js tests/commands/ai-plan.test.js",
64
+ "git diff --check"
65
+ ],
66
+ "validation_hints": [
67
+ "Do not claim support for a provider model flag unless the actual CLI supports it.",
68
+ "Prefer explicit blocking over display-only ambiguity in live mode."
69
+ ],
70
+ "estimated_hours": 8,
71
+ "status": "completed",
72
+ "blocked_reason": null,
73
+ "actual_hours": 5,
74
+ "completed_at": "2026-05-26"
75
+ }
@@ -0,0 +1,32 @@
1
+ # CLOSURE_BRIEF - slice-04 Planner IA progress flows
2
+
3
+ ## Summary
4
+
5
+ Implemented visible TTY progress for planner-oriented IA commands.
6
+
7
+ ## Validation Against Acceptance Criteria
8
+
9
+ - [x] Planner command progress validated.
10
+ - [x] Display-name headings validated.
11
+ - [x] Provider-running spinner validated.
12
+ - [x] Failure/cancel cleanup validated.
13
+ - [x] Machine output cleanliness validated.
14
+
15
+ ## Relevant Changes
16
+
17
+ - Added command-level UX helpers for progress headings, checks, and provider spinners.
18
+ - Wrapped planner/reviewer provider execution in progress lifecycle handling.
19
+ - Preserved clean output for dry-run, prompt-only, CI, and non-TTY flows.
20
+ - Added tests for successful progress and provider-failure spinner cleanup.
21
+
22
+ ## Pending
23
+
24
+ - Executor, PR, doctor, init, and spec create adoption remain in later slices.
25
+
26
+ ## Remaining Risks
27
+
28
+ - Direct test runs in TTY mode can show clack spinner artifacts in logs; final release validation should decide if command tests should force non-TTY by default.
29
+
30
+ ## Future Recommendations
31
+
32
+ Keep the progress-stage list close to command behavior so future command changes update UX and tests together.
@@ -0,0 +1,57 @@
1
+ # EXECUTION_BRIEF - slice-04 Planner IA progress flows
2
+
3
+ ## Context
4
+
5
+ The observed bug is in a planner flow: `ai prepare-context --with-planner` can run silently while waiting for provider output.
6
+
7
+ ## Objective
8
+
9
+ Apply the new UX runtime to planner-oriented IA commands so users see real progress and selected profile/model names.
10
+
11
+ ## Scope
12
+
13
+ - `ai onboard`
14
+ - `ai prepare-context --with-planner`
15
+ - `ai plan`
16
+ - `ai review-plan`
17
+ - Planner/Reviewer display names.
18
+ - Provider-running spinner.
19
+ - Failure/cancel cleanup.
20
+
21
+ ## Acceptance Criteria
22
+
23
+ - `ai prepare-context --with-planner` shows progress and does not look frozen.
24
+ - Headings use selected profile/model names, not provider fallback when a better label exists.
25
+ - `--print-prompt` stays clean and copyable.
26
+ - `--json`, CI, no-TTY, and no-color output stay clean.
27
+ - Provider failures stop spinners and produce actionable errors.
28
+
29
+ ## Plan tecnico resumido
30
+
31
+ Wrap real command stages with the progress runtime and use profile/provider validation before provider execution.
32
+
33
+ ## Suggested Steps
34
+
35
+ 1. Define real stages for each planner command.
36
+ 2. Add heading/display name resolution.
37
+ 3. Wrap provider execution in spinner lifecycle.
38
+ 4. Add failure/cancel handling.
39
+ 5. Add tests with injected slow and failing providers.
40
+
41
+ ## Restrictions
42
+
43
+ - Do not fake progress checks.
44
+ - Do not add selectors without `--interactive`.
45
+ - Do not change deterministic `ai prepare-context` behavior unless adopting clearer output safely.
46
+
47
+ ## Risks
48
+
49
+ - `commands/ai.js` is shared and can conflict with executor/PR changes.
50
+ - Provider stderr can be noisy and must be summarized safely.
51
+
52
+ ## Completion Checklist
53
+
54
+ - [ ] Planner commands show real progress.
55
+ - [ ] Display names are correct.
56
+ - [ ] Failure/cancel paths tested.
57
+ - [ ] Machine output stays clean.
@@ -0,0 +1,85 @@
1
+ {
2
+ "slice_id": "slice-04-planner-ia-progress-flows",
3
+ "ticket": "QUIVER-30-04",
4
+ "type": "feature",
5
+ "title": "Planner IA progress flows",
6
+ "objective": "Apply the UX runtime, selectors, display names, and provider model contract to planner-oriented IA commands.",
7
+ "description": "Adds visible real-stage progress to ai onboard, ai prepare-context --with-planner, ai plan, and ai review-plan.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "v30-planner-ia-progress-flows",
12
+ "branch_name": "feature/QUIVER-30-04-v30-planner-ia-progress-flows"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/commands/ai.js",
16
+ "src/create-quiver/lib/ai/**",
17
+ "src/create-quiver/lib/cli/**",
18
+ "tests/commands/ai-onboard.test.js",
19
+ "tests/commands/ai-plan.test.js",
20
+ "tests/commands/ai-review-plan.test.js",
21
+ "specs/quiver-v30-interactive-cli-ux-agent-selection/**"
22
+ ],
23
+ "expected_read_paths": [
24
+ "src/create-quiver/commands/ai.js",
25
+ "src/create-quiver/lib/ai/context-packs.js",
26
+ "src/create-quiver/lib/ai/context-proposal.js",
27
+ "src/create-quiver/lib/ai/plan-review.js",
28
+ "src/create-quiver/lib/ai/providers.js"
29
+ ],
30
+ "allowed_write_paths": [
31
+ "src/create-quiver/commands/ai.js",
32
+ "src/create-quiver/lib/ai/**",
33
+ "src/create-quiver/lib/cli/**",
34
+ "tests/commands/ai-onboard.test.js",
35
+ "tests/commands/ai-plan.test.js",
36
+ "tests/commands/ai-review-plan.test.js",
37
+ "tests/commands/ai-prepare-context*.test.js",
38
+ "docs/CLI_UX_GUIDE.md",
39
+ "docs/reference/commands.md",
40
+ "README.md",
41
+ "README_FOR_AI.md",
42
+ "specs/quiver-v30-interactive-cli-ux-agent-selection/**"
43
+ ],
44
+ "depends_on": [
45
+ "slice-01-cli-ux-runtime-progress-engine",
46
+ "slice-02-agent-profile-selection-selectors",
47
+ "slice-03-provider-model-selection-contract"
48
+ ],
49
+ "parallel_safe": "after_dependencies",
50
+ "parallel_safe_reason": "Can run after core profile/provider contracts, but may conflict with slice-05 in commands/ai.js.",
51
+ "must": [
52
+ "Show selected Planner or Reviewer display name in headings.",
53
+ "Add real progress stages for ai onboard.",
54
+ "Add real progress stages for ai prepare-context --with-planner.",
55
+ "Add real progress stages for ai plan and ai review-plan.",
56
+ "Show spinner while provider is running.",
57
+ "Stop spinner and persist failure/cancel state on errors.",
58
+ "Keep --print-prompt copyable and free of spinners."
59
+ ],
60
+ "not_included": [
61
+ "Executor slice execution progress.",
62
+ "PR progress.",
63
+ "Doctor output."
64
+ ],
65
+ "acceptance": [
66
+ "ai prepare-context --with-planner no longer appears frozen in human TTY mode.",
67
+ "Headings use configured profile/model display names.",
68
+ "Dry-run and print-prompt remain safe and clear.",
69
+ "Provider failure stops spinner and reports actionable next steps.",
70
+ "JSON/CI/no-TTY outputs stay clean."
71
+ ],
72
+ "tests": [
73
+ "node --test tests/commands/ai-onboard.test.js tests/commands/ai-plan.test.js tests/commands/ai-review-plan.test.js",
74
+ "git diff --check"
75
+ ],
76
+ "validation_hints": [
77
+ "Use injected provider runners for slow/failing provider tests.",
78
+ "Do not mark a stage successful before its corresponding action has completed."
79
+ ],
80
+ "estimated_hours": 12,
81
+ "status": "completed",
82
+ "blocked_reason": null,
83
+ "actual_hours": 5,
84
+ "completed_at": "2026-05-27"
85
+ }
@@ -0,0 +1,33 @@
1
+ # CLOSURE_BRIEF - slice-05 Executor, execution-plan, and PR progress flows
2
+
3
+ ## Summary
4
+
5
+ Implemented executor, execution-plan, and PR progress flows with selector-safe execution.
6
+
7
+ ## Validation Against Acceptance Criteria
8
+
9
+ - [x] Executor heading/display validated.
10
+ - [x] Spec/slice selector behavior validated.
11
+ - [x] Dependency-safe slice recommendations validated.
12
+ - [x] PR progress and `gh` error visibility validated.
13
+
14
+ ## Relevant Changes
15
+
16
+ - Added executor profile/model propagation and dry-run model visibility.
17
+ - Added interactive ready-slice and executor profile selection.
18
+ - Added progress for executor provider execution, validations, commits, execution-plan waves, GitHub preflight, and PR creation.
19
+ - Extended UX flag support for executor commands.
20
+ - Added focused tests for selectors and PR progress.
21
+
22
+ ## Pending
23
+
24
+ - Final cross-command docs and smoke evidence belong in slice-08.
25
+
26
+ ## Remaining Risks
27
+
28
+ - `ai execute-plan --interactive` is accepted for UX consistency, but a full execution-strategy selector remains a future enhancement.
29
+ - Direct TTY unit runs can still show spinner artifacts in logs.
30
+
31
+ ## Future Recommendations
32
+
33
+ Use real dogfooding command logs to decide whether `--verbose` should be added as a separate follow-up.
@@ -0,0 +1,57 @@
1
+ # EXECUTION_BRIEF - slice-05 Executor, execution-plan, and PR progress flows
2
+
3
+ ## Context
4
+
5
+ Execution and PR commands are sensitive because they can modify files, create commits, create worktrees, and open PRs. Their UX must show progress without hiding scope or validation failures.
6
+
7
+ ## Objective
8
+
9
+ Apply the UX/progress/profile-selector contract to executor and PR flows.
10
+
11
+ ## Scope
12
+
13
+ - `ai execute-slice`
14
+ - `ai execute-plan`
15
+ - relevant `ai prompt-slice` output constraints
16
+ - `ai pr`
17
+ - Executor/spec/slice/strategy selectors in interactive mode
18
+ - Progress stages and machine-output fallback
19
+
20
+ ## Acceptance Criteria
21
+
22
+ - Executor display name appears in execution headings.
23
+ - Spec/slice selectors use stable values and dependency-aware recommendations.
24
+ - Blocked slices are not silently selected.
25
+ - PR creation shows preflight and creation progress.
26
+ - `gh` errors remain visible and actionable.
27
+ - Machine output remains clean.
28
+
29
+ ## Plan tecnico resumido
30
+
31
+ Adopt the shared runtime in execution and PR commands while preserving existing safety gates, scope validation, one-commit-per-slice behavior, and dry-run-first patterns.
32
+
33
+ ## Suggested Steps
34
+
35
+ 1. Define real stages for execution and PR commands.
36
+ 2. Add spec/slice/executor selection points behind `--interactive`.
37
+ 3. Wrap provider and gh execution with progress lifecycle.
38
+ 4. Preserve validation and scope gates.
39
+ 5. Add focused tests for human and no-TTY output.
40
+
41
+ ## Restrictions
42
+
43
+ - Do not weaken write-scope validation.
44
+ - Do not bypass existing PR open-slice blockers.
45
+ - Do not add provider execution to prompt-only commands.
46
+
47
+ ## Risks
48
+
49
+ - `commands/ai.js` conflicts with planner-flow adoption.
50
+ - PR progress can obscure `gh` auth errors if not surfaced cleanly.
51
+
52
+ ## Completion Checklist
53
+
54
+ - [ ] Execution command progress validated.
55
+ - [ ] PR progress validated.
56
+ - [ ] Selector dependencies validated.
57
+ - [ ] Machine output cleanliness validated.