create-quiver 0.17.1 → 0.17.3

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 (119) hide show
  1. package/ACTIVE_SLICES.md +43 -0
  2. package/CHANGELOG.md +8 -0
  3. package/auditoria-ux-ui-performance-documentacion.md +705 -0
  4. package/copys-landing-page.md +244 -0
  5. package/docs/CLI_UX_GUIDE.md +13 -3
  6. package/docs/TROUBLESHOOTING.md +94 -0
  7. package/docs/reference/commands.md +68 -4
  8. package/docs/workflows/existing-project-ai-quiver-setup.md +552 -0
  9. package/docs/workflows/existing-project.md +36 -0
  10. package/package.json +1 -1
  11. package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +5 -0
  12. package/specs/quiver-v53-reliable-deep-project-analysis/EVIDENCE_REPORT.md +151 -0
  13. package/specs/quiver-v53-reliable-deep-project-analysis/EXECUTION_PLAN.md +50 -0
  14. package/specs/quiver-v53-reliable-deep-project-analysis/SPEC.md +207 -0
  15. package/specs/quiver-v53-reliable-deep-project-analysis/STATUS.md +32 -0
  16. package/specs/quiver-v53-reliable-deep-project-analysis/pr.md +73 -0
  17. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-00-analysis-run-contract/CLOSURE_BRIEF.md +32 -0
  18. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-00-analysis-run-contract/EXECUTION_BRIEF.md +63 -0
  19. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-00-analysis-run-contract/slice.json +70 -0
  20. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-01-provider-fixture-harness/CLOSURE_BRIEF.md +38 -0
  21. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-01-provider-fixture-harness/EXECUTION_BRIEF.md +60 -0
  22. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-01-provider-fixture-harness/slice.json +74 -0
  23. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-02-safe-context-boundary/CLOSURE_BRIEF.md +33 -0
  24. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-02-safe-context-boundary/EXECUTION_BRIEF.md +68 -0
  25. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-02-safe-context-boundary/slice.json +85 -0
  26. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-03-schema-error-grouping/CLOSURE_BRIEF.md +34 -0
  27. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-03-schema-error-grouping/EXECUTION_BRIEF.md +65 -0
  28. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-03-schema-error-grouping/slice.json +80 -0
  29. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-04-safe-repair-layer/CLOSURE_BRIEF.md +34 -0
  30. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-04-safe-repair-layer/EXECUTION_BRIEF.md +63 -0
  31. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-04-safe-repair-layer/slice.json +80 -0
  32. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-05-controlled-retry-layer/CLOSURE_BRIEF.md +34 -0
  33. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-05-controlled-retry-layer/EXECUTION_BRIEF.md +65 -0
  34. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-05-controlled-retry-layer/slice.json +81 -0
  35. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-06-audit-review-transaction/CLOSURE_BRIEF.md +35 -0
  36. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-06-audit-review-transaction/EXECUTION_BRIEF.md +71 -0
  37. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-06-audit-review-transaction/slice.json +88 -0
  38. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-07-semantic-validation-docs/CLOSURE_BRIEF.md +32 -0
  39. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-07-semantic-validation-docs/EXECUTION_BRIEF.md +66 -0
  40. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-07-semantic-validation-docs/slice.json +86 -0
  41. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-08-structural-map-hardening/CLOSURE_BRIEF.md +34 -0
  42. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-08-structural-map-hardening/EXECUTION_BRIEF.md +67 -0
  43. package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-08-structural-map-hardening/slice.json +81 -0
  44. package/specs/quiver-v54-deep-project-analysis-hardening/EVIDENCE_REPORT.md +53 -0
  45. package/specs/quiver-v54-deep-project-analysis-hardening/EXECUTION_PLAN.md +55 -0
  46. package/specs/quiver-v54-deep-project-analysis-hardening/SPEC.md +184 -0
  47. package/specs/quiver-v54-deep-project-analysis-hardening/STATUS.md +34 -0
  48. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-01-contract-regression-harness/CLOSURE_BRIEF.md +10 -0
  49. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-01-contract-regression-harness/EXECUTION_BRIEF.md +54 -0
  50. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-01-contract-regression-harness/slice.json +72 -0
  51. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-02-safe-discovery-sampling/CLOSURE_BRIEF.md +11 -0
  52. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-02-safe-discovery-sampling/EXECUTION_BRIEF.md +53 -0
  53. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-02-safe-discovery-sampling/slice.json +69 -0
  54. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-03-run-lifecycle-cli-io/CLOSURE_BRIEF.md +10 -0
  55. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-03-run-lifecycle-cli-io/EXECUTION_BRIEF.md +53 -0
  56. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-03-run-lifecycle-cli-io/slice.json +69 -0
  57. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-04-artifact-store-redaction/CLOSURE_BRIEF.md +10 -0
  58. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-04-artifact-store-redaction/EXECUTION_BRIEF.md +54 -0
  59. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-04-artifact-store-redaction/slice.json +73 -0
  60. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-05-path-aware-repair-engine/CLOSURE_BRIEF.md +10 -0
  61. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-05-path-aware-repair-engine/EXECUTION_BRIEF.md +57 -0
  62. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-05-path-aware-repair-engine/slice.json +72 -0
  63. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-06-retry-controller/CLOSURE_BRIEF.md +9 -0
  64. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-06-retry-controller/EXECUTION_BRIEF.md +52 -0
  65. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-06-retry-controller/slice.json +70 -0
  66. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-07-final-validation-review-write-gate/CLOSURE_BRIEF.md +10 -0
  67. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-07-final-validation-review-write-gate/EXECUTION_BRIEF.md +57 -0
  68. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-07-final-validation-review-write-gate/slice.json +75 -0
  69. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-08-doctor-agents-guidance/CLOSURE_BRIEF.md +9 -0
  70. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-08-doctor-agents-guidance/EXECUTION_BRIEF.md +51 -0
  71. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-08-doctor-agents-guidance/slice.json +66 -0
  72. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-09-release-smoke-rollback-docs/CLOSURE_BRIEF.md +10 -0
  73. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-09-release-smoke-rollback-docs/EXECUTION_BRIEF.md +54 -0
  74. package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-09-release-smoke-rollback-docs/slice.json +69 -0
  75. package/specs/quiver-v55-analyze-project-doc-apply-ux/EVIDENCE_REPORT.md +209 -0
  76. package/specs/quiver-v55-analyze-project-doc-apply-ux/EXECUTION_PLAN.md +49 -0
  77. package/specs/quiver-v55-analyze-project-doc-apply-ux/SPEC.md +276 -0
  78. package/specs/quiver-v55-analyze-project-doc-apply-ux/STATUS.md +29 -0
  79. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-01-cli-proposal-contract/CLOSURE_BRIEF.md +47 -0
  80. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-01-cli-proposal-contract/EXECUTION_BRIEF.md +67 -0
  81. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-01-cli-proposal-contract/pr.md +129 -0
  82. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-01-cli-proposal-contract/slice.json +82 -0
  83. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-02-save-proposal-flow/CLOSURE_BRIEF.md +39 -0
  84. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-02-save-proposal-flow/EXECUTION_BRIEF.md +61 -0
  85. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-02-save-proposal-flow/pr.md +116 -0
  86. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-02-save-proposal-flow/slice.json +69 -0
  87. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-03-noninteractive-apply-engine/CLOSURE_BRIEF.md +36 -0
  88. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-03-noninteractive-apply-engine/EXECUTION_BRIEF.md +62 -0
  89. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-03-noninteractive-apply-engine/pr.md +132 -0
  90. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-03-noninteractive-apply-engine/slice.json +76 -0
  91. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-04-interactive-apply-ux/CLOSURE_BRIEF.md +47 -0
  92. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-04-interactive-apply-ux/EXECUTION_BRIEF.md +70 -0
  93. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-04-interactive-apply-ux/pr.md +141 -0
  94. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-04-interactive-apply-ux/slice.json +72 -0
  95. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-05-apply-saved-proposal/CLOSURE_BRIEF.md +42 -0
  96. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-05-apply-saved-proposal/EXECUTION_BRIEF.md +61 -0
  97. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-05-apply-saved-proposal/pr.md +129 -0
  98. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-05-apply-saved-proposal/slice.json +67 -0
  99. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-06-i18n-docs-release-smoke/CLOSURE_BRIEF.md +38 -0
  100. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-06-i18n-docs-release-smoke/EXECUTION_BRIEF.md +64 -0
  101. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-06-i18n-docs-release-smoke/pr.md +123 -0
  102. package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-06-i18n-docs-release-smoke/slice.json +76 -0
  103. package/src/create-quiver/commands/ai.js +989 -136
  104. package/src/create-quiver/index.js +83 -1
  105. package/src/create-quiver/lib/ai/analyze-project-apply.js +269 -0
  106. package/src/create-quiver/lib/ai/analyze-project-discovery.js +213 -2
  107. package/src/create-quiver/lib/ai/analyze-project-docs.js +3 -1
  108. package/src/create-quiver/lib/ai/analyze-project-interactive.js +241 -0
  109. package/src/create-quiver/lib/ai/analyze-project-parser.js +1 -0
  110. package/src/create-quiver/lib/ai/analyze-project-prompts.js +130 -0
  111. package/src/create-quiver/lib/ai/analyze-project-proposal.js +582 -0
  112. package/src/create-quiver/lib/ai/analyze-project-repair.js +402 -0
  113. package/src/create-quiver/lib/ai/analyze-project-sampling.js +31 -4
  114. package/src/create-quiver/lib/ai/analyze-project-validation.js +178 -8
  115. package/src/create-quiver/lib/ai/artifacts.js +83 -2
  116. package/src/create-quiver/lib/cli/ux-flags.js +6 -0
  117. package/src/create-quiver/lib/doctor.js +107 -12
  118. package/src/create-quiver/lib/i18n/messages/en.js +33 -0
  119. package/src/create-quiver/lib/i18n/messages/es.js +34 -0
@@ -0,0 +1,129 @@
1
+ ## Title
2
+
3
+ QUIVER-55-01 - Analyze Project CLI Proposal Contract
4
+
5
+ ## Summary
6
+
7
+ Implements the first v55 slice for `ai analyze-project` doc-apply UX. This PR establishes the CLI contract, parser validation, help/docs surface, and proposal/write manifest schemas without implementing the later save/apply flows.
8
+
9
+ ## PR Policy
10
+
11
+ - One slice: `slice-01-cli-proposal-contract`.
12
+ - Runtime behavior change is limited to parser/contract guards and manifest schema helpers.
13
+ - Later slices will implement saving proposals, applying docs, interactive UX, saved proposal apply, and release smoke.
14
+
15
+ ## Scope
16
+
17
+ Included:
18
+
19
+ - Recognize `--apply-docs`, `--save-proposal`, `--diff`, and `--allow-dirty-docs`.
20
+ - Recognize `ai analyze-project apply --run <run-id>`.
21
+ - Reject invalid combinations before provider execution.
22
+ - Keep `--review` backward compatible.
23
+ - Add proposal and write manifest schema validation helpers.
24
+ - Add command help, command reference, and EN/ES help descriptions.
25
+ - Add the approved v55 spec/slice package and mark `slice-01` completed.
26
+
27
+ Excluded:
28
+
29
+ - No proposal persistence implementation.
30
+ - No docs apply implementation.
31
+ - No interactive selector.
32
+ - No saved proposal apply.
33
+ - No live provider smoke.
34
+
35
+ ## Files
36
+
37
+ - `src/create-quiver/index.js`
38
+ - `src/create-quiver/commands/ai.js`
39
+ - `src/create-quiver/lib/ai/analyze-project-proposal.js`
40
+ - `src/create-quiver/lib/cli/ux-flags.js`
41
+ - `src/create-quiver/lib/i18n/messages/en.js`
42
+ - `src/create-quiver/lib/i18n/messages/es.js`
43
+ - `tests/commands/ai-analyze-project.test.js`
44
+ - `tests/commands/cli-contract.test.js`
45
+ - `tests/lib/ai-analyze-project-proposal.test.js`
46
+ - `docs/reference/commands.md`
47
+ - `specs/quiver-v55-analyze-project-doc-apply-ux/**`
48
+
49
+ ## How to Test (DETAILED - REQUIRED)
50
+
51
+ ### Required Environment
52
+
53
+ - Node.js supported by this repository.
54
+ - npm dependencies installed.
55
+ - No provider credentials are required for this slice.
56
+
57
+ ### Worktree Access
58
+
59
+ ```bash
60
+ git checkout feature/QUIVER-55-01-v55-cli-proposal-contract
61
+ ```
62
+
63
+ ### Run the Project
64
+
65
+ No dev server is required. This is a CLI contract slice.
66
+
67
+ ### Use Cases
68
+
69
+ #### Case 1: Dry-run remains read-only
70
+
71
+ ```bash
72
+ node bin/create-quiver.js ai analyze-project --deep --dry-run
73
+ ```
74
+
75
+ Expected: reports read-only analysis and does not create final docs.
76
+
77
+ #### Case 2: Invalid apply/review combination fails before provider
78
+
79
+ ```bash
80
+ node bin/create-quiver.js ai analyze-project --deep --apply-docs --review
81
+ ```
82
+
83
+ Expected: fails with an actionable contract error before provider execution.
84
+
85
+ #### Case 3: Saved proposal apply contract is recognized
86
+
87
+ ```bash
88
+ node bin/create-quiver.js ai analyze-project apply --run run-123
89
+ ```
90
+
91
+ Expected: command is parsed without requiring provider/model and reports that execution is reserved for a later v55 slice.
92
+
93
+ ### Technical Verification
94
+
95
+ ```bash
96
+ node --test tests/lib/ai-analyze-project-proposal.test.js
97
+ node --test tests/commands/ai-analyze-project.test.js
98
+ node --test tests/commands/cli-contract.test.js
99
+ node --test tests/commands/parser-contract.test.js
100
+ node --test tests/commands/ux-flags.test.js
101
+ node --test tests/commands/ai-analyze-project-review.test.js
102
+ node --test tests/commands/ai-analyze-project-provider.test.js
103
+ node --test tests/lib/ai-analyze-project-docs.test.js tests/lib/ai-analyze-project-validation.test.js
104
+ npm run docs:check
105
+ npm run schema:slice:check
106
+ node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
107
+ git diff --check
108
+ ```
109
+
110
+ ## Evidence
111
+
112
+ - All technical verification commands passed locally.
113
+ - `slice-01` closure brief records executed evidence.
114
+ - No live provider call was required.
115
+
116
+ ## Rollback
117
+
118
+ Revert this PR:
119
+
120
+ ```bash
121
+ git revert <merge-commit-sha>
122
+ ```
123
+
124
+ Existing `ai analyze-project --deep`, `--dry-run`, provider mode, and `--review` behavior are isolated and covered by regression tests.
125
+
126
+ ## Risks / Notes
127
+
128
+ - The new flags are recognized but intentionally blocked from executing save/apply behavior until later slices.
129
+ - This PR includes the v55 spec package because the spec does not exist on `main` yet.
@@ -0,0 +1,82 @@
1
+ {
2
+ "slice_id": "slice-01-cli-proposal-contract",
3
+ "ticket": "QUIVER-55-01",
4
+ "type": "contract",
5
+ "title": "CLI Contract + Proposal Artifact Contract",
6
+ "objective": "Freeze the parser, flag, subcommand, and artifact schema contracts before implementing save/apply behavior.",
7
+ "description": "Adds the command contract for --apply-docs, --save-proposal, --diff, --yes, --allow-dirty-docs, and ai analyze-project apply --run, plus proposal/write manifest schema definitions and tests.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "v55-cli-proposal-contract",
12
+ "branch_name": "feature/QUIVER-55-01-v55-cli-proposal-contract"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/index.js",
16
+ "src/create-quiver/commands/ai.js",
17
+ "src/create-quiver/lib/ai/analyze-project-*.js",
18
+ "src/create-quiver/lib/cli/ux-flags.js",
19
+ "src/create-quiver/lib/i18n/messages/en.js",
20
+ "src/create-quiver/lib/i18n/messages/es.js",
21
+ "tests/commands/cli-contract.test.js",
22
+ "tests/commands/ai-analyze-project*.test.js",
23
+ "tests/lib/ai*.test.js",
24
+ "docs/reference/commands.md",
25
+ "specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json",
26
+ "specs/quiver-v55-analyze-project-doc-apply-ux/**"
27
+ ],
28
+ "expected_read_paths": [
29
+ "src/create-quiver/commands/ai.js",
30
+ "src/create-quiver/lib/ai/analyze-project-review.js",
31
+ "src/create-quiver/lib/ai/analyze-project-docs.js",
32
+ "docs/CLI_UX_GUIDE.md"
33
+ ],
34
+ "allowed_write_paths": [
35
+ "src/create-quiver/index.js",
36
+ "src/create-quiver/commands/ai.js",
37
+ "src/create-quiver/lib/ai/analyze-project-proposal.js",
38
+ "src/create-quiver/lib/cli/ux-flags.js",
39
+ "src/create-quiver/lib/i18n/messages/en.js",
40
+ "src/create-quiver/lib/i18n/messages/es.js",
41
+ "tests/commands/cli-contract.test.js",
42
+ "tests/commands/ai-analyze-project.test.js",
43
+ "tests/commands/ai-analyze-project-review.test.js",
44
+ "tests/lib/ai-analyze-project-proposal.test.js",
45
+ "docs/reference/commands.md",
46
+ "specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json",
47
+ "specs/quiver-v55-analyze-project-doc-apply-ux/**"
48
+ ],
49
+ "depends_on": [],
50
+ "parallel_safe": "never",
51
+ "parallel_safe_reason": "This slice defines contracts required by every later slice.",
52
+ "must": [
53
+ "Define exact flag compatibility rules.",
54
+ "Define proposal and write manifest schemas.",
55
+ "Keep --review backward compatible.",
56
+ "Ensure apply --run does not require provider/model."
57
+ ],
58
+ "not_included": [
59
+ "Saving proposal end-to-end.",
60
+ "Applying docs.",
61
+ "Interactive selector UX."
62
+ ],
63
+ "acceptance": [
64
+ "Parser accepts approved flags and subaction.",
65
+ "Invalid combinations fail before provider execution.",
66
+ "Proposal manifest schema is testable.",
67
+ "Existing --review tests remain green."
68
+ ],
69
+ "tests": [
70
+ "node --test tests/commands/ai-analyze-project.test.js",
71
+ "node --test tests/commands/ai-analyze-project-review.test.js",
72
+ "node --test tests/commands/i18n-audit-matrix.test.js",
73
+ "node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict",
74
+ "git diff --check"
75
+ ],
76
+ "estimated_hours": 4,
77
+ "actual_hours": 4,
78
+ "status": "completed",
79
+ "blocked_reason": null,
80
+ "started_at": "2026-06-12T00:00:00.000Z",
81
+ "completed_at": "2026-06-12T00:00:00.000Z"
82
+ }
@@ -0,0 +1,39 @@
1
+ # CLOSURE_BRIEF - slice-02 save proposal flow
2
+
3
+ ## Summary
4
+
5
+ Implemented `--save-proposal` for `ai analyze-project`.
6
+
7
+ The command now runs the existing provider analysis path, validates and repairs provider JSON through the current schema gates, builds a normalized documentation proposal, and persists proposal artifacts under `.quiver/runs/<run-id>/proposal/` without writing final docs or creating snapshots.
8
+
9
+ Saved artifacts include:
10
+
11
+ - `analyze-project-doc-proposal.json`
12
+ - `analyze-project-doc-proposal.md`
13
+ - `analyze-project-doc-proposal.diff`
14
+ - `manifest.json`
15
+
16
+ `--save-proposal --json` emits clean parseable JSON for automation.
17
+
18
+ ## Required Evidence
19
+
20
+ - Save proposal command test passes.
21
+ - JSON output test passes.
22
+ - No-final-doc write test passes.
23
+ - Invalid provider JSON creates no usable proposal artifacts.
24
+ - Proposal Markdown summary stays compact and omits full doc contents.
25
+
26
+ ## Validation
27
+
28
+ Executed:
29
+
30
+ ```bash
31
+ node --test tests/lib/ai-analyze-project-proposal.test.js
32
+ node --test tests/commands/ai-analyze-project-provider.test.js
33
+ node --test tests/commands/ai-analyze-project.test.js tests/commands/cli-contract.test.js tests/commands/ux-flags.test.js
34
+ node --test tests/commands/ai-analyze-project-review.test.js tests/lib/ai-analyze-project-validation.test.js tests/lib/ai-analyze-project-docs.test.js
35
+ node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
36
+ git diff --check
37
+ ```
38
+
39
+ Result: all passed.
@@ -0,0 +1,61 @@
1
+ # EXECUTION_BRIEF - slice-02 save proposal flow
2
+
3
+ ## Context
4
+
5
+ Users need a way to keep the generated documentation proposal without applying final docs. This must work in automation and must not require an editor.
6
+
7
+ ## Objective
8
+
9
+ Implement `--save-proposal` so Quiver persists a validated, normalized proposal and audit summary without writing final documentation.
10
+
11
+ ## Scope
12
+
13
+ - Build proposal from `buildAnalyzeProjectDocProposal(parsed.analysis)`.
14
+ - Save:
15
+ - normalized proposal JSON;
16
+ - compact Markdown summary;
17
+ - full diff artifact;
18
+ - manifest with hashes and events.
19
+ - Support `--save-proposal --json`.
20
+ - Do not create snapshots or write final docs.
21
+ - Update run status with proposal artifact metadata.
22
+
23
+ ## Acceptance Criteria
24
+
25
+ - `--save-proposal` runs provider, validates/repairs JSON, and saves proposal artifacts.
26
+ - Final docs are not modified.
27
+ - no-TTY mode works without prompting.
28
+ - `--json` emits clean machine-readable proposal result.
29
+ - Invalid final JSON does not create usable proposal artifacts.
30
+ - Proposal Markdown summary is compact and does not embed full doc contents by default.
31
+
32
+ ## Expected Files To Modify
33
+
34
+ - `src/create-quiver/commands/ai.js`
35
+ - `src/create-quiver/lib/ai/analyze-project-proposal.js`
36
+ - `tests/commands/ai-analyze-project-provider.test.js`
37
+ - `tests/lib/ai-analyze-project-proposal.test.js`
38
+ - this slice closure/status/evidence files
39
+
40
+ ## Validation Required
41
+
42
+ ```bash
43
+ node --test tests/commands/ai-analyze-project-provider.test.js
44
+ node --test tests/lib/ai-analyze-project-proposal.test.js
45
+ node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
46
+ git diff --check
47
+ ```
48
+
49
+ ## Completion Checklist
50
+
51
+ - Save-only proposal flow implemented without final docs writes.
52
+ - Proposal JSON, Markdown, diff, and manifest artifacts covered by tests.
53
+ - `--json` output contract verified.
54
+ - Invalid JSON failure path verified.
55
+ - Slice closure brief updated with evidence.
56
+
57
+ ## Constraints
58
+
59
+ - Do not write docs final.
60
+ - Do not create snapshots for save-only flows.
61
+ - Do not re-run provider when only formatting artifacts.
@@ -0,0 +1,116 @@
1
+ ## Title
2
+
3
+ QUIVER-55-02 - Save Analyze Project Proposal Artifacts
4
+
5
+ ## Summary
6
+
7
+ Implements the second v55 slice for `ai analyze-project`: `--save-proposal` now persists a validated, normalized documentation proposal without writing final docs.
8
+
9
+ ## PR Policy
10
+
11
+ - One slice: `slice-02-save-proposal-flow`.
12
+ - Runtime behavior change is limited to save-only proposal artifact persistence.
13
+ - This PR does not implement docs apply, interactive selector UX, or saved proposal apply.
14
+
15
+ ## Scope
16
+
17
+ Included:
18
+
19
+ - Build a normalized doc proposal from validated provider analysis.
20
+ - Save proposal JSON, compact Markdown summary, full diff, and manifest under `.quiver/runs/<run-id>/proposal/`.
21
+ - Record proposal metadata in run status.
22
+ - Support `--save-proposal --json`.
23
+ - Keep final docs unchanged.
24
+ - Avoid snapshots in save-only mode.
25
+ - Add command and helper tests for success, JSON output, and invalid provider JSON.
26
+
27
+ Excluded:
28
+
29
+ - No `--apply-docs` implementation.
30
+ - No interactive selector.
31
+ - No `ai analyze-project apply --run` implementation.
32
+ - No live provider smoke in CI.
33
+
34
+ ## Files
35
+
36
+ - `src/create-quiver/commands/ai.js`
37
+ - `src/create-quiver/lib/ai/analyze-project-proposal.js`
38
+ - `tests/commands/ai-analyze-project-provider.test.js`
39
+ - `tests/lib/ai-analyze-project-proposal.test.js`
40
+ - `specs/quiver-v55-analyze-project-doc-apply-ux/**`
41
+
42
+ ## How to Test (DETAILED - REQUIRED)
43
+
44
+ ### Required Environment
45
+
46
+ - Node.js supported by this repository.
47
+ - npm dependencies installed.
48
+ - No provider credentials are required for automated tests.
49
+
50
+ ### Worktree Access
51
+
52
+ ```bash
53
+ git checkout feature/QUIVER-55-02-v55-save-proposal-flow
54
+ ```
55
+
56
+ ### Run the Project
57
+
58
+ No dev server is required. This is a CLI save-artifact slice.
59
+
60
+ ### Use Cases
61
+
62
+ #### Case 1: Save proposal artifacts
63
+
64
+ ```bash
65
+ node --test tests/commands/ai-analyze-project-provider.test.js
66
+ ```
67
+
68
+ Expected: `--save-proposal` test writes proposal artifacts under `.quiver/runs/<run-id>/proposal/` and does not write `docs/CONTEXTO.md`.
69
+
70
+ #### Case 2: Save proposal JSON output
71
+
72
+ ```bash
73
+ node --test tests/commands/ai-analyze-project-provider.test.js
74
+ ```
75
+
76
+ Expected: `--save-proposal --json` output parses as JSON and points to the saved proposal manifest.
77
+
78
+ #### Case 3: Invalid provider JSON remains safe
79
+
80
+ ```bash
81
+ node --test tests/commands/ai-analyze-project-provider.test.js
82
+ ```
83
+
84
+ Expected: invalid final provider JSON rejects before proposal artifacts are created.
85
+
86
+ ### Technical Verification
87
+
88
+ ```bash
89
+ node --test tests/lib/ai-analyze-project-proposal.test.js
90
+ node --test tests/commands/ai-analyze-project-provider.test.js
91
+ node --test tests/commands/ai-analyze-project.test.js tests/commands/cli-contract.test.js tests/commands/ux-flags.test.js
92
+ node --test tests/commands/ai-analyze-project-review.test.js tests/lib/ai-analyze-project-validation.test.js tests/lib/ai-analyze-project-docs.test.js
93
+ node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
94
+ git diff --check
95
+ ```
96
+
97
+ ## Evidence
98
+
99
+ - All technical verification commands passed locally.
100
+ - `slice-02` closure brief records executed evidence.
101
+ - No live provider call was required.
102
+
103
+ ## Rollback
104
+
105
+ Revert this PR:
106
+
107
+ ```bash
108
+ git revert <merge-commit-sha>
109
+ ```
110
+
111
+ This restores `--save-proposal` to the previously recognized-but-unavailable contract while preserving the earlier slice-01 CLI contract.
112
+
113
+ ## Risks / Notes
114
+
115
+ - Saved proposals are artifacts only; users still need a later slice to apply them with `apply --run`.
116
+ - The Markdown summary intentionally omits full proposed doc contents; the JSON and diff artifacts hold details.
@@ -0,0 +1,69 @@
1
+ {
2
+ "slice_id": "slice-02-save-proposal-flow",
3
+ "ticket": "QUIVER-55-02",
4
+ "type": "feature",
5
+ "title": "Save Proposal Flow",
6
+ "objective": "Persist validated analyze-project doc proposals without writing final documentation.",
7
+ "description": "Implements --save-proposal with normalized JSON, compact Markdown summary, full diff artifact, manifest hashes, run-status metadata, and JSON automation output.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "v55-save-proposal-flow",
12
+ "branch_name": "feature/QUIVER-55-02-v55-save-proposal-flow"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/commands/ai.js",
16
+ "src/create-quiver/lib/ai/analyze-project-proposal.js",
17
+ "tests/commands/ai-analyze-project-provider.test.js",
18
+ "tests/lib/ai-analyze-project-proposal.test.js",
19
+ "specs/quiver-v55-analyze-project-doc-apply-ux/**"
20
+ ],
21
+ "expected_read_paths": [
22
+ "src/create-quiver/lib/ai/analyze-project-docs.js",
23
+ "src/create-quiver/lib/ai/analyze-project-review.js",
24
+ "src/create-quiver/lib/ai/artifacts.js"
25
+ ],
26
+ "allowed_write_paths": [
27
+ "src/create-quiver/commands/ai.js",
28
+ "src/create-quiver/lib/ai/analyze-project-proposal.js",
29
+ "tests/commands/ai-analyze-project-provider.test.js",
30
+ "tests/lib/ai-analyze-project-proposal.test.js",
31
+ "specs/quiver-v55-analyze-project-doc-apply-ux/**"
32
+ ],
33
+ "depends_on": [
34
+ "slice-01-cli-proposal-contract"
35
+ ],
36
+ "parallel_safe": "never",
37
+ "parallel_safe_reason": "This slice depends on the artifact contract and feeds the apply engine.",
38
+ "must": [
39
+ "Save normalized proposal JSON.",
40
+ "Save compact Markdown summary.",
41
+ "Save diff artifact.",
42
+ "Never write final docs."
43
+ ],
44
+ "not_included": [
45
+ "Apply docs.",
46
+ "Interactive selector.",
47
+ "Apply saved run."
48
+ ],
49
+ "acceptance": [
50
+ "--save-proposal writes proposal artifacts.",
51
+ "--save-proposal --json is parseable.",
52
+ "Final docs remain unchanged.",
53
+ "Invalid final JSON does not create usable proposal artifacts."
54
+ ],
55
+ "tests": [
56
+ "node --test tests/commands/ai-analyze-project-provider.test.js",
57
+ "node --test tests/lib/ai-analyze-project-proposal.test.js",
58
+ "node --test tests/commands/ai-analyze-project.test.js tests/commands/cli-contract.test.js tests/commands/ux-flags.test.js",
59
+ "node --test tests/commands/ai-analyze-project-review.test.js tests/lib/ai-analyze-project-validation.test.js tests/lib/ai-analyze-project-docs.test.js",
60
+ "node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict",
61
+ "git diff --check"
62
+ ],
63
+ "estimated_hours": 5,
64
+ "actual_hours": 5,
65
+ "status": "completed",
66
+ "blocked_reason": null,
67
+ "started_at": "2026-06-12T00:00:00.000Z",
68
+ "completed_at": "2026-06-12T00:00:00.000Z"
69
+ }
@@ -0,0 +1,36 @@
1
+ # CLOSURE_BRIEF - slice-03 non-interactive apply engine
2
+
3
+ ## Summary
4
+
5
+ Implemented. `ai analyze-project --deep --apply-docs --yes` now runs the provider, builds a validated doc proposal, saves proposal artifacts, blocks unsafe dirty/stale writes, creates a snapshot, writes only approved docs, saves a separate write manifest, runs post-write validation, and supports parseable JSON output.
6
+
7
+ The interactive `--apply-docs` selector and `apply --run` remain out of scope for later slices.
8
+
9
+ ## Evidence
10
+
11
+ - Apply success test passes with proposal artifacts, snapshot, write manifest, written docs, and post-write validation.
12
+ - Dirty target docs block `--yes` unless `--allow-dirty-docs` is provided.
13
+ - Stale target hash preflight is covered at the apply engine boundary.
14
+ - Invalid provider doc proposals write no final docs and create no proposal artifacts.
15
+ - `--apply-docs --yes --json` emits a parseable complete result.
16
+ - Existing `--review` tests still pass unchanged.
17
+
18
+ ## Validation
19
+
20
+ Executed:
21
+
22
+ ```bash
23
+ node --test tests/lib/ai-analyze-project-apply.test.js
24
+ node --test tests/lib/ai-analyze-project-proposal.test.js
25
+ node --test tests/commands/ai-analyze-project-review.test.js
26
+ node --test tests/commands/ai-analyze-project.test.js tests/commands/cli-contract.test.js tests/commands/ux-flags.test.js
27
+ node --test tests/commands/ai-analyze-project-provider.test.js
28
+ node --test tests/lib/ai/analyze-project-repair.test.js
29
+ npm run docs:check
30
+ npm run schema:slice:check
31
+ node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
32
+ git diff --check
33
+ npm test
34
+ ```
35
+
36
+ Result: all passed. Full `npm test` passed with 730 tests.
@@ -0,0 +1,62 @@
1
+ # EXECUTION_BRIEF - slice-03 non-interactive apply engine
2
+
3
+ ## Context
4
+
5
+ Automation needs a safe direct apply path. This must not depend on selector UI and must reuse existing write plan, snapshot, and post-write validation behavior.
6
+
7
+ ## Objective
8
+
9
+ Implement the non-interactive apply engine for `--apply-docs --yes`.
10
+
11
+ ## Scope
12
+
13
+ - Save proposal artifacts before applying.
14
+ - Build write plan from normalized proposal.
15
+ - Detect dirty/stale target docs.
16
+ - Block dirty docs in `--yes` unless `--allow-dirty-docs` is passed.
17
+ - Create snapshot before writes.
18
+ - Write docs through existing safe write path.
19
+ - Save write manifest.
20
+ - Run post-write validation.
21
+ - Support `--apply-docs --yes --json`.
22
+
23
+ ## Acceptance Criteria
24
+
25
+ - `--apply-docs --yes` writes only allowed docs when proposal is valid.
26
+ - `--apply-docs --yes` blocks on invalid proposal.
27
+ - `--apply-docs --yes` blocks on dirty docs unless explicitly allowed.
28
+ - Snapshot and write manifest are created before/after writes as appropriate.
29
+ - JSON output includes run id, proposal artifacts, write plan, snapshot, written docs, validation, and artifacts.
30
+ - Existing `--review` behavior remains unchanged.
31
+
32
+ ## Expected Files To Modify
33
+
34
+ - `src/create-quiver/commands/ai.js`
35
+ - `src/create-quiver/lib/ai/analyze-project-apply.js`
36
+ - `src/create-quiver/lib/ai/analyze-project-proposal.js`
37
+ - `tests/commands/ai-analyze-project-review.test.js`
38
+ - `tests/lib/ai-analyze-project-validation.test.js`
39
+ - this slice closure/status/evidence files
40
+
41
+ ## Validation Required
42
+
43
+ ```bash
44
+ node --test tests/commands/ai-analyze-project-review.test.js
45
+ node --test tests/lib/ai-analyze-project-validation.test.js
46
+ node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
47
+ git diff --check
48
+ ```
49
+
50
+ ## Completion Checklist
51
+
52
+ - Non-interactive apply engine uses validated proposals only.
53
+ - Dirty/stale docs guardrails covered by tests.
54
+ - Snapshot and write manifest behavior verified.
55
+ - JSON output includes apply artifacts and validation status.
56
+ - Slice closure brief updated with evidence.
57
+
58
+ ## Constraints
59
+
60
+ - Do not implement selector UI in this slice.
61
+ - Do not allow product code writes.
62
+ - Do not let `--yes` approve anything beyond validated doc updates.