@libar-dev/architect 1.0.0-pre.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/LICENSE +25 -0
- package/LICENSE-MCP +62 -0
- package/README.md +147 -0
- package/dist/api/arch-queries.d.ts +95 -0
- package/dist/api/arch-queries.d.ts.map +1 -0
- package/dist/api/arch-queries.js +310 -0
- package/dist/api/arch-queries.js.map +1 -0
- package/dist/api/context-assembler.d.ts +124 -0
- package/dist/api/context-assembler.d.ts.map +1 -0
- package/dist/api/context-assembler.js +472 -0
- package/dist/api/context-assembler.js.map +1 -0
- package/dist/api/context-formatter.d.ts +26 -0
- package/dist/api/context-formatter.d.ts.map +1 -0
- package/dist/api/context-formatter.js +183 -0
- package/dist/api/context-formatter.js.map +1 -0
- package/dist/api/coverage-analyzer.d.ts +38 -0
- package/dist/api/coverage-analyzer.d.ts.map +1 -0
- package/dist/api/coverage-analyzer.js +117 -0
- package/dist/api/coverage-analyzer.js.map +1 -0
- package/dist/api/fuzzy-match.d.ts +75 -0
- package/dist/api/fuzzy-match.d.ts.map +1 -0
- package/dist/api/fuzzy-match.js +150 -0
- package/dist/api/fuzzy-match.js.map +1 -0
- package/dist/api/handoff-generator.d.ts +45 -0
- package/dist/api/handoff-generator.d.ts.map +1 -0
- package/dist/api/handoff-generator.js +139 -0
- package/dist/api/handoff-generator.js.map +1 -0
- package/dist/api/index.d.ts +61 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +54 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/pattern-helpers.d.ts +51 -0
- package/dist/api/pattern-helpers.d.ts.map +1 -0
- package/dist/api/pattern-helpers.js +84 -0
- package/dist/api/pattern-helpers.js.map +1 -0
- package/dist/api/process-state.d.ts +224 -0
- package/dist/api/process-state.d.ts.map +1 -0
- package/dist/api/process-state.js +308 -0
- package/dist/api/process-state.js.map +1 -0
- package/dist/api/rules-query.d.ts +60 -0
- package/dist/api/rules-query.d.ts.map +1 -0
- package/dist/api/rules-query.js +154 -0
- package/dist/api/rules-query.js.map +1 -0
- package/dist/api/scope-validator.d.ts +56 -0
- package/dist/api/scope-validator.d.ts.map +1 -0
- package/dist/api/scope-validator.js +293 -0
- package/dist/api/scope-validator.js.map +1 -0
- package/dist/api/stub-resolver.d.ts +117 -0
- package/dist/api/stub-resolver.d.ts.map +1 -0
- package/dist/api/stub-resolver.js +154 -0
- package/dist/api/stub-resolver.js.map +1 -0
- package/dist/api/summarize.d.ts +75 -0
- package/dist/api/summarize.d.ts.map +1 -0
- package/dist/api/summarize.js +97 -0
- package/dist/api/summarize.js.map +1 -0
- package/dist/api/types.d.ts +221 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +57 -0
- package/dist/api/types.js.map +1 -0
- package/dist/cache/file-cache.d.ts +72 -0
- package/dist/cache/file-cache.d.ts.map +1 -0
- package/dist/cache/file-cache.js +80 -0
- package/dist/cache/file-cache.js.map +1 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cli/cli-schema.d.ts +83 -0
- package/dist/cli/cli-schema.d.ts.map +1 -0
- package/dist/cli/cli-schema.js +505 -0
- package/dist/cli/cli-schema.js.map +1 -0
- package/dist/cli/dataset-cache.d.ts +66 -0
- package/dist/cli/dataset-cache.d.ts.map +1 -0
- package/dist/cli/dataset-cache.js +179 -0
- package/dist/cli/dataset-cache.js.map +1 -0
- package/dist/cli/error-handler.d.ts +84 -0
- package/dist/cli/error-handler.d.ts.map +1 -0
- package/dist/cli/error-handler.js +197 -0
- package/dist/cli/error-handler.js.map +1 -0
- package/dist/cli/generate-docs.d.ts +30 -0
- package/dist/cli/generate-docs.d.ts.map +1 -0
- package/dist/cli/generate-docs.js +370 -0
- package/dist/cli/generate-docs.js.map +1 -0
- package/dist/cli/lint-patterns.d.ts +57 -0
- package/dist/cli/lint-patterns.d.ts.map +1 -0
- package/dist/cli/lint-patterns.js +257 -0
- package/dist/cli/lint-patterns.js.map +1 -0
- package/dist/cli/lint-process.d.ts +54 -0
- package/dist/cli/lint-process.d.ts.map +1 -0
- package/dist/cli/lint-process.js +319 -0
- package/dist/cli/lint-process.js.map +1 -0
- package/dist/cli/lint-steps.d.ts +32 -0
- package/dist/cli/lint-steps.d.ts.map +1 -0
- package/dist/cli/lint-steps.js +172 -0
- package/dist/cli/lint-steps.js.map +1 -0
- package/dist/cli/mcp-server.d.ts +22 -0
- package/dist/cli/mcp-server.d.ts.map +1 -0
- package/dist/cli/mcp-server.js +57 -0
- package/dist/cli/mcp-server.js.map +1 -0
- package/dist/cli/output-pipeline.d.ts +130 -0
- package/dist/cli/output-pipeline.d.ts.map +1 -0
- package/dist/cli/output-pipeline.js +234 -0
- package/dist/cli/output-pipeline.js.map +1 -0
- package/dist/cli/process-api.d.ts +37 -0
- package/dist/cli/process-api.d.ts.map +1 -0
- package/dist/cli/process-api.js +1550 -0
- package/dist/cli/process-api.js.map +1 -0
- package/dist/cli/repl.d.ts +38 -0
- package/dist/cli/repl.d.ts.map +1 -0
- package/dist/cli/repl.js +239 -0
- package/dist/cli/repl.js.map +1 -0
- package/dist/cli/validate-patterns.d.ts +115 -0
- package/dist/cli/validate-patterns.d.ts.map +1 -0
- package/dist/cli/validate-patterns.js +707 -0
- package/dist/cli/validate-patterns.js.map +1 -0
- package/dist/cli/version.d.ts +35 -0
- package/dist/cli/version.d.ts.map +1 -0
- package/dist/cli/version.js +64 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/config/config-loader.d.ts +167 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +294 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/defaults.d.ts +92 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +103 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/define-config.d.ts +37 -0
- package/dist/config/define-config.d.ts.map +1 -0
- package/dist/config/define-config.js +38 -0
- package/dist/config/define-config.js.map +1 -0
- package/dist/config/factory.d.ts +79 -0
- package/dist/config/factory.d.ts.map +1 -0
- package/dist/config/factory.js +116 -0
- package/dist/config/factory.js.map +1 -0
- package/dist/config/index.d.ts +45 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +48 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/merge-sources.d.ts +47 -0
- package/dist/config/merge-sources.d.ts.map +1 -0
- package/dist/config/merge-sources.js +61 -0
- package/dist/config/merge-sources.js.map +1 -0
- package/dist/config/presets.d.ts +115 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/presets.js +119 -0
- package/dist/config/presets.js.map +1 -0
- package/dist/config/project-config-schema.d.ts +192 -0
- package/dist/config/project-config-schema.d.ts.map +1 -0
- package/dist/config/project-config-schema.js +231 -0
- package/dist/config/project-config-schema.js.map +1 -0
- package/dist/config/project-config.d.ts +229 -0
- package/dist/config/project-config.d.ts.map +1 -0
- package/dist/config/project-config.js +37 -0
- package/dist/config/project-config.js.map +1 -0
- package/dist/config/regex-builders.d.ts +49 -0
- package/dist/config/regex-builders.d.ts.map +1 -0
- package/dist/config/regex-builders.js +85 -0
- package/dist/config/regex-builders.js.map +1 -0
- package/dist/config/resolve-config.d.ts +65 -0
- package/dist/config/resolve-config.d.ts.map +1 -0
- package/dist/config/resolve-config.js +150 -0
- package/dist/config/resolve-config.js.map +1 -0
- package/dist/config/types.d.ts +81 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +22 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/workflow-loader.d.ts +90 -0
- package/dist/config/workflow-loader.d.ts.map +1 -0
- package/dist/config/workflow-loader.js +167 -0
- package/dist/config/workflow-loader.js.map +1 -0
- package/dist/extractor/doc-extractor.d.ts +233 -0
- package/dist/extractor/doc-extractor.d.ts.map +1 -0
- package/dist/extractor/doc-extractor.js +481 -0
- package/dist/extractor/doc-extractor.js.map +1 -0
- package/dist/extractor/dual-source-extractor.d.ts +161 -0
- package/dist/extractor/dual-source-extractor.d.ts.map +1 -0
- package/dist/extractor/dual-source-extractor.js +407 -0
- package/dist/extractor/dual-source-extractor.js.map +1 -0
- package/dist/extractor/gherkin-extractor.d.ts +170 -0
- package/dist/extractor/gherkin-extractor.d.ts.map +1 -0
- package/dist/extractor/gherkin-extractor.js +543 -0
- package/dist/extractor/gherkin-extractor.js.map +1 -0
- package/dist/extractor/index.d.ts +7 -0
- package/dist/extractor/index.d.ts.map +1 -0
- package/dist/extractor/index.js +11 -0
- package/dist/extractor/index.js.map +1 -0
- package/dist/extractor/layer-inference.d.ts +66 -0
- package/dist/extractor/layer-inference.d.ts.map +1 -0
- package/dist/extractor/layer-inference.js +93 -0
- package/dist/extractor/layer-inference.js.map +1 -0
- package/dist/extractor/shape-extractor.d.ts +79 -0
- package/dist/extractor/shape-extractor.d.ts.map +1 -0
- package/dist/extractor/shape-extractor.js +966 -0
- package/dist/extractor/shape-extractor.js.map +1 -0
- package/dist/generators/built-in/cli-recipe-generator.d.ts +30 -0
- package/dist/generators/built-in/cli-recipe-generator.d.ts.map +1 -0
- package/dist/generators/built-in/cli-recipe-generator.js +155 -0
- package/dist/generators/built-in/cli-recipe-generator.js.map +1 -0
- package/dist/generators/built-in/codec-generators.d.ts +29 -0
- package/dist/generators/built-in/codec-generators.d.ts.map +1 -0
- package/dist/generators/built-in/codec-generators.js +195 -0
- package/dist/generators/built-in/codec-generators.js.map +1 -0
- package/dist/generators/built-in/decision-doc-generator.d.ts +204 -0
- package/dist/generators/built-in/decision-doc-generator.d.ts.map +1 -0
- package/dist/generators/built-in/decision-doc-generator.js +654 -0
- package/dist/generators/built-in/decision-doc-generator.js.map +1 -0
- package/dist/generators/built-in/design-review-generator.d.ts +26 -0
- package/dist/generators/built-in/design-review-generator.d.ts.map +1 -0
- package/dist/generators/built-in/design-review-generator.js +94 -0
- package/dist/generators/built-in/design-review-generator.js.map +1 -0
- package/dist/generators/built-in/index.d.ts +22 -0
- package/dist/generators/built-in/index.d.ts.map +1 -0
- package/dist/generators/built-in/index.js +23 -0
- package/dist/generators/built-in/index.js.map +1 -0
- package/dist/generators/built-in/process-api-reference-generator.d.ts +18 -0
- package/dist/generators/built-in/process-api-reference-generator.d.ts.map +1 -0
- package/dist/generators/built-in/process-api-reference-generator.js +85 -0
- package/dist/generators/built-in/process-api-reference-generator.js.map +1 -0
- package/dist/generators/built-in/reference-generators.d.ts +51 -0
- package/dist/generators/built-in/reference-generators.d.ts.map +1 -0
- package/dist/generators/built-in/reference-generators.js +320 -0
- package/dist/generators/built-in/reference-generators.js.map +1 -0
- package/dist/generators/codec-based.d.ts +63 -0
- package/dist/generators/codec-based.d.ts.map +1 -0
- package/dist/generators/codec-based.js +88 -0
- package/dist/generators/codec-based.js.map +1 -0
- package/dist/generators/content-deduplicator.d.ts +114 -0
- package/dist/generators/content-deduplicator.d.ts.map +1 -0
- package/dist/generators/content-deduplicator.js +356 -0
- package/dist/generators/content-deduplicator.js.map +1 -0
- package/dist/generators/index.d.ts +50 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +54 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/orchestrator.d.ts +265 -0
- package/dist/generators/orchestrator.d.ts.map +1 -0
- package/dist/generators/orchestrator.js +570 -0
- package/dist/generators/orchestrator.js.map +1 -0
- package/dist/generators/pipeline/build-pipeline.d.ts +131 -0
- package/dist/generators/pipeline/build-pipeline.d.ts.map +1 -0
- package/dist/generators/pipeline/build-pipeline.js +248 -0
- package/dist/generators/pipeline/build-pipeline.js.map +1 -0
- package/dist/generators/pipeline/context-inference.d.ts +55 -0
- package/dist/generators/pipeline/context-inference.d.ts.map +1 -0
- package/dist/generators/pipeline/context-inference.js +76 -0
- package/dist/generators/pipeline/context-inference.js.map +1 -0
- package/dist/generators/pipeline/index.d.ts +27 -0
- package/dist/generators/pipeline/index.d.ts.map +1 -0
- package/dist/generators/pipeline/index.js +34 -0
- package/dist/generators/pipeline/index.js.map +1 -0
- package/dist/generators/pipeline/merge-patterns.d.ts +33 -0
- package/dist/generators/pipeline/merge-patterns.d.ts.map +1 -0
- package/dist/generators/pipeline/merge-patterns.js +50 -0
- package/dist/generators/pipeline/merge-patterns.js.map +1 -0
- package/dist/generators/pipeline/relationship-resolver.d.ts +47 -0
- package/dist/generators/pipeline/relationship-resolver.d.ts.map +1 -0
- package/dist/generators/pipeline/relationship-resolver.js +132 -0
- package/dist/generators/pipeline/relationship-resolver.js.map +1 -0
- package/dist/generators/pipeline/sequence-utils.d.ts +49 -0
- package/dist/generators/pipeline/sequence-utils.d.ts.map +1 -0
- package/dist/generators/pipeline/sequence-utils.js +235 -0
- package/dist/generators/pipeline/sequence-utils.js.map +1 -0
- package/dist/generators/pipeline/transform-dataset.d.ts +82 -0
- package/dist/generators/pipeline/transform-dataset.d.ts.map +1 -0
- package/dist/generators/pipeline/transform-dataset.js +355 -0
- package/dist/generators/pipeline/transform-dataset.js.map +1 -0
- package/dist/generators/pipeline/transform-types.d.ts +96 -0
- package/dist/generators/pipeline/transform-types.d.ts.map +1 -0
- package/dist/generators/pipeline/transform-types.js +18 -0
- package/dist/generators/pipeline/transform-types.js.map +1 -0
- package/dist/generators/registry.d.ts +64 -0
- package/dist/generators/registry.d.ts.map +1 -0
- package/dist/generators/registry.js +77 -0
- package/dist/generators/registry.js.map +1 -0
- package/dist/generators/source-mapper.d.ts +143 -0
- package/dist/generators/source-mapper.d.ts.map +1 -0
- package/dist/generators/source-mapper.js +602 -0
- package/dist/generators/source-mapper.js.map +1 -0
- package/dist/generators/source-mapping-validator.d.ts +118 -0
- package/dist/generators/source-mapping-validator.d.ts.map +1 -0
- package/dist/generators/source-mapping-validator.js +334 -0
- package/dist/generators/source-mapping-validator.js.map +1 -0
- package/dist/generators/types.d.ts +104 -0
- package/dist/generators/types.d.ts.map +1 -0
- package/dist/generators/types.js +5 -0
- package/dist/generators/types.js.map +1 -0
- package/dist/generators/warning-collector.d.ts +144 -0
- package/dist/generators/warning-collector.d.ts.map +1 -0
- package/dist/generators/warning-collector.js +166 -0
- package/dist/generators/warning-collector.js.map +1 -0
- package/dist/git/branch-diff.d.ts +44 -0
- package/dist/git/branch-diff.d.ts.map +1 -0
- package/dist/git/branch-diff.js +57 -0
- package/dist/git/branch-diff.js.map +1 -0
- package/dist/git/helpers.d.ts +46 -0
- package/dist/git/helpers.d.ts.map +1 -0
- package/dist/git/helpers.js +67 -0
- package/dist/git/helpers.js.map +1 -0
- package/dist/git/index.d.ts +18 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +18 -0
- package/dist/git/index.js.map +1 -0
- package/dist/git/name-status.d.ts +32 -0
- package/dist/git/name-status.d.ts.map +1 -0
- package/dist/git/name-status.js +66 -0
- package/dist/git/name-status.js.map +1 -0
- package/dist/index.d.ts +107 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/lint/engine.d.ts +113 -0
- package/dist/lint/engine.d.ts.map +1 -0
- package/dist/lint/engine.js +228 -0
- package/dist/lint/engine.js.map +1 -0
- package/dist/lint/index.d.ts +26 -0
- package/dist/lint/index.d.ts.map +1 -0
- package/dist/lint/index.js +24 -0
- package/dist/lint/index.js.map +1 -0
- package/dist/lint/process-guard/decider.d.ts +166 -0
- package/dist/lint/process-guard/decider.d.ts.map +1 -0
- package/dist/lint/process-guard/decider.js +412 -0
- package/dist/lint/process-guard/decider.js.map +1 -0
- package/dist/lint/process-guard/derive-state.d.ts +96 -0
- package/dist/lint/process-guard/derive-state.d.ts.map +1 -0
- package/dist/lint/process-guard/derive-state.js +368 -0
- package/dist/lint/process-guard/derive-state.js.map +1 -0
- package/dist/lint/process-guard/detect-changes.d.ts +109 -0
- package/dist/lint/process-guard/detect-changes.d.ts.map +1 -0
- package/dist/lint/process-guard/detect-changes.js +487 -0
- package/dist/lint/process-guard/detect-changes.js.map +1 -0
- package/dist/lint/process-guard/index.d.ts +35 -0
- package/dist/lint/process-guard/index.d.ts.map +1 -0
- package/dist/lint/process-guard/index.js +39 -0
- package/dist/lint/process-guard/index.js.map +1 -0
- package/dist/lint/process-guard/types.d.ts +255 -0
- package/dist/lint/process-guard/types.d.ts.map +1 -0
- package/dist/lint/process-guard/types.js +31 -0
- package/dist/lint/process-guard/types.js.map +1 -0
- package/dist/lint/rules.d.ts +147 -0
- package/dist/lint/rules.d.ts.map +1 -0
- package/dist/lint/rules.js +289 -0
- package/dist/lint/rules.js.map +1 -0
- package/dist/lint/steps/cross-checks.d.ts +66 -0
- package/dist/lint/steps/cross-checks.d.ts.map +1 -0
- package/dist/lint/steps/cross-checks.js +290 -0
- package/dist/lint/steps/cross-checks.js.map +1 -0
- package/dist/lint/steps/feature-checks.d.ts +78 -0
- package/dist/lint/steps/feature-checks.d.ts.map +1 -0
- package/dist/lint/steps/feature-checks.js +279 -0
- package/dist/lint/steps/feature-checks.js.map +1 -0
- package/dist/lint/steps/index.d.ts +22 -0
- package/dist/lint/steps/index.d.ts.map +1 -0
- package/dist/lint/steps/index.js +26 -0
- package/dist/lint/steps/index.js.map +1 -0
- package/dist/lint/steps/pair-resolver.d.ts +29 -0
- package/dist/lint/steps/pair-resolver.d.ts.map +1 -0
- package/dist/lint/steps/pair-resolver.js +76 -0
- package/dist/lint/steps/pair-resolver.js.map +1 -0
- package/dist/lint/steps/runner.d.ts +28 -0
- package/dist/lint/steps/runner.d.ts.map +1 -0
- package/dist/lint/steps/runner.js +143 -0
- package/dist/lint/steps/runner.js.map +1 -0
- package/dist/lint/steps/step-checks.d.ts +41 -0
- package/dist/lint/steps/step-checks.d.ts.map +1 -0
- package/dist/lint/steps/step-checks.js +164 -0
- package/dist/lint/steps/step-checks.js.map +1 -0
- package/dist/lint/steps/types.d.ts +95 -0
- package/dist/lint/steps/types.d.ts.map +1 -0
- package/dist/lint/steps/types.js +79 -0
- package/dist/lint/steps/types.js.map +1 -0
- package/dist/lint/steps/utils.d.ts +22 -0
- package/dist/lint/steps/utils.d.ts.map +1 -0
- package/dist/lint/steps/utils.js +57 -0
- package/dist/lint/steps/utils.js.map +1 -0
- package/dist/mcp/file-watcher.d.ts +24 -0
- package/dist/mcp/file-watcher.d.ts.map +1 -0
- package/dist/mcp/file-watcher.js +75 -0
- package/dist/mcp/file-watcher.js.map +1 -0
- package/dist/mcp/index.d.ts +19 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +21 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/pipeline-session.d.ts +33 -0
- package/dist/mcp/pipeline-session.d.ts.map +1 -0
- package/dist/mcp/pipeline-session.js +149 -0
- package/dist/mcp/pipeline-session.js.map +1 -0
- package/dist/mcp/server.d.ts +28 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +197 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tool-registry.d.ts +4 -0
- package/dist/mcp/tool-registry.d.ts.map +1 -0
- package/dist/mcp/tool-registry.js +525 -0
- package/dist/mcp/tool-registry.js.map +1 -0
- package/dist/renderable/codecs/adr.d.ts +4730 -0
- package/dist/renderable/codecs/adr.d.ts.map +1 -0
- package/dist/renderable/codecs/adr.js +590 -0
- package/dist/renderable/codecs/adr.js.map +1 -0
- package/dist/renderable/codecs/architecture.d.ts +4760 -0
- package/dist/renderable/codecs/architecture.d.ts.map +1 -0
- package/dist/renderable/codecs/architecture.js +524 -0
- package/dist/renderable/codecs/architecture.js.map +1 -0
- package/dist/renderable/codecs/business-rules.d.ts +4777 -0
- package/dist/renderable/codecs/business-rules.d.ts.map +1 -0
- package/dist/renderable/codecs/business-rules.js +648 -0
- package/dist/renderable/codecs/business-rules.js.map +1 -0
- package/dist/renderable/codecs/claude-module.d.ts +4710 -0
- package/dist/renderable/codecs/claude-module.d.ts.map +1 -0
- package/dist/renderable/codecs/claude-module.js +214 -0
- package/dist/renderable/codecs/claude-module.js.map +1 -0
- package/dist/renderable/codecs/composite.d.ts +84 -0
- package/dist/renderable/codecs/composite.d.ts.map +1 -0
- package/dist/renderable/codecs/composite.js +124 -0
- package/dist/renderable/codecs/composite.js.map +1 -0
- package/dist/renderable/codecs/convention-extractor.d.ts +105 -0
- package/dist/renderable/codecs/convention-extractor.d.ts.map +1 -0
- package/dist/renderable/codecs/convention-extractor.js +353 -0
- package/dist/renderable/codecs/convention-extractor.js.map +1 -0
- package/dist/renderable/codecs/decision-doc.d.ts +308 -0
- package/dist/renderable/codecs/decision-doc.d.ts.map +1 -0
- package/dist/renderable/codecs/decision-doc.js +485 -0
- package/dist/renderable/codecs/decision-doc.js.map +1 -0
- package/dist/renderable/codecs/design-review.d.ts +55 -0
- package/dist/renderable/codecs/design-review.d.ts.map +1 -0
- package/dist/renderable/codecs/design-review.js +532 -0
- package/dist/renderable/codecs/design-review.js.map +1 -0
- package/dist/renderable/codecs/diagram-utils.d.ts +62 -0
- package/dist/renderable/codecs/diagram-utils.d.ts.map +1 -0
- package/dist/renderable/codecs/diagram-utils.js +70 -0
- package/dist/renderable/codecs/diagram-utils.js.map +1 -0
- package/dist/renderable/codecs/helpers.d.ts +553 -0
- package/dist/renderable/codecs/helpers.d.ts.map +1 -0
- package/dist/renderable/codecs/helpers.js +913 -0
- package/dist/renderable/codecs/helpers.js.map +1 -0
- package/dist/renderable/codecs/index-codec.d.ts +4714 -0
- package/dist/renderable/codecs/index-codec.d.ts.map +1 -0
- package/dist/renderable/codecs/index-codec.js +250 -0
- package/dist/renderable/codecs/index-codec.js.map +1 -0
- package/dist/renderable/codecs/index.d.ts +46 -0
- package/dist/renderable/codecs/index.d.ts.map +1 -0
- package/dist/renderable/codecs/index.js +70 -0
- package/dist/renderable/codecs/index.js.map +1 -0
- package/dist/renderable/codecs/patterns.d.ts +4757 -0
- package/dist/renderable/codecs/patterns.d.ts.map +1 -0
- package/dist/renderable/codecs/patterns.js +462 -0
- package/dist/renderable/codecs/patterns.js.map +1 -0
- package/dist/renderable/codecs/planning.d.ts +14055 -0
- package/dist/renderable/codecs/planning.d.ts.map +1 -0
- package/dist/renderable/codecs/planning.js +449 -0
- package/dist/renderable/codecs/planning.js.map +1 -0
- package/dist/renderable/codecs/pr-changes.d.ts +4742 -0
- package/dist/renderable/codecs/pr-changes.d.ts.map +1 -0
- package/dist/renderable/codecs/pr-changes.js +425 -0
- package/dist/renderable/codecs/pr-changes.js.map +1 -0
- package/dist/renderable/codecs/reference.d.ts +215 -0
- package/dist/renderable/codecs/reference.d.ts.map +1 -0
- package/dist/renderable/codecs/reference.js +1578 -0
- package/dist/renderable/codecs/reference.js.map +1 -0
- package/dist/renderable/codecs/reporting.d.ts +14026 -0
- package/dist/renderable/codecs/reporting.d.ts.map +1 -0
- package/dist/renderable/codecs/reporting.js +365 -0
- package/dist/renderable/codecs/reporting.js.map +1 -0
- package/dist/renderable/codecs/requirements.d.ts +4743 -0
- package/dist/renderable/codecs/requirements.d.ts.map +1 -0
- package/dist/renderable/codecs/requirements.js +428 -0
- package/dist/renderable/codecs/requirements.js.map +1 -0
- package/dist/renderable/codecs/session.d.ts +9410 -0
- package/dist/renderable/codecs/session.d.ts.map +1 -0
- package/dist/renderable/codecs/session.js +848 -0
- package/dist/renderable/codecs/session.js.map +1 -0
- package/dist/renderable/codecs/shape-matcher.d.ts +54 -0
- package/dist/renderable/codecs/shape-matcher.d.ts.map +1 -0
- package/dist/renderable/codecs/shape-matcher.js +106 -0
- package/dist/renderable/codecs/shape-matcher.js.map +1 -0
- package/dist/renderable/codecs/shared-schema.d.ts +44 -0
- package/dist/renderable/codecs/shared-schema.d.ts.map +1 -0
- package/dist/renderable/codecs/shared-schema.js +43 -0
- package/dist/renderable/codecs/shared-schema.js.map +1 -0
- package/dist/renderable/codecs/taxonomy.d.ts +4733 -0
- package/dist/renderable/codecs/taxonomy.d.ts.map +1 -0
- package/dist/renderable/codecs/taxonomy.js +570 -0
- package/dist/renderable/codecs/taxonomy.js.map +1 -0
- package/dist/renderable/codecs/timeline.d.ts +14094 -0
- package/dist/renderable/codecs/timeline.d.ts.map +1 -0
- package/dist/renderable/codecs/timeline.js +906 -0
- package/dist/renderable/codecs/timeline.js.map +1 -0
- package/dist/renderable/codecs/types/base.d.ts +81 -0
- package/dist/renderable/codecs/types/base.d.ts.map +1 -0
- package/dist/renderable/codecs/types/base.js +56 -0
- package/dist/renderable/codecs/types/base.js.map +1 -0
- package/dist/renderable/codecs/types/index.d.ts +5 -0
- package/dist/renderable/codecs/types/index.d.ts.map +1 -0
- package/dist/renderable/codecs/types/index.js +5 -0
- package/dist/renderable/codecs/types/index.js.map +1 -0
- package/dist/renderable/codecs/validation-rules.d.ts +4773 -0
- package/dist/renderable/codecs/validation-rules.d.ts.map +1 -0
- package/dist/renderable/codecs/validation-rules.js +537 -0
- package/dist/renderable/codecs/validation-rules.js.map +1 -0
- package/dist/renderable/generate.d.ts +338 -0
- package/dist/renderable/generate.d.ts.map +1 -0
- package/dist/renderable/generate.js +437 -0
- package/dist/renderable/generate.js.map +1 -0
- package/dist/renderable/index.d.ts +36 -0
- package/dist/renderable/index.d.ts.map +1 -0
- package/dist/renderable/index.js +58 -0
- package/dist/renderable/index.js.map +1 -0
- package/dist/renderable/load-preamble.d.ts +56 -0
- package/dist/renderable/load-preamble.d.ts.map +1 -0
- package/dist/renderable/load-preamble.js +298 -0
- package/dist/renderable/load-preamble.js.map +1 -0
- package/dist/renderable/render.d.ts +61 -0
- package/dist/renderable/render.d.ts.map +1 -0
- package/dist/renderable/render.js +346 -0
- package/dist/renderable/render.js.map +1 -0
- package/dist/renderable/schema.d.ts +194 -0
- package/dist/renderable/schema.d.ts.map +1 -0
- package/dist/renderable/schema.js +197 -0
- package/dist/renderable/schema.js.map +1 -0
- package/dist/renderable/utils.d.ts +146 -0
- package/dist/renderable/utils.d.ts.map +1 -0
- package/dist/renderable/utils.js +362 -0
- package/dist/renderable/utils.js.map +1 -0
- package/dist/scanner/ast-parser.d.ts +75 -0
- package/dist/scanner/ast-parser.d.ts.map +1 -0
- package/dist/scanner/ast-parser.js +835 -0
- package/dist/scanner/ast-parser.js.map +1 -0
- package/dist/scanner/gherkin-ast-parser.d.ts +166 -0
- package/dist/scanner/gherkin-ast-parser.d.ts.map +1 -0
- package/dist/scanner/gherkin-ast-parser.js +507 -0
- package/dist/scanner/gherkin-ast-parser.js.map +1 -0
- package/dist/scanner/gherkin-scanner.d.ts +106 -0
- package/dist/scanner/gherkin-scanner.d.ts.map +1 -0
- package/dist/scanner/gherkin-scanner.js +149 -0
- package/dist/scanner/gherkin-scanner.js.map +1 -0
- package/dist/scanner/index.d.ts +85 -0
- package/dist/scanner/index.d.ts.map +1 -0
- package/dist/scanner/index.js +102 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/scanner/pattern-scanner.d.ts +83 -0
- package/dist/scanner/pattern-scanner.d.ts.map +1 -0
- package/dist/scanner/pattern-scanner.js +110 -0
- package/dist/scanner/pattern-scanner.js.map +1 -0
- package/dist/taxonomy/categories.d.ts +47 -0
- package/dist/taxonomy/categories.d.ts.map +1 -0
- package/dist/taxonomy/categories.js +175 -0
- package/dist/taxonomy/categories.js.map +1 -0
- package/dist/taxonomy/claude-section-values.d.ts +12 -0
- package/dist/taxonomy/claude-section-values.d.ts.map +1 -0
- package/dist/taxonomy/claude-section-values.js +17 -0
- package/dist/taxonomy/claude-section-values.js.map +1 -0
- package/dist/taxonomy/conventions.d.ts +13 -0
- package/dist/taxonomy/conventions.d.ts.map +1 -0
- package/dist/taxonomy/conventions.js +27 -0
- package/dist/taxonomy/conventions.js.map +1 -0
- package/dist/taxonomy/deliverable-status.d.ts +99 -0
- package/dist/taxonomy/deliverable-status.d.ts.map +1 -0
- package/dist/taxonomy/deliverable-status.js +131 -0
- package/dist/taxonomy/deliverable-status.js.map +1 -0
- package/dist/taxonomy/format-types.d.ts +17 -0
- package/dist/taxonomy/format-types.d.ts.map +1 -0
- package/dist/taxonomy/format-types.js +23 -0
- package/dist/taxonomy/format-types.js.map +1 -0
- package/dist/taxonomy/generator-options.d.ts +67 -0
- package/dist/taxonomy/generator-options.d.ts.map +1 -0
- package/dist/taxonomy/generator-options.js +75 -0
- package/dist/taxonomy/generator-options.js.map +1 -0
- package/dist/taxonomy/hierarchy-levels.d.ts +23 -0
- package/dist/taxonomy/hierarchy-levels.d.ts.map +1 -0
- package/dist/taxonomy/hierarchy-levels.js +22 -0
- package/dist/taxonomy/hierarchy-levels.js.map +1 -0
- package/dist/taxonomy/index.d.ts +35 -0
- package/dist/taxonomy/index.d.ts.map +1 -0
- package/dist/taxonomy/index.js +56 -0
- package/dist/taxonomy/index.js.map +1 -0
- package/dist/taxonomy/layer-types.d.ts +22 -0
- package/dist/taxonomy/layer-types.d.ts.map +1 -0
- package/dist/taxonomy/layer-types.js +28 -0
- package/dist/taxonomy/layer-types.js.map +1 -0
- package/dist/taxonomy/normalized-status.d.ts +99 -0
- package/dist/taxonomy/normalized-status.d.ts.map +1 -0
- package/dist/taxonomy/normalized-status.js +113 -0
- package/dist/taxonomy/normalized-status.js.map +1 -0
- package/dist/taxonomy/registry-builder.d.ts +104 -0
- package/dist/taxonomy/registry-builder.d.ts.map +1 -0
- package/dist/taxonomy/registry-builder.js +561 -0
- package/dist/taxonomy/registry-builder.js.map +1 -0
- package/dist/taxonomy/risk-levels.d.ts +16 -0
- package/dist/taxonomy/risk-levels.d.ts.map +1 -0
- package/dist/taxonomy/risk-levels.js +15 -0
- package/dist/taxonomy/risk-levels.js.map +1 -0
- package/dist/taxonomy/severity-types.d.ts +6 -0
- package/dist/taxonomy/severity-types.d.ts.map +1 -0
- package/dist/taxonomy/severity-types.js +5 -0
- package/dist/taxonomy/severity-types.js.map +1 -0
- package/dist/taxonomy/status-values.d.ts +39 -0
- package/dist/taxonomy/status-values.d.ts.map +1 -0
- package/dist/taxonomy/status-values.js +42 -0
- package/dist/taxonomy/status-values.js.map +1 -0
- package/dist/types/branded.d.ts +89 -0
- package/dist/types/branded.d.ts.map +1 -0
- package/dist/types/branded.js +57 -0
- package/dist/types/branded.js.map +1 -0
- package/dist/types/errors.d.ts +342 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +251 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/index.d.ts +41 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/result.d.ts +78 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +78 -0
- package/dist/types/result.js.map +1 -0
- package/dist/utils/collection-utils.d.ts +49 -0
- package/dist/utils/collection-utils.d.ts.map +1 -0
- package/dist/utils/collection-utils.js +58 -0
- package/dist/utils/collection-utils.js.map +1 -0
- package/dist/utils/id-utils.d.ts +46 -0
- package/dist/utils/id-utils.d.ts.map +1 -0
- package/dist/utils/id-utils.js +51 -0
- package/dist/utils/id-utils.js.map +1 -0
- package/dist/utils/index.d.ts +21 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/string-utils.d.ts +150 -0
- package/dist/utils/string-utils.d.ts.map +1 -0
- package/dist/utils/string-utils.js +281 -0
- package/dist/utils/string-utils.js.map +1 -0
- package/dist/validation/anti-patterns.d.ts +134 -0
- package/dist/validation/anti-patterns.d.ts.map +1 -0
- package/dist/validation/anti-patterns.js +307 -0
- package/dist/validation/anti-patterns.js.map +1 -0
- package/dist/validation/dod-validator.d.ts +94 -0
- package/dist/validation/dod-validator.d.ts.map +1 -0
- package/dist/validation/dod-validator.js +198 -0
- package/dist/validation/dod-validator.js.map +1 -0
- package/dist/validation/fsm/index.d.ts +59 -0
- package/dist/validation/fsm/index.d.ts.map +1 -0
- package/dist/validation/fsm/index.js +64 -0
- package/dist/validation/fsm/index.js.map +1 -0
- package/dist/validation/fsm/states.d.ts +93 -0
- package/dist/validation/fsm/states.d.ts.map +1 -0
- package/dist/validation/fsm/states.js +98 -0
- package/dist/validation/fsm/states.js.map +1 -0
- package/dist/validation/fsm/transitions.d.ts +100 -0
- package/dist/validation/fsm/transitions.d.ts.map +1 -0
- package/dist/validation/fsm/transitions.js +122 -0
- package/dist/validation/fsm/transitions.js.map +1 -0
- package/dist/validation/fsm/validator.d.ts +163 -0
- package/dist/validation/fsm/validator.d.ts.map +1 -0
- package/dist/validation/fsm/validator.js +205 -0
- package/dist/validation/fsm/validator.js.map +1 -0
- package/dist/validation/index.d.ts +23 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +25 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/types.d.ts +136 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +56 -0
- package/dist/validation/types.js.map +1 -0
- package/dist/validation-schemas/codec-utils.d.ts +188 -0
- package/dist/validation-schemas/codec-utils.d.ts.map +1 -0
- package/dist/validation-schemas/codec-utils.js +258 -0
- package/dist/validation-schemas/codec-utils.js.map +1 -0
- package/dist/validation-schemas/config.d.ts +99 -0
- package/dist/validation-schemas/config.d.ts.map +1 -0
- package/dist/validation-schemas/config.js +178 -0
- package/dist/validation-schemas/config.js.map +1 -0
- package/dist/validation-schemas/doc-directive.d.ts +195 -0
- package/dist/validation-schemas/doc-directive.d.ts.map +1 -0
- package/dist/validation-schemas/doc-directive.js +239 -0
- package/dist/validation-schemas/doc-directive.js.map +1 -0
- package/dist/validation-schemas/dual-source.d.ts +167 -0
- package/dist/validation-schemas/dual-source.d.ts.map +1 -0
- package/dist/validation-schemas/dual-source.js +168 -0
- package/dist/validation-schemas/dual-source.js.map +1 -0
- package/dist/validation-schemas/export-info.d.ts +53 -0
- package/dist/validation-schemas/export-info.d.ts.map +1 -0
- package/dist/validation-schemas/export-info.js +101 -0
- package/dist/validation-schemas/export-info.js.map +1 -0
- package/dist/validation-schemas/extracted-pattern.d.ts +351 -0
- package/dist/validation-schemas/extracted-pattern.d.ts.map +1 -0
- package/dist/validation-schemas/extracted-pattern.js +459 -0
- package/dist/validation-schemas/extracted-pattern.js.map +1 -0
- package/dist/validation-schemas/extracted-shape.d.ts +200 -0
- package/dist/validation-schemas/extracted-shape.d.ts.map +1 -0
- package/dist/validation-schemas/extracted-shape.js +182 -0
- package/dist/validation-schemas/extracted-shape.js.map +1 -0
- package/dist/validation-schemas/feature.d.ts +554 -0
- package/dist/validation-schemas/feature.d.ts.map +1 -0
- package/dist/validation-schemas/feature.js +262 -0
- package/dist/validation-schemas/feature.js.map +1 -0
- package/dist/validation-schemas/index.d.ts +15 -0
- package/dist/validation-schemas/index.d.ts.map +1 -0
- package/dist/validation-schemas/index.js +32 -0
- package/dist/validation-schemas/index.js.map +1 -0
- package/dist/validation-schemas/lint.d.ts +46 -0
- package/dist/validation-schemas/lint.d.ts.map +1 -0
- package/dist/validation-schemas/lint.js +45 -0
- package/dist/validation-schemas/lint.js.map +1 -0
- package/dist/validation-schemas/master-dataset.d.ts +8299 -0
- package/dist/validation-schemas/master-dataset.d.ts.map +1 -0
- package/dist/validation-schemas/master-dataset.js +275 -0
- package/dist/validation-schemas/master-dataset.js.map +1 -0
- package/dist/validation-schemas/output-schemas.d.ts +183 -0
- package/dist/validation-schemas/output-schemas.d.ts.map +1 -0
- package/dist/validation-schemas/output-schemas.js +149 -0
- package/dist/validation-schemas/output-schemas.js.map +1 -0
- package/dist/validation-schemas/scenario-ref.d.ts +80 -0
- package/dist/validation-schemas/scenario-ref.d.ts.map +1 -0
- package/dist/validation-schemas/scenario-ref.js +73 -0
- package/dist/validation-schemas/scenario-ref.js.map +1 -0
- package/dist/validation-schemas/tag-registry.d.ts +210 -0
- package/dist/validation-schemas/tag-registry.d.ts.map +1 -0
- package/dist/validation-schemas/tag-registry.js +248 -0
- package/dist/validation-schemas/tag-registry.js.map +1 -0
- package/dist/validation-schemas/workflow-config.d.ts +125 -0
- package/dist/validation-schemas/workflow-config.d.ts.map +1 -0
- package/dist/validation-schemas/workflow-config.js +138 -0
- package/dist/validation-schemas/workflow-config.js.map +1 -0
- package/docs/ANNOTATION-GUIDE.md +271 -0
- package/docs/ARCHITECTURE.md +1636 -0
- package/docs/CONFIGURATION.md +337 -0
- package/docs/DOCS-GAP-ANALYSIS.md +811 -0
- package/docs/GHERKIN-PATTERNS.md +366 -0
- package/docs/INDEX.md +345 -0
- package/docs/MCP-SETUP.md +140 -0
- package/docs/METHODOLOGY.md +240 -0
- package/docs/PROCESS-API.md +65 -0
- package/docs/PROCESS-GUARD.md +341 -0
- package/docs/SESSION-GUIDES.md +391 -0
- package/docs/TAXONOMY.md +106 -0
- package/docs/VALIDATION.md +418 -0
- package/docs-live/ARCHITECTURE.md +362 -0
- package/docs-live/BUSINESS-RULES.md +24 -0
- package/docs-live/CHANGELOG-GENERATED.md +375 -0
- package/docs-live/DECISIONS.md +78 -0
- package/docs-live/INDEX.md +231 -0
- package/docs-live/PRODUCT-AREAS.md +255 -0
- package/docs-live/TAXONOMY.md +202 -0
- package/docs-live/VALIDATION-RULES.md +119 -0
- package/docs-live/_claude-md/annotation/annotation-overview.md +26 -0
- package/docs-live/_claude-md/annotation/annotation-reference.md +213 -0
- package/docs-live/_claude-md/architecture/architecture-codecs.md +160 -0
- package/docs-live/_claude-md/architecture/architecture-types.md +32 -0
- package/docs-live/_claude-md/architecture/reference-sample.md +162 -0
- package/docs-live/_claude-md/authoring/gherkin-authoring-guide.md +245 -0
- package/docs-live/_claude-md/configuration/configuration-guide.md +216 -0
- package/docs-live/_claude-md/configuration/configuration-overview.md +37 -0
- package/docs-live/_claude-md/core-types/core-types-overview.md +20 -0
- package/docs-live/_claude-md/data-api/data-api-overview.md +39 -0
- package/docs-live/_claude-md/generation/generation-overview.md +30 -0
- package/docs-live/_claude-md/process/process-overview.md +127 -0
- package/docs-live/_claude-md/validation/process-guard.md +185 -0
- package/docs-live/_claude-md/validation/validation-overview.md +37 -0
- package/docs-live/_claude-md/validation/validation-tools-guide.md +242 -0
- package/docs-live/_claude-md/workflow/session-workflow-guide.md +141 -0
- package/docs-live/business-rules/annotation.md +1462 -0
- package/docs-live/business-rules/configuration.md +465 -0
- package/docs-live/business-rules/core-types.md +531 -0
- package/docs-live/business-rules/data-api.md +1403 -0
- package/docs-live/business-rules/generation.md +4726 -0
- package/docs-live/business-rules/process.md +122 -0
- package/docs-live/business-rules/validation.md +998 -0
- package/docs-live/decisions/adr-001-taxonomy-canonical-values.md +197 -0
- package/docs-live/decisions/adr-002-gherkin-only-testing.md +57 -0
- package/docs-live/decisions/adr-003-source-first-pattern-architecture.md +147 -0
- package/docs-live/decisions/adr-004-session-workflow-commands.md +137 -0
- package/docs-live/decisions/adr-005-codec-based-markdown-rendering.md +150 -0
- package/docs-live/decisions/adr-006-single-read-model-architecture.md +136 -0
- package/docs-live/decisions/adr-021-doc-generation-proof-of-concept.md +489 -0
- package/docs-live/product-areas/ANNOTATION.md +591 -0
- package/docs-live/product-areas/CONFIGURATION.md +1048 -0
- package/docs-live/product-areas/CORE-TYPES.md +221 -0
- package/docs-live/product-areas/DATA-API.md +850 -0
- package/docs-live/product-areas/GENERATION.md +1200 -0
- package/docs-live/product-areas/PROCESS.md +351 -0
- package/docs-live/product-areas/VALIDATION.md +1135 -0
- package/docs-live/reference/ANNOTATION-REFERENCE.md +232 -0
- package/docs-live/reference/ARCHITECTURE-CODECS.md +675 -0
- package/docs-live/reference/ARCHITECTURE-TYPES.md +436 -0
- package/docs-live/reference/CONFIGURATION-GUIDE.md +235 -0
- package/docs-live/reference/GHERKIN-AUTHORING-GUIDE.md +270 -0
- package/docs-live/reference/PROCESS-API-RECIPES.md +476 -0
- package/docs-live/reference/PROCESS-API-REFERENCE.md +63 -0
- package/docs-live/reference/PROCESS-GUARD-REFERENCE.md +258 -0
- package/docs-live/reference/REFERENCE-SAMPLE.md +1135 -0
- package/docs-live/reference/SESSION-WORKFLOW-GUIDE.md +384 -0
- package/docs-live/reference/VALIDATION-TOOLS-GUIDE.md +263 -0
- package/docs-live/taxonomy/categories.md +33 -0
- package/docs-live/taxonomy/format-types.md +67 -0
- package/docs-live/taxonomy/metadata-tags.md +693 -0
- package/docs-live/validation/error-catalog.md +78 -0
- package/docs-live/validation/fsm-transitions.md +50 -0
- package/docs-live/validation/protection-levels.md +51 -0
- package/package.json +233 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
### Available Codecs Reference
|
|
2
|
+
|
|
3
|
+
#### ValidationRulesCodec
|
|
4
|
+
|
|
5
|
+
| Option | Type | Default | Description |
|
|
6
|
+
| ----------------------- | ------- | ------- | --------------------------------------------------- |
|
|
7
|
+
| includeFSMDiagram | boolean | true | Include FSM state diagram |
|
|
8
|
+
| includeCLIUsage | boolean | true | Include CLI usage section |
|
|
9
|
+
| includeEscapeHatches | boolean | true | Include escape hatches section |
|
|
10
|
+
| includeProtectionMatrix | boolean | true | Include protection levels matrix |
|
|
11
|
+
| includeErrorGuide | boolean | true | Include error guide with rationale and alternatives |
|
|
12
|
+
|
|
13
|
+
#### RoadmapDocumentCodec
|
|
14
|
+
|
|
15
|
+
| Option | Type | Default | Description |
|
|
16
|
+
| ------------------- | ------------------------ | ------- | ----------------------------------- |
|
|
17
|
+
| generateDetailFiles | boolean | true | Create phase detail files |
|
|
18
|
+
| filterStatus | NormalizedStatusFilter[] | [] | Filter by status |
|
|
19
|
+
| includeProcess | boolean | true | Show quarter, effort, team metadata |
|
|
20
|
+
| includeDeliverables | boolean | true | List deliverables per phase |
|
|
21
|
+
| filterPhases | number[] | [] | Filter to specific phases |
|
|
22
|
+
|
|
23
|
+
#### CompletedMilestonesCodec
|
|
24
|
+
|
|
25
|
+
#### CurrentWorkCodec
|
|
26
|
+
|
|
27
|
+
#### TaxonomyDocumentCodec
|
|
28
|
+
|
|
29
|
+
| Option | Type | Default | Description |
|
|
30
|
+
| ------------------ | ------- | ------- | ------------------------------- |
|
|
31
|
+
| includePresets | boolean | true | Include preset comparison table |
|
|
32
|
+
| includeFormatTypes | boolean | true | Include format type reference |
|
|
33
|
+
| includeArchDiagram | boolean | true | Include architecture diagram |
|
|
34
|
+
| groupByDomain | boolean | true | Group metadata tags by domain |
|
|
35
|
+
|
|
36
|
+
#### SessionContextCodec
|
|
37
|
+
|
|
38
|
+
#### RemainingWorkCodec
|
|
39
|
+
|
|
40
|
+
| Option | Type | Default | Description |
|
|
41
|
+
| --------------------- | ---------------------------------------------- | ------- | ----------------------------- |
|
|
42
|
+
| includeIncomplete | boolean | true | Include planned items |
|
|
43
|
+
| includeBlocked | boolean | true | Show blocked items analysis |
|
|
44
|
+
| includeNextActionable | boolean | true | Next actionable items section |
|
|
45
|
+
| maxNextActionable | number | 5 | Max items in next actionable |
|
|
46
|
+
| sortBy | "phase" \| "priority" \| "effort" \| "quarter" | "phase" | Sort order |
|
|
47
|
+
| groupPlannedBy | "quarter" \| "priority" \| "level" \| "none" | "none" | Group planned items |
|
|
48
|
+
|
|
49
|
+
#### RequirementsDocumentCodec
|
|
50
|
+
|
|
51
|
+
| Option | Type | Default | Description |
|
|
52
|
+
| -------------------- | ---------------------------------------- | -------------- | -------------------------------- |
|
|
53
|
+
| generateDetailFiles | boolean | true | Create product area detail files |
|
|
54
|
+
| groupBy | "product-area" \| "user-role" \| "phase" | "product-area" | Primary grouping |
|
|
55
|
+
| filterStatus | NormalizedStatusFilter[] | [] | Filter by status (empty = all) |
|
|
56
|
+
| includeScenarioSteps | boolean | true | Show Given/When/Then steps |
|
|
57
|
+
| includeBusinessValue | boolean | true | Display business value metadata |
|
|
58
|
+
| includeBusinessRules | boolean | true | Show Gherkin Rule: sections |
|
|
59
|
+
|
|
60
|
+
#### ChangelogCodec
|
|
61
|
+
|
|
62
|
+
| Option | Type | Default | Description |
|
|
63
|
+
| ----------------- | ---------------------- | ------- | --------------------------------- |
|
|
64
|
+
| includeUnreleased | boolean | true | Include unreleased section |
|
|
65
|
+
| includeLinks | boolean | true | Include links |
|
|
66
|
+
| categoryMapping | Record<string, string> | {} | Map categories to changelog types |
|
|
67
|
+
|
|
68
|
+
#### TraceabilityCodec
|
|
69
|
+
|
|
70
|
+
#### OverviewCodec
|
|
71
|
+
|
|
72
|
+
#### ReferenceDocumentCodec
|
|
73
|
+
|
|
74
|
+
| Option | Type | Description |
|
|
75
|
+
| ------------------ | --------------- | ------------------------------------------------------------ |
|
|
76
|
+
| conventionTags | string[] | Convention tag values to extract from decision records |
|
|
77
|
+
| diagramScopes | DiagramScope[] | Multiple diagrams |
|
|
78
|
+
| shapeSelectors | ShapeSelector[] | Fine-grained declaration-level shape filtering |
|
|
79
|
+
| behaviorCategories | string[] | Category tags for behavior pattern content |
|
|
80
|
+
| includeTags | string[] | Cross-cutting content routing via include tags |
|
|
81
|
+
| preamble | SectionBlock[] | Static editorial sections prepended before generated content |
|
|
82
|
+
| productArea | string | Pre-filter all content sources to matching product area |
|
|
83
|
+
| excludeSourcePaths | string[] | Exclude patterns by source path prefix |
|
|
84
|
+
|
|
85
|
+
| Type | Description |
|
|
86
|
+
| --------------- | -------------------------------------------------------------- |
|
|
87
|
+
| graph (default) | Flowchart with subgraphs by archContext, custom node shapes |
|
|
88
|
+
| sequenceDiagram | Sequence diagram with typed messages between participants |
|
|
89
|
+
| stateDiagram-v2 | State diagram with transitions from dependsOn relationships |
|
|
90
|
+
| C4Context | C4 context diagram with boundaries, systems, and relationships |
|
|
91
|
+
| classDiagram | Class diagram with archRole stereotypes and typed arrows |
|
|
92
|
+
|
|
93
|
+
| Variant | Example | Behavior |
|
|
94
|
+
| -------------- | ----------------------------------------------- | --------------------------- |
|
|
95
|
+
| group only | `{ group: "api-types" }` | Match shapes by group tag |
|
|
96
|
+
| source + names | `{ source: "src/types.ts", names: ["Config"] }` | Named shapes from file |
|
|
97
|
+
| source only | `{ source: "src/path/*.ts" }` | All tagged shapes from glob |
|
|
98
|
+
|
|
99
|
+
#### PrChangesCodec
|
|
100
|
+
|
|
101
|
+
#### PlanningChecklistCodec
|
|
102
|
+
|
|
103
|
+
#### SessionPlanCodec
|
|
104
|
+
|
|
105
|
+
#### SessionFindingsCodec
|
|
106
|
+
|
|
107
|
+
#### PatternsDocumentCodec
|
|
108
|
+
|
|
109
|
+
| Option | Type | Default | Description |
|
|
110
|
+
| ---------------------- | ------------------------------------- | ---------- | ------------------------------------------- |
|
|
111
|
+
| generateDetailFiles | boolean | true | Create category detail files |
|
|
112
|
+
| detailLevel | "summary" \| "standard" \| "detailed" | "standard" | Output verbosity |
|
|
113
|
+
| includeDependencyGraph | boolean | true | Render Mermaid dependency graph |
|
|
114
|
+
| includeUseCases | boolean | true | Show use cases section |
|
|
115
|
+
| filterCategories | string[] | [] | Filter to specific categories (empty = all) |
|
|
116
|
+
|
|
117
|
+
#### IndexCodec
|
|
118
|
+
|
|
119
|
+
| Option | Type | Default | Description |
|
|
120
|
+
| ------------------------ | --------------- | ------- | ---------------------------------------------------------------- |
|
|
121
|
+
| preamble | SectionBlock[] | [] | Editorial sections (reading paths, document roles, key concepts) |
|
|
122
|
+
| documentEntries | DocumentEntry[] | [] | Static document inventory entries |
|
|
123
|
+
| includeProductAreaStats | boolean | true | Product area statistics table |
|
|
124
|
+
| includePhaseProgress | boolean | true | Phase progress summary |
|
|
125
|
+
| includeDocumentInventory | boolean | true | Unified document inventory |
|
|
126
|
+
| includePackageMetadata | boolean | true | Package metadata header |
|
|
127
|
+
|
|
128
|
+
#### DesignReviewCodec
|
|
129
|
+
|
|
130
|
+
#### CompositeCodec
|
|
131
|
+
|
|
132
|
+
#### ClaudeModuleCodec
|
|
133
|
+
|
|
134
|
+
#### BusinessRulesCodec
|
|
135
|
+
|
|
136
|
+
| Option | Type | Default | Description |
|
|
137
|
+
| -------------------- | ------------------------------------------ | ------------------- | ----------------------------------------- |
|
|
138
|
+
| groupBy | "domain" \| "phase" \| "domain-then-phase" | "domain-then-phase" | Primary grouping strategy |
|
|
139
|
+
| includeCodeExamples | boolean | false | Include code examples from DocStrings |
|
|
140
|
+
| includeTables | boolean | true | Include markdown tables from descriptions |
|
|
141
|
+
| includeRationale | boolean | true | Include rationale section per rule |
|
|
142
|
+
| filterDomains | string[] | [] | Filter by domain categories (empty = all) |
|
|
143
|
+
| filterPhases | number[] | [] | Filter by phases (empty = all) |
|
|
144
|
+
| onlyWithInvariants | boolean | false | Show only rules with explicit invariants |
|
|
145
|
+
| includeSource | boolean | true | Include source feature file link |
|
|
146
|
+
| includeVerifiedBy | boolean | true | Include Verified by scenario links |
|
|
147
|
+
| maxDescriptionLength | number | 150 | Max description length in standard mode |
|
|
148
|
+
| excludeSourcePaths | string[] | [] | Exclude patterns by source path prefix |
|
|
149
|
+
|
|
150
|
+
#### ArchitectureDocumentCodec
|
|
151
|
+
|
|
152
|
+
| Option | Type | Default | Description |
|
|
153
|
+
| ------------------------ | ------------------------ | ----------- | ---------------------------------------------- |
|
|
154
|
+
| diagramType | "component" \| "layered" | "component" | Type of diagram to generate |
|
|
155
|
+
| includeInventory | boolean | true | Include component inventory table |
|
|
156
|
+
| includeLegend | boolean | true | Include legend for arrow styles |
|
|
157
|
+
| filterContexts | string[] | [] | Filter to specific contexts (empty = all) |
|
|
158
|
+
| diagramKeyComponentsOnly | boolean | true | Only show components with archRole in diagrams |
|
|
159
|
+
|
|
160
|
+
#### AdrDocumentCodec
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
### Architecture Types Reference
|
|
2
|
+
|
|
3
|
+
#### API Types
|
|
4
|
+
|
|
5
|
+
| Type | Kind |
|
|
6
|
+
| ----------------------- | --------- |
|
|
7
|
+
| MasterDatasetSchema | const |
|
|
8
|
+
| StatusGroupsSchema | const |
|
|
9
|
+
| StatusCountsSchema | const |
|
|
10
|
+
| PhaseGroupSchema | const |
|
|
11
|
+
| SourceViewsSchema | const |
|
|
12
|
+
| RelationshipEntrySchema | const |
|
|
13
|
+
| RuntimeMasterDataset | interface |
|
|
14
|
+
| RawDataset | interface |
|
|
15
|
+
| PipelineOptions | interface |
|
|
16
|
+
| PipelineResult | interface |
|
|
17
|
+
|
|
18
|
+
#### Orchestrator Pipeline Responsibilities
|
|
19
|
+
|
|
20
|
+
**Invariant:** The orchestrator is the integration boundary for full docs generation: it delegates dataset construction to the shared pipeline, then executes codecs and writes files.
|
|
21
|
+
|
|
22
|
+
#### Steps 1-8 via buildMasterDataset()
|
|
23
|
+
|
|
24
|
+
#### Steps 9-10: Codec Execution and File Writing
|
|
25
|
+
|
|
26
|
+
#### Shared Pipeline Factory Responsibilities
|
|
27
|
+
|
|
28
|
+
**Invariant:** `buildMasterDataset()` is the shared factory for Steps 1-8 of the architecture pipeline and returns `Result<PipelineResult, PipelineError>` without process-level side effects.
|
|
29
|
+
|
|
30
|
+
#### 8-Step Dataset Build Flow
|
|
31
|
+
|
|
32
|
+
#### Consumer Architecture and PipelineOptions Differentiation
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
### Reference Generation Sample
|
|
2
|
+
|
|
3
|
+
#### Product area canonical values
|
|
4
|
+
|
|
5
|
+
**Invariant:** The product-area tag uses one of 7 canonical values. Each value represents a reader-facing documentation section, not a source module.
|
|
6
|
+
|
|
7
|
+
| Value | Reader Question | Covers |
|
|
8
|
+
| ------------- | ----------------------------------- | ----------------------------------------------- |
|
|
9
|
+
| Annotation | How do I annotate code? | Scanning, extraction, tag parsing, dual-source |
|
|
10
|
+
| Configuration | How do I configure the tool? | Config loading, presets, resolution |
|
|
11
|
+
| Generation | How does code become docs? | Codecs, generators, rendering, diagrams |
|
|
12
|
+
| Validation | How is the workflow enforced? | FSM, DoD, anti-patterns, process guard, lint |
|
|
13
|
+
| DataAPI | How do I query process state? | Process state API, stubs, context assembly, CLI |
|
|
14
|
+
| CoreTypes | What foundational types exist? | Result monad, error factories, string utils |
|
|
15
|
+
| Process | How does the session workflow work? | Session lifecycle, handoffs, conventions |
|
|
16
|
+
|
|
17
|
+
#### ADR category canonical values
|
|
18
|
+
|
|
19
|
+
**Invariant:** The adr-category tag uses one of 4 values.
|
|
20
|
+
|
|
21
|
+
| Value | Purpose |
|
|
22
|
+
| ------------- | --------------------------------------------- |
|
|
23
|
+
| architecture | System structure, component design, data flow |
|
|
24
|
+
| process | Workflow, conventions, annotation rules |
|
|
25
|
+
| testing | Test strategy, verification approach |
|
|
26
|
+
| documentation | Documentation generation, content structure |
|
|
27
|
+
|
|
28
|
+
#### FSM status values and protection levels
|
|
29
|
+
|
|
30
|
+
**Invariant:** Pattern status uses exactly 4 values with defined protection levels. These are enforced by Process Guard at commit time.
|
|
31
|
+
|
|
32
|
+
| Status | Protection | Can Add Deliverables | Allowed Actions |
|
|
33
|
+
| --------- | ------------ | -------------------- | ------------------------------- |
|
|
34
|
+
| roadmap | None | Yes | Full editing |
|
|
35
|
+
| active | Scope-locked | No | Edit existing deliverables only |
|
|
36
|
+
| completed | Hard-locked | No | Requires unlock-reason tag |
|
|
37
|
+
| deferred | None | Yes | Full editing |
|
|
38
|
+
|
|
39
|
+
#### Valid FSM transitions
|
|
40
|
+
|
|
41
|
+
**Invariant:** Only these transitions are valid. All others are rejected by Process Guard.
|
|
42
|
+
|
|
43
|
+
| From | To | Trigger |
|
|
44
|
+
| -------- | --------- | --------------------- |
|
|
45
|
+
| roadmap | active | Start work |
|
|
46
|
+
| roadmap | deferred | Postpone |
|
|
47
|
+
| active | completed | All deliverables done |
|
|
48
|
+
| active | roadmap | Blocked/regressed |
|
|
49
|
+
| deferred | roadmap | Resume planning |
|
|
50
|
+
|
|
51
|
+
#### Tag format types
|
|
52
|
+
|
|
53
|
+
**Invariant:** Every tag has one of 6 format types that determines how its value is parsed.
|
|
54
|
+
|
|
55
|
+
| Format | Parsing | Example |
|
|
56
|
+
| ------------ | ------------------------------ | ----------------------------- |
|
|
57
|
+
| flag | Boolean presence, no value | @architect-core |
|
|
58
|
+
| value | Simple string | @architect-pattern MyPattern |
|
|
59
|
+
| enum | Constrained to predefined list | @architect-status completed |
|
|
60
|
+
| csv | Comma-separated values | @architect-uses A, B, C |
|
|
61
|
+
| number | Numeric value | @architect-phase 15 |
|
|
62
|
+
| quoted-value | Preserves spaces | @architect-brief:'Multi word' |
|
|
63
|
+
|
|
64
|
+
#### Source ownership
|
|
65
|
+
|
|
66
|
+
**Invariant:** Relationship tags have defined ownership by source type. Anti-pattern detection enforces these boundaries.
|
|
67
|
+
|
|
68
|
+
| Tag | Correct Source | Wrong Source | Rationale |
|
|
69
|
+
| ---------- | -------------- | ------------- | ---------------------------------- |
|
|
70
|
+
| uses | TypeScript | Feature files | TS owns runtime dependencies |
|
|
71
|
+
| depends-on | Feature files | TypeScript | Gherkin owns planning dependencies |
|
|
72
|
+
| quarter | Feature files | TypeScript | Gherkin owns timeline metadata |
|
|
73
|
+
| team | Feature files | TypeScript | Gherkin owns ownership metadata |
|
|
74
|
+
|
|
75
|
+
#### Quarter format convention
|
|
76
|
+
|
|
77
|
+
**Invariant:** The quarter tag uses `YYYY-QN` format (e.g., `2026-Q1`). ISO-year-first sorting works lexicographically.
|
|
78
|
+
|
|
79
|
+
#### Canonical phase definitions (6-phase USDP standard)
|
|
80
|
+
|
|
81
|
+
**Invariant:** The default workflow defines exactly 6 phases in fixed order. These are the canonical phase names and ordinals used by all generated documentation.
|
|
82
|
+
|
|
83
|
+
| Order | Phase | Purpose |
|
|
84
|
+
| ----- | ------------- | ---------------------------------------------- |
|
|
85
|
+
| 1 | Inception | Problem framing, scope definition |
|
|
86
|
+
| 2 | Elaboration | Design decisions, architecture exploration |
|
|
87
|
+
| 3 | Session | Planning and design session work |
|
|
88
|
+
| 4 | Construction | Implementation, testing, integration |
|
|
89
|
+
| 5 | Validation | Verification, acceptance criteria confirmation |
|
|
90
|
+
| 6 | Retrospective | Review, lessons learned, documentation |
|
|
91
|
+
|
|
92
|
+
#### Deliverable status canonical values
|
|
93
|
+
|
|
94
|
+
**Invariant:** Deliverable status (distinct from pattern FSM status) uses exactly 6 values, enforced by Zod schema at parse time.
|
|
95
|
+
|
|
96
|
+
| Value | Meaning |
|
|
97
|
+
| ----------- | -------------------- |
|
|
98
|
+
| complete | Work is done |
|
|
99
|
+
| in-progress | Work is ongoing |
|
|
100
|
+
| pending | Work has not started |
|
|
101
|
+
| deferred | Work postponed |
|
|
102
|
+
| superseded | Replaced by another |
|
|
103
|
+
| n/a | Not applicable |
|
|
104
|
+
|
|
105
|
+
#### API Types
|
|
106
|
+
|
|
107
|
+
| Type | Kind |
|
|
108
|
+
| ------------------------- | --------- |
|
|
109
|
+
| normalizeStatus | function |
|
|
110
|
+
| DELIVERABLE_STATUS_VALUES | const |
|
|
111
|
+
| CategoryDefinition | interface |
|
|
112
|
+
| SectionBlock | type |
|
|
113
|
+
|
|
114
|
+
#### Behavior Specifications
|
|
115
|
+
|
|
116
|
+
##### ArchitectFactory
|
|
117
|
+
|
|
118
|
+
##### DefineConfig
|
|
119
|
+
|
|
120
|
+
##### ConfigBasedWorkflowDefinition
|
|
121
|
+
|
|
122
|
+
| Rule | Description |
|
|
123
|
+
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
124
|
+
| Default workflow is built from an inline constant | **Invariant:** `loadDefaultWorkflow()` returns a `LoadedWorkflow` without<br> file system access. It cannot fail. The... |
|
|
125
|
+
| Custom workflow files still work via --workflow flag | **Invariant:** `loadWorkflowFromPath()` remains available for projects<br> that need custom workflow definitions. The... |
|
|
126
|
+
| FSM validation and Process Guard are not affected | **Invariant:** The FSM transition matrix, protection levels, and Process<br> Guard rules remain hardcoded in... |
|
|
127
|
+
| Workflow as a configurable preset field is deferred | **Invariant:** The inline default workflow constant is the only workflow source until preset integration is... |
|
|
128
|
+
|
|
129
|
+
##### ADR005CodecBasedMarkdownRendering
|
|
130
|
+
|
|
131
|
+
| Rule | Description |
|
|
132
|
+
| ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
133
|
+
| Codecs implement a decode-only contract | **Invariant:** Every codec is a pure function that accepts a MasterDataset<br> and returns a RenderableDocument.... |
|
|
134
|
+
| RenderableDocument is a typed intermediate representation | **Invariant:** RenderableDocument contains a title, an ordered array of<br> SectionBlock elements, and an optional... |
|
|
135
|
+
| CompositeCodec assembles documents from child codecs | **Invariant:** CompositeCodec accepts an array of child codecs and<br> produces a single RenderableDocument by... |
|
|
136
|
+
| ADR content comes from both Feature description and Rule prefixes | **Invariant:** ADR structured content (Context, Decision, Consequences)<br> can appear in two locations within a... |
|
|
137
|
+
| The markdown renderer is codec-agnostic | **Invariant:** The renderer accepts any RenderableDocument regardless of<br> which codec produced it. Rendering... |
|
|
138
|
+
|
|
139
|
+
##### ADR001TaxonomyCanonicalValues
|
|
140
|
+
|
|
141
|
+
| Rule | Description |
|
|
142
|
+
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
143
|
+
| Product area canonical values | **Invariant:** The product-area tag uses one of 7 canonical values.<br> Each value represents a reader-facing... |
|
|
144
|
+
| ADR category canonical values | **Invariant:** The adr-category tag uses one of 4 values.<br> **Rationale:** Unbounded category values prevent... |
|
|
145
|
+
| FSM status values and protection levels | **Invariant:** Pattern status uses exactly 4 values with defined<br> protection levels. These are enforced by Process... |
|
|
146
|
+
| Valid FSM transitions | **Invariant:** Only these transitions are valid. All others are<br> rejected by Process Guard.<br> **Rationale:**... |
|
|
147
|
+
| Tag format types | **Invariant:** Every tag has one of 6 format types that determines<br> how its value is parsed.<br> **Rationale:**... |
|
|
148
|
+
| Source ownership | **Invariant:** Relationship tags have defined ownership by source type.<br> Anti-pattern detection enforces these... |
|
|
149
|
+
| Quarter format convention | **Invariant:** The quarter tag uses `YYYY-QN` format (e.g., `2026-Q1`).<br> ISO-year-first sorting works... |
|
|
150
|
+
| Canonical phase definitions (6-phase USDP standard) | **Invariant:** The default workflow defines exactly 6 phases in fixed<br> order. These are the canonical phase names... |
|
|
151
|
+
| Deliverable status canonical values | **Invariant:** Deliverable status (distinct from pattern FSM status)<br> uses exactly 6 values, enforced by Zod... |
|
|
152
|
+
|
|
153
|
+
##### ProcessGuardTesting
|
|
154
|
+
|
|
155
|
+
| Rule | Description |
|
|
156
|
+
| --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
157
|
+
| Completed files require unlock-reason to modify | **Invariant:** A completed spec file cannot be modified unless it carries an @architect-unlock-reason tag.... |
|
|
158
|
+
| Status transitions must follow PDR-005 FSM | **Invariant:** Status changes must follow the directed graph: roadmap->active->completed, roadmap<->deferred,... |
|
|
159
|
+
| Active specs cannot add new deliverables | **Invariant:** A spec in active status cannot have deliverables added that were not present when it entered active.... |
|
|
160
|
+
| Files outside active session scope trigger warnings | **Invariant:** Files modified outside the active session's declared scope produce a session-scope warning.... |
|
|
161
|
+
| Explicitly excluded files trigger errors | **Invariant:** Files explicitly excluded from a session cannot be modified, producing a session-excluded error.... |
|
|
162
|
+
| Multiple rules validate independently | **Invariant:** Each validation rule evaluates independently — a single file can produce violations from multiple... |
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
### Gherkin Authoring Guide
|
|
2
|
+
|
|
3
|
+
#### Essential Patterns
|
|
4
|
+
|
|
5
|
+
##### Roadmap Spec Structure
|
|
6
|
+
|
|
7
|
+
Roadmap specs define planned work with Problem/Solution descriptions and a Background deliverables table.
|
|
8
|
+
|
|
9
|
+
```gherkin
|
|
10
|
+
@architect
|
|
11
|
+
@architect-pattern:ProcessGuardLinter
|
|
12
|
+
@architect-status:roadmap
|
|
13
|
+
@architect-phase:99
|
|
14
|
+
Feature: Process Guard Linter
|
|
15
|
+
|
|
16
|
+
**Problem:**
|
|
17
|
+
During planning and implementation sessions, accidental modifications occur:
|
|
18
|
+
- Specs outside the intended scope get modified in bulk
|
|
19
|
+
- Completed/approved work gets inadvertently changed
|
|
20
|
+
|
|
21
|
+
**Solution:**
|
|
22
|
+
Implement a Decider-based linter that:
|
|
23
|
+
1. Derives process state from existing file annotations
|
|
24
|
+
2. Validates proposed changes against derived state
|
|
25
|
+
3. Enforces file protection levels per PDR-005
|
|
26
|
+
|
|
27
|
+
Background: Deliverables
|
|
28
|
+
Given the following deliverables:
|
|
29
|
+
| Deliverable | Status | Location |
|
|
30
|
+
| State derivation | Pending | src/lint/process-guard/derive.ts |
|
|
31
|
+
| Git diff change detection | Pending | src/lint/process-guard/detect.ts |
|
|
32
|
+
| CLI integration | Pending | src/cli/lint-process.ts |
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Key elements:**
|
|
36
|
+
|
|
37
|
+
- `@architect` -- bare opt-in marker (required)
|
|
38
|
+
- `@architect-pattern:Name` -- unique identifier (required)
|
|
39
|
+
- `@architect-status:roadmap` -- FSM state
|
|
40
|
+
- `**Problem:**` / `**Solution:**` -- extracted by generators
|
|
41
|
+
- Background deliverables table -- tracks implementation progress
|
|
42
|
+
|
|
43
|
+
##### Rule Blocks for Business Constraints
|
|
44
|
+
|
|
45
|
+
Use `Rule:` to group related scenarios under a business constraint.
|
|
46
|
+
|
|
47
|
+
```gherkin
|
|
48
|
+
Rule: Status transitions must follow PDR-005 FSM
|
|
49
|
+
|
|
50
|
+
**Invariant:** Only valid FSM transitions are allowed.
|
|
51
|
+
|
|
52
|
+
**Rationale:** The FSM enforces deliberate progression through planning, implementation, and completion.
|
|
53
|
+
|
|
54
|
+
**Verified by:** Valid transitions pass, Invalid transitions fail
|
|
55
|
+
|
|
56
|
+
@happy-path
|
|
57
|
+
Scenario Outline: Valid transitions pass validation
|
|
58
|
+
Given a file with status "<from>"
|
|
59
|
+
When the status changes to "<to>"
|
|
60
|
+
Then validation passes
|
|
61
|
+
|
|
62
|
+
Examples:
|
|
63
|
+
| from | to |
|
|
64
|
+
| roadmap | active |
|
|
65
|
+
| roadmap | deferred |
|
|
66
|
+
| active | completed |
|
|
67
|
+
| deferred | roadmap |
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
| Element | Purpose | Extracted By |
|
|
71
|
+
| ------------------ | --------------------------------------- | ------------------------------------------- |
|
|
72
|
+
| `**Invariant:**` | Business constraint (what must be true) | Business Rules generator |
|
|
73
|
+
| `**Rationale:**` | Business justification (why it exists) | Business Rules generator |
|
|
74
|
+
| `**Verified by:**` | Comma-separated scenario names | Multiple codecs (Business Rules, Reference) |
|
|
75
|
+
|
|
76
|
+
##### Scenario Outline for Variations
|
|
77
|
+
|
|
78
|
+
When the same pattern applies with different inputs, use `Scenario Outline` with an `Examples` table:
|
|
79
|
+
|
|
80
|
+
```gherkin
|
|
81
|
+
Scenario Outline: Protection levels by status
|
|
82
|
+
Given a file with status "<status>"
|
|
83
|
+
When checking protection level
|
|
84
|
+
Then protection is "<protection>"
|
|
85
|
+
And unlock required is "<unlock>"
|
|
86
|
+
|
|
87
|
+
Examples:
|
|
88
|
+
| status | protection | unlock |
|
|
89
|
+
| roadmap | none | no |
|
|
90
|
+
| active | scope | no |
|
|
91
|
+
| completed | hard | yes |
|
|
92
|
+
| deferred | none | no |
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
##### Executable Test Features
|
|
96
|
+
|
|
97
|
+
Test features focus on behavior verification with section dividers for organization.
|
|
98
|
+
|
|
99
|
+
```gherkin
|
|
100
|
+
@behavior @scanner-core
|
|
101
|
+
@architect-pattern:ScannerCore
|
|
102
|
+
Feature: Scanner Core Integration
|
|
103
|
+
|
|
104
|
+
Background:
|
|
105
|
+
Given a scanner integration context with temp directory
|
|
106
|
+
|
|
107
|
+
@happy-path
|
|
108
|
+
Scenario: Scan files and extract directives
|
|
109
|
+
Given a file "src/auth.ts" with valid content
|
|
110
|
+
When scanning with pattern "src/**/*.ts"
|
|
111
|
+
Then the scan should succeed with 1 file
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Section comments (`# ====`) improve readability in large feature files.
|
|
115
|
+
|
|
116
|
+
#### DataTable and DocString Usage
|
|
117
|
+
|
|
118
|
+
##### Background DataTable (Reference Data)
|
|
119
|
+
|
|
120
|
+
Use for data that applies to all scenarios -- deliverables, definitions, etc.
|
|
121
|
+
|
|
122
|
+
```gherkin
|
|
123
|
+
Background: Deliverables
|
|
124
|
+
Given the following deliverables:
|
|
125
|
+
| Deliverable | Status | Location | Tests |
|
|
126
|
+
| Category types | Done | src/types.ts | Yes |
|
|
127
|
+
| Validation logic | Pending | src/validate.ts | Yes |
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
##### Scenario DataTable (Test Data)
|
|
131
|
+
|
|
132
|
+
Use for scenario-specific test inputs.
|
|
133
|
+
|
|
134
|
+
```gherkin
|
|
135
|
+
Scenario: Session file defines modification scope
|
|
136
|
+
Given a session file with in-scope specs:
|
|
137
|
+
| spec | intent |
|
|
138
|
+
| mvp-workflow-implementation | modify |
|
|
139
|
+
| short-form-tag-migration | review |
|
|
140
|
+
When deriving process state
|
|
141
|
+
Then "mvp-workflow-implementation" is modifiable
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
##### DocString for Code Examples
|
|
145
|
+
|
|
146
|
+
Use `"""typescript` for code blocks. Essential when content contains pipes or special characters.
|
|
147
|
+
|
|
148
|
+
```gherkin
|
|
149
|
+
Scenario: Extract directive from TypeScript
|
|
150
|
+
Given a file with content:
|
|
151
|
+
"""typescript
|
|
152
|
+
/** @architect */
|
|
153
|
+
export function authenticate() {}
|
|
154
|
+
"""
|
|
155
|
+
When scanning the file
|
|
156
|
+
Then directive should have tag "@architect-core"
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
#### Tag Conventions
|
|
160
|
+
|
|
161
|
+
##### Semantic Tags (Extracted by Generators)
|
|
162
|
+
|
|
163
|
+
| Tag | Purpose |
|
|
164
|
+
| ---------------------- | ------------------------------------------------- |
|
|
165
|
+
| `@acceptance-criteria` | Required for DoD validation of completed patterns |
|
|
166
|
+
| `@happy-path` | Primary success scenario |
|
|
167
|
+
| `@validation` | Input validation, constraint checks |
|
|
168
|
+
| `@business-rule` | Business invariant verification |
|
|
169
|
+
| `@business-failure` | Expected business failure scenario |
|
|
170
|
+
| `@edge-case` | Boundary conditions, unusual inputs |
|
|
171
|
+
| `@error-handling` | Error recovery, graceful degradation |
|
|
172
|
+
|
|
173
|
+
#### Feature Description Patterns
|
|
174
|
+
|
|
175
|
+
Choose headers that fit your pattern:
|
|
176
|
+
|
|
177
|
+
| Structure | Headers | Best For |
|
|
178
|
+
| ---------------- | ------------------------------------------ | ------------------------- |
|
|
179
|
+
| Problem/Solution | `**Problem:**`, `**Solution:**` | Pain point to fix |
|
|
180
|
+
| Value-First | `**Business Value:**`, `**How It Works:**` | TDD-style, Gherkin spirit |
|
|
181
|
+
| Context/Approach | `**Context:**`, `**Approach:**` | Technical patterns |
|
|
182
|
+
|
|
183
|
+
The **Problem/Solution** pattern is the dominant style in this codebase.
|
|
184
|
+
|
|
185
|
+
#### Feature File Rich Content
|
|
186
|
+
|
|
187
|
+
Feature files serve dual purposes: **executable specs** and **documentation source**. Content in the Feature description section appears in generated docs.
|
|
188
|
+
|
|
189
|
+
##### Code-First Principle
|
|
190
|
+
|
|
191
|
+
**Prefer code stubs over DocStrings for complex examples.** Feature files should reference code, not duplicate it.
|
|
192
|
+
|
|
193
|
+
| Approach | When to Use |
|
|
194
|
+
| ---------------------------- | ------------------------------------------------------------ |
|
|
195
|
+
| DocStrings (`"""typescript`) | Brief examples (5-10 lines), current/target state comparison |
|
|
196
|
+
| Code stub reference | Complex APIs, interfaces, full implementations |
|
|
197
|
+
|
|
198
|
+
Code stubs are annotated TypeScript files with `throw new Error("not yet implemented")`, located in `architect/stubs/{pattern-name}/`.
|
|
199
|
+
|
|
200
|
+
##### Valid Rich Content
|
|
201
|
+
|
|
202
|
+
| Content Type | Syntax | Appears in Docs |
|
|
203
|
+
| ------------- | ----------------------- | ---------------- |
|
|
204
|
+
| Plain text | Regular paragraphs | Yes |
|
|
205
|
+
| Bold/emphasis | `**bold**`, `*italic*` | Yes |
|
|
206
|
+
| Tables | Markdown pipe tables | Yes |
|
|
207
|
+
| Lists | `- item` or `1. item` | Yes |
|
|
208
|
+
| DocStrings | `"""typescript`...`"""` | Yes (code block) |
|
|
209
|
+
| Comments | `# comment` | No (ignored) |
|
|
210
|
+
|
|
211
|
+
#### Syntax Notes and Gotchas
|
|
212
|
+
|
|
213
|
+
##### Forbidden in Feature Descriptions
|
|
214
|
+
|
|
215
|
+
| Forbidden | Why | Alternative |
|
|
216
|
+
| ----------------------------- | -------------------------------- | ----------------------------------- |
|
|
217
|
+
| Code fences (triple backtick) | Not Gherkin syntax | Use DocStrings with lang hint |
|
|
218
|
+
| `@prefix` in free text | Interpreted as Gherkin tag | Remove `@` or use `libar-dev` |
|
|
219
|
+
| Nested DocStrings | Gherkin parser error | Reference code stub file |
|
|
220
|
+
| `#` at line start | Gherkin comment -- kills parsing | Remove, use `//`, or step DocString |
|
|
221
|
+
|
|
222
|
+
##### Tag Value Constraints
|
|
223
|
+
|
|
224
|
+
**Tag values cannot contain spaces.** Use hyphens:
|
|
225
|
+
|
|
226
|
+
| Invalid | Valid |
|
|
227
|
+
| ------------------------------- | ------------------------------ |
|
|
228
|
+
| `@unlock-reason:Fix for issue` | `@unlock-reason:Fix-for-issue` |
|
|
229
|
+
| `@architect-pattern:My Pattern` | `@architect-pattern:MyPattern` |
|
|
230
|
+
|
|
231
|
+
For values with spaces, use the `quoted-value` format where supported:
|
|
232
|
+
|
|
233
|
+
```gherkin
|
|
234
|
+
@architect-usecase "When handling command failures"
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
#### Quick Reference
|
|
238
|
+
|
|
239
|
+
| Element | Use For | Example |
|
|
240
|
+
| -------------------- | -------------------------------------- | ----------------------------------- |
|
|
241
|
+
| Background DataTable | Deliverables, shared reference data | Deliverables table in roadmap specs |
|
|
242
|
+
| Rule: | Group scenarios by business constraint | Invariant + Rationale + Verified by |
|
|
243
|
+
| Scenario Outline | Same pattern with variations | Examples tables with multiple rows |
|
|
244
|
+
| DocString `"""` | Code examples, content with pipes | TypeScript/Gherkin code blocks |
|
|
245
|
+
| Section comments `#` | Organize large feature files | `# ========= Section ==========` |
|