create-quiver 0.15.4 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/pull_request_template.md +17 -0
- package/.github/workflows/ci.yml +76 -0
- package/.markdown-link-check.json +15 -0
- package/.markdownlint.json +11 -0
- package/ARCHITECTURE.md +133 -0
- package/CHANGELOG.md +16 -0
- package/CONTRIBUTING.md +174 -9
- package/README.md +17 -2
- package/README_FOR_AI.md +4 -1
- package/ROADMAP.md +4 -0
- package/SECURITY.md +9 -2
- package/docs/AI_CONTEXT.md.es.template +3 -1
- package/docs/AI_CONTEXT.md.template +3 -1
- package/docs/CLI_UX_GUIDE.md +20 -1
- package/docs/COMMANDS.md.template +20 -6
- package/docs/GITFLOW_PR_GUIDE.md +73 -11
- package/docs/GITFLOW_PR_GUIDE.md.es.template +61 -2
- package/docs/GITFLOW_PR_GUIDE.md.template +72 -10
- package/docs/INDEX.md +6 -1
- package/docs/QUICK.md.template +2 -1
- package/docs/STANDARD.md.template +2 -1
- package/docs/WORKFLOW.md.es.template +3 -1
- package/docs/WORKFLOW.md.template +6 -4
- package/docs/getting-started/installation.md +7 -0
- package/docs/reference/commands.md +138 -6
- package/docs/reference/slice-schema.md +37 -0
- package/docs/schema/slice.schema.json +221 -0
- package/docs/specs/01-spec/01-slice/01-slice.json +36 -0
- package/docs/specs/01-spec/01-slice/01-slice.md +106 -0
- package/docs/specs/01-spec/01-slice/CLOSURE_BRIEF.md +80 -0
- package/docs/specs/01-spec/01-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/02-slice/02-slice.json +36 -0
- package/docs/specs/01-spec/02-slice/02-slice.md +108 -0
- package/docs/specs/01-spec/02-slice/CLOSURE_BRIEF.md +88 -0
- package/docs/specs/01-spec/02-slice/EXECUTION_BRIEF.md +40 -0
- package/docs/specs/01-spec/03-slice/03-slice.json +36 -0
- package/docs/specs/01-spec/03-slice/03-slice.md +103 -0
- package/docs/specs/01-spec/03-slice/CLOSURE_BRIEF.md +54 -0
- package/docs/specs/01-spec/03-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/04-slice/04-slice.json +36 -0
- package/docs/specs/01-spec/04-slice/04-slice.md +107 -0
- package/docs/specs/01-spec/04-slice/CLOSURE_BRIEF.md +46 -0
- package/docs/specs/01-spec/04-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/05-slice/05-slice.json +36 -0
- package/docs/specs/01-spec/05-slice/05-slice.md +106 -0
- package/docs/specs/01-spec/05-slice/CLOSURE_BRIEF.md +84 -0
- package/docs/specs/01-spec/05-slice/EXECUTION_BRIEF.md +109 -0
- package/docs/specs/01-spec/06-slice/06-slice.json +36 -0
- package/docs/specs/01-spec/06-slice/06-slice.md +107 -0
- package/docs/specs/01-spec/06-slice/CLOSURE_BRIEF.md +67 -0
- package/docs/specs/01-spec/06-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/07-slice/07-slice.json +36 -0
- package/docs/specs/01-spec/07-slice/07-slice.md +105 -0
- package/docs/specs/01-spec/07-slice/CLOSURE_BRIEF.md +71 -0
- package/docs/specs/01-spec/07-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/08-slice/08-slice.json +36 -0
- package/docs/specs/01-spec/08-slice/08-slice.md +105 -0
- package/docs/specs/01-spec/08-slice/CLOSURE_BRIEF.md +114 -0
- package/docs/specs/01-spec/08-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/CLOSURE_BRIEF.md +87 -0
- package/docs/specs/01-spec/spec.md +197 -0
- package/docs/workflows/full-ai-spec-to-pr.md +46 -3
- package/i18n/es/docs/GITFLOW_PR_GUIDE.md.template +38 -1
- package/package.json +27 -1
- package/scripts/package-quiver.sh +82 -2
- package/scripts/release-quiver.sh +14 -3
- package/specs/[project-name]/slices/pr.md.template +19 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +122 -1
- package/specs/quiver-v46-deep-project-analysis/EVIDENCE_REPORT.md +94 -0
- package/specs/quiver-v46-deep-project-analysis/EXECUTION_PLAN.md +26 -0
- package/specs/quiver-v46-deep-project-analysis/SPEC.md +157 -0
- package/specs/quiver-v46-deep-project-analysis/STATUS.md +26 -0
- package/specs/quiver-v46-deep-project-analysis/pr.md +131 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/CLOSURE_BRIEF.md +14 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/EXECUTION_BRIEF.md +41 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/slice.json +61 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/EXECUTION_BRIEF.md +33 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/slice.json +80 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/EXECUTION_BRIEF.md +34 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/slice.json +79 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/EXECUTION_BRIEF.md +33 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/slice.json +79 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/EXECUTION_BRIEF.md +32 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/slice.json +85 -0
- package/specs/quiver-v50-audit-trust-foundation/EVIDENCE_REPORT.md +151 -0
- package/specs/quiver-v50-audit-trust-foundation/EXECUTION_PLAN.md +34 -0
- package/specs/quiver-v50-audit-trust-foundation/SPEC.md +113 -0
- package/specs/quiver-v50-audit-trust-foundation/STATUS.md +26 -0
- package/specs/quiver-v50-audit-trust-foundation/pr.md +120 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/slice.json +57 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/CLOSURE_BRIEF.md +24 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/EXECUTION_BRIEF.md +67 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/slice.json +71 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/CLOSURE_BRIEF.md +24 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/EXECUTION_BRIEF.md +71 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/slice.json +81 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/slice.json +56 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/CLOSURE_BRIEF.md +23 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/EXECUTION_BRIEF.md +68 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/slice.json +84 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/EXECUTION_BRIEF.md +73 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/slice.json +72 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/EXECUTION_BRIEF.md +66 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/slice.json +74 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/CLOSURE_BRIEF.md +29 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/EXECUTION_BRIEF.md +74 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/slice.json +81 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md +145 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/EXECUTION_PLAN.md +32 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/SPEC.md +109 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/STATUS.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/pr.md +69 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json +56 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/slice.json +68 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/EXECUTION_BRIEF.md +65 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/pr.md +134 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/slice.json +80 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/EXECUTION_BRIEF.md +80 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/pr.md +159 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/slice.json +102 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/EXECUTION_BRIEF.md +74 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/pr.md +147 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/slice.json +91 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/CLOSURE_BRIEF.md +28 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/EXECUTION_BRIEF.md +73 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/pr.md +146 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/slice.json +100 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md +76 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/pr.md +155 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json +111 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md +95 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/EXECUTION_PLAN.md +31 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/SPEC.md +107 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/STATUS.md +22 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/pr.md +69 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/EXECUTION_BRIEF.md +60 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/slice.json +62 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/EXECUTION_BRIEF.md +71 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md +146 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json +106 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/EXECUTION_BRIEF.md +67 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/pr.md +144 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json +86 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/EXECUTION_BRIEF.md +75 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/pr.md +159 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/slice.json +105 -0
- package/src/create-quiver/commands/ai.js +521 -0
- package/src/create-quiver/commands/changelog.js +93 -0
- package/src/create-quiver/commands/config.js +16 -5
- package/src/create-quiver/commands/evidence.js +33 -2
- package/src/create-quiver/commands/flow.js +1 -0
- package/src/create-quiver/commands/graph.js +8 -2
- package/src/create-quiver/commands/plan.js +6 -0
- package/src/create-quiver/commands/spec.js +28 -13
- package/src/create-quiver/index.js +408 -98
- package/src/create-quiver/lib/ai/analyze-project-discovery.js +387 -0
- package/src/create-quiver/lib/ai/analyze-project-docs.js +364 -0
- package/src/create-quiver/lib/ai/analyze-project-parser.js +277 -0
- package/src/create-quiver/lib/ai/analyze-project-prompts.js +214 -0
- package/src/create-quiver/lib/ai/analyze-project-review.js +99 -0
- package/src/create-quiver/lib/ai/analyze-project-sampling.js +402 -0
- package/src/create-quiver/lib/ai/analyze-project-schema.js +92 -0
- package/src/create-quiver/lib/ai/analyze-project-validation.js +309 -0
- package/src/create-quiver/lib/ai/artifacts.js +4 -1
- package/src/create-quiver/lib/ai/github.js +5 -2
- package/src/create-quiver/lib/ai/spec-templates.js +19 -0
- package/src/create-quiver/lib/cli/command-registry.js +72 -0
- package/src/create-quiver/lib/cli/parser.js +14 -0
- package/src/create-quiver/lib/evidence.js +161 -6
- package/src/create-quiver/lib/git.js +99 -0
- package/src/create-quiver/lib/i18n/messages/en.js +52 -7
- package/src/create-quiver/lib/i18n/messages/es.js +54 -9
- package/src/create-quiver/lib/init-docs.js +1 -1
- package/src/create-quiver/lib/init-layout.js +9 -8
- package/src/create-quiver/lib/lifecycle.js +24 -26
- package/src/create-quiver/lib/readiness.js +67 -56
- package/src/create-quiver/lib/spec-worktrees.js +16 -34
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
## Title
|
|
2
|
+
|
|
3
|
+
QUIVER-52: Schema, Docs, and Release Hygiene planning baseline
|
|
4
|
+
|
|
5
|
+
## Summary
|
|
6
|
+
|
|
7
|
+
Adds the Quiver v52 Schema, Docs, and Release Hygiene spec package and closes its `slice-00` baseline.
|
|
8
|
+
|
|
9
|
+
The baseline identifies that `slice.json` validation is currently split across runtime validation and spec generation, classifies package boundaries, chooses protected generated blocks for command reference updates, and preserves existing package/release smoke checks as the starting point.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- Adds the v52 spec documentation, status, evidence report, slices, and per-slice handoff briefs.
|
|
14
|
+
- Marks `slice-00-schema-docs-release-baseline` as completed.
|
|
15
|
+
- Records schema source, package boundary, generated docs strategy, and release-smoke gaps.
|
|
16
|
+
- Does not modify runtime code.
|
|
17
|
+
|
|
18
|
+
## Files
|
|
19
|
+
|
|
20
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/SPEC.md`
|
|
21
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/STATUS.md`
|
|
22
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md`
|
|
23
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/pr.md`
|
|
24
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/slices/**`
|
|
25
|
+
|
|
26
|
+
## How to Test (DETAILED - REQUIRED)
|
|
27
|
+
|
|
28
|
+
### Required Environment
|
|
29
|
+
|
|
30
|
+
- Node.js available locally.
|
|
31
|
+
- Repository checkout with Quiver CLI scripts available.
|
|
32
|
+
- GitHub CLI is not required to validate the spec contents.
|
|
33
|
+
|
|
34
|
+
### Worktree Access
|
|
35
|
+
|
|
36
|
+
- Checkout this PR branch.
|
|
37
|
+
- Confirm no runtime source files are changed by this PR.
|
|
38
|
+
|
|
39
|
+
### Run the Project
|
|
40
|
+
|
|
41
|
+
No application runtime needs to be started; this PR is documentation/spec planning only.
|
|
42
|
+
|
|
43
|
+
### Use Cases
|
|
44
|
+
|
|
45
|
+
- Review the v52 baseline table in `SPEC.md`.
|
|
46
|
+
- Confirm schema source-of-truth constraints are explicit.
|
|
47
|
+
- Confirm generated docs and package boundary decisions are recorded before implementation.
|
|
48
|
+
|
|
49
|
+
### Technical Verification
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
git diff --check
|
|
53
|
+
node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Evidence
|
|
57
|
+
|
|
58
|
+
- `git diff --check`: passed.
|
|
59
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`: passed.
|
|
60
|
+
- Runtime code was not modified.
|
|
61
|
+
|
|
62
|
+
## Rollback
|
|
63
|
+
|
|
64
|
+
Remove `specs/quiver-v52-schema-docs-release-hygiene/` and revert the commit.
|
|
65
|
+
|
|
66
|
+
## Risks / Notes
|
|
67
|
+
|
|
68
|
+
- This PR intentionally excludes local audit inputs, PDFs, copy docs, and other root-level untracked files.
|
|
69
|
+
- Follow-up implementation must start from `slice-01-json-schema-for-slice-json`.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-00 schema/docs/release baseline
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Identified the current schema/docs/release baseline, selected the generated-docs strategy, and classified package boundary expectations. Runtime code was not changed.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [x] `git diff --check`
|
|
10
|
+
- [x] `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`
|
|
11
|
+
|
|
12
|
+
## Closure Conditions
|
|
13
|
+
|
|
14
|
+
- [x] Schema source identified.
|
|
15
|
+
- [x] Package boundaries classified.
|
|
16
|
+
- [x] Generated docs strategy selected.
|
|
17
|
+
- [x] Runtime code unchanged.
|
|
18
|
+
|
|
19
|
+
## Open Items
|
|
20
|
+
|
|
21
|
+
- None.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-00 schema/docs/release baseline
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Schema and generated docs work can create false confidence if the source of truth is wrong. Package/release hygiene must also know which files are published.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Identify source of truth and package boundaries before generating schema or docs.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- `slice.json` source-of-truth decision.
|
|
14
|
+
- Package boundary classification.
|
|
15
|
+
- Existing package/release smoke assessment.
|
|
16
|
+
- Generated command docs strategy.
|
|
17
|
+
|
|
18
|
+
## Acceptance Criteria
|
|
19
|
+
|
|
20
|
+
- Schema source decision is explicit.
|
|
21
|
+
- Files are classified as `published`, `repo-only`, or `generated`.
|
|
22
|
+
- Generated docs strategy is selected.
|
|
23
|
+
- Runtime code is unchanged.
|
|
24
|
+
|
|
25
|
+
## Expected Files To Modify
|
|
26
|
+
|
|
27
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/SPEC.md`
|
|
28
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/STATUS.md`
|
|
29
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md`
|
|
30
|
+
|
|
31
|
+
## Validations Required
|
|
32
|
+
|
|
33
|
+
- `git diff --check`
|
|
34
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`
|
|
35
|
+
|
|
36
|
+
## Risks
|
|
37
|
+
|
|
38
|
+
- Building schema from the wrong source.
|
|
39
|
+
- Publishing or excluding new files accidentally.
|
|
40
|
+
- Overwriting curated command docs later.
|
|
41
|
+
|
|
42
|
+
## Dependencies
|
|
43
|
+
|
|
44
|
+
- None.
|
|
45
|
+
|
|
46
|
+
## Instructions For Executor
|
|
47
|
+
|
|
48
|
+
1. Inspect runtime validation/generation before deciding schema source.
|
|
49
|
+
2. Inspect `.npmignore` and package smoke before classifying files.
|
|
50
|
+
3. Keep this slice documentary.
|
|
51
|
+
|
|
52
|
+
## Completion Checklist
|
|
53
|
+
|
|
54
|
+
- [ ] Acceptance criteria satisfied.
|
|
55
|
+
- [ ] Required validations run or blockers documented.
|
|
56
|
+
- [ ] Closure brief updated.
|
|
57
|
+
|
|
58
|
+
## Conditions Of Closure
|
|
59
|
+
|
|
60
|
+
- v52 can generate schema/docs without guessing.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-00-schema-docs-release-baseline",
|
|
3
|
+
"ticket": "QUIVER-52-00",
|
|
4
|
+
"type": "documentation",
|
|
5
|
+
"title": "Schema/docs/release baseline",
|
|
6
|
+
"objective": "Identify source of truth and package boundaries before generating schema or docs.",
|
|
7
|
+
"description": "Creates the v52 baseline for schema generation, command docs generation, package contents, and release hygiene.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v52-schema-docs-release-baseline",
|
|
12
|
+
"branch_name": "feature/QUIVER-52-00-v52-schema-docs-release-baseline"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"specs/quiver-v52-schema-docs-release-hygiene/**"
|
|
16
|
+
],
|
|
17
|
+
"expected_read_paths": [
|
|
18
|
+
"src/create-quiver/lib/slice.js",
|
|
19
|
+
"src/create-quiver/lib/slice-graph.js",
|
|
20
|
+
"src/create-quiver/commands/spec.js",
|
|
21
|
+
"docs/reference/commands.md",
|
|
22
|
+
"scripts/package-quiver.sh",
|
|
23
|
+
"scripts/release-quiver.sh",
|
|
24
|
+
".npmignore",
|
|
25
|
+
"package.json"
|
|
26
|
+
],
|
|
27
|
+
"allowed_write_paths": [
|
|
28
|
+
"specs/quiver-v52-schema-docs-release-hygiene/**"
|
|
29
|
+
],
|
|
30
|
+
"depends_on": [],
|
|
31
|
+
"parallel_safe": "no",
|
|
32
|
+
"parallel_safe_reason": "Baseline determines source of truth and package boundary for all v52 slices.",
|
|
33
|
+
"must": [
|
|
34
|
+
"Identify slice.json schema source of truth.",
|
|
35
|
+
"Classify files as published, repo-only, or generated.",
|
|
36
|
+
"Assess current package smoke and release script.",
|
|
37
|
+
"Define generated docs strategy."
|
|
38
|
+
],
|
|
39
|
+
"not_included": [
|
|
40
|
+
"Generating schema.",
|
|
41
|
+
"Changing package scripts.",
|
|
42
|
+
"Changing docs reference."
|
|
43
|
+
],
|
|
44
|
+
"acceptance": [
|
|
45
|
+
"Schema source decision is explicit.",
|
|
46
|
+
"Package boundary classification exists.",
|
|
47
|
+
"Generated docs strategy is chosen.",
|
|
48
|
+
"Runtime code remains unchanged."
|
|
49
|
+
],
|
|
50
|
+
"tests": [
|
|
51
|
+
"git diff --check",
|
|
52
|
+
"node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene"
|
|
53
|
+
],
|
|
54
|
+
"validation_hints": [
|
|
55
|
+
"Do not assume Zod is the source of truth unless runtime usage confirms it."
|
|
56
|
+
],
|
|
57
|
+
"estimated_hours": 2,
|
|
58
|
+
"status": "completed",
|
|
59
|
+
"blocked_reason": null,
|
|
60
|
+
"actual_hours": 2,
|
|
61
|
+
"completed_at": "2026-06-01T21:37:54-0300"
|
|
62
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-01 JSON Schema for slice.json
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Published a real `slice.json` schema and validation path aligned with current runtime behavior.
|
|
6
|
+
|
|
7
|
+
- Added `docs/schema/slice.schema.json` as JSON Schema Draft-07.
|
|
8
|
+
- Added `npm run schema:slice:check` backed by AJV.
|
|
9
|
+
- Validated runtime-valid real fixtures under `specs/**` and `examples/**`.
|
|
10
|
+
- Added representative invalid fixtures for missing required fields, empty `files`, incomplete git metadata, and unsafe paths.
|
|
11
|
+
- Documented schema usage in `docs/reference/slice-schema.md` and linked it from `docs/INDEX.md`.
|
|
12
|
+
- Required the public schema and reference doc in package smoke.
|
|
13
|
+
|
|
14
|
+
## Validation
|
|
15
|
+
|
|
16
|
+
- [x] `npm run schema:slice:check`
|
|
17
|
+
- [x] `node --test tests/schema/slice-schema.test.js`
|
|
18
|
+
- [x] `npm run docs:check`
|
|
19
|
+
- [x] `npm run package:quiver`
|
|
20
|
+
- [x] `npm ci`
|
|
21
|
+
- [x] `node --test`
|
|
22
|
+
- [x] `git diff --check`
|
|
23
|
+
|
|
24
|
+
## Closure Conditions
|
|
25
|
+
|
|
26
|
+
- [x] Schema created and valid.
|
|
27
|
+
- [x] Fixtures validate/reject correctly.
|
|
28
|
+
- [x] Docs and package smoke updated.
|
|
29
|
+
- [x] Schema source-of-truth decision documented.
|
|
30
|
+
- [x] Package smoke includes the public schema.
|
|
31
|
+
|
|
32
|
+
## Open Items
|
|
33
|
+
|
|
34
|
+
- None.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-01 JSON Schema for slice.json
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Users manually edit `slice.json`. A schema helps only if it matches what Quiver actually validates and generates.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Publish a `slice.json` JSON Schema aligned with runtime behavior.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- `docs/schema/slice.schema.json`.
|
|
14
|
+
- Schema generation or maintenance script.
|
|
15
|
+
- Valid/invalid fixtures.
|
|
16
|
+
- Docs reference.
|
|
17
|
+
- Package inclusion if public.
|
|
18
|
+
|
|
19
|
+
## Acceptance Criteria
|
|
20
|
+
|
|
21
|
+
- Schema is valid JSON Schema Draft-07 or higher.
|
|
22
|
+
- Existing valid slice fixtures pass.
|
|
23
|
+
- Representative invalid fixtures fail.
|
|
24
|
+
- Required/optional fields match runtime behavior.
|
|
25
|
+
- Docs reference the schema.
|
|
26
|
+
- Package smoke includes the schema if it is public.
|
|
27
|
+
|
|
28
|
+
## Expected Files To Modify
|
|
29
|
+
|
|
30
|
+
- `docs/schema/slice.schema.json`
|
|
31
|
+
- `package.json`
|
|
32
|
+
- `package-lock.json`
|
|
33
|
+
- `scripts/**`
|
|
34
|
+
- `tests/**`
|
|
35
|
+
- `docs/**`
|
|
36
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md`
|
|
37
|
+
|
|
38
|
+
## Validations Required
|
|
39
|
+
|
|
40
|
+
- `npm ci`
|
|
41
|
+
- `node --test`
|
|
42
|
+
- schema validation script
|
|
43
|
+
- `npm run package:quiver`
|
|
44
|
+
- `git diff --check`
|
|
45
|
+
|
|
46
|
+
## Risks
|
|
47
|
+
|
|
48
|
+
- Schema diverges from runtime.
|
|
49
|
+
- New dependency without lockfile update.
|
|
50
|
+
- Schema excluded from npm package accidentally.
|
|
51
|
+
|
|
52
|
+
## Dependencies
|
|
53
|
+
|
|
54
|
+
- Depends on `slice-00-schema-docs-release-baseline`.
|
|
55
|
+
|
|
56
|
+
## Instructions For Executor
|
|
57
|
+
|
|
58
|
+
1. Use the baseline source-of-truth decision.
|
|
59
|
+
2. Validate against real fixtures.
|
|
60
|
+
3. Do not promise fields runtime does not support.
|
|
61
|
+
4. Update package smoke if schema is published.
|
|
62
|
+
|
|
63
|
+
## Completion Checklist
|
|
64
|
+
|
|
65
|
+
- [ ] Acceptance criteria satisfied.
|
|
66
|
+
- [ ] Required validations run or blockers documented.
|
|
67
|
+
- [ ] Closure brief updated.
|
|
68
|
+
|
|
69
|
+
## Conditions Of Closure
|
|
70
|
+
|
|
71
|
+
- Users can rely on the schema for real `slice.json` editing.
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# PR - QUIVER-52-01 - JSON Schema for slice.json
|
|
2
|
+
|
|
3
|
+
## Title
|
|
4
|
+
|
|
5
|
+
QUIVER-52-01 JSON Schema for slice.json
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
Publishes a Draft-07 JSON Schema for executable Quiver `slice.json` files and adds an AJV-backed validation check. The schema is derived from current runtime validation/generation behavior, validates real runtime-valid fixtures, rejects representative invalid fixtures, and is required in package smoke as a public artifact.
|
|
10
|
+
|
|
11
|
+
## PR Policy
|
|
12
|
+
|
|
13
|
+
- [x] One slice only.
|
|
14
|
+
- [ ] Grouped PR exception: at most 2-3 slices, all docs-only, research-only, or low-risk mechanical cleanup.
|
|
15
|
+
- [x] No behavior changes in a grouped PR.
|
|
16
|
+
- [x] No mixed docs with UI, backend, refactor, or performance work.
|
|
17
|
+
- [x] Separate evidence for this slice is recorded in `EVIDENCE_REPORT.md`.
|
|
18
|
+
- [x] Whole PR is revertible without leaving partial state.
|
|
19
|
+
|
|
20
|
+
Individual PR required classification: schema artifact, validation script, tests, docs, package smoke, and slice metadata.
|
|
21
|
+
|
|
22
|
+
### Merge Policy
|
|
23
|
+
|
|
24
|
+
- [x] Human merge expected.
|
|
25
|
+
- [ ] Assisted auto-merge explicitly authorized for this PR or documented category.
|
|
26
|
+
- [ ] Assisted auto-merge conditions met: docs-only or chore-only, low risk, no runtime changes, no production configuration changes, green checks, and no pending comments.
|
|
27
|
+
|
|
28
|
+
Assisted auto-merge is not requested.
|
|
29
|
+
|
|
30
|
+
## Scope
|
|
31
|
+
|
|
32
|
+
- Add `docs/schema/slice.schema.json` as JSON Schema Draft-07.
|
|
33
|
+
- Add `npm run schema:slice:check`.
|
|
34
|
+
- Add AJV as a direct devDependency and synchronize `package-lock.json`.
|
|
35
|
+
- Validate runtime-valid real fixtures from `specs/**` and `examples/**`.
|
|
36
|
+
- Reject representative invalid fixtures.
|
|
37
|
+
- Document schema usage and runtime source-of-truth boundaries.
|
|
38
|
+
- Require the public schema and schema reference doc in package smoke.
|
|
39
|
+
- Update v52 status, evidence, closure, slice metadata, and PR body.
|
|
40
|
+
|
|
41
|
+
## Files
|
|
42
|
+
|
|
43
|
+
- `docs/INDEX.md`
|
|
44
|
+
- `docs/reference/slice-schema.md`
|
|
45
|
+
- `docs/schema/slice.schema.json`
|
|
46
|
+
- `package.json`
|
|
47
|
+
- `package-lock.json`
|
|
48
|
+
- `scripts/ci/check-slice-schema.js`
|
|
49
|
+
- `scripts/package-quiver.sh`
|
|
50
|
+
- `tests/fixtures/slice-schema/invalid/empty-files.json`
|
|
51
|
+
- `tests/fixtures/slice-schema/invalid/missing-git-field.json`
|
|
52
|
+
- `tests/fixtures/slice-schema/invalid/missing-slice-id.json`
|
|
53
|
+
- `tests/fixtures/slice-schema/invalid/unsafe-allowed-write-path.json`
|
|
54
|
+
- `tests/schema/slice-schema.test.js`
|
|
55
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/SPEC.md`
|
|
56
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/STATUS.md`
|
|
57
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md`
|
|
58
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json`
|
|
59
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md`
|
|
60
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md`
|
|
61
|
+
|
|
62
|
+
## How to Test (DETAILED - REQUIRED)
|
|
63
|
+
|
|
64
|
+
### Required Environment
|
|
65
|
+
|
|
66
|
+
- Node.js supported by the repo.
|
|
67
|
+
- npm.
|
|
68
|
+
- Git.
|
|
69
|
+
|
|
70
|
+
### Worktree Access
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
cd /Users/fabrijk/Documents/Work/Proyectos\ Personales/nika/frameworks/quiver
|
|
74
|
+
git switch feature/QUIVER-52-01-v52-slice-json-schema
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Run the Project
|
|
78
|
+
|
|
79
|
+
No runtime server is required. This is schema, validation tooling, docs, tests, package smoke, and spec evidence.
|
|
80
|
+
|
|
81
|
+
### Use Cases
|
|
82
|
+
|
|
83
|
+
#### Case 1: validate real slice fixtures
|
|
84
|
+
|
|
85
|
+
1. Run `npm run schema:slice:check`.
|
|
86
|
+
2. Inspect the summary.
|
|
87
|
+
|
|
88
|
+
**Expected result:** runtime-valid `specs/**` and `examples/**` fixtures pass, placeholder templates are skipped, and representative invalid fixtures fail.
|
|
89
|
+
|
|
90
|
+
#### Case 2: use schema in docs
|
|
91
|
+
|
|
92
|
+
1. Open `docs/reference/slice-schema.md`.
|
|
93
|
+
2. Confirm it links to `docs/schema/slice.schema.json`.
|
|
94
|
+
3. Run `npm run docs:check`.
|
|
95
|
+
|
|
96
|
+
**Expected result:** docs lint and link checks pass with the schema reference included.
|
|
97
|
+
|
|
98
|
+
#### Case 3: package includes public schema
|
|
99
|
+
|
|
100
|
+
1. Run `npm run package:quiver`.
|
|
101
|
+
2. Inspect the package smoke output.
|
|
102
|
+
|
|
103
|
+
**Expected result:** package smoke passes and requires `package/docs/schema/slice.schema.json` plus `package/docs/reference/slice-schema.md`.
|
|
104
|
+
|
|
105
|
+
#### Case 4: representative invalid fixture rejection
|
|
106
|
+
|
|
107
|
+
1. Run `node --test tests/schema/slice-schema.test.js`.
|
|
108
|
+
2. Inspect the invalid fixtures under `tests/fixtures/slice-schema/invalid`.
|
|
109
|
+
|
|
110
|
+
**Expected result:** missing `slice_id`, missing git metadata, empty `files`, and unsafe traversal path fixtures are rejected by AJV.
|
|
111
|
+
|
|
112
|
+
### Technical Verification
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npm ci
|
|
116
|
+
npm run schema:slice:check
|
|
117
|
+
node --test tests/schema/slice-schema.test.js
|
|
118
|
+
npm run docs:check
|
|
119
|
+
npm run package:quiver
|
|
120
|
+
node --test
|
|
121
|
+
git diff --check
|
|
122
|
+
node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene
|
|
123
|
+
node bin/create-quiver.js check-slice specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json --local --gate validation
|
|
124
|
+
node bin/create-quiver.js check-scope specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json --base main --strict
|
|
125
|
+
node bin/create-quiver.js check-pr specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json --base main
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Evidence
|
|
129
|
+
|
|
130
|
+
- `npm run schema:slice:check`: passed; 266 runtime-valid fixtures validated, 1 historical/non-runtime fixture skipped, 4 invalid fixtures rejected.
|
|
131
|
+
- `node --test tests/schema/slice-schema.test.js`: passed, 2 tests.
|
|
132
|
+
- `npm run docs:check`: passed, 21 files in docs scope.
|
|
133
|
+
- `npm run package:quiver`: passed and required the public schema/doc paths.
|
|
134
|
+
|
|
135
|
+
## Rollback
|
|
136
|
+
|
|
137
|
+
1. Revert this slice commit with `git revert <commit-sha>`.
|
|
138
|
+
2. Run the technical verification commands above.
|
|
139
|
+
3. Confirm `docs/schema/slice.schema.json`, `schema:slice:check`, AJV dependency changes, schema docs, package smoke requirements, and schema tests are removed.
|
|
140
|
+
|
|
141
|
+
## Risks / Notes
|
|
142
|
+
|
|
143
|
+
- The schema is maintained manually from current runtime behavior because Quiver does not yet have a single schema source generator.
|
|
144
|
+
- `check-slice --local` still requires non-empty `files`; the schema reflects that stricter executable contract even though newer scope tooling can prefer `allowed_write_paths`.
|
|
145
|
+
- Placeholder template slice files are intentionally skipped by schema validation because they contain scaffolding placeholders, not executable slice contracts.
|
|
146
|
+
- One historical v18 slice is skipped as non-runtime-valid because it lacks current required execution metadata.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-01-json-schema-for-slice-json",
|
|
3
|
+
"ticket": "QUIVER-52-01",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "JSON Schema for slice.json",
|
|
6
|
+
"objective": "Publish a slice.json JSON Schema aligned with runtime behavior.",
|
|
7
|
+
"description": "Generates or authors a schema only after the source of truth is confirmed and validates it against real fixtures.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v52-slice-json-schema",
|
|
12
|
+
"branch_name": "feature/QUIVER-52-01-v52-slice-json-schema"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"docs/INDEX.md",
|
|
16
|
+
"docs/reference/slice-schema.md",
|
|
17
|
+
"docs/schema/slice.schema.json",
|
|
18
|
+
"package.json",
|
|
19
|
+
"package-lock.json",
|
|
20
|
+
"scripts/ci/check-slice-schema.js",
|
|
21
|
+
"scripts/package-quiver.sh",
|
|
22
|
+
"tests/fixtures/slice-schema/invalid/empty-files.json",
|
|
23
|
+
"tests/fixtures/slice-schema/invalid/missing-git-field.json",
|
|
24
|
+
"tests/fixtures/slice-schema/invalid/missing-slice-id.json",
|
|
25
|
+
"tests/fixtures/slice-schema/invalid/unsafe-allowed-write-path.json",
|
|
26
|
+
"tests/schema/slice-schema.test.js",
|
|
27
|
+
"specs/quiver-v52-schema-docs-release-hygiene/SPEC.md",
|
|
28
|
+
"specs/quiver-v52-schema-docs-release-hygiene/STATUS.md",
|
|
29
|
+
"specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md",
|
|
30
|
+
"specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md",
|
|
31
|
+
"specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json",
|
|
32
|
+
"specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md"
|
|
33
|
+
],
|
|
34
|
+
"expected_read_paths": [
|
|
35
|
+
"package.json",
|
|
36
|
+
"scripts/package-quiver.sh",
|
|
37
|
+
"src/create-quiver/lib/slice.js",
|
|
38
|
+
"src/create-quiver/lib/slice-graph.js",
|
|
39
|
+
"src/create-quiver/commands/spec.js",
|
|
40
|
+
"src/create-quiver/lib/readiness.js",
|
|
41
|
+
"src/create-quiver/lib/ai/spec-generator.js",
|
|
42
|
+
"specs/**/slices/**/slice.json",
|
|
43
|
+
"tests/**"
|
|
44
|
+
],
|
|
45
|
+
"allowed_write_paths": [
|
|
46
|
+
"docs/INDEX.md",
|
|
47
|
+
"docs/reference/slice-schema.md",
|
|
48
|
+
"docs/schema/**",
|
|
49
|
+
"package.json",
|
|
50
|
+
"package-lock.json",
|
|
51
|
+
"scripts/ci/check-slice-schema.js",
|
|
52
|
+
"scripts/package-quiver.sh",
|
|
53
|
+
"tests/fixtures/slice-schema/invalid/empty-files.json",
|
|
54
|
+
"tests/fixtures/slice-schema/invalid/missing-git-field.json",
|
|
55
|
+
"tests/fixtures/slice-schema/invalid/missing-slice-id.json",
|
|
56
|
+
"tests/fixtures/slice-schema/invalid/unsafe-allowed-write-path.json",
|
|
57
|
+
"tests/schema/slice-schema.test.js",
|
|
58
|
+
"specs/quiver-v52-schema-docs-release-hygiene/SPEC.md",
|
|
59
|
+
"specs/quiver-v52-schema-docs-release-hygiene/STATUS.md",
|
|
60
|
+
"specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md",
|
|
61
|
+
"specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md",
|
|
62
|
+
"specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json",
|
|
63
|
+
"specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md"
|
|
64
|
+
],
|
|
65
|
+
"depends_on": [
|
|
66
|
+
"slice-00-schema-docs-release-baseline"
|
|
67
|
+
],
|
|
68
|
+
"parallel_safe": "yes",
|
|
69
|
+
"parallel_safe_reason": "Schema work can run independently after baseline, but package smoke updates must coordinate with slice-03.",
|
|
70
|
+
"must": [
|
|
71
|
+
"Create docs/schema/slice.schema.json.",
|
|
72
|
+
"Validate real valid fixtures.",
|
|
73
|
+
"Reject representative invalid fixtures.",
|
|
74
|
+
"Document schema usage and generation.",
|
|
75
|
+
"Keep schema aligned with runtime behavior."
|
|
76
|
+
],
|
|
77
|
+
"not_included": [
|
|
78
|
+
"Changing slice runtime semantics unless required and explicitly documented.",
|
|
79
|
+
"Adding IDE-specific config unless minimal and justified."
|
|
80
|
+
],
|
|
81
|
+
"acceptance": [
|
|
82
|
+
"Schema is valid JSON Schema Draft-07 or higher.",
|
|
83
|
+
"Schema validates existing valid slice fixtures.",
|
|
84
|
+
"Schema rejects representative invalid fixtures.",
|
|
85
|
+
"Docs reference the schema.",
|
|
86
|
+
"Package smoke includes the schema if it is public."
|
|
87
|
+
],
|
|
88
|
+
"tests": [
|
|
89
|
+
"npm ci",
|
|
90
|
+
"npm run schema:slice:check",
|
|
91
|
+
"node --test tests/schema/slice-schema.test.js",
|
|
92
|
+
"npm run docs:check",
|
|
93
|
+
"node --test",
|
|
94
|
+
"npm run package:quiver",
|
|
95
|
+
"git diff --check"
|
|
96
|
+
],
|
|
97
|
+
"validation_hints": [
|
|
98
|
+
"If adding schema tooling dependencies, commit package-lock changes."
|
|
99
|
+
],
|
|
100
|
+
"estimated_hours": 6,
|
|
101
|
+
"status": "completed",
|
|
102
|
+
"blocked_reason": null,
|
|
103
|
+
"actual_hours": 5,
|
|
104
|
+
"started_at": "2026-06-03T00:00:00-0300",
|
|
105
|
+
"completed_at": "2026-06-03T00:25:00-0300"
|
|
106
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-02 generated CLI reference
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Added a generated CLI command reference block and drift check that preserve curated docs outside explicit markers.
|
|
6
|
+
|
|
7
|
+
- Added `scripts/ci/check-command-reference.js` with `--write` and `--check` modes.
|
|
8
|
+
- Generated the protected block in `docs/reference/commands.md`.
|
|
9
|
+
- Added `npm run docs:commands:write` and `npm run docs:commands:check`.
|
|
10
|
+
- Wired `docs:commands:check` into `npm run docs:check`.
|
|
11
|
+
- Added tests for runtime-help consistency, docs synchronization, and manual-content preservation.
|
|
12
|
+
|
|
13
|
+
## Validation
|
|
14
|
+
|
|
15
|
+
- [x] `npm run docs:commands:write`
|
|
16
|
+
- [x] `npm run docs:commands:check`
|
|
17
|
+
- [x] `node --test tests/docs/command-reference.test.js`
|
|
18
|
+
- [x] `node bin/create-quiver.js --help`
|
|
19
|
+
- [x] `npm run docs:check`
|
|
20
|
+
- [x] `npm ci`
|
|
21
|
+
- [x] `node --test`
|
|
22
|
+
- [x] `git diff --check`
|
|
23
|
+
|
|
24
|
+
## Closure Conditions
|
|
25
|
+
|
|
26
|
+
- [x] Generated content protected.
|
|
27
|
+
- [x] Drift check available.
|
|
28
|
+
- [x] Manual docs preserved.
|
|
29
|
+
- [x] CI/docs check can fail on drift without rewriting files.
|
|
30
|
+
|
|
31
|
+
## Open Items
|
|
32
|
+
|
|
33
|
+
- None.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-02 generated CLI reference
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
`docs/reference/commands.md` can drift from runtime help. Generation must not erase curated explanations.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Generate or drift-check CLI command reference without overwriting curated documentation.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- Generated docs blocks or separate generated file.
|
|
14
|
+
- Drift check.
|
|
15
|
+
- Local script.
|
|
16
|
+
- CI/release integration point.
|
|
17
|
+
|
|
18
|
+
## Acceptance Criteria
|
|
19
|
+
|
|
20
|
+
- Manual content outside generated blocks is untouched.
|
|
21
|
+
- Generated content matches runtime help or registry metadata.
|
|
22
|
+
- Drift check can fail CI/release without rewriting files.
|
|
23
|
+
- Generation/check command is documented.
|
|
24
|
+
|
|
25
|
+
## Expected Files To Modify
|
|
26
|
+
|
|
27
|
+
- `docs/reference/commands.md`
|
|
28
|
+
- `scripts/**`
|
|
29
|
+
- `package.json`
|
|
30
|
+
- `package-lock.json`
|
|
31
|
+
- `tests/**`
|
|
32
|
+
- `specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md`
|
|
33
|
+
|
|
34
|
+
## Validations Required
|
|
35
|
+
|
|
36
|
+
- `npm ci`
|
|
37
|
+
- `node --test`
|
|
38
|
+
- `node bin/create-quiver.js --help`
|
|
39
|
+
- docs generation check command
|
|
40
|
+
- `git diff --check`
|
|
41
|
+
|
|
42
|
+
## Risks
|
|
43
|
+
|
|
44
|
+
- Destroying curated docs.
|
|
45
|
+
- Generating unstable output.
|
|
46
|
+
- Lockfile drift after adding scripts/dependencies.
|
|
47
|
+
|
|
48
|
+
## Dependencies
|
|
49
|
+
|
|
50
|
+
- Depends on `slice-00-schema-docs-release-baseline`.
|
|
51
|
+
|
|
52
|
+
## Instructions For Executor
|
|
53
|
+
|
|
54
|
+
1. Use generated blocks or a separate file.
|
|
55
|
+
2. Add a check mode for CI.
|
|
56
|
+
3. Keep manual docs protected.
|
|
57
|
+
4. Record drift validation evidence.
|
|
58
|
+
|
|
59
|
+
## Completion Checklist
|
|
60
|
+
|
|
61
|
+
- [ ] Acceptance criteria satisfied.
|
|
62
|
+
- [ ] Required validations run or blockers documented.
|
|
63
|
+
- [ ] Closure brief updated.
|
|
64
|
+
|
|
65
|
+
## Conditions Of Closure
|
|
66
|
+
|
|
67
|
+
- CLI reference drift is detectable without losing curated content.
|