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.
- package/ACTIVE_SLICES.md +43 -0
- package/CHANGELOG.md +8 -0
- package/auditoria-ux-ui-performance-documentacion.md +705 -0
- package/copys-landing-page.md +244 -0
- package/docs/CLI_UX_GUIDE.md +13 -3
- package/docs/TROUBLESHOOTING.md +94 -0
- package/docs/reference/commands.md +68 -4
- package/docs/workflows/existing-project-ai-quiver-setup.md +552 -0
- package/docs/workflows/existing-project.md +36 -0
- package/package.json +1 -1
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +5 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/EVIDENCE_REPORT.md +151 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/EXECUTION_PLAN.md +50 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/SPEC.md +207 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/STATUS.md +32 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/pr.md +73 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-00-analysis-run-contract/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-00-analysis-run-contract/EXECUTION_BRIEF.md +63 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-00-analysis-run-contract/slice.json +70 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-01-provider-fixture-harness/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-01-provider-fixture-harness/EXECUTION_BRIEF.md +60 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-01-provider-fixture-harness/slice.json +74 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-02-safe-context-boundary/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-02-safe-context-boundary/EXECUTION_BRIEF.md +68 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-02-safe-context-boundary/slice.json +85 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-03-schema-error-grouping/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-03-schema-error-grouping/EXECUTION_BRIEF.md +65 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-03-schema-error-grouping/slice.json +80 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-04-safe-repair-layer/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-04-safe-repair-layer/EXECUTION_BRIEF.md +63 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-04-safe-repair-layer/slice.json +80 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-05-controlled-retry-layer/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-05-controlled-retry-layer/EXECUTION_BRIEF.md +65 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-05-controlled-retry-layer/slice.json +81 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-06-audit-review-transaction/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-06-audit-review-transaction/EXECUTION_BRIEF.md +71 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-06-audit-review-transaction/slice.json +88 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-07-semantic-validation-docs/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-07-semantic-validation-docs/EXECUTION_BRIEF.md +66 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-07-semantic-validation-docs/slice.json +86 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-08-structural-map-hardening/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-08-structural-map-hardening/EXECUTION_BRIEF.md +67 -0
- package/specs/quiver-v53-reliable-deep-project-analysis/slices/slice-08-structural-map-hardening/slice.json +81 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/EVIDENCE_REPORT.md +53 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/EXECUTION_PLAN.md +55 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/SPEC.md +184 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/STATUS.md +34 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-01-contract-regression-harness/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-01-contract-regression-harness/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-01-contract-regression-harness/slice.json +72 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-02-safe-discovery-sampling/CLOSURE_BRIEF.md +11 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-02-safe-discovery-sampling/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-02-safe-discovery-sampling/slice.json +69 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-03-run-lifecycle-cli-io/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-03-run-lifecycle-cli-io/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-03-run-lifecycle-cli-io/slice.json +69 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-04-artifact-store-redaction/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-04-artifact-store-redaction/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-04-artifact-store-redaction/slice.json +73 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-05-path-aware-repair-engine/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-05-path-aware-repair-engine/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-05-path-aware-repair-engine/slice.json +72 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-06-retry-controller/CLOSURE_BRIEF.md +9 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-06-retry-controller/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-06-retry-controller/slice.json +70 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-07-final-validation-review-write-gate/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-07-final-validation-review-write-gate/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-07-final-validation-review-write-gate/slice.json +75 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-08-doctor-agents-guidance/CLOSURE_BRIEF.md +9 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-08-doctor-agents-guidance/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-08-doctor-agents-guidance/slice.json +66 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-09-release-smoke-rollback-docs/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-09-release-smoke-rollback-docs/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v54-deep-project-analysis-hardening/slices/slice-09-release-smoke-rollback-docs/slice.json +69 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/EVIDENCE_REPORT.md +209 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/EXECUTION_PLAN.md +49 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/SPEC.md +276 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/STATUS.md +29 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-01-cli-proposal-contract/CLOSURE_BRIEF.md +47 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-01-cli-proposal-contract/EXECUTION_BRIEF.md +67 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-01-cli-proposal-contract/pr.md +129 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-01-cli-proposal-contract/slice.json +82 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-02-save-proposal-flow/CLOSURE_BRIEF.md +39 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-02-save-proposal-flow/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-02-save-proposal-flow/pr.md +116 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-02-save-proposal-flow/slice.json +69 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-03-noninteractive-apply-engine/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-03-noninteractive-apply-engine/EXECUTION_BRIEF.md +62 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-03-noninteractive-apply-engine/pr.md +132 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-03-noninteractive-apply-engine/slice.json +76 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-04-interactive-apply-ux/CLOSURE_BRIEF.md +47 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-04-interactive-apply-ux/EXECUTION_BRIEF.md +70 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-04-interactive-apply-ux/pr.md +141 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-04-interactive-apply-ux/slice.json +72 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-05-apply-saved-proposal/CLOSURE_BRIEF.md +42 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-05-apply-saved-proposal/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-05-apply-saved-proposal/pr.md +129 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-05-apply-saved-proposal/slice.json +67 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-06-i18n-docs-release-smoke/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-06-i18n-docs-release-smoke/EXECUTION_BRIEF.md +64 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-06-i18n-docs-release-smoke/pr.md +123 -0
- package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-06-i18n-docs-release-smoke/slice.json +76 -0
- package/src/create-quiver/commands/ai.js +989 -136
- package/src/create-quiver/index.js +83 -1
- package/src/create-quiver/lib/ai/analyze-project-apply.js +269 -0
- package/src/create-quiver/lib/ai/analyze-project-discovery.js +213 -2
- package/src/create-quiver/lib/ai/analyze-project-docs.js +3 -1
- package/src/create-quiver/lib/ai/analyze-project-interactive.js +241 -0
- package/src/create-quiver/lib/ai/analyze-project-parser.js +1 -0
- package/src/create-quiver/lib/ai/analyze-project-prompts.js +130 -0
- package/src/create-quiver/lib/ai/analyze-project-proposal.js +582 -0
- package/src/create-quiver/lib/ai/analyze-project-repair.js +402 -0
- package/src/create-quiver/lib/ai/analyze-project-sampling.js +31 -4
- package/src/create-quiver/lib/ai/analyze-project-validation.js +178 -8
- package/src/create-quiver/lib/ai/artifacts.js +83 -2
- package/src/create-quiver/lib/cli/ux-flags.js +6 -0
- package/src/create-quiver/lib/doctor.js +107 -12
- package/src/create-quiver/lib/i18n/messages/en.js +33 -0
- package/src/create-quiver/lib/i18n/messages/es.js +34 -0
package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-05-apply-saved-proposal/pr.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
## Title
|
|
2
|
+
|
|
3
|
+
QUIVER-55-05 - Apply Saved Analyze Project Proposals
|
|
4
|
+
|
|
5
|
+
## Summary
|
|
6
|
+
|
|
7
|
+
Implements the fifth v55 slice for `ai analyze-project`: saved documentation proposals can now be applied by run id without executing a provider.
|
|
8
|
+
|
|
9
|
+
`ai analyze-project apply --run <run-id>` now loads `.quiver/runs/<run-id>/proposal/manifest.json`, revalidates the saved proposal JSON, checks dirty/stale target docs, and delegates final writes to the existing safe apply engine.
|
|
10
|
+
|
|
11
|
+
## PR Policy
|
|
12
|
+
|
|
13
|
+
- One slice, one commit, one PR.
|
|
14
|
+
- Runtime CLI behavior change, so this must be an individual PR.
|
|
15
|
+
- Human merge required after CI passes.
|
|
16
|
+
|
|
17
|
+
## Scope
|
|
18
|
+
|
|
19
|
+
Included:
|
|
20
|
+
|
|
21
|
+
- `ai analyze-project apply --run <run-id>` runtime implementation.
|
|
22
|
+
- Safe run id validation before artifact access.
|
|
23
|
+
- Saved proposal manifest and JSON revalidation.
|
|
24
|
+
- Dirty/stale doc blocking using the original saved proposal hashes.
|
|
25
|
+
- Manual proposal edit detection and write-manifest audit events.
|
|
26
|
+
- `--run latest` guardrails for interactive-only usage.
|
|
27
|
+
- Apply-run post-write validation without requiring the original provider analysis payload.
|
|
28
|
+
- Tests for success, missing artifacts, dirty/stale blocking, no-provider execution, and manual proposal edits.
|
|
29
|
+
- Slice status, evidence, closure, and PR docs.
|
|
30
|
+
|
|
31
|
+
Excluded:
|
|
32
|
+
|
|
33
|
+
- Fresh provider prompt/schema changes.
|
|
34
|
+
- Product repo code changes in analyzed projects.
|
|
35
|
+
- Release smoke docs for npm publishing.
|
|
36
|
+
|
|
37
|
+
## Files
|
|
38
|
+
|
|
39
|
+
- `src/create-quiver/commands/ai.js`
|
|
40
|
+
- `src/create-quiver/index.js`
|
|
41
|
+
- `src/create-quiver/lib/ai/analyze-project-apply.js`
|
|
42
|
+
- `src/create-quiver/lib/ai/analyze-project-proposal.js`
|
|
43
|
+
- `src/create-quiver/lib/ai/analyze-project-validation.js`
|
|
44
|
+
- `tests/commands/ai-analyze-project-review.test.js`
|
|
45
|
+
- `tests/commands/ai-analyze-project.test.js`
|
|
46
|
+
- `tests/lib/ai-analyze-project-proposal.test.js`
|
|
47
|
+
- `specs/quiver-v55-analyze-project-doc-apply-ux/**`
|
|
48
|
+
|
|
49
|
+
## How to Test (DETAILED - REQUIRED)
|
|
50
|
+
|
|
51
|
+
### Required Environment
|
|
52
|
+
|
|
53
|
+
- Node/npm environment for this repo.
|
|
54
|
+
- No live provider credentials required for automated tests.
|
|
55
|
+
|
|
56
|
+
### Worktree Access
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
git checkout feature/QUIVER-55-05-v55-apply-saved-proposal
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Run the Project
|
|
63
|
+
|
|
64
|
+
No dev server is required. This is CLI behavior.
|
|
65
|
+
|
|
66
|
+
### Use Cases
|
|
67
|
+
|
|
68
|
+
1. Apply a saved proposal by run id:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
node --test tests/commands/ai-analyze-project-review.test.js
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Expected: saved proposal apply writes docs without provider execution, blocks dirty/stale targets, and records manual proposal edits.
|
|
75
|
+
|
|
76
|
+
2. Validate saved proposal artifact helpers:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
node --test tests/lib/ai-analyze-project-proposal.test.js
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Expected: run id validation, saved proposal loading, manifest validation, and edit detection pass.
|
|
83
|
+
|
|
84
|
+
3. Validate CLI contract:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
node --test tests/commands/ai-analyze-project.test.js
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Expected: `apply --run` no longer hits the old stub, missing artifacts fail actionably, and unsafe `latest` combinations are rejected.
|
|
91
|
+
|
|
92
|
+
### Technical Verification
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
npm run docs:check
|
|
96
|
+
npm run schema:slice:check
|
|
97
|
+
node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
|
|
98
|
+
git diff --check
|
|
99
|
+
npm test
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Expected: all pass.
|
|
103
|
+
|
|
104
|
+
## Evidence
|
|
105
|
+
|
|
106
|
+
Executed locally:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
node --test tests/commands/ai-analyze-project-review.test.js
|
|
110
|
+
node --test tests/lib/ai-analyze-project-proposal.test.js
|
|
111
|
+
node --test tests/commands/ai-analyze-project.test.js
|
|
112
|
+
npm run docs:check
|
|
113
|
+
npm run schema:slice:check
|
|
114
|
+
node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
|
|
115
|
+
git diff --check
|
|
116
|
+
npm test
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Result: all passed. Full `npm test` passed with 747 tests.
|
|
120
|
+
|
|
121
|
+
## Rollback
|
|
122
|
+
|
|
123
|
+
Revert this PR. Fresh `--save-proposal`, `--apply-docs`, `--apply-docs --yes`, and `--review` behavior from earlier slices remain available.
|
|
124
|
+
|
|
125
|
+
## Risks / Notes
|
|
126
|
+
|
|
127
|
+
- `apply --run <run-id>` now writes docs when the saved proposal is valid and current target hashes match.
|
|
128
|
+
- Stale docs always block; `--allow-dirty-docs` only bypasses the dirty-doc guard.
|
|
129
|
+
- `--run latest` is intentionally not available for `--yes` or `--json` automation.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-05-apply-saved-proposal",
|
|
3
|
+
"ticket": "QUIVER-55-05",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Apply Saved Proposal",
|
|
6
|
+
"objective": "Apply saved analyze-project doc proposals by run id without provider execution.",
|
|
7
|
+
"description": "Adds ai analyze-project apply --run <run-id>, revalidates saved artifacts against current repo state, detects stale/dirty docs, and delegates writes to the apply engine.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v55-apply-saved-proposal",
|
|
12
|
+
"branch_name": "feature/QUIVER-55-05-v55-apply-saved-proposal"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/ai/analyze-project-apply.js",
|
|
17
|
+
"src/create-quiver/lib/ai/analyze-project-proposal.js",
|
|
18
|
+
"tests/commands/ai-analyze-project-review.test.js",
|
|
19
|
+
"tests/lib/ai-analyze-project-proposal.test.js",
|
|
20
|
+
"specs/quiver-v55-analyze-project-doc-apply-ux/**"
|
|
21
|
+
],
|
|
22
|
+
"expected_read_paths": [
|
|
23
|
+
"src/create-quiver/lib/ai/analyze-project-apply.js",
|
|
24
|
+
"src/create-quiver/lib/ai/analyze-project-proposal.js",
|
|
25
|
+
"src/create-quiver/lib/ai/analyze-project-docs.js"
|
|
26
|
+
],
|
|
27
|
+
"allowed_write_paths": [
|
|
28
|
+
"src/create-quiver/commands/ai.js",
|
|
29
|
+
"src/create-quiver/lib/ai/analyze-project-apply.js",
|
|
30
|
+
"src/create-quiver/lib/ai/analyze-project-proposal.js",
|
|
31
|
+
"tests/commands/ai-analyze-project-review.test.js",
|
|
32
|
+
"tests/lib/ai-analyze-project-proposal.test.js",
|
|
33
|
+
"specs/quiver-v55-analyze-project-doc-apply-ux/**"
|
|
34
|
+
],
|
|
35
|
+
"depends_on": [
|
|
36
|
+
"slice-02-save-proposal-flow",
|
|
37
|
+
"slice-03-noninteractive-apply-engine"
|
|
38
|
+
],
|
|
39
|
+
"parallel_safe": "never",
|
|
40
|
+
"parallel_safe_reason": "Saved-run apply crosses a trust boundary and must reuse completed apply engine behavior.",
|
|
41
|
+
"must": [
|
|
42
|
+
"Never run provider.",
|
|
43
|
+
"Revalidate saved proposal and manifest.",
|
|
44
|
+
"Detect stale/dirty target docs.",
|
|
45
|
+
"Reject --run latest --yes."
|
|
46
|
+
],
|
|
47
|
+
"not_included": [
|
|
48
|
+
"Interactive fresh analysis selector.",
|
|
49
|
+
"Docs release smoke."
|
|
50
|
+
],
|
|
51
|
+
"acceptance": [
|
|
52
|
+
"Explicit run id applies valid saved proposal.",
|
|
53
|
+
"Invalid run id fails actionably.",
|
|
54
|
+
"Stale saved proposal blocks unsafe writes.",
|
|
55
|
+
"Provider/model are not required."
|
|
56
|
+
],
|
|
57
|
+
"tests": [
|
|
58
|
+
"node --test tests/commands/ai-analyze-project-review.test.js",
|
|
59
|
+
"node --test tests/lib/ai-analyze-project-proposal.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
|
+
"status": "completed",
|
|
65
|
+
"completed_at": "2026-06-12T15:00:00.000Z",
|
|
66
|
+
"blocked_reason": null
|
|
67
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-06 i18n docs release smoke
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Completed. The final v55 slice updates the user-facing docs, command matrix, troubleshooting guidance, and EN/ES coverage so the completed analyze-project doc apply workflow is discoverable and safe to smoke before release.
|
|
6
|
+
|
|
7
|
+
## Behavior Delivered
|
|
8
|
+
|
|
9
|
+
- `docs/reference/commands.md` now describes the recommended `--save-proposal`, `--apply-docs`, and `apply --run <run-id>` flows.
|
|
10
|
+
- `docs/CLI_UX_GUIDE.md` documents the TTY selector, automation path, saved proposal path, and advanced `--review` mode.
|
|
11
|
+
- `docs/workflows/existing-project.md` now recommends `--apply-docs` for existing projects and explains save/apply separation.
|
|
12
|
+
- `docs/TROUBLESHOOTING.md` explains why normal provider mode does not write final docs and how to apply a proposal safely.
|
|
13
|
+
- Release smoke guidance uses a temporary copy of `nika-erp` and explicitly avoids mutating the main checkout.
|
|
14
|
+
- Spanish help coverage now asserts the new analyze-project flags are localized while commands, flags, and paths stay untranslated.
|
|
15
|
+
|
|
16
|
+
## Required Evidence
|
|
17
|
+
|
|
18
|
+
- i18n tests pass.
|
|
19
|
+
- docs checks pass.
|
|
20
|
+
- spec validation passes.
|
|
21
|
+
- release smoke guidance is documented.
|
|
22
|
+
|
|
23
|
+
## Validation
|
|
24
|
+
|
|
25
|
+
Executed:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
node --test tests/commands/cli-contract.test.js
|
|
29
|
+
node --test tests/lib/i18n-catalog.test.js
|
|
30
|
+
node --test tests/commands/ai-analyze-project-review.test.js
|
|
31
|
+
npm run docs:check
|
|
32
|
+
npm run schema:slice:check
|
|
33
|
+
node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
|
|
34
|
+
git diff --check
|
|
35
|
+
npm test
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Result: all passed. Full `npm test` passed with 747 tests.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-06 i18n docs release smoke
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
The feature is only useful if users can discover the simpler apply flow and understand it in English and Spanish. Release confidence also needs a documented real-project smoke that avoids mutating the user's main `nika-erp` checkout.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Complete i18n coverage, user documentation, command matrix/help alignment, and release smoke guidance.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- Add/verify EN and ES messages for all new flows.
|
|
14
|
+
- Ensure commands, flags, and paths remain untranslated.
|
|
15
|
+
- Update:
|
|
16
|
+
- `docs/reference/commands.md`;
|
|
17
|
+
- `docs/CLI_UX_GUIDE.md`;
|
|
18
|
+
- `docs/workflows/existing-project.md`;
|
|
19
|
+
- `docs/TROUBLESHOOTING.md`.
|
|
20
|
+
- Update i18n/UX command matrix if applicable.
|
|
21
|
+
- Document release smoke against temporary copy/disposable branch of `nika-erp`.
|
|
22
|
+
- Validate docs and spec.
|
|
23
|
+
|
|
24
|
+
## Acceptance Criteria
|
|
25
|
+
|
|
26
|
+
- English and Spanish outputs are covered by tests.
|
|
27
|
+
- Command docs explain `--apply-docs`, `--save-proposal`, `--review`, `--yes`, `--diff`, and `apply --run`.
|
|
28
|
+
- Troubleshooting explains why normal provider mode does not write final docs.
|
|
29
|
+
- Release smoke commands avoid modifying the main `nika-erp` checkout.
|
|
30
|
+
- Docs checks and spec validation pass.
|
|
31
|
+
|
|
32
|
+
## Expected Files To Modify
|
|
33
|
+
|
|
34
|
+
- `src/create-quiver/lib/i18n/messages/en.js`
|
|
35
|
+
- `src/create-quiver/lib/i18n/messages/es.js`
|
|
36
|
+
- `docs/reference/commands.md`
|
|
37
|
+
- `docs/CLI_UX_GUIDE.md`
|
|
38
|
+
- `docs/workflows/existing-project.md`
|
|
39
|
+
- `docs/TROUBLESHOOTING.md`
|
|
40
|
+
- `specs/quiver-v55-analyze-project-doc-apply-ux/**`
|
|
41
|
+
- relevant tests
|
|
42
|
+
|
|
43
|
+
## Validation Required
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm run docs:check
|
|
47
|
+
npm run schema:slice:check
|
|
48
|
+
node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
|
|
49
|
+
git diff --check
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Completion Checklist
|
|
53
|
+
|
|
54
|
+
- English and Spanish copy tests pass.
|
|
55
|
+
- Command reference and troubleshooting docs updated.
|
|
56
|
+
- Existing-project workflow documents recommended path.
|
|
57
|
+
- Release smoke evidence is recorded without mutating the main `nika-erp` checkout.
|
|
58
|
+
- Slice closure brief updated with evidence.
|
|
59
|
+
|
|
60
|
+
## Constraints
|
|
61
|
+
|
|
62
|
+
- Do not run live provider smoke as CI.
|
|
63
|
+
- Do not mutate the main `nika-erp` checkout during smoke.
|
|
64
|
+
- Do not translate commands, flags, or paths.
|
package/specs/quiver-v55-analyze-project-doc-apply-ux/slices/slice-06-i18n-docs-release-smoke/pr.md
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
## Title
|
|
2
|
+
|
|
3
|
+
QUIVER-55-06 - i18n Docs And Release Smoke Guidance
|
|
4
|
+
|
|
5
|
+
## Summary
|
|
6
|
+
|
|
7
|
+
Completes the final v55 slice for `ai analyze-project` doc apply UX.
|
|
8
|
+
|
|
9
|
+
This PR updates user-facing docs, troubleshooting, command reference, EN/ES help coverage, and release smoke guidance so users can discover the simple apply flow without being forced into the advanced editor review path.
|
|
10
|
+
|
|
11
|
+
## PR Policy
|
|
12
|
+
|
|
13
|
+
- One slice, one commit, one PR.
|
|
14
|
+
- Docs/test release-readiness slice.
|
|
15
|
+
- Human merge required after CI passes.
|
|
16
|
+
|
|
17
|
+
## Scope
|
|
18
|
+
|
|
19
|
+
Included:
|
|
20
|
+
|
|
21
|
+
- Command reference updates for `--apply-docs`, `--save-proposal`, `--review`, `--yes`, `--diff`, and `apply --run`.
|
|
22
|
+
- Existing-project workflow updates for the recommended `--apply-docs` path.
|
|
23
|
+
- CLI UX guide updates for selector behavior, automation, saved proposals, and advanced `--review`.
|
|
24
|
+
- Troubleshooting entry explaining why normal provider mode does not write final docs.
|
|
25
|
+
- Safe release smoke guidance against a temporary copy or disposable branch of `nika-erp`.
|
|
26
|
+
- Spanish help coverage for new analyze-project flags while preserving commands/flags untranslated.
|
|
27
|
+
- Spec status, evidence, and closure updates.
|
|
28
|
+
|
|
29
|
+
Excluded:
|
|
30
|
+
|
|
31
|
+
- Runtime apply implementation changes.
|
|
32
|
+
- Live provider CI gate.
|
|
33
|
+
- Mutating the main `nika-erp` checkout.
|
|
34
|
+
|
|
35
|
+
## Files
|
|
36
|
+
|
|
37
|
+
- `docs/reference/commands.md`
|
|
38
|
+
- `docs/CLI_UX_GUIDE.md`
|
|
39
|
+
- `docs/workflows/existing-project.md`
|
|
40
|
+
- `docs/TROUBLESHOOTING.md`
|
|
41
|
+
- `tests/commands/cli-contract.test.js`
|
|
42
|
+
- `specs/quiver-v55-analyze-project-doc-apply-ux/**`
|
|
43
|
+
|
|
44
|
+
## How to Test (DETAILED - REQUIRED)
|
|
45
|
+
|
|
46
|
+
### Required Environment
|
|
47
|
+
|
|
48
|
+
- Node/npm environment for this repo.
|
|
49
|
+
- No live provider credentials required.
|
|
50
|
+
|
|
51
|
+
### Worktree Access
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
git checkout feature/QUIVER-55-06-v55-i18n-docs-release-smoke
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Run the Project
|
|
58
|
+
|
|
59
|
+
No dev server is required. This is CLI/docs behavior.
|
|
60
|
+
|
|
61
|
+
### Use Cases
|
|
62
|
+
|
|
63
|
+
1. Spanish help preserves command syntax:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
node --test tests/commands/cli-contract.test.js
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Expected: `ai analyze-project apply --run <run-id>` and new flags remain exact while Spanish descriptions are localized.
|
|
70
|
+
|
|
71
|
+
2. i18n catalog coverage:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
node --test tests/lib/i18n-catalog.test.js
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Expected: EN/ES catalogs are complete and command snippets remain exact.
|
|
78
|
+
|
|
79
|
+
3. Analyze-project apply UX regression coverage:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
node --test tests/commands/ai-analyze-project-review.test.js
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Expected: apply/save/diff/edit/cancel, Spanish selector copy, and apply-run paths remain covered.
|
|
86
|
+
|
|
87
|
+
### Technical Verification
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npm run docs:check
|
|
91
|
+
npm run schema:slice:check
|
|
92
|
+
node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
|
|
93
|
+
git diff --check
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Expected: all pass.
|
|
97
|
+
|
|
98
|
+
## Evidence
|
|
99
|
+
|
|
100
|
+
Executed locally:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
node --test tests/commands/cli-contract.test.js
|
|
104
|
+
node --test tests/lib/i18n-catalog.test.js
|
|
105
|
+
node --test tests/commands/ai-analyze-project-review.test.js
|
|
106
|
+
npm run docs:check
|
|
107
|
+
npm run schema:slice:check
|
|
108
|
+
node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict
|
|
109
|
+
git diff --check
|
|
110
|
+
npm test
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Result: all passed. Full `npm test` passed with 747 tests.
|
|
114
|
+
|
|
115
|
+
## Rollback
|
|
116
|
+
|
|
117
|
+
Revert this PR. Runtime behavior from slices 01-05 remains intact; only docs/spec/test coverage from this slice is removed.
|
|
118
|
+
|
|
119
|
+
## Risks / Notes
|
|
120
|
+
|
|
121
|
+
- Live provider smoke remains release evidence only, not a CI gate.
|
|
122
|
+
- Release smoke guidance intentionally uses a temporary copy or disposable branch for `nika-erp`.
|
|
123
|
+
- `--review` remains documented as advanced JSON edit mode, not the default apply path.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-06-i18n-docs-release-smoke",
|
|
3
|
+
"ticket": "QUIVER-55-06",
|
|
4
|
+
"type": "docs-release",
|
|
5
|
+
"title": "i18n, Docs, Release Smoke",
|
|
6
|
+
"objective": "Complete bilingual UX coverage, documentation, command matrix alignment, and real-project release smoke guidance.",
|
|
7
|
+
"description": "Adds EN/ES copy coverage, updates user-facing docs, keeps generated command docs aligned, and documents safe nika-erp smoke using a temporary copy or disposable branch.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v55-i18n-docs-release-smoke",
|
|
12
|
+
"branch_name": "feature/QUIVER-55-06-v55-i18n-docs-release-smoke"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/i18n/messages/en.js",
|
|
16
|
+
"src/create-quiver/lib/i18n/messages/es.js",
|
|
17
|
+
"docs/reference/commands.md",
|
|
18
|
+
"docs/CLI_UX_GUIDE.md",
|
|
19
|
+
"docs/workflows/existing-project.md",
|
|
20
|
+
"docs/TROUBLESHOOTING.md",
|
|
21
|
+
"tests/commands/**",
|
|
22
|
+
"tests/lib/**",
|
|
23
|
+
"specs/quiver-v55-analyze-project-doc-apply-ux/**"
|
|
24
|
+
],
|
|
25
|
+
"expected_read_paths": [
|
|
26
|
+
"docs/reference/commands.md",
|
|
27
|
+
"docs/CLI_UX_GUIDE.md",
|
|
28
|
+
"docs/workflows/existing-project.md",
|
|
29
|
+
"docs/TROUBLESHOOTING.md",
|
|
30
|
+
"src/create-quiver/lib/i18n/messages/en.js",
|
|
31
|
+
"src/create-quiver/lib/i18n/messages/es.js"
|
|
32
|
+
],
|
|
33
|
+
"allowed_write_paths": [
|
|
34
|
+
"src/create-quiver/lib/i18n/messages/en.js",
|
|
35
|
+
"src/create-quiver/lib/i18n/messages/es.js",
|
|
36
|
+
"docs/reference/commands.md",
|
|
37
|
+
"docs/CLI_UX_GUIDE.md",
|
|
38
|
+
"docs/workflows/existing-project.md",
|
|
39
|
+
"docs/TROUBLESHOOTING.md",
|
|
40
|
+
"tests/commands/**",
|
|
41
|
+
"tests/lib/**",
|
|
42
|
+
"specs/quiver-v55-analyze-project-doc-apply-ux/**"
|
|
43
|
+
],
|
|
44
|
+
"depends_on": [
|
|
45
|
+
"slice-04-interactive-apply-ux",
|
|
46
|
+
"slice-05-apply-saved-proposal"
|
|
47
|
+
],
|
|
48
|
+
"parallel_safe": "never",
|
|
49
|
+
"parallel_safe_reason": "Docs and i18n must reflect final behavior from earlier slices.",
|
|
50
|
+
"must": [
|
|
51
|
+
"Cover English and Spanish output.",
|
|
52
|
+
"Update docs and command matrix.",
|
|
53
|
+
"Document release smoke against a temporary copy or disposable branch.",
|
|
54
|
+
"Keep commands, flags, and paths untranslated."
|
|
55
|
+
],
|
|
56
|
+
"not_included": [
|
|
57
|
+
"Runtime apply implementation.",
|
|
58
|
+
"Live provider CI gate."
|
|
59
|
+
],
|
|
60
|
+
"acceptance": [
|
|
61
|
+
"EN/ES tests pass.",
|
|
62
|
+
"docs:check passes.",
|
|
63
|
+
"schema:slice:check passes.",
|
|
64
|
+
"Spec validation passes."
|
|
65
|
+
],
|
|
66
|
+
"tests": [
|
|
67
|
+
"npm run docs:check",
|
|
68
|
+
"npm run schema:slice:check",
|
|
69
|
+
"node bin/create-quiver.js spec validate specs/quiver-v55-analyze-project-doc-apply-ux --strict",
|
|
70
|
+
"git diff --check"
|
|
71
|
+
],
|
|
72
|
+
"estimated_hours": 4,
|
|
73
|
+
"status": "completed",
|
|
74
|
+
"completed_at": "2026-06-12T16:56:48.000Z",
|
|
75
|
+
"blocked_reason": null
|
|
76
|
+
}
|