create-quiver 0.15.4 → 0.16.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/.quiver/runs/run-2026-06-09t19-14-39z/approvals.json +5 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/decisions.md +2 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/requirement.md +0 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/docs/INDEX.md +97 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/manifest.json +61 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/state.json +28 -0
- package/ACTIVE_SLICES.md +43 -0
- package/ARCHITECTURE.md +133 -0
- package/CHANGELOG.md +12 -0
- package/CONTRIBUTING.md +174 -9
- package/README.md +10 -1
- package/ROADMAP.md +4 -0
- package/SECURITY.md +9 -2
- package/auditoria-ux-ui-performance-documentacion.md +705 -0
- package/copys-landing-page.md +244 -0
- package/docs/AI_CONTEXT.md.es.template +3 -1
- package/docs/AI_CONTEXT.md.template +3 -1
- package/docs/CLI_UX_GUIDE.md +9 -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 +1 -0
- 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/ai/ACTIVE_SLICE.md +61 -0
- package/docs/getting-started/installation.md +7 -0
- package/docs/reference/commands.md +104 -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/pr.md +154 -0
- 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 +91 -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/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 +294 -94
- 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 +71 -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,95 @@
|
|
|
1
|
+
# Evidence Report - Quiver v52 Schema, Docs, and Release Hygiene
|
|
2
|
+
|
|
3
|
+
## Planning Evidence
|
|
4
|
+
|
|
5
|
+
- Source requirements: `REQUERIMIENTOS_DERIVADOS_DE_AUDITORIA.md`.
|
|
6
|
+
- Approved plan: user-approved technical plan v4.
|
|
7
|
+
- Existing package smoke: `scripts/package-quiver.sh`.
|
|
8
|
+
- Existing release script: `scripts/release-quiver.sh`.
|
|
9
|
+
- Existing npm package boundary: `.npmignore`.
|
|
10
|
+
|
|
11
|
+
## Baseline Evidence To Capture During Execution
|
|
12
|
+
|
|
13
|
+
- `npm pack --dry-run` or `npm run package:quiver`
|
|
14
|
+
- package tarball contents
|
|
15
|
+
- install tarball in temporary project
|
|
16
|
+
- current `docs/reference/commands.md` vs `node bin/create-quiver.js --help`
|
|
17
|
+
- current slice JSON validation/generation source
|
|
18
|
+
- current changelog `[Unreleased]` state
|
|
19
|
+
|
|
20
|
+
## Validation Evidence
|
|
21
|
+
|
|
22
|
+
## slice-00-schema-docs-release-baseline
|
|
23
|
+
|
|
24
|
+
- `src/create-quiver/commands/spec.js`: current runtime spec/slice validation contains the primary executable checks for `slice.json`.
|
|
25
|
+
- `src/create-quiver/lib/ai/spec-generator.js`: current spec generation validates/generates a related subset of `slice.json` fields, so schema behavior is split rather than centralized.
|
|
26
|
+
- `docs/reference/commands.md`: current command reference is manually maintained; no generator/drift command exists in `package.json`.
|
|
27
|
+
- `.npmignore`: excludes local artifacts such as PDFs, tests, examples, package lock, CI scripts, and common local noise from the npm package.
|
|
28
|
+
- `scripts/package-quiver.sh`: current package smoke validates required package contents and rejects unsafe contents.
|
|
29
|
+
- `scripts/release-quiver.sh`: current release script requires a clean worktree and runs smoke/package checks before publish guidance.
|
|
30
|
+
- `scripts/ci/smoke-create-quiver.sh`: current smoke builds/installs a tarball and validates installed CLI behavior.
|
|
31
|
+
- Baseline decision: `slice-01` must derive `slice.schema.json` from current runtime behavior, not from aspirational fields.
|
|
32
|
+
- Baseline decision: `slice-02` should use protected generated blocks inside `docs/reference/commands.md`, keeping curated content outside markers.
|
|
33
|
+
- Baseline decision: `slice-03` should formalize package boundaries and changelog hygiene without adding automatic npm publish.
|
|
34
|
+
- Runtime code was not modified for this baseline slice.
|
|
35
|
+
- `git diff --check`: passed.
|
|
36
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`: passed.
|
|
37
|
+
|
|
38
|
+
## slice-01-json-schema-for-slice-json
|
|
39
|
+
|
|
40
|
+
- `docs/schema/slice.schema.json`: adds a public JSON Schema Draft-07 contract for executable `slice.json` files.
|
|
41
|
+
- Source-of-truth decision: schema is maintained manually from current runtime validation and generation behavior in `src/create-quiver/commands/spec.js`, `src/create-quiver/lib/slice.js`, `src/create-quiver/lib/readiness.js`, and `src/create-quiver/lib/ai/spec-generator.js`.
|
|
42
|
+
- `scripts/ci/check-slice-schema.js`: adds an AJV-backed validation script that compiles the schema, validates runtime-valid real fixtures, skips placeholder templates and one historical non-runtime fixture, and asserts representative invalid fixtures fail.
|
|
43
|
+
- `tests/schema/slice-schema.test.js` and `tests/fixtures/slice-schema/invalid/*.json`: cover schema declaration, real fixture validation, and invalid fixture rejection.
|
|
44
|
+
- `docs/reference/slice-schema.md` and `docs/INDEX.md`: document schema usage, source-of-truth boundaries, and the local check command.
|
|
45
|
+
- `package.json` and `package-lock.json`: add `schema:slice:check` and direct dev dependency `ajv`.
|
|
46
|
+
- `scripts/package-quiver.sh`: requires the public schema and schema reference doc in package smoke.
|
|
47
|
+
- `npm run schema:slice:check`: passed; 266 runtime-valid fixtures validated, 1 historical/non-runtime fixture skipped, 4 invalid fixtures rejected.
|
|
48
|
+
- `node --test tests/schema/slice-schema.test.js`: passed, 2 tests.
|
|
49
|
+
- `npm run docs:check`: passed, 21 files in docs scope.
|
|
50
|
+
- `npm run package:quiver`: passed and required `package/docs/schema/slice.schema.json` plus `package/docs/reference/slice-schema.md`.
|
|
51
|
+
- `npm ci`: passed on a clean dependency install.
|
|
52
|
+
- `node --test`: passed, 648 tests.
|
|
53
|
+
- `git diff --check`: passed.
|
|
54
|
+
|
|
55
|
+
## slice-02-generated-cli-reference
|
|
56
|
+
|
|
57
|
+
- `scripts/ci/check-command-reference.js`: adds deterministic CLI command reference generation and drift checking without new dependencies.
|
|
58
|
+
- Source-of-truth decision: generated command rows are read from `COMMAND_HELP_GROUPS` in `src/create-quiver/index.js` and checked against `node bin/create-quiver.js --lang en --help --no-color`.
|
|
59
|
+
- `docs/reference/commands.md`: adds a protected generated block inside `<!-- quiver:generated-cli-reference:start -->` / `<!-- quiver:generated-cli-reference:end -->`; curated documentation outside markers remains manual.
|
|
60
|
+
- `package.json`: adds `docs:commands:write`, `docs:commands:check`, and wires `docs:commands:check` into `docs:check` so docs drift can fail CI/release checks without rewriting files.
|
|
61
|
+
- `tests/docs/command-reference.test.js`: covers runtime-help consistency, current docs synchronization, and preservation of manual content outside generated markers.
|
|
62
|
+
- `npm run docs:commands:write`: passed; generated 7 groups and 59 commands.
|
|
63
|
+
- `npm run docs:commands:check`: passed; generated block is synchronized.
|
|
64
|
+
- `node --test tests/docs/command-reference.test.js`: passed, 3 tests.
|
|
65
|
+
- `node bin/create-quiver.js --help`: passed.
|
|
66
|
+
- `npm run docs:check`: passed, including markdown lint, link check, and generated CLI reference drift check.
|
|
67
|
+
- `npm ci`: passed; 165 packages installed/audited, 0 vulnerabilities reported.
|
|
68
|
+
- `node --test`: passed, 651 tests.
|
|
69
|
+
- `git diff --check`: passed.
|
|
70
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`: passed.
|
|
71
|
+
- `node bin/create-quiver.js check-slice specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json --local --gate validation`: passed.
|
|
72
|
+
|
|
73
|
+
## slice-03-changelog-package-release-smoke-hygiene
|
|
74
|
+
|
|
75
|
+
- `CHANGELOG.md`: documents v52 schema/docs/release hygiene work under `[Unreleased]`.
|
|
76
|
+
- `scripts/ci/check-changelog.js`: adds a no-dependency changelog gate requiring a categorized `[Unreleased]` entry.
|
|
77
|
+
- `tests/ci/changelog.test.js`: covers `[Unreleased]` extraction, categorized entries, and failure cases.
|
|
78
|
+
- `scripts/package-quiver.sh`: now requires `docs/reference/commands.md`, rejects local audit files, PDFs, tests, examples, worktree/tool state, credentials, key-like files, and CI-only scripts, installs the generated tarball, and verifies installed `--version`, `--help`, and `init --dry-run`.
|
|
79
|
+
- `.npmignore`: explicitly excludes local audit inputs, generated PDFs, key-like files, SSH folders, and local noise.
|
|
80
|
+
- `scripts/release-quiver.sh`: dry-run now runs changelog, docs, schema, installer, package, and installed CLI gates; publish flags require `QUIVER_ALLOW_NPM_PUBLISH=1`.
|
|
81
|
+
- `.github/workflows/ci.yml`: docs job now runs `npm run docs:check`, including generated command-reference drift detection.
|
|
82
|
+
- `CONTRIBUTING.md` and `README.md`: document package boundary, changelog, release dry-run, and publish guard expectations.
|
|
83
|
+
- `npm run changelog:check`: passed; 22 `[Unreleased]` entries detected.
|
|
84
|
+
- `node --test tests/ci/changelog.test.js`: passed, 3 tests.
|
|
85
|
+
- `bash -n scripts/package-quiver.sh scripts/release-quiver.sh`: passed.
|
|
86
|
+
- `shellcheck scripts/package-quiver.sh scripts/release-quiver.sh`: passed.
|
|
87
|
+
- `npm run package:quiver`: passed; generated `create-quiver-0.15.3.tgz` and installed CLI smoke passed.
|
|
88
|
+
- `npm run docs:check`: passed, including generated CLI reference drift check.
|
|
89
|
+
- `npm run schema:slice:check`: passed; 266 runtime-valid fixtures validated, 1 historical/non-runtime fixture skipped, 4 invalid fixtures rejected.
|
|
90
|
+
- `npm ci`: passed; 165 packages installed/audited, 0 vulnerabilities reported.
|
|
91
|
+
- `node --test`: passed, 654 tests.
|
|
92
|
+
- `git diff --check`: passed.
|
|
93
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`: passed.
|
|
94
|
+
- `node bin/create-quiver.js check-slice specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/slice.json --local --gate validation`: passed.
|
|
95
|
+
- `npm run release:quiver`: passed; changelog, docs, schema, installer smoke, package smoke, and installed CLI smoke passed before printing manual publish guidance.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Execution Plan - Quiver v52 Schema, Docs, and Release Hygiene
|
|
2
|
+
|
|
3
|
+
## Order
|
|
4
|
+
|
|
5
|
+
1. Execute `slice-00-schema-docs-release-baseline`.
|
|
6
|
+
2. Execute `slice-01-json-schema-for-slice-json`.
|
|
7
|
+
3. Execute `slice-02-generated-cli-reference`.
|
|
8
|
+
4. Execute `slice-03-changelog-package-release-smoke-hygiene`.
|
|
9
|
+
|
|
10
|
+
## Parallel Execution
|
|
11
|
+
|
|
12
|
+
- `slice-01` and `slice-02` may run in parallel after `slice-00`.
|
|
13
|
+
- `slice-03` must run after `slice-01` and `slice-02` so package/release checks include new schema/docs/scripts.
|
|
14
|
+
|
|
15
|
+
## Risk Controls
|
|
16
|
+
|
|
17
|
+
- Validate source of truth before generating schema.
|
|
18
|
+
- Protect manual docs content with generated blocks or separated output.
|
|
19
|
+
- Validate actual tarball install, not only local source.
|
|
20
|
+
- Keep publish automation out of scope unless release secrets and protection are confirmed.
|
|
21
|
+
|
|
22
|
+
## Required Final Validation
|
|
23
|
+
|
|
24
|
+
- `npm ci`
|
|
25
|
+
- `node --test`
|
|
26
|
+
- schema fixture validation
|
|
27
|
+
- docs generation drift check
|
|
28
|
+
- `npm run package:quiver`
|
|
29
|
+
- installed tarball smoke
|
|
30
|
+
- `git diff --check`
|
|
31
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Quiver v52 - Schema, Docs, and Release Hygiene
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-06-01
|
|
4
|
+
**Status:** In Progress
|
|
5
|
+
**Source:** User-approved plan v4 derived from `REQUERIMIENTOS_DERIVADOS_DE_AUDITORIA.md`.
|
|
6
|
+
|
|
7
|
+
Slice numbering resets here. This spec intentionally starts at `slice-00`.
|
|
8
|
+
|
|
9
|
+
## Problem
|
|
10
|
+
|
|
11
|
+
The audit identified DX and release-process gaps: no published JSON Schema for `slice.json`, manually maintained command reference, changelog/release hygiene gaps, and package/tarball validation that must stay current as docs and scripts evolve.
|
|
12
|
+
|
|
13
|
+
## Objective
|
|
14
|
+
|
|
15
|
+
Reduce documentation and release drift without over-automating risky publish steps:
|
|
16
|
+
|
|
17
|
+
- Identify the real source of truth for `slice.json`.
|
|
18
|
+
- Publish a schema aligned with runtime behavior.
|
|
19
|
+
- Generate or validate command reference from a safe source without overwriting curated content.
|
|
20
|
+
- Formalize changelog and release smoke hygiene.
|
|
21
|
+
- Validate npm package contents and installed CLI behavior.
|
|
22
|
+
|
|
23
|
+
## Scope
|
|
24
|
+
|
|
25
|
+
### Included
|
|
26
|
+
|
|
27
|
+
- Schema/docs/release baseline.
|
|
28
|
+
- `docs/schema/slice.schema.json`.
|
|
29
|
+
- Schema generation or documented source-of-truth process.
|
|
30
|
+
- Generated CLI reference with protected manual content.
|
|
31
|
+
- Changelog `[Unreleased]` hygiene.
|
|
32
|
+
- Package smoke updates for tarball contents and installed CLI.
|
|
33
|
+
- `.npmignore` and package safety updates where required.
|
|
34
|
+
|
|
35
|
+
### Excluded
|
|
36
|
+
|
|
37
|
+
- Automatic npm publish without secrets, branch protection, and CI maturity.
|
|
38
|
+
- Rewriting the docs site.
|
|
39
|
+
- Replacing all docs with generated output.
|
|
40
|
+
- Changing runtime slice semantics just to match an aspirational schema.
|
|
41
|
+
|
|
42
|
+
## Approved Acceptance Criteria
|
|
43
|
+
|
|
44
|
+
1. Schema source of truth is identified before schema generation.
|
|
45
|
+
2. `slice.schema.json` validates real valid fixtures and rejects representative invalid fixtures.
|
|
46
|
+
3. The schema does not promise fields unsupported by runtime validation/generation.
|
|
47
|
+
4. CLI command reference generation protects manual content.
|
|
48
|
+
5. CI or release checks detect drift between runtime help and generated command reference.
|
|
49
|
+
6. `[Unreleased]` changelog process is coherent and documented.
|
|
50
|
+
7. Package smoke validates tarball contents and installed CLI behavior.
|
|
51
|
+
8. Local audit files, PDFs, tests, worktrees, secrets, `.DS_Store`, and tool state do not enter the npm package.
|
|
52
|
+
|
|
53
|
+
## Execution Baseline - slice-00
|
|
54
|
+
|
|
55
|
+
| Finding | Current state | Evidence | Action |
|
|
56
|
+
|---|---|---|---|
|
|
57
|
+
| `slice.json` schema source of truth | partial | `src/create-quiver/commands/spec.js` validates `slice.json` through runtime rules; `src/create-quiver/lib/ai/spec-generator.js` validates/generates a related subset. No single versioned JSON Schema is present. | `slice-01` must derive the schema from current runtime validation/generation behavior and avoid aspirational unsupported fields. |
|
|
58
|
+
| Published / repo-only / generated classification | partial | `.npmignore` and `scripts/package-quiver.sh` define the practical npm boundary; classification is not documented as a reusable contract. | `slice-03` must formalize package boundaries and keep package smoke aligned. |
|
|
59
|
+
| Existing package and release smoke | implemented | `scripts/package-quiver.sh` validates package contents; `scripts/release-quiver.sh` requires a clean worktree and runs smoke/package checks before publish guidance. | Preserve this as baseline and extend only where schema/docs changes require it. |
|
|
60
|
+
| Current command reference | partial | `docs/reference/commands.md` is manually maintained; no generator or drift check is defined in `package.json` scripts. | `slice-02` must add generated reference or drift check without overwriting curated content. |
|
|
61
|
+
| Generated docs strategy | missing | No generated block markers, generated source, or docs drift command exists today. | Use protected generated blocks inside `docs/reference/commands.md`; keep curated sections outside markers and fail drift checks when help output changes. |
|
|
62
|
+
| Changelog `[Unreleased]` hygiene | partial | Release script exists, but the changelog process details remain open in this spec. | `slice-03` must document/validate the `[Unreleased]` process without adding unsafe publish automation. |
|
|
63
|
+
|
|
64
|
+
### Package Boundary Baseline
|
|
65
|
+
|
|
66
|
+
| Class | Current examples | Baseline decision |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| Published | `bin/create-quiver.js`, runtime `src/create-quiver/**`, packaged docs/templates required by `scripts/package-quiver.sh`, `package.json`, `.npmignore`, README/license files. | Keep published files limited to runtime CLI, required docs/templates, and package metadata. |
|
|
69
|
+
| Repo-only | `tests/**`, `examples/**`, local audit inputs, generated PDFs, `.github/**`, `scripts/ci/**`, worktrees, tool state, secrets, `package-lock.json`. | Continue excluding repo-only validation, local planning, and local artifacts from the npm package. |
|
|
70
|
+
| Generated | Future `docs/schema/slice.schema.json` and generated command-reference block(s). | Generated files must have a deterministic source and drift check before they are treated as release artifacts. |
|
|
71
|
+
|
|
72
|
+
## Slice Roadmap
|
|
73
|
+
|
|
74
|
+
| Slice | Title | Status | Dependencies |
|
|
75
|
+
|---|---|---|---|
|
|
76
|
+
| slice-00 | Schema/docs/release baseline | completed | none |
|
|
77
|
+
| slice-01 | JSON Schema for slice.json | completed | slice-00 |
|
|
78
|
+
| slice-02 | Generated CLI reference | completed | slice-00 |
|
|
79
|
+
| slice-03 | Changelog, package, and release smoke hygiene | completed | slice-01, slice-02 |
|
|
80
|
+
|
|
81
|
+
## Guardrails
|
|
82
|
+
|
|
83
|
+
- Do not generate schemas before confirming the real runtime contract.
|
|
84
|
+
- Do not overwrite curated docs outside generated blocks.
|
|
85
|
+
- Do not make flaky external links or network publish steps required for local release validation.
|
|
86
|
+
- Do not publish local audit artifacts or generated PDFs.
|
|
87
|
+
- Do not implement npm publish automation unless secrets and branch protection are explicitly available.
|
|
88
|
+
|
|
89
|
+
## Required Production Gates
|
|
90
|
+
|
|
91
|
+
- schema fixture validation
|
|
92
|
+
- generated docs drift check
|
|
93
|
+
- `npm ci`
|
|
94
|
+
- `node --test`
|
|
95
|
+
- `npm pack` or `npm run package:quiver`
|
|
96
|
+
- install tarball into a temp project
|
|
97
|
+
- execute installed `create-quiver --version`, `--help`, and at least one safe dry-run command
|
|
98
|
+
- `git diff --check`
|
|
99
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`
|
|
100
|
+
|
|
101
|
+
## Open Decisions
|
|
102
|
+
|
|
103
|
+
- Exact source of truth for `slice.json` schema: resolved in `slice-01`. The published schema is maintained manually from current runtime validation and generation behavior in `src/create-quiver/commands/spec.js`, `src/create-quiver/lib/slice.js`, `src/create-quiver/lib/readiness.js`, and `src/create-quiver/lib/ai/spec-generator.js`, then checked with `npm run schema:slice:check`.
|
|
104
|
+
- Command reference generation script: resolved in `slice-02` with `scripts/ci/check-command-reference.js`, `npm run docs:commands:write`, and `npm run docs:commands:check`.
|
|
105
|
+
- Generated command reference location: resolved in `slice-02` with a protected block inside `docs/reference/commands.md`, preserving curated content outside markers.
|
|
106
|
+
- Changelog process details: resolved in `slice-03` with `[Unreleased]` guidance in `CONTRIBUTING.md`, entries in `CHANGELOG.md`, and `npm run changelog:check`.
|
|
107
|
+
- Package publication boundary for new files: resolved in `slice-03`; public docs/schema/command reference stay packaged, CI/test/local audit/tool-state files stay excluded, and `npm run package:quiver` validates installed tarball behavior.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Status - Quiver v52 Schema, Docs, and Release Hygiene
|
|
2
|
+
|
|
3
|
+
**Overall status:** In Progress
|
|
4
|
+
**Created:** 2026-06-01
|
|
5
|
+
**Current slice:** slice-03-changelog-package-release-smoke-hygiene
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
This spec reduces schema/docs/release drift and hardens package validation without adding unsafe publish automation. All planned slices are complete.
|
|
10
|
+
|
|
11
|
+
## Slice Status
|
|
12
|
+
|
|
13
|
+
| Slice | Status | Notes |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| slice-00-schema-docs-release-baseline | Completed | Confirmed current schema validation is split, chose protected generated docs blocks, and classified package boundary baseline. |
|
|
16
|
+
| slice-01-json-schema-for-slice-json | Completed | Published Draft-07 schema, added AJV validation against runtime-valid fixtures and invalid fixtures, documented usage, and required schema/doc package contents. |
|
|
17
|
+
| slice-02-generated-cli-reference | Completed | Added protected generated CLI reference block, write/check commands, docs drift gate, and tests preserving manual content. |
|
|
18
|
+
| slice-03-changelog-package-release-smoke-hygiene | Completed | Added changelog gate, package tarball install smoke, stronger package exclusions, docs/schema release gates, CI docs drift check, and guarded publish flags. |
|
|
19
|
+
|
|
20
|
+
## Current Blockers
|
|
21
|
+
|
|
22
|
+
- None.
|
|
@@ -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.
|