@jasonbelmonti/markdown-engine 0.1.0 → 2.0.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/CHANGELOG.md +53 -4
- package/README.md +138 -10
- package/SECURITY.md +5 -3
- package/dist/api/annotation-source-range.d.ts +7 -0
- package/dist/api/annotation-source-range.d.ts.map +1 -0
- package/dist/api/annotation-source-range.js +103 -0
- package/dist/api/annotation-source-range.js.map +1 -0
- package/dist/api/annotation-target-candidate.d.ts +10 -0
- package/dist/api/annotation-target-candidate.d.ts.map +1 -0
- package/dist/api/annotation-target-candidate.js +14 -0
- package/dist/api/annotation-target-candidate.js.map +1 -0
- package/dist/api/annotation-target-cloning.d.ts +5 -0
- package/dist/api/annotation-target-cloning.d.ts.map +1 -0
- package/dist/api/annotation-target-cloning.js +122 -0
- package/dist/api/annotation-target-cloning.js.map +1 -0
- package/dist/api/annotation-target-diagnostics.d.ts +8 -0
- package/dist/api/annotation-target-diagnostics.d.ts.map +1 -0
- package/dist/api/annotation-target-diagnostics.js +57 -0
- package/dist/api/annotation-target-diagnostics.js.map +1 -0
- package/dist/api/annotation-target-runtime.d.ts +30 -0
- package/dist/api/annotation-target-runtime.d.ts.map +1 -0
- package/dist/api/annotation-target-runtime.js +161 -0
- package/dist/api/annotation-target-runtime.js.map +1 -0
- package/dist/api/annotation-target-validation.d.ts +4 -0
- package/dist/api/annotation-target-validation.d.ts.map +1 -0
- package/dist/api/annotation-target-validation.js +147 -0
- package/dist/api/annotation-target-validation.js.map +1 -0
- package/dist/api/annotations.d.ts +4 -0
- package/dist/api/annotations.d.ts.map +1 -0
- package/dist/api/annotations.js +16 -0
- package/dist/api/annotations.js.map +1 -0
- package/dist/api/compatibility.d.ts +15 -0
- package/dist/api/compatibility.d.ts.map +1 -0
- package/dist/api/compatibility.js +57 -0
- package/dist/api/compatibility.js.map +1 -0
- package/dist/api/contracts.d.ts +4 -1
- package/dist/api/contracts.d.ts.map +1 -1
- package/dist/api/contracts.js +3 -0
- package/dist/api/contracts.js.map +1 -1
- package/dist/api/declarative-validation.d.ts +13 -0
- package/dist/api/declarative-validation.d.ts.map +1 -0
- package/dist/api/declarative-validation.js +63 -0
- package/dist/api/declarative-validation.js.map +1 -0
- package/dist/api/document-queries.d.ts +3 -0
- package/dist/api/document-queries.d.ts.map +1 -0
- package/dist/api/document-queries.js +160 -0
- package/dist/api/document-queries.js.map +1 -0
- package/dist/api/document.d.ts +179 -2
- package/dist/api/document.d.ts.map +1 -1
- package/dist/api/engine-node-attributes.d.ts +15 -0
- package/dist/api/engine-node-attributes.d.ts.map +1 -0
- package/dist/api/engine-node-attributes.js +99 -0
- package/dist/api/engine-node-attributes.js.map +1 -0
- package/dist/api/normalize.d.ts +2 -1
- package/dist/api/normalize.d.ts.map +1 -1
- package/dist/api/normalize.js +22 -1
- package/dist/api/normalize.js.map +1 -1
- package/dist/api/serialize.d.ts +5 -1
- package/dist/api/serialize.d.ts.map +1 -1
- package/dist/api/serialize.js +7 -14
- package/dist/api/serialize.js.map +1 -1
- package/dist/cli/args.d.ts +18 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +109 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/declarative-validation.d.ts +18 -0
- package/dist/cli/declarative-validation.d.ts.map +1 -0
- package/dist/cli/declarative-validation.js +131 -0
- package/dist/cli/declarative-validation.js.map +1 -0
- package/dist/cli/document-version.d.ts +14 -0
- package/dist/cli/document-version.d.ts.map +1 -0
- package/dist/cli/document-version.js +32 -0
- package/dist/cli/document-version.js.map +1 -0
- package/dist/cli/files.d.ts +6 -0
- package/dist/cli/files.d.ts.map +1 -0
- package/dist/cli/files.js +33 -0
- package/dist/cli/files.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +9 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/normalize-markdown.d.ts +8 -0
- package/dist/cli/normalize-markdown.d.ts.map +1 -0
- package/dist/cli/normalize-markdown.js +10 -0
- package/dist/cli/normalize-markdown.js.map +1 -0
- package/dist/cli/run.d.ts +11 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +52 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/validate-args.d.ts +18 -0
- package/dist/cli/validate-args.d.ts.map +1 -0
- package/dist/cli/validate-args.js +131 -0
- package/dist/cli/validate-args.js.map +1 -0
- package/dist/declarative-validation/assertions/context.d.ts +8 -0
- package/dist/declarative-validation/assertions/context.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/context.js +2 -0
- package/dist/declarative-validation/assertions/context.js.map +1 -0
- package/dist/declarative-validation/assertions/diagnostics.d.ts +22 -0
- package/dist/declarative-validation/assertions/diagnostics.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/diagnostics.js +71 -0
- package/dist/declarative-validation/assertions/diagnostics.js.map +1 -0
- package/dist/declarative-validation/assertions/document-text-offsets.d.ts +3 -0
- package/dist/declarative-validation/assertions/document-text-offsets.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/document-text-offsets.js +32 -0
- package/dist/declarative-validation/assertions/document-text-offsets.js.map +1 -0
- package/dist/declarative-validation/assertions/evaluator.d.ts +5 -0
- package/dist/declarative-validation/assertions/evaluator.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/evaluator.js +46 -0
- package/dist/declarative-validation/assertions/evaluator.js.map +1 -0
- package/dist/declarative-validation/assertions/exists.d.ts +4 -0
- package/dist/declarative-validation/assertions/exists.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/exists.js +8 -0
- package/dist/declarative-validation/assertions/exists.js.map +1 -0
- package/dist/declarative-validation/assertions/frontmatter-required.d.ts +9 -0
- package/dist/declarative-validation/assertions/frontmatter-required.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/frontmatter-required.js +15 -0
- package/dist/declarative-validation/assertions/frontmatter-required.js.map +1 -0
- package/dist/declarative-validation/assertions/id-targets.d.ts +29 -0
- package/dist/declarative-validation/assertions/id-targets.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/id-targets.js +428 -0
- package/dist/declarative-validation/assertions/id-targets.js.map +1 -0
- package/dist/declarative-validation/assertions/id-tokens.d.ts +15 -0
- package/dist/declarative-validation/assertions/id-tokens.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/id-tokens.js +27 -0
- package/dist/declarative-validation/assertions/id-tokens.js.map +1 -0
- package/dist/declarative-validation/assertions/ids.d.ts +9 -0
- package/dist/declarative-validation/assertions/ids.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/ids.js +42 -0
- package/dist/declarative-validation/assertions/ids.js.map +1 -0
- package/dist/declarative-validation/assertions/index.d.ts +3 -0
- package/dist/declarative-validation/assertions/index.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/index.js +3 -0
- package/dist/declarative-validation/assertions/index.js.map +1 -0
- package/dist/declarative-validation/assertions/literal-text.d.ts +2 -0
- package/dist/declarative-validation/assertions/literal-text.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/literal-text.js +14 -0
- package/dist/declarative-validation/assertions/literal-text.js.map +1 -0
- package/dist/declarative-validation/assertions/normalized-source-ranges.d.ts +3 -0
- package/dist/declarative-validation/assertions/normalized-source-ranges.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/normalized-source-ranges.js +105 -0
- package/dist/declarative-validation/assertions/normalized-source-ranges.js.map +1 -0
- package/dist/declarative-validation/assertions/ordering.d.ts +6 -0
- package/dist/declarative-validation/assertions/ordering.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/ordering.js +71 -0
- package/dist/declarative-validation/assertions/ordering.js.map +1 -0
- package/dist/declarative-validation/assertions/references.d.ts +9 -0
- package/dist/declarative-validation/assertions/references.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/references.js +354 -0
- package/dist/declarative-validation/assertions/references.js.map +1 -0
- package/dist/declarative-validation/assertions/sections-required.d.ts +9 -0
- package/dist/declarative-validation/assertions/sections-required.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/sections-required.js +49 -0
- package/dist/declarative-validation/assertions/sections-required.js.map +1 -0
- package/dist/declarative-validation/assertions/table-columns-required.d.ts +9 -0
- package/dist/declarative-validation/assertions/table-columns-required.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/table-columns-required.js +31 -0
- package/dist/declarative-validation/assertions/table-columns-required.js.map +1 -0
- package/dist/declarative-validation/assertions/text-length.d.ts +9 -0
- package/dist/declarative-validation/assertions/text-length.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/text-length.js +40 -0
- package/dist/declarative-validation/assertions/text-length.js.map +1 -0
- package/dist/declarative-validation/assertions/text-occurrence-count.d.ts +9 -0
- package/dist/declarative-validation/assertions/text-occurrence-count.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/text-occurrence-count.js +22 -0
- package/dist/declarative-validation/assertions/text-occurrence-count.js.map +1 -0
- package/dist/declarative-validation/assertions/text.d.ts +9 -0
- package/dist/declarative-validation/assertions/text.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/text.js +32 -0
- package/dist/declarative-validation/assertions/text.js.map +1 -0
- package/dist/declarative-validation/compiler/assertion-builders.d.ts +6 -0
- package/dist/declarative-validation/compiler/assertion-builders.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/assertion-builders.js +199 -0
- package/dist/declarative-validation/compiler/assertion-builders.js.map +1 -0
- package/dist/declarative-validation/compiler/assertion-shapes.d.ts +18 -0
- package/dist/declarative-validation/compiler/assertion-shapes.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/assertion-shapes.js +129 -0
- package/dist/declarative-validation/compiler/assertion-shapes.js.map +1 -0
- package/dist/declarative-validation/compiler/assertions.d.ts +5 -0
- package/dist/declarative-validation/compiler/assertions.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/assertions.js +25 -0
- package/dist/declarative-validation/compiler/assertions.js.map +1 -0
- package/dist/declarative-validation/compiler/compatibility.d.ts +4 -0
- package/dist/declarative-validation/compiler/compatibility.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/compatibility.js +28 -0
- package/dist/declarative-validation/compiler/compatibility.js.map +1 -0
- package/dist/declarative-validation/compiler/diagnostics.d.ts +3 -0
- package/dist/declarative-validation/compiler/diagnostics.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/diagnostics.js +9 -0
- package/dist/declarative-validation/compiler/diagnostics.js.map +1 -0
- package/dist/declarative-validation/compiler/index.d.ts +5 -0
- package/dist/declarative-validation/compiler/index.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/index.js +164 -0
- package/dist/declarative-validation/compiler/index.js.map +1 -0
- package/dist/declarative-validation/compiler/plan.d.ts +58 -0
- package/dist/declarative-validation/compiler/plan.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/plan.js +2 -0
- package/dist/declarative-validation/compiler/plan.js.map +1 -0
- package/dist/declarative-validation/diagnostics/index.d.ts +7 -0
- package/dist/declarative-validation/diagnostics/index.d.ts.map +1 -0
- package/dist/declarative-validation/diagnostics/index.js +2 -0
- package/dist/declarative-validation/diagnostics/index.js.map +1 -0
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.d.ts +11 -0
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.d.ts.map +1 -0
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.js +45 -0
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.js.map +1 -0
- package/dist/declarative-validation/evidence/index.d.ts +14 -0
- package/dist/declarative-validation/evidence/index.d.ts.map +1 -0
- package/dist/declarative-validation/evidence/index.js +38 -0
- package/dist/declarative-validation/evidence/index.js.map +1 -0
- package/dist/declarative-validation/profile/assertion-schema.d.ts +4 -0
- package/dist/declarative-validation/profile/assertion-schema.d.ts.map +1 -0
- package/dist/declarative-validation/profile/assertion-schema.js +285 -0
- package/dist/declarative-validation/profile/assertion-schema.js.map +1 -0
- package/dist/declarative-validation/profile/data-closure.d.ts +6 -0
- package/dist/declarative-validation/profile/data-closure.d.ts.map +1 -0
- package/dist/declarative-validation/profile/data-closure.js +167 -0
- package/dist/declarative-validation/profile/data-closure.js.map +1 -0
- package/dist/declarative-validation/profile/direct-profile-diagnostics.d.ts +5 -0
- package/dist/declarative-validation/profile/direct-profile-diagnostics.d.ts.map +1 -0
- package/dist/declarative-validation/profile/direct-profile-diagnostics.js +73 -0
- package/dist/declarative-validation/profile/direct-profile-diagnostics.js.map +1 -0
- package/dist/declarative-validation/profile/index.d.ts +113 -0
- package/dist/declarative-validation/profile/index.d.ts.map +1 -0
- package/dist/declarative-validation/profile/index.js +2 -0
- package/dist/declarative-validation/profile/index.js.map +1 -0
- package/dist/declarative-validation/profile/materialization.d.ts +9 -0
- package/dist/declarative-validation/profile/materialization.d.ts.map +1 -0
- package/dist/declarative-validation/profile/materialization.js +109 -0
- package/dist/declarative-validation/profile/materialization.js.map +1 -0
- package/dist/declarative-validation/profile/parse.d.ts +3 -0
- package/dist/declarative-validation/profile/parse.d.ts.map +1 -0
- package/dist/declarative-validation/profile/parse.js +89 -0
- package/dist/declarative-validation/profile/parse.js.map +1 -0
- package/dist/declarative-validation/profile/schema-values.d.ts +14 -0
- package/dist/declarative-validation/profile/schema-values.d.ts.map +1 -0
- package/dist/declarative-validation/profile/schema-values.js +81 -0
- package/dist/declarative-validation/profile/schema-values.js.map +1 -0
- package/dist/declarative-validation/profile/schema.d.ts +9 -0
- package/dist/declarative-validation/profile/schema.d.ts.map +1 -0
- package/dist/declarative-validation/profile/schema.js +98 -0
- package/dist/declarative-validation/profile/schema.js.map +1 -0
- package/dist/declarative-validation/profile/selector-schema.d.ts +4 -0
- package/dist/declarative-validation/profile/selector-schema.d.ts.map +1 -0
- package/dist/declarative-validation/profile/selector-schema.js +145 -0
- package/dist/declarative-validation/profile/selector-schema.js.map +1 -0
- package/dist/declarative-validation/results/index.d.ts +26 -0
- package/dist/declarative-validation/results/index.d.ts.map +1 -0
- package/dist/declarative-validation/results/index.js +2 -0
- package/dist/declarative-validation/results/index.js.map +1 -0
- package/dist/declarative-validation/selectors/index.d.ts +57 -0
- package/dist/declarative-validation/selectors/index.d.ts.map +1 -0
- package/dist/declarative-validation/selectors/index.js +149 -0
- package/dist/declarative-validation/selectors/index.js.map +1 -0
- package/dist/declarative-validation/selectors/source.d.ts +8 -0
- package/dist/declarative-validation/selectors/source.d.ts.map +1 -0
- package/dist/declarative-validation/selectors/source.js +57 -0
- package/dist/declarative-validation/selectors/source.js.map +1 -0
- package/dist/declarative-validation/selectors/table-targets.d.ts +13 -0
- package/dist/declarative-validation/selectors/table-targets.d.ts.map +1 -0
- package/dist/declarative-validation/selectors/table-targets.js +106 -0
- package/dist/declarative-validation/selectors/table-targets.js.map +1 -0
- package/dist/declarative-validation/selectors/table-text.d.ts +4 -0
- package/dist/declarative-validation/selectors/table-text.d.ts.map +1 -0
- package/dist/declarative-validation/selectors/table-text.js +16 -0
- package/dist/declarative-validation/selectors/table-text.js.map +1 -0
- package/dist/internal/document-node-walk.d.ts +10 -0
- package/dist/internal/document-node-walk.d.ts.map +1 -0
- package/dist/internal/document-node-walk.js +36 -0
- package/dist/internal/document-node-walk.js.map +1 -0
- package/dist/internal/stable-json.d.ts +3 -0
- package/dist/internal/stable-json.d.ts.map +1 -0
- package/dist/internal/stable-json.js +17 -0
- package/dist/internal/stable-json.js.map +1 -0
- package/dist/ir/document-derived-views.d.ts +4 -0
- package/dist/ir/document-derived-views.d.ts.map +1 -0
- package/dist/ir/document-derived-views.js +27 -0
- package/dist/ir/document-derived-views.js.map +1 -0
- package/dist/ir/document-link-reference-views.d.ts +3 -0
- package/dist/ir/document-link-reference-views.d.ts.map +1 -0
- package/dist/ir/document-link-reference-views.js +150 -0
- package/dist/ir/document-link-reference-views.js.map +1 -0
- package/dist/ir/document-link-views.d.ts +3 -0
- package/dist/ir/document-link-views.d.ts.map +1 -0
- package/dist/ir/document-link-views.js +23 -0
- package/dist/ir/document-link-views.js.map +1 -0
- package/dist/ir/document-list-views.d.ts +3 -0
- package/dist/ir/document-list-views.d.ts.map +1 -0
- package/dist/ir/document-list-views.js +39 -0
- package/dist/ir/document-list-views.js.map +1 -0
- package/dist/ir/document-sections.d.ts +3 -0
- package/dist/ir/document-sections.d.ts.map +1 -0
- package/dist/ir/document-sections.js +55 -0
- package/dist/ir/document-sections.js.map +1 -0
- package/dist/ir/document-table-views.d.ts +3 -0
- package/dist/ir/document-table-views.d.ts.map +1 -0
- package/dist/ir/document-table-views.js +31 -0
- package/dist/ir/document-table-views.js.map +1 -0
- package/dist/ir/document-targets.d.ts +10 -0
- package/dist/ir/document-targets.d.ts.map +1 -0
- package/dist/ir/document-targets.js +44 -0
- package/dist/ir/document-targets.js.map +1 -0
- package/dist/ir/document-text-spans.d.ts +3 -0
- package/dist/ir/document-text-spans.d.ts.map +1 -0
- package/dist/ir/document-text-spans.js +18 -0
- package/dist/ir/document-text-spans.js.map +1 -0
- package/dist/ir/document.d.ts +2 -3
- package/dist/ir/document.d.ts.map +1 -1
- package/dist/ir/document.js +12 -8
- package/dist/ir/document.js.map +1 -1
- package/dist/ir/index.d.ts +1 -0
- package/dist/ir/index.d.ts.map +1 -1
- package/dist/ir/normalization-input.d.ts +12 -0
- package/dist/ir/normalization-input.d.ts.map +1 -0
- package/dist/ir/normalization-input.js +2 -0
- package/dist/ir/normalization-input.js.map +1 -0
- package/dist/ir/source-ranges.d.ts +8 -0
- package/dist/ir/source-ranges.d.ts.map +1 -0
- package/dist/ir/source-ranges.js +21 -0
- package/dist/ir/source-ranges.js.map +1 -0
- package/dist/rules/code-fence-languages.d.ts.map +1 -1
- package/dist/rules/code-fence-languages.js +4 -6
- package/dist/rules/code-fence-languages.js.map +1 -1
- package/dist/rules/document-query.d.ts +0 -2
- package/dist/rules/document-query.d.ts.map +1 -1
- package/dist/rules/document-query.js +1 -17
- package/dist/rules/document-query.js.map +1 -1
- package/dist/rules/index.d.ts +2 -6
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +3 -37
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/links-allowed-schemes.d.ts.map +1 -1
- package/dist/rules/links-allowed-schemes.js +3 -2
- package/dist/rules/links-allowed-schemes.js.map +1 -1
- package/dist/rules/registry.d.ts +12 -0
- package/dist/rules/registry.d.ts.map +1 -0
- package/dist/rules/registry.js +61 -0
- package/dist/rules/registry.js.map +1 -0
- package/docs/contracts/api.md +661 -0
- package/docs/contracts/declarative-validation.md +559 -0
- package/docs/contracts/frontmatter.md +122 -0
- package/fixtures/declarative-validation/examples/operational-spec/fail.md +32 -0
- package/fixtures/declarative-validation/examples/operational-spec/pass.md +34 -0
- package/fixtures/declarative-validation/examples/operational-spec/profile.yaml +131 -0
- package/fixtures/declarative-validation/examples/release-checklist/fail.md +22 -0
- package/fixtures/declarative-validation/examples/release-checklist/pass.md +22 -0
- package/fixtures/declarative-validation/examples/release-checklist/profile.yaml +96 -0
- package/fixtures/declarative-validation/examples/requirements-traceability/fail.md +27 -0
- package/fixtures/declarative-validation/examples/requirements-traceability/pass.md +27 -0
- package/fixtures/declarative-validation/examples/requirements-traceability/profile.yaml +119 -0
- package/package.json +37 -4
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Operational Spec Example
|
|
3
|
+
status: ready
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Objective
|
|
7
|
+
|
|
8
|
+
Mission control.
|
|
9
|
+
|
|
10
|
+
# Context / Constraints
|
|
11
|
+
|
|
12
|
+
The example stays generic. It validates Markdown headings, tables, IDs, list
|
|
13
|
+
content, literal text, and links without attaching domain meaning to the core
|
|
14
|
+
engine.
|
|
15
|
+
|
|
16
|
+
# Execution Plan
|
|
17
|
+
|
|
18
|
+
- MUST Validate profile fixtures locally.
|
|
19
|
+
- Record evidence before requesting review.
|
|
20
|
+
- Keep the checks deterministic and local-only.
|
|
21
|
+
|
|
22
|
+
# Risk Register
|
|
23
|
+
|
|
24
|
+
| ID | Mitigation | Status |
|
|
25
|
+
| --- | --- | --- |
|
|
26
|
+
| OPS-RISK-1 | Keep examples structural. | tracked |
|
|
27
|
+
| OPS-RISK-2 | Keep commands local. | closed |
|
|
28
|
+
|
|
29
|
+
# Handoff Links
|
|
30
|
+
|
|
31
|
+
The [handoff packet](./handoff-packet.md) records follow-up review notes for the
|
|
32
|
+
next operator.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Operational Spec Example
|
|
3
|
+
owner: platform-team
|
|
4
|
+
status: ready
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Objective
|
|
8
|
+
|
|
9
|
+
Mission control uses this structural profile to confirm a small operating spec
|
|
10
|
+
has the required sections, handoff links, and risk tracking details.
|
|
11
|
+
|
|
12
|
+
# Context / Constraints
|
|
13
|
+
|
|
14
|
+
The example stays generic. It validates Markdown headings, tables, IDs, list
|
|
15
|
+
content, literal text, and links without attaching domain meaning to the core
|
|
16
|
+
engine.
|
|
17
|
+
|
|
18
|
+
# Execution Plan
|
|
19
|
+
|
|
20
|
+
- MUST Validate profile fixtures locally.
|
|
21
|
+
- MUST Record evidence before requesting review.
|
|
22
|
+
- Keep the checks deterministic and local-only.
|
|
23
|
+
|
|
24
|
+
# Risk Register
|
|
25
|
+
|
|
26
|
+
| ID | Mitigation | Status |
|
|
27
|
+
| --- | --- | --- |
|
|
28
|
+
| OPS-RISK-1 | Keep examples structural. | tracked |
|
|
29
|
+
| OPS-RISK-2 | Keep commands local. | closed |
|
|
30
|
+
|
|
31
|
+
# Handoff Links
|
|
32
|
+
|
|
33
|
+
The [handoff packet](./handoff-packet.md) records follow-up review notes for the
|
|
34
|
+
next operator.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
syntaxVersion: markdown-engine.validation@v1
|
|
2
|
+
documentVersion: 1.0.0
|
|
3
|
+
rules:
|
|
4
|
+
- id: frontmatter.required
|
|
5
|
+
select:
|
|
6
|
+
target: document
|
|
7
|
+
assert:
|
|
8
|
+
frontmatterRequired:
|
|
9
|
+
fields:
|
|
10
|
+
- title
|
|
11
|
+
- owner
|
|
12
|
+
- status
|
|
13
|
+
|
|
14
|
+
- id: sections.required
|
|
15
|
+
select:
|
|
16
|
+
target: document
|
|
17
|
+
assert:
|
|
18
|
+
sectionsRequired:
|
|
19
|
+
order: strict
|
|
20
|
+
headings:
|
|
21
|
+
- Objective
|
|
22
|
+
- Context / Constraints
|
|
23
|
+
- Execution Plan
|
|
24
|
+
- Risk Register
|
|
25
|
+
- Handoff Links
|
|
26
|
+
|
|
27
|
+
- id: objective.text
|
|
28
|
+
select:
|
|
29
|
+
target: section
|
|
30
|
+
title: Objective
|
|
31
|
+
assert:
|
|
32
|
+
text:
|
|
33
|
+
contains: "Mission control"
|
|
34
|
+
|
|
35
|
+
- id: objective.length
|
|
36
|
+
select:
|
|
37
|
+
target: section
|
|
38
|
+
title: Objective
|
|
39
|
+
assert:
|
|
40
|
+
textLength:
|
|
41
|
+
min: 80
|
|
42
|
+
max: 180
|
|
43
|
+
|
|
44
|
+
- id: risk.heading.text
|
|
45
|
+
select:
|
|
46
|
+
target: heading
|
|
47
|
+
text: Risk Register
|
|
48
|
+
assert:
|
|
49
|
+
text:
|
|
50
|
+
contains: "Risk Register"
|
|
51
|
+
|
|
52
|
+
- id: risk.table.columns
|
|
53
|
+
select:
|
|
54
|
+
target: table
|
|
55
|
+
section: Risk Register
|
|
56
|
+
header:
|
|
57
|
+
- ID
|
|
58
|
+
- Mitigation
|
|
59
|
+
- Status
|
|
60
|
+
assert:
|
|
61
|
+
tableColumnsRequired:
|
|
62
|
+
columns:
|
|
63
|
+
- ID
|
|
64
|
+
- Mitigation
|
|
65
|
+
- Status
|
|
66
|
+
|
|
67
|
+
- id: risk.ids.unique
|
|
68
|
+
select:
|
|
69
|
+
target: tableCell
|
|
70
|
+
section: Risk Register
|
|
71
|
+
tableHeader:
|
|
72
|
+
- ID
|
|
73
|
+
- Mitigation
|
|
74
|
+
- Status
|
|
75
|
+
column: ID
|
|
76
|
+
assert:
|
|
77
|
+
ids:
|
|
78
|
+
prefix: OPS-RISK
|
|
79
|
+
unique: true
|
|
80
|
+
|
|
81
|
+
- id: tracked.risk.row
|
|
82
|
+
select:
|
|
83
|
+
target: tableRow
|
|
84
|
+
section: Risk Register
|
|
85
|
+
tableHeader:
|
|
86
|
+
- ID
|
|
87
|
+
- Mitigation
|
|
88
|
+
- Status
|
|
89
|
+
where:
|
|
90
|
+
column: Status
|
|
91
|
+
equals: tracked
|
|
92
|
+
assert:
|
|
93
|
+
text:
|
|
94
|
+
contains: OPS-RISK-1
|
|
95
|
+
|
|
96
|
+
- id: execution.must.count
|
|
97
|
+
select:
|
|
98
|
+
target: section
|
|
99
|
+
title: Execution Plan
|
|
100
|
+
assert:
|
|
101
|
+
textOccurrenceCount:
|
|
102
|
+
text: MUST
|
|
103
|
+
count: 2
|
|
104
|
+
|
|
105
|
+
- id: execution.list
|
|
106
|
+
select:
|
|
107
|
+
target: list
|
|
108
|
+
section: Execution Plan
|
|
109
|
+
ordered: false
|
|
110
|
+
assert:
|
|
111
|
+
text:
|
|
112
|
+
contains: "Validate profile"
|
|
113
|
+
|
|
114
|
+
- id: handoff.paragraph
|
|
115
|
+
select:
|
|
116
|
+
target: textSpan
|
|
117
|
+
section: Handoff Links
|
|
118
|
+
nodeType: paragraph
|
|
119
|
+
textIncludes: "handoff packet"
|
|
120
|
+
assert:
|
|
121
|
+
text:
|
|
122
|
+
contains: "follow-up"
|
|
123
|
+
|
|
124
|
+
- id: handoff.link
|
|
125
|
+
select:
|
|
126
|
+
target: link
|
|
127
|
+
section: Handoff Links
|
|
128
|
+
text: "handoff packet"
|
|
129
|
+
url: "./handoff-packet.md"
|
|
130
|
+
assert:
|
|
131
|
+
exists: true
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Release Checklist Example
|
|
3
|
+
release: 1.0.0
|
|
4
|
+
owner: release-team
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Release Checklist
|
|
8
|
+
|
|
9
|
+
- Verify package metadata.
|
|
10
|
+
- Use manual bypass for the dry run.
|
|
11
|
+
- Record release evidence.
|
|
12
|
+
|
|
13
|
+
# Gate Table
|
|
14
|
+
|
|
15
|
+
| ID | Gate | Status |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| REL-GATE-1 | Contract docs | blocked |
|
|
18
|
+
| REL-GATE-1 | Boundary audit | ready |
|
|
19
|
+
|
|
20
|
+
# Links
|
|
21
|
+
|
|
22
|
+
Publish review uses the [release notes](./release-notes.md) after all gates pass.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Release Checklist Example
|
|
3
|
+
release: 1.0.0
|
|
4
|
+
owner: release-team
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Release Checklist
|
|
8
|
+
|
|
9
|
+
- Verify package metadata.
|
|
10
|
+
- Verify package dry run.
|
|
11
|
+
- Record release evidence.
|
|
12
|
+
|
|
13
|
+
# Gate Table
|
|
14
|
+
|
|
15
|
+
| ID | Gate | Status |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| REL-GATE-1 | Contract docs | ready |
|
|
18
|
+
| REL-GATE-2 | Boundary audit | ready |
|
|
19
|
+
|
|
20
|
+
# Links
|
|
21
|
+
|
|
22
|
+
Publish review uses the [release notes](./release-notes.md) after all gates pass.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
syntaxVersion: markdown-engine.validation@v1
|
|
2
|
+
documentVersion: 1.0.0
|
|
3
|
+
rules:
|
|
4
|
+
- id: frontmatter.required
|
|
5
|
+
select:
|
|
6
|
+
target: document
|
|
7
|
+
assert:
|
|
8
|
+
frontmatterRequired:
|
|
9
|
+
fields:
|
|
10
|
+
- title
|
|
11
|
+
- release
|
|
12
|
+
- owner
|
|
13
|
+
|
|
14
|
+
- id: sections.required
|
|
15
|
+
select:
|
|
16
|
+
target: document
|
|
17
|
+
assert:
|
|
18
|
+
sectionsRequired:
|
|
19
|
+
order: strict
|
|
20
|
+
headings:
|
|
21
|
+
- Release Checklist
|
|
22
|
+
- Gate Table
|
|
23
|
+
- Links
|
|
24
|
+
|
|
25
|
+
- id: checklist.list
|
|
26
|
+
select:
|
|
27
|
+
target: list
|
|
28
|
+
section: Release Checklist
|
|
29
|
+
ordered: false
|
|
30
|
+
assert:
|
|
31
|
+
text:
|
|
32
|
+
contains: "Verify package"
|
|
33
|
+
excludes:
|
|
34
|
+
- "manual bypass"
|
|
35
|
+
|
|
36
|
+
- id: gate.table.columns
|
|
37
|
+
select:
|
|
38
|
+
target: table
|
|
39
|
+
section: Gate Table
|
|
40
|
+
header:
|
|
41
|
+
- ID
|
|
42
|
+
- Gate
|
|
43
|
+
- Status
|
|
44
|
+
assert:
|
|
45
|
+
tableColumnsRequired:
|
|
46
|
+
columns:
|
|
47
|
+
- ID
|
|
48
|
+
- Gate
|
|
49
|
+
- Status
|
|
50
|
+
|
|
51
|
+
- id: gate.ids.unique
|
|
52
|
+
select:
|
|
53
|
+
target: tableCell
|
|
54
|
+
section: Gate Table
|
|
55
|
+
column: ID
|
|
56
|
+
assert:
|
|
57
|
+
ids:
|
|
58
|
+
prefix: REL-GATE
|
|
59
|
+
unique: true
|
|
60
|
+
|
|
61
|
+
- id: ready.gate.row
|
|
62
|
+
select:
|
|
63
|
+
target: tableRow
|
|
64
|
+
section: Gate Table
|
|
65
|
+
tableHeader:
|
|
66
|
+
- ID
|
|
67
|
+
- Gate
|
|
68
|
+
- Status
|
|
69
|
+
where:
|
|
70
|
+
column: Gate
|
|
71
|
+
equals: "Contract docs"
|
|
72
|
+
assert:
|
|
73
|
+
text:
|
|
74
|
+
contains: ready
|
|
75
|
+
|
|
76
|
+
- id: status.ready.count
|
|
77
|
+
select:
|
|
78
|
+
target: tableCell
|
|
79
|
+
section: Gate Table
|
|
80
|
+
column: Status
|
|
81
|
+
rowWhere:
|
|
82
|
+
column: ID
|
|
83
|
+
equals: REL-GATE-1
|
|
84
|
+
assert:
|
|
85
|
+
textOccurrenceCount:
|
|
86
|
+
text: ready
|
|
87
|
+
count: 1
|
|
88
|
+
|
|
89
|
+
- id: release.link
|
|
90
|
+
select:
|
|
91
|
+
target: link
|
|
92
|
+
section: Links
|
|
93
|
+
text: "release notes"
|
|
94
|
+
url: "./release-notes.md"
|
|
95
|
+
assert:
|
|
96
|
+
exists: true
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Requirements Traceability Example
|
|
3
|
+
owner: quality-team
|
|
4
|
+
status: ready
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Requirements
|
|
8
|
+
|
|
9
|
+
| ID | Requirement statement | Source |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| REQ-1 | The package shall parse one Markdown file. | CLI |
|
|
12
|
+
| REQ-2 | The package shall validate a configured profile. | API |
|
|
13
|
+
| REQ-3 | The package shall emit deterministic diagnostics. | Evidence |
|
|
14
|
+
|
|
15
|
+
# Evidence Matrix
|
|
16
|
+
|
|
17
|
+
| ID | Requirement | Note |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| EVD-1 | REQ-1 | CLI parse fixture |
|
|
20
|
+
| EVD-2 | REQ-2 | Profile validation fixture |
|
|
21
|
+
| EVD-3 | REQ-3 | Diagnostic assertion fixture |
|
|
22
|
+
|
|
23
|
+
# Traceability
|
|
24
|
+
|
|
25
|
+
REQ-1 is covered by EVD-1.
|
|
26
|
+
REQ-2 is covered by EVD-2.
|
|
27
|
+
EVD-3 has evidence, but the final requirement reference is missing.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Requirements Traceability Example
|
|
3
|
+
owner: quality-team
|
|
4
|
+
status: ready
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Requirements
|
|
8
|
+
|
|
9
|
+
| ID | Requirement statement | Source |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| REQ-1 | The package shall parse one Markdown file. | CLI |
|
|
12
|
+
| REQ-2 | The package shall validate a configured profile. | API |
|
|
13
|
+
| REQ-3 | The package shall emit deterministic diagnostics. | Evidence |
|
|
14
|
+
|
|
15
|
+
# Evidence Matrix
|
|
16
|
+
|
|
17
|
+
| ID | Requirement | Evidence |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| EVD-1 | REQ-1 | CLI parse fixture |
|
|
20
|
+
| EVD-2 | REQ-2 | Profile validation fixture |
|
|
21
|
+
| EVD-3 | REQ-3 | Diagnostic assertion fixture |
|
|
22
|
+
|
|
23
|
+
# Traceability
|
|
24
|
+
|
|
25
|
+
REQ-1 is covered by EVD-1.
|
|
26
|
+
REQ-2 is covered by EVD-2.
|
|
27
|
+
REQ-3 is covered by EVD-3.
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
syntaxVersion: markdown-engine.validation@v1
|
|
2
|
+
documentVersion: 1.0.0
|
|
3
|
+
rules:
|
|
4
|
+
- id: frontmatter.required
|
|
5
|
+
select:
|
|
6
|
+
target: document
|
|
7
|
+
assert:
|
|
8
|
+
frontmatterRequired:
|
|
9
|
+
fields:
|
|
10
|
+
- title
|
|
11
|
+
- owner
|
|
12
|
+
- status
|
|
13
|
+
|
|
14
|
+
- id: sections.required
|
|
15
|
+
select:
|
|
16
|
+
target: document
|
|
17
|
+
assert:
|
|
18
|
+
sectionsRequired:
|
|
19
|
+
order: strict
|
|
20
|
+
headings:
|
|
21
|
+
- Requirements
|
|
22
|
+
- Evidence Matrix
|
|
23
|
+
- Traceability
|
|
24
|
+
|
|
25
|
+
- id: requirements.table.columns
|
|
26
|
+
select:
|
|
27
|
+
target: table
|
|
28
|
+
section: Requirements
|
|
29
|
+
header:
|
|
30
|
+
- ID
|
|
31
|
+
- Requirement statement
|
|
32
|
+
- Source
|
|
33
|
+
assert:
|
|
34
|
+
tableColumnsRequired:
|
|
35
|
+
columns:
|
|
36
|
+
- ID
|
|
37
|
+
- Requirement statement
|
|
38
|
+
- Source
|
|
39
|
+
|
|
40
|
+
- id: evidence.table.columns
|
|
41
|
+
select:
|
|
42
|
+
target: table
|
|
43
|
+
section: Evidence Matrix
|
|
44
|
+
header:
|
|
45
|
+
- ID
|
|
46
|
+
- Requirement
|
|
47
|
+
assert:
|
|
48
|
+
tableColumnsRequired:
|
|
49
|
+
columns:
|
|
50
|
+
- ID
|
|
51
|
+
- Requirement
|
|
52
|
+
- Evidence
|
|
53
|
+
|
|
54
|
+
- id: requirement.ids.unique
|
|
55
|
+
select:
|
|
56
|
+
target: tableCell
|
|
57
|
+
section: Requirements
|
|
58
|
+
column: ID
|
|
59
|
+
assert:
|
|
60
|
+
ids:
|
|
61
|
+
prefix: REQ
|
|
62
|
+
unique: true
|
|
63
|
+
|
|
64
|
+
- id: evidence.ids.unique
|
|
65
|
+
select:
|
|
66
|
+
target: tableCell
|
|
67
|
+
section: Evidence Matrix
|
|
68
|
+
column: ID
|
|
69
|
+
assert:
|
|
70
|
+
ids:
|
|
71
|
+
prefix: EVD
|
|
72
|
+
unique: true
|
|
73
|
+
|
|
74
|
+
- id: requirement.text
|
|
75
|
+
select:
|
|
76
|
+
target: tableCell
|
|
77
|
+
section: Requirements
|
|
78
|
+
column: Requirement statement
|
|
79
|
+
rowWhere:
|
|
80
|
+
column: ID
|
|
81
|
+
equals: REQ-2
|
|
82
|
+
assert:
|
|
83
|
+
text:
|
|
84
|
+
contains: shall
|
|
85
|
+
excludes:
|
|
86
|
+
- TBD
|
|
87
|
+
|
|
88
|
+
- id: requirements.shall.count
|
|
89
|
+
select:
|
|
90
|
+
target: section
|
|
91
|
+
title: Requirements
|
|
92
|
+
assert:
|
|
93
|
+
textOccurrenceCount:
|
|
94
|
+
text: shall
|
|
95
|
+
count: 3
|
|
96
|
+
|
|
97
|
+
- id: traceability.requirements
|
|
98
|
+
select:
|
|
99
|
+
target: document
|
|
100
|
+
assert:
|
|
101
|
+
references:
|
|
102
|
+
idsFrom:
|
|
103
|
+
section: Requirements
|
|
104
|
+
column: ID
|
|
105
|
+
prefix: REQ
|
|
106
|
+
mustAppearIn:
|
|
107
|
+
- Traceability
|
|
108
|
+
|
|
109
|
+
- id: traceability.evidence
|
|
110
|
+
select:
|
|
111
|
+
target: document
|
|
112
|
+
assert:
|
|
113
|
+
references:
|
|
114
|
+
idsFrom:
|
|
115
|
+
section: Evidence Matrix
|
|
116
|
+
column: ID
|
|
117
|
+
prefix: EVD
|
|
118
|
+
mustAppearIn:
|
|
119
|
+
- Traceability
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jasonbelmonti/markdown-engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Deterministic Markdown parsing and validation engine package.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"markdown-engine": "dist/cli/index.js"
|
|
9
|
+
},
|
|
7
10
|
"repository": {
|
|
8
11
|
"type": "git",
|
|
9
12
|
"url": "git+https://github.com/jasonbelmonti/markdown-engine.git"
|
|
@@ -11,7 +14,7 @@
|
|
|
11
14
|
"bugs": {
|
|
12
15
|
"url": "https://github.com/jasonbelmonti/markdown-engine/issues"
|
|
13
16
|
},
|
|
14
|
-
"homepage": "https://github.
|
|
17
|
+
"homepage": "https://jasonbelmonti.github.io/markdown-engine/",
|
|
15
18
|
"keywords": [
|
|
16
19
|
"markdown",
|
|
17
20
|
"gfm",
|
|
@@ -28,6 +31,8 @@
|
|
|
28
31
|
"types": "./dist/index.d.ts",
|
|
29
32
|
"files": [
|
|
30
33
|
"dist",
|
|
34
|
+
"docs/contracts",
|
|
35
|
+
"fixtures/declarative-validation/examples",
|
|
31
36
|
"CHANGELOG.md",
|
|
32
37
|
"SECURITY.md"
|
|
33
38
|
],
|
|
@@ -39,10 +44,38 @@
|
|
|
39
44
|
"build": "npm run clean && tsc -p tsconfig.json",
|
|
40
45
|
"prepack": "npm run release:verify",
|
|
41
46
|
"prepublishOnly": "npm run release:verify",
|
|
42
|
-
"release:verify": "npm run typecheck && npm test && node scripts/check-boundaries.mjs && npm run build && node scripts/prove-repeatability.mjs --runs 10 && npm run release:check-clean",
|
|
47
|
+
"release:verify": "npm run typecheck && npm test && node scripts/check-boundaries.mjs && npm run docs:rich-ir-contract && npm run docs:declarative-validation-contract && npm run audit:declarative-validation-boundary && npm run build && node scripts/prove-repeatability.mjs --runs 10 && npm run release:check-clean",
|
|
43
48
|
"release:check-clean": "git diff --check HEAD -- && git diff --exit-code HEAD --",
|
|
49
|
+
"snapshots:update:parser": "npm run build && vitest run tests/parser-fixtures.test.ts -u \"--exclude=.worktrees/**\"",
|
|
50
|
+
"snapshots:update:rules": "npm run build && vitest run tests/rules.test.ts -u \"--exclude=.worktrees/**\"",
|
|
51
|
+
"snapshots:update:rich-ir": "npm run build && vitest run tests/rich-ir-targets.test.ts tests/rich-ir-queries.test.ts tests/rich-ir-link-references.test.ts -u \"--exclude=.worktrees/**\"",
|
|
52
|
+
"snapshots:update:serialization": "npm run build && vitest run tests/serialization-repeatability.test.ts tests/boundary-inspection.test.ts -u \"--exclude=.worktrees/**\"",
|
|
53
|
+
"test:rich-ir:proving": "npm run build && vitest run tests/rich-ir-proving.test.ts \"--exclude=.worktrees/**\"",
|
|
54
|
+
"test:rich-ir:contract": "npm run build && tsc -p tsconfig.document-contract.json && vitest run tests/document-contract.test.ts \"--exclude=.worktrees/**\"",
|
|
55
|
+
"test:rich-ir:targets": "npm run build && vitest run tests/rich-ir-targets.test.ts \"--exclude=.worktrees/**\"",
|
|
56
|
+
"test:rich-ir:queries": "npm run build && vitest run tests/rich-ir-queries.test.ts tests/rich-ir-link-references.test.ts \"--exclude=.worktrees/**\"",
|
|
57
|
+
"test:rich-ir:annotations": "npm run build && vitest run tests/rich-ir-annotations.test.ts \"--exclude=.worktrees/**\"",
|
|
58
|
+
"test:rich-ir:compat": "npm run build && vitest run tests/rich-ir-compat.test.ts \"--exclude=.worktrees/**\"",
|
|
59
|
+
"test:rich-ir:repeatability": "npm run build && vitest run tests/rich-ir-repeatability.test.ts \"--exclude=.worktrees/**\"",
|
|
60
|
+
"test:rich-ir:downstream": "npm run build && vitest run tests/rich-ir-downstream.test.ts \"--exclude=.worktrees/**\"",
|
|
61
|
+
"audit:rich-ir-boundary": "node scripts/check-boundaries.mjs",
|
|
62
|
+
"docs:rich-ir-contract": "node scripts/check-rich-ir-contract-docs.mjs",
|
|
63
|
+
"test:validation:proving": "npm run build && vitest run tests/declarative-validation-proving.test.ts \"--exclude=.worktrees/**\"",
|
|
64
|
+
"test:validation:contract": "npm run build && tsc -p tsconfig.declarative-validation-contract.json && vitest run tests/declarative-validation-contract.test.ts \"--exclude=.worktrees/**\"",
|
|
65
|
+
"test:validation:profile": "npm run build && vitest run tests/declarative-validation-profile.test.ts \"--exclude=.worktrees/**\"",
|
|
66
|
+
"test:validation:compiler": "npm run build && vitest run tests/declarative-validation-compiler.test.ts \"--exclude=.worktrees/**\"",
|
|
67
|
+
"test:validation:selectors": "npm run build && vitest run tests/declarative-validation-selectors.test.ts \"--exclude=.worktrees/**\"",
|
|
68
|
+
"test:validation:assertions": "npm run build && vitest run tests/declarative-validation-assertions.test.ts \"--exclude=.worktrees/**\"",
|
|
69
|
+
"test:validation:diagnostics": "npm run build && vitest run tests/declarative-validation-diagnostics.test.ts \"--exclude=.worktrees/**\"",
|
|
70
|
+
"test:validation:cli": "npm run build && vitest run tests/declarative-validation-cli.test.ts \"--exclude=.worktrees/**\"",
|
|
71
|
+
"test:validation:examples": "npm run build && vitest run tests/declarative-validation-examples.test.ts \"--exclude=.worktrees/**\"",
|
|
72
|
+
"test:validation:repeatability": "npm run build && vitest run tests/declarative-validation-repeatability.test.ts \"--exclude=.worktrees/**\" && node scripts/prove-declarative-validation-repeatability.mjs --runs 10",
|
|
73
|
+
"test:validation:downstream": "npm run build && vitest run tests/declarative-validation-downstream.test.ts \"--exclude=.worktrees/**\"",
|
|
74
|
+
"audit:declarative-validation-boundary": "node scripts/check-declarative-validation-boundary.mjs",
|
|
75
|
+
"docs:declarative-validation-contract": "node scripts/check-declarative-validation-contract-docs.mjs",
|
|
44
76
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
45
|
-
"test": "npm run build && vitest run \"--exclude=.worktrees/**\""
|
|
77
|
+
"test": "npm run build && vitest run \"--exclude=.worktrees/**\"",
|
|
78
|
+
"test:snapshots": "npm run build && vitest run tests/parser-fixtures.test.ts tests/rules.test.ts tests/rich-ir-targets.test.ts tests/rich-ir-queries.test.ts tests/rich-ir-link-references.test.ts tests/serialization-repeatability.test.ts \"--exclude=.worktrees/**\""
|
|
46
79
|
},
|
|
47
80
|
"engines": {
|
|
48
81
|
"node": "^20.19.0 || >=22.12.0"
|