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-v53-reliable-deep-project-analysis/slices/slice-04-safe-repair-layer/slice.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-04-safe-repair-layer",
|
|
3
|
+
"ticket": "QUIVER-53-04",
|
|
4
|
+
"type": "reliability",
|
|
5
|
+
"title": "Safe repair layer",
|
|
6
|
+
"objective": "Repair safe provider schema drift without changing analysis semantics.",
|
|
7
|
+
"description": "Adds a minimal repair layer that removes unsupported additional properties such as notes, records every repair, and revalidates the analysis proposal before proceeding.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v53-safe-repair-layer",
|
|
12
|
+
"branch_name": "feature/QUIVER-53-04-v53-safe-repair-layer"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/ai/analyze-project-repair.js",
|
|
16
|
+
"src/create-quiver/lib/ai/analyze-project-validation.js",
|
|
17
|
+
"src/create-quiver/commands/ai.js",
|
|
18
|
+
"tests/lib/ai/analyze-project-repair.test.js",
|
|
19
|
+
"tests/commands/ai-analyze-project-provider.test.js",
|
|
20
|
+
"specs/quiver-v53-reliable-deep-project-analysis/STATUS.md",
|
|
21
|
+
"specs/quiver-v53-reliable-deep-project-analysis/EVIDENCE_REPORT.md",
|
|
22
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-04-safe-repair-layer/CLOSURE_BRIEF.md",
|
|
23
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-04-safe-repair-layer/slice.json"
|
|
24
|
+
],
|
|
25
|
+
"expected_read_paths": [
|
|
26
|
+
"src/create-quiver/lib/ai/analyze-project-schema.js",
|
|
27
|
+
"src/create-quiver/lib/ai/analyze-project-validation.js",
|
|
28
|
+
"tests/commands/ai-analyze-project-provider.test.js"
|
|
29
|
+
],
|
|
30
|
+
"allowed_write_paths": [
|
|
31
|
+
"src/create-quiver/lib/ai/analyze-project-repair.js",
|
|
32
|
+
"src/create-quiver/lib/ai/analyze-project-validation.js",
|
|
33
|
+
"src/create-quiver/commands/ai.js",
|
|
34
|
+
"tests/lib/ai/analyze-project-repair.test.js",
|
|
35
|
+
"tests/commands/ai-analyze-project-provider.test.js",
|
|
36
|
+
"tests/fixtures/analyze-project/**",
|
|
37
|
+
"specs/quiver-v53-reliable-deep-project-analysis/STATUS.md",
|
|
38
|
+
"specs/quiver-v53-reliable-deep-project-analysis/EVIDENCE_REPORT.md",
|
|
39
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-04-safe-repair-layer/CLOSURE_BRIEF.md",
|
|
40
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-04-safe-repair-layer/slice.json"
|
|
41
|
+
],
|
|
42
|
+
"depends_on": [
|
|
43
|
+
"slice-03-schema-error-grouping"
|
|
44
|
+
],
|
|
45
|
+
"parallel_safe": "never",
|
|
46
|
+
"parallel_safe_reason": "Repair depends on validation classification and directly affects provider result flow.",
|
|
47
|
+
"must": [
|
|
48
|
+
"Repair only unsupported additionalProperties.",
|
|
49
|
+
"Remove extra keys such as notes without moving semantic content.",
|
|
50
|
+
"Record repair manifest entries with path, key, action, and reason.",
|
|
51
|
+
"Revalidate after repair.",
|
|
52
|
+
"Fail without final docs writes if repaired output remains invalid."
|
|
53
|
+
],
|
|
54
|
+
"not_included": [
|
|
55
|
+
"Retry behavior.",
|
|
56
|
+
"Semantic rewriting.",
|
|
57
|
+
"Schema relaxation."
|
|
58
|
+
],
|
|
59
|
+
"acceptance": [
|
|
60
|
+
"The notes drift fixture validates after safe repair.",
|
|
61
|
+
"Repair never changes confidence, evidence, claims, or business meaning.",
|
|
62
|
+
"Repair manifest records every removed key.",
|
|
63
|
+
"Unrepairable errors still fail without final docs writes."
|
|
64
|
+
],
|
|
65
|
+
"tests": [
|
|
66
|
+
"node --test tests/lib/ai/analyze-project-repair.test.js",
|
|
67
|
+
"node --test tests/commands/ai-analyze-project-provider.test.js",
|
|
68
|
+
"npm run schema:slice:check",
|
|
69
|
+
"git diff --check"
|
|
70
|
+
],
|
|
71
|
+
"validation_hints": [
|
|
72
|
+
"Assert that repair handles additionalProperties only."
|
|
73
|
+
],
|
|
74
|
+
"estimated_hours": 6,
|
|
75
|
+
"actual_hours": 4,
|
|
76
|
+
"status": "completed",
|
|
77
|
+
"started_at": "2026-06-11T12:11:30Z",
|
|
78
|
+
"completed_at": "2026-06-11T12:16:13Z",
|
|
79
|
+
"blocked_reason": null
|
|
80
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-05 controlled retry layer
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Completed on 2026-06-11.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
Analyze-project now retries retryable invalid provider JSON with a default of 1 retry and a hard cap of 2 retries. Retry prompts use compact schema feedback plus the prior provider response rather than resending full selected file contents.
|
|
10
|
+
|
|
11
|
+
## Evidence
|
|
12
|
+
|
|
13
|
+
- Added retry prompt generation to `analyze-project-prompts`.
|
|
14
|
+
- Added retry classification and retry loop to `runAnalyzeProject`.
|
|
15
|
+
- Added retry manifests at `.quiver/runs/run-.../retry/analyze-project-retry.json`.
|
|
16
|
+
- Provider tests cover retry success, retry exhaustion, and hard cap behavior.
|
|
17
|
+
|
|
18
|
+
## Validation
|
|
19
|
+
|
|
20
|
+
- `node --test tests/commands/ai-analyze-project-provider.test.js` passed: 17 tests.
|
|
21
|
+
- `node --test tests/commands/ai-analyze-project.test.js` passed: 3 tests.
|
|
22
|
+
- `node --test tests/lib/ai/analyze-project-repair.test.js` passed: 3 tests.
|
|
23
|
+
- `npm run schema:slice:check` passed.
|
|
24
|
+
- `git diff --check` passed.
|
|
25
|
+
|
|
26
|
+
## Decisions
|
|
27
|
+
|
|
28
|
+
- Provider command failures are treated as fatal and do not retry.
|
|
29
|
+
- Retryable invalid JSON includes parse/schema/evidence/doc-path validation failures.
|
|
30
|
+
- Retry prompts intentionally avoid `Selected file contents:` to keep retry payloads compact.
|
|
31
|
+
|
|
32
|
+
## Follow-ups
|
|
33
|
+
|
|
34
|
+
- `slice-06-audit-review-transaction` persists the final provider execution story.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-05 controlled retry layer
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Some provider outputs cannot be safely repaired but can be corrected by giving the provider compact validation feedback. Retry must be bounded to avoid cost, latency, and loops.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Add controlled retry behavior for retryable analyze-project provider failures.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- Retry classification.
|
|
14
|
+
- Retry prompt.
|
|
15
|
+
- Retry count/hard cap.
|
|
16
|
+
- Retry output and manifest fields.
|
|
17
|
+
- No final docs writes after exhausted retry.
|
|
18
|
+
|
|
19
|
+
## Acceptance Criteria
|
|
20
|
+
|
|
21
|
+
- Retry-success fixture succeeds.
|
|
22
|
+
- Retry-exhausted fixture fails safely.
|
|
23
|
+
- Fatal failures do not retry.
|
|
24
|
+
- Retry count is visible and audited.
|
|
25
|
+
|
|
26
|
+
## Expected Files To Modify
|
|
27
|
+
|
|
28
|
+
- `src/create-quiver/commands/ai.js`
|
|
29
|
+
- `src/create-quiver/lib/ai/analyze-project-prompts.js`
|
|
30
|
+
- `src/create-quiver/lib/ai/analyze-project-validation.js`
|
|
31
|
+
- `src/create-quiver/lib/ai/providers.js`
|
|
32
|
+
- provider tests/fixtures
|
|
33
|
+
|
|
34
|
+
## Validations Required
|
|
35
|
+
|
|
36
|
+
- `node --test tests/commands/ai-analyze-project-provider.test.js`
|
|
37
|
+
- `node --test tests/commands/ai-analyze-project.test.js`
|
|
38
|
+
- `git diff --check`
|
|
39
|
+
|
|
40
|
+
## Risks
|
|
41
|
+
|
|
42
|
+
- Retry may increase command latency and provider cost.
|
|
43
|
+
- Retrying fatal failures can hide root cause.
|
|
44
|
+
|
|
45
|
+
## Dependencies
|
|
46
|
+
|
|
47
|
+
- Depends on `slice-03-schema-error-grouping`.
|
|
48
|
+
- Depends on `slice-04-safe-repair-layer`.
|
|
49
|
+
|
|
50
|
+
## Instructions For Executor
|
|
51
|
+
|
|
52
|
+
1. Keep retry count bounded and deterministic.
|
|
53
|
+
2. Keep retry prompts compact.
|
|
54
|
+
3. Do not write final docs until final JSON is valid.
|
|
55
|
+
|
|
56
|
+
## Completion Checklist
|
|
57
|
+
|
|
58
|
+
- [ ] Retry classification implemented.
|
|
59
|
+
- [ ] Retry cap tests pass.
|
|
60
|
+
- [ ] Fatal no-retry behavior is covered.
|
|
61
|
+
- [ ] Closure brief updated.
|
|
62
|
+
|
|
63
|
+
## Conditions Of Closure
|
|
64
|
+
|
|
65
|
+
- Retry improves recovery without creating loops or unsafe writes.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-05-controlled-retry-layer",
|
|
3
|
+
"ticket": "QUIVER-53-05",
|
|
4
|
+
"type": "reliability",
|
|
5
|
+
"title": "Controlled retry layer",
|
|
6
|
+
"objective": "Retry provider analysis only when invalid output is retryable and bounded.",
|
|
7
|
+
"description": "Adds retry classification, compact retry prompts, retry count limits, timeout/error handling, and guarantees that exhausted retries do not write final docs.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v53-controlled-retry-layer",
|
|
12
|
+
"branch_name": "feature/QUIVER-53-05-v53-controlled-retry-layer"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/ai/analyze-project-prompts.js",
|
|
17
|
+
"src/create-quiver/lib/ai/analyze-project-validation.js",
|
|
18
|
+
"src/create-quiver/lib/ai/providers.js",
|
|
19
|
+
"tests/commands/ai-analyze-project-provider.test.js",
|
|
20
|
+
"specs/quiver-v53-reliable-deep-project-analysis/STATUS.md",
|
|
21
|
+
"specs/quiver-v53-reliable-deep-project-analysis/EVIDENCE_REPORT.md",
|
|
22
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-05-controlled-retry-layer/CLOSURE_BRIEF.md",
|
|
23
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-05-controlled-retry-layer/slice.json"
|
|
24
|
+
],
|
|
25
|
+
"expected_read_paths": [
|
|
26
|
+
"src/create-quiver/commands/ai.js",
|
|
27
|
+
"src/create-quiver/lib/ai/analyze-project-prompts.js",
|
|
28
|
+
"src/create-quiver/lib/ai/providers.js",
|
|
29
|
+
"tests/commands/ai-analyze-project-provider.test.js"
|
|
30
|
+
],
|
|
31
|
+
"allowed_write_paths": [
|
|
32
|
+
"src/create-quiver/commands/ai.js",
|
|
33
|
+
"src/create-quiver/lib/ai/analyze-project-prompts.js",
|
|
34
|
+
"src/create-quiver/lib/ai/analyze-project-validation.js",
|
|
35
|
+
"src/create-quiver/lib/ai/providers.js",
|
|
36
|
+
"tests/commands/ai-analyze-project-provider.test.js",
|
|
37
|
+
"tests/fixtures/analyze-project/**",
|
|
38
|
+
"specs/quiver-v53-reliable-deep-project-analysis/STATUS.md",
|
|
39
|
+
"specs/quiver-v53-reliable-deep-project-analysis/EVIDENCE_REPORT.md",
|
|
40
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-05-controlled-retry-layer/CLOSURE_BRIEF.md",
|
|
41
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-05-controlled-retry-layer/slice.json"
|
|
42
|
+
],
|
|
43
|
+
"depends_on": [
|
|
44
|
+
"slice-03-schema-error-grouping",
|
|
45
|
+
"slice-04-safe-repair-layer"
|
|
46
|
+
],
|
|
47
|
+
"parallel_safe": "never",
|
|
48
|
+
"parallel_safe_reason": "Retry changes provider execution flow and depends on repair outcomes.",
|
|
49
|
+
"must": [
|
|
50
|
+
"Retry only retryable errors.",
|
|
51
|
+
"Use default max retries of 1 and hard cap of 2 unless the contract changes.",
|
|
52
|
+
"Send compact schema feedback in retry prompts.",
|
|
53
|
+
"Avoid resending full context when not necessary.",
|
|
54
|
+
"Fail with 0 final docs writes after retry exhaustion."
|
|
55
|
+
],
|
|
56
|
+
"not_included": [
|
|
57
|
+
"Unlimited retries.",
|
|
58
|
+
"Automatic fallback to another provider.",
|
|
59
|
+
"Cost accounting beyond available provider metadata."
|
|
60
|
+
],
|
|
61
|
+
"acceptance": [
|
|
62
|
+
"Retry-success fixture succeeds after one retry.",
|
|
63
|
+
"Retry-exhausted fixture fails with compact output.",
|
|
64
|
+
"Fatal errors do not retry.",
|
|
65
|
+
"Retry count is visible in human output and manifests."
|
|
66
|
+
],
|
|
67
|
+
"tests": [
|
|
68
|
+
"node --test tests/commands/ai-analyze-project-provider.test.js",
|
|
69
|
+
"node --test tests/commands/ai-analyze-project.test.js",
|
|
70
|
+
"git diff --check"
|
|
71
|
+
],
|
|
72
|
+
"validation_hints": [
|
|
73
|
+
"Assert retry cap behavior exactly."
|
|
74
|
+
],
|
|
75
|
+
"estimated_hours": 6,
|
|
76
|
+
"actual_hours": 4,
|
|
77
|
+
"status": "completed",
|
|
78
|
+
"started_at": "2026-06-11T12:16:20Z",
|
|
79
|
+
"completed_at": "2026-06-11T12:20:16Z",
|
|
80
|
+
"blocked_reason": null
|
|
81
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-06 audit and review transaction
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Completed on 2026-06-11.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
Provider execution now leaves a redacted audit story under `.quiver/runs`, and review docs writes remain gated by editable review, final confirmation, snapshots, hashes, post-write validation, and atomic temp-file rename.
|
|
10
|
+
|
|
11
|
+
## Evidence
|
|
12
|
+
|
|
13
|
+
- Provider attempts persist redacted raw artifacts under `.quiver/runs/run-.../raw`.
|
|
14
|
+
- Runs persist `status.json` with selected context, raw provider, repair, retry, and validation artifact references.
|
|
15
|
+
- Review approval writes snapshots and hashes before final docs writes.
|
|
16
|
+
- Final docs writes use temp files followed by rename.
|
|
17
|
+
- Review cancel, no-TTY review, declined confirmation, and invalid edited JSON leave final docs unchanged while preserving audit artifacts.
|
|
18
|
+
|
|
19
|
+
## Validation
|
|
20
|
+
|
|
21
|
+
- `node --test tests/commands/ai-analyze-project-provider.test.js` passed: 17 tests.
|
|
22
|
+
- `node --test tests/commands/ai-analyze-project-review.test.js` passed: 5 tests.
|
|
23
|
+
- `node --test tests/commands/ai-analyze-project.test.js` passed: 3 tests.
|
|
24
|
+
- `npm run smoke:create-quiver` passed.
|
|
25
|
+
- `git diff --check` passed.
|
|
26
|
+
|
|
27
|
+
## Decisions
|
|
28
|
+
|
|
29
|
+
- Audit artifacts are allowed for real provider execution even when review is canceled; final docs remain unchanged.
|
|
30
|
+
- Provider command failures do not retry, but still persist raw provider output and run status.
|
|
31
|
+
- Atomic writes are implemented with a temporary sibling file and `renameSync`.
|
|
32
|
+
|
|
33
|
+
## Follow-ups
|
|
34
|
+
|
|
35
|
+
- `slice-07-semantic-validation-docs` will document and benchmark the completed reliability kernel.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-06 audit and review transaction
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
After provider execution, users need an audit trail and a safe review/write transaction. Provider-only runs may write redacted audit artifacts, but final docs must require valid JSON and review approval.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Implement redacted audit artifacts and review/write transaction guarantees.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- `.quiver/runs` artifacts.
|
|
14
|
+
- Versioned manifests.
|
|
15
|
+
- Edited proposal revalidation.
|
|
16
|
+
- Final diff.
|
|
17
|
+
- Snapshot and hash before write.
|
|
18
|
+
- Atomic final docs writes.
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- Provider execution writes redacted audit artifacts.
|
|
23
|
+
- `--dry-run` writes nothing.
|
|
24
|
+
- Review cancel leaves docs unchanged.
|
|
25
|
+
- Invalid edited JSON blocks writes.
|
|
26
|
+
- Approved review writes snapshots and docs atomically.
|
|
27
|
+
|
|
28
|
+
## Expected Files To Modify
|
|
29
|
+
|
|
30
|
+
- `src/create-quiver/commands/ai.js`
|
|
31
|
+
- `src/create-quiver/lib/ai/analyze-project-review.js`
|
|
32
|
+
- `src/create-quiver/lib/ai/artifacts.js`
|
|
33
|
+
- `src/create-quiver/lib/ai/run-state.js`
|
|
34
|
+
- analyze-project provider/review tests
|
|
35
|
+
|
|
36
|
+
## Validations Required
|
|
37
|
+
|
|
38
|
+
- `node --test tests/commands/ai-analyze-project-provider.test.js`
|
|
39
|
+
- `node --test tests/commands/ai-analyze-project-review.test.js`
|
|
40
|
+
- `node --test tests/commands/ai-analyze-project.test.js`
|
|
41
|
+
- `npm run smoke:create-quiver`
|
|
42
|
+
- `git diff --check`
|
|
43
|
+
|
|
44
|
+
## Risks
|
|
45
|
+
|
|
46
|
+
- Audit files can leak sensitive content if redaction is incomplete.
|
|
47
|
+
- Review flow can be confusing if audit writes are not distinguished from final docs writes.
|
|
48
|
+
- Partial writes can leave docs inconsistent.
|
|
49
|
+
|
|
50
|
+
## Dependencies
|
|
51
|
+
|
|
52
|
+
- Depends on `slice-02-safe-context-boundary`.
|
|
53
|
+
- Depends on `slice-04-safe-repair-layer`.
|
|
54
|
+
- Depends on `slice-05-controlled-retry-layer`.
|
|
55
|
+
|
|
56
|
+
## Instructions For Executor
|
|
57
|
+
|
|
58
|
+
1. Use temporary files and atomic rename for final docs writes.
|
|
59
|
+
2. Record hashes and snapshots before writing.
|
|
60
|
+
3. Keep non-TTY behavior non-interactive and actionable.
|
|
61
|
+
|
|
62
|
+
## Completion Checklist
|
|
63
|
+
|
|
64
|
+
- [ ] Audit artifacts implemented.
|
|
65
|
+
- [ ] Review cancel/approve tests pass.
|
|
66
|
+
- [ ] Atomic write behavior is validated.
|
|
67
|
+
- [ ] Closure brief updated.
|
|
68
|
+
|
|
69
|
+
## Conditions Of Closure
|
|
70
|
+
|
|
71
|
+
- Provider analysis has a reliable audit trail and docs writes are transactional.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-06-audit-review-transaction",
|
|
3
|
+
"ticket": "QUIVER-53-06",
|
|
4
|
+
"type": "workflow",
|
|
5
|
+
"title": "Audit and review transaction",
|
|
6
|
+
"objective": "Persist provider execution evidence and make docs writes reviewable, atomic, and recoverable.",
|
|
7
|
+
"description": "Adds redacted run artifacts, validation/repair/retry manifests, review proposal handling, edited JSON revalidation, final diff, confirmation, snapshots, hashes, and atomic final docs writes.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v53-audit-review-transaction",
|
|
12
|
+
"branch_name": "feature/QUIVER-53-06-v53-audit-review-transaction"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/ai/analyze-project-review.js",
|
|
17
|
+
"src/create-quiver/lib/ai/artifacts.js",
|
|
18
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
19
|
+
"tests/commands/ai-analyze-project-provider.test.js",
|
|
20
|
+
"tests/commands/ai-analyze-project-review.test.js",
|
|
21
|
+
"specs/quiver-v53-reliable-deep-project-analysis/STATUS.md",
|
|
22
|
+
"specs/quiver-v53-reliable-deep-project-analysis/EVIDENCE_REPORT.md",
|
|
23
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-06-audit-review-transaction/CLOSURE_BRIEF.md",
|
|
24
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-06-audit-review-transaction/slice.json"
|
|
25
|
+
],
|
|
26
|
+
"expected_read_paths": [
|
|
27
|
+
"src/create-quiver/commands/ai.js",
|
|
28
|
+
"src/create-quiver/lib/ai/analyze-project-review.js",
|
|
29
|
+
"src/create-quiver/lib/ai/artifacts.js",
|
|
30
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
31
|
+
"tests/commands/ai-analyze-project-review.test.js"
|
|
32
|
+
],
|
|
33
|
+
"allowed_write_paths": [
|
|
34
|
+
"src/create-quiver/commands/ai.js",
|
|
35
|
+
"src/create-quiver/lib/ai/analyze-project-review.js",
|
|
36
|
+
"src/create-quiver/lib/ai/artifacts.js",
|
|
37
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
38
|
+
"tests/commands/ai-analyze-project-provider.test.js",
|
|
39
|
+
"tests/commands/ai-analyze-project-review.test.js",
|
|
40
|
+
"tests/fixtures/analyze-project/**",
|
|
41
|
+
"specs/quiver-v53-reliable-deep-project-analysis/STATUS.md",
|
|
42
|
+
"specs/quiver-v53-reliable-deep-project-analysis/EVIDENCE_REPORT.md",
|
|
43
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-06-audit-review-transaction/CLOSURE_BRIEF.md",
|
|
44
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-06-audit-review-transaction/slice.json"
|
|
45
|
+
],
|
|
46
|
+
"depends_on": [
|
|
47
|
+
"slice-02-safe-context-boundary",
|
|
48
|
+
"slice-04-safe-repair-layer",
|
|
49
|
+
"slice-05-controlled-retry-layer"
|
|
50
|
+
],
|
|
51
|
+
"parallel_safe": "never",
|
|
52
|
+
"parallel_safe_reason": "Audit and review transaction integrates safety, repair, retry, and final write behavior.",
|
|
53
|
+
"must": [
|
|
54
|
+
"Persist redacted raw output, repaired output when present, selected context, validation manifest, repair manifest, retry manifest, and final status.",
|
|
55
|
+
"Use versioned manifests with size bounds and truncation markers.",
|
|
56
|
+
"Ensure --review revalidates edited JSON before final diff.",
|
|
57
|
+
"Create snapshots and hashes before docs writes.",
|
|
58
|
+
"Write final docs atomically only after explicit approval."
|
|
59
|
+
],
|
|
60
|
+
"not_included": [
|
|
61
|
+
"Implementing a restore command.",
|
|
62
|
+
"Writing docs without review approval.",
|
|
63
|
+
"Persisting unredacted provider secrets."
|
|
64
|
+
],
|
|
65
|
+
"acceptance": [
|
|
66
|
+
"Provider execution creates redacted audit artifacts under .quiver/runs.",
|
|
67
|
+
"--dry-run creates no run artifacts.",
|
|
68
|
+
"Review cancel leaves final docs unchanged.",
|
|
69
|
+
"Approved review writes snapshots and final docs atomically.",
|
|
70
|
+
"Invalid edited JSON blocks writes."
|
|
71
|
+
],
|
|
72
|
+
"tests": [
|
|
73
|
+
"node --test tests/commands/ai-analyze-project-provider.test.js",
|
|
74
|
+
"node --test tests/commands/ai-analyze-project-review.test.js",
|
|
75
|
+
"node --test tests/commands/ai-analyze-project.test.js",
|
|
76
|
+
"npm run smoke:create-quiver",
|
|
77
|
+
"git diff --check"
|
|
78
|
+
],
|
|
79
|
+
"validation_hints": [
|
|
80
|
+
"Assert exact write counts for dry-run, provider-only, review-cancel, and review-approve flows."
|
|
81
|
+
],
|
|
82
|
+
"estimated_hours": 8,
|
|
83
|
+
"actual_hours": 4,
|
|
84
|
+
"status": "completed",
|
|
85
|
+
"started_at": "2026-06-11T12:20:20Z",
|
|
86
|
+
"completed_at": "2026-06-11T12:23:37Z",
|
|
87
|
+
"blocked_reason": null
|
|
88
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-07 semantic validation, docs, and benchmark
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Completed on 2026-06-11.
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
The evidence-quality validation already enforced by the parser is now documented alongside repair, retry, audit, review, and benchmark expectations for reliable `ai analyze-project`.
|
|
10
|
+
|
|
11
|
+
## Evidence
|
|
12
|
+
|
|
13
|
+
- `docs/reference/commands.md` documents dry-run, provider, repair, retry, audit, review, and benchmark behavior.
|
|
14
|
+
- `docs/workflows/existing-project.md` adds direct steps for deep AI project analysis in existing projects.
|
|
15
|
+
- `docs/TROUBLESHOOTING.md` explains provider JSON/schema failures and safe next steps.
|
|
16
|
+
- Provider fixtures remain the deterministic benchmark path; live `nika-erp` smoke is documented as optional release evidence.
|
|
17
|
+
|
|
18
|
+
## Validation
|
|
19
|
+
|
|
20
|
+
- `node --test tests/commands/ai-analyze-project-provider.test.js` passed: 17 tests.
|
|
21
|
+
- `npm run docs:check` passed.
|
|
22
|
+
- `npm run smoke:create-quiver` passed.
|
|
23
|
+
- `git diff --check` passed.
|
|
24
|
+
|
|
25
|
+
## Decisions
|
|
26
|
+
|
|
27
|
+
- No new semantic validator was added because existing parser validation already rejects evidence-poor non-unknown claims and downgrades confirmed claims backed by truncated evidence.
|
|
28
|
+
- Live provider benchmark remains optional, not a CI gate.
|
|
29
|
+
|
|
30
|
+
## Follow-ups
|
|
31
|
+
|
|
32
|
+
- `slice-08-structural-map-hardening` can improve analysis quality after reliability is stable.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-07 semantic validation, docs, and benchmark
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Passing JSON schema is necessary but not sufficient. The analysis must remain evidence-backed and understandable to users.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Add semantic validation and document the reliable analyze-project workflow.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- Confidence/evidence validation.
|
|
14
|
+
- Strict-mode behavior.
|
|
15
|
+
- Command docs.
|
|
16
|
+
- Troubleshooting docs.
|
|
17
|
+
- Benchmark guidance.
|
|
18
|
+
|
|
19
|
+
## Acceptance Criteria
|
|
20
|
+
|
|
21
|
+
- `confirmed` claims require explicit evidence.
|
|
22
|
+
- Evidence-poor output is reported as warning or strict error.
|
|
23
|
+
- Docs explain dry-run, provider, repair, retry, audit, and review behavior.
|
|
24
|
+
- Benchmark guidance separates deterministic fixtures from optional live provider smoke.
|
|
25
|
+
|
|
26
|
+
## Expected Files To Modify
|
|
27
|
+
|
|
28
|
+
- `src/create-quiver/lib/ai/analyze-project-validation.js`
|
|
29
|
+
- i18n messages
|
|
30
|
+
- `docs/reference/commands.md`
|
|
31
|
+
- `docs/workflows/existing-project.md`
|
|
32
|
+
- `docs/TROUBLESHOOTING.md`
|
|
33
|
+
- provider tests/fixtures
|
|
34
|
+
|
|
35
|
+
## Validations Required
|
|
36
|
+
|
|
37
|
+
- `node --test tests/commands/ai-analyze-project-provider.test.js`
|
|
38
|
+
- `npm run docs:check`
|
|
39
|
+
- `npm run smoke:create-quiver`
|
|
40
|
+
- `git diff --check`
|
|
41
|
+
|
|
42
|
+
## Risks
|
|
43
|
+
|
|
44
|
+
- Over-strict semantic validation can reject useful inferred analysis.
|
|
45
|
+
- Docs can drift from actual CLI behavior.
|
|
46
|
+
|
|
47
|
+
## Dependencies
|
|
48
|
+
|
|
49
|
+
- Depends on `slice-06-audit-review-transaction`.
|
|
50
|
+
|
|
51
|
+
## Instructions For Executor
|
|
52
|
+
|
|
53
|
+
1. Keep semantic validation conservative.
|
|
54
|
+
2. Do not promote inferred claims to confirmed.
|
|
55
|
+
3. Keep docs aligned with CLI help and tests.
|
|
56
|
+
|
|
57
|
+
## Completion Checklist
|
|
58
|
+
|
|
59
|
+
- [ ] Semantic validation implemented.
|
|
60
|
+
- [ ] Docs updated.
|
|
61
|
+
- [ ] Benchmark guidance added.
|
|
62
|
+
- [ ] Closure brief updated.
|
|
63
|
+
|
|
64
|
+
## Conditions Of Closure
|
|
65
|
+
|
|
66
|
+
- Users understand and can verify reliable analyze-project behavior.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-07-semantic-validation-docs",
|
|
3
|
+
"ticket": "QUIVER-53-07",
|
|
4
|
+
"type": "validation-docs",
|
|
5
|
+
"title": "Semantic validation, docs, and benchmark",
|
|
6
|
+
"objective": "Ensure schema-valid analysis is also evidence-backed and documented for users.",
|
|
7
|
+
"description": "Adds semantic validation for confidence/evidence quality, updates command documentation, and documents deterministic/live benchmark expectations for reliable analyze-project behavior.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v53-semantic-validation-docs",
|
|
12
|
+
"branch_name": "feature/QUIVER-53-07-v53-semantic-validation-docs"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/ai/analyze-project-validation.js",
|
|
16
|
+
"src/create-quiver/lib/i18n/messages/en.js",
|
|
17
|
+
"src/create-quiver/lib/i18n/messages/es.js",
|
|
18
|
+
"docs/reference/commands.md",
|
|
19
|
+
"docs/workflows/existing-project.md",
|
|
20
|
+
"docs/TROUBLESHOOTING.md",
|
|
21
|
+
"tests/commands/ai-analyze-project-provider.test.js",
|
|
22
|
+
"specs/quiver-v53-reliable-deep-project-analysis/STATUS.md",
|
|
23
|
+
"specs/quiver-v53-reliable-deep-project-analysis/EVIDENCE_REPORT.md",
|
|
24
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-07-semantic-validation-docs/CLOSURE_BRIEF.md",
|
|
25
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-07-semantic-validation-docs/slice.json"
|
|
26
|
+
],
|
|
27
|
+
"expected_read_paths": [
|
|
28
|
+
"src/create-quiver/lib/ai/analyze-project-validation.js",
|
|
29
|
+
"docs/reference/commands.md",
|
|
30
|
+
"docs/workflows/existing-project.md",
|
|
31
|
+
"docs/TROUBLESHOOTING.md",
|
|
32
|
+
"tests/commands/ai-analyze-project-provider.test.js"
|
|
33
|
+
],
|
|
34
|
+
"allowed_write_paths": [
|
|
35
|
+
"src/create-quiver/lib/ai/analyze-project-validation.js",
|
|
36
|
+
"src/create-quiver/lib/i18n/messages/en.js",
|
|
37
|
+
"src/create-quiver/lib/i18n/messages/es.js",
|
|
38
|
+
"docs/reference/commands.md",
|
|
39
|
+
"docs/workflows/existing-project.md",
|
|
40
|
+
"docs/TROUBLESHOOTING.md",
|
|
41
|
+
"tests/commands/ai-analyze-project-provider.test.js",
|
|
42
|
+
"tests/fixtures/analyze-project/**",
|
|
43
|
+
"specs/quiver-v53-reliable-deep-project-analysis/STATUS.md",
|
|
44
|
+
"specs/quiver-v53-reliable-deep-project-analysis/EVIDENCE_REPORT.md",
|
|
45
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-07-semantic-validation-docs/CLOSURE_BRIEF.md",
|
|
46
|
+
"specs/quiver-v53-reliable-deep-project-analysis/slices/slice-07-semantic-validation-docs/slice.json"
|
|
47
|
+
],
|
|
48
|
+
"depends_on": [
|
|
49
|
+
"slice-06-audit-review-transaction"
|
|
50
|
+
],
|
|
51
|
+
"parallel_safe": "after_dependencies",
|
|
52
|
+
"parallel_safe_reason": "Requires the final reliability kernel behavior to document accurately.",
|
|
53
|
+
"must": [
|
|
54
|
+
"Validate that meaningful claims have confidence and evidence.",
|
|
55
|
+
"Prevent confirmed claims without explicit evidence.",
|
|
56
|
+
"Warn or error on semantic validation issues according to strict mode.",
|
|
57
|
+
"Document repair, retry, audit, and review behavior.",
|
|
58
|
+
"Document deterministic benchmark and optional live nika-erp smoke."
|
|
59
|
+
],
|
|
60
|
+
"not_included": [
|
|
61
|
+
"Structural symbol map implementation.",
|
|
62
|
+
"Guaranteeing perfect domain inference.",
|
|
63
|
+
"Making live provider benchmark mandatory in CI."
|
|
64
|
+
],
|
|
65
|
+
"acceptance": [
|
|
66
|
+
"Schema-valid but evidence-poor fixture produces semantic warnings or strict errors.",
|
|
67
|
+
"Docs explain mode behavior and safe next steps.",
|
|
68
|
+
"Benchmark expectations are documented and reproducible with provider fake.",
|
|
69
|
+
"Command reference remains synchronized."
|
|
70
|
+
],
|
|
71
|
+
"tests": [
|
|
72
|
+
"node --test tests/commands/ai-analyze-project-provider.test.js",
|
|
73
|
+
"npm run docs:check",
|
|
74
|
+
"npm run smoke:create-quiver",
|
|
75
|
+
"git diff --check"
|
|
76
|
+
],
|
|
77
|
+
"validation_hints": [
|
|
78
|
+
"Keep live provider benchmark optional and documented as release evidence."
|
|
79
|
+
],
|
|
80
|
+
"estimated_hours": 6,
|
|
81
|
+
"actual_hours": 3,
|
|
82
|
+
"status": "completed",
|
|
83
|
+
"started_at": "2026-06-11T12:23:45Z",
|
|
84
|
+
"completed_at": "2026-06-11T12:26:24Z",
|
|
85
|
+
"blocked_reason": null
|
|
86
|
+
}
|