@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,489 @@
|
|
|
1
|
+
# ADR-021: Doc Generation Proof Of Concept
|
|
2
|
+
|
|
3
|
+
**Purpose:** Architecture decision record for Doc Generation Proof Of Concept
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
| Property | Value |
|
|
10
|
+
| -------- | ------------- |
|
|
11
|
+
| Status | superseded |
|
|
12
|
+
| Category | documentation |
|
|
13
|
+
| Phase | 27 |
|
|
14
|
+
|
|
15
|
+
**Status: SUPERSEDED** - This POC has been implemented. See:
|
|
16
|
+
|
|
17
|
+
- Convention-tagged decision records (ADR/PDR) with @architect-convention tags
|
|
18
|
+
- `docs-generated/ANNOTATION-GUIDE.md` - Comprehensive guide for fixing generated docs
|
|
19
|
+
|
|
20
|
+
This decision establishes the pattern for generating technical documentation
|
|
21
|
+
from annotated source files. It serves as both the DECISION (why/how) and
|
|
22
|
+
the PROOF OF CONCEPT (demonstrating the pattern works).
|
|
23
|
+
|
|
24
|
+
## Context
|
|
25
|
+
|
|
26
|
+
**Invariant:** Documentation must be generated from annotated source code, never manually maintained as a separate artifact.
|
|
27
|
+
|
|
28
|
+
**Rationale:** Manual documentation drifts from source as the codebase evolves, creating stale references that mislead both humans and AI coding sessions.
|
|
29
|
+
|
|
30
|
+
| Document | Lines | Maintenance Burden |
|
|
31
|
+
| ---------------------------- | -------- | --------------------------------- |
|
|
32
|
+
| docs/PROCESS-GUARD.md | ~300 | High - duplicates code behavior |
|
|
33
|
+
| docs/METHODOLOGY.md | ~400 | Medium - conceptual, changes less |
|
|
34
|
+
| \_claude-md/validation/\*.md | ~50 each | High - must match detailed docs |
|
|
35
|
+
| CLAUDE.md | ~800 | Very High - aggregates everything |
|
|
36
|
+
|
|
37
|
+
| Gap | Impact | Solution |
|
|
38
|
+
| -------------------------------- | ------ | -------------------------------------- |
|
|
39
|
+
| Shape extraction from TypeScript | High | New @extract-shapes tag |
|
|
40
|
+
| Convention-tagged content | Medium | Decision records as convention sources |
|
|
41
|
+
| Durable intro/context content | Medium | Decision Rule: Context sections |
|
|
42
|
+
|
|
43
|
+
**The Problem:**
|
|
44
|
+
|
|
45
|
+
Common technical documentation is the hardest part to maintain in a repository.
|
|
46
|
+
The volume constantly grows, and AI coding sessions are drastically less effective
|
|
47
|
+
at updating documentation compared to code. Documentation drifts from source.
|
|
48
|
+
|
|
49
|
+
Current state in this package:
|
|
50
|
+
|
|
51
|
+
**Root Causes:**
|
|
52
|
+
|
|
53
|
+
1. **Duplication** - Same information exists in code comments, feature files,
|
|
54
|
+
and markdown docs. Changes require updating multiple places.
|
|
55
|
+
|
|
56
|
+
2. **No Single Source** - Documentation is authored separately from the code
|
|
57
|
+
it describes. There's no compilation step to catch drift.
|
|
58
|
+
|
|
59
|
+
3. **Detail Level Mismatch** - Compact docs for AI context and detailed docs
|
|
60
|
+
for humans are maintained separately despite sharing content.
|
|
61
|
+
|
|
62
|
+
**What We Have:**
|
|
63
|
+
|
|
64
|
+
The Architect package already has the required ingredients:
|
|
65
|
+
- Pattern extraction from TypeScript JSDoc and Gherkin tags
|
|
66
|
+
- Rich content support (DocStrings, tables, code blocks in features)
|
|
67
|
+
- Multi-source aggregation via tag taxonomy
|
|
68
|
+
- Progressive disclosure via codec detail levels
|
|
69
|
+
- Relationship tags for cross-references
|
|
70
|
+
|
|
71
|
+
**What's Missing:**
|
|
72
|
+
|
|
73
|
+
**Verified by:**
|
|
74
|
+
|
|
75
|
+
- Full pipeline generates documentation from decision documents
|
|
76
|
+
|
|
77
|
+
## Decision
|
|
78
|
+
|
|
79
|
+
**Invariant:** Each content type (intro/rationale, rules/examples, API types) is owned by exactly one source type (decision, behavior spec, or code).
|
|
80
|
+
|
|
81
|
+
**Rationale:** Shared ownership leads to conflicting updates and ambiguous authority over what the "correct" version is.
|
|
82
|
+
|
|
83
|
+
| Source Type | Durability | Content Ownership |
|
|
84
|
+
| ---------------------------- | ---------- | -------------------------------------- |
|
|
85
|
+
| Decision documents (ADR/PDR) | Permanent | Intro, context, rationale, conventions |
|
|
86
|
+
| Behavior specs (.feature) | Permanent | Rules, examples, acceptance criteria |
|
|
87
|
+
| Implementation code (.ts) | Compiled | API types, error messages, signatures |
|
|
88
|
+
|
|
89
|
+
| Rule Prefix | ADR Section | Doc Section |
|
|
90
|
+
| ---------------- | ---------------------- | ---------------------------- |
|
|
91
|
+
| `Context...` | context | ## Background / Introduction |
|
|
92
|
+
| `Decision...` | decision | ## How It Works |
|
|
93
|
+
| `Consequence...` | consequences | ## Trade-offs |
|
|
94
|
+
| Other rules | other (warning logged) | Custom sections |
|
|
95
|
+
|
|
96
|
+
| Target Document | Sources | Detail Level | Effect |
|
|
97
|
+
| --------------------------------------- | ------------------------------------- | ------------ | ------------------------ |
|
|
98
|
+
| docs/PROCESS-GUARD.md | This decision + behavior specs + code | detailed | All sections, full JSDoc |
|
|
99
|
+
| \_claude-md/validation/process-guard.md | This decision + behavior specs + code | summary | Rules table, types only |
|
|
100
|
+
|
|
101
|
+
| Level | Content Included | Rendering Style |
|
|
102
|
+
| -------- | ------------------------------------ | ------------------------------ |
|
|
103
|
+
| summary | Essential tables, type names only | Compact - lists vs code blocks |
|
|
104
|
+
| standard | Tables, types, key descriptions | Balanced |
|
|
105
|
+
| detailed | Everything including JSDoc, examples | Full - code blocks with JSDoc |
|
|
106
|
+
|
|
107
|
+
| Source | What's Extracted | How |
|
|
108
|
+
| ------------------------------- | -------------------------------- | ------------------------- |
|
|
109
|
+
| Decision Rule: Context | Intro/background section | Rule description text |
|
|
110
|
+
| Decision Rule: Decision | How it works section | Rule description text |
|
|
111
|
+
| Decision Rule: Consequences | Trade-offs section | Rule description text |
|
|
112
|
+
| Decision DocStrings | Code examples (Husky, API) | Fenced code blocks |
|
|
113
|
+
| Behavior spec Rules | Validation rules, business rules | Rule names + descriptions |
|
|
114
|
+
| Behavior spec Scenario Outlines | Decision tables, lookup tables | Examples tables |
|
|
115
|
+
| TypeScript @extract-shapes | API types, interfaces | AST extraction |
|
|
116
|
+
| TypeScript JSDoc | Implementation notes | Markdown in comments |
|
|
117
|
+
|
|
118
|
+
**The Pattern:**
|
|
119
|
+
|
|
120
|
+
Documentation is generated from three source types with different durability:
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
**Why Decisions Own Intro Content:**
|
|
124
|
+
|
|
125
|
+
Tier 1 specs (roadmap features) become clutter after implementation - their
|
|
126
|
+
deliverables are done, status is completed, they pile up. Behavior specs stay
|
|
127
|
+
current because tests must pass. But neither is appropriate for intro content.
|
|
128
|
+
|
|
129
|
+
Decisions (ADR/PDR) are durable by design - they remain valid until explicitly
|
|
130
|
+
superseded. The `Rule: Context` section of a decision IS the background/intro
|
|
131
|
+
for any documentation about that topic.
|
|
132
|
+
|
|
133
|
+
**Extends Existing ADR Codec:**
|
|
134
|
+
|
|
135
|
+
The doc-from-decision generator extends the existing `AdrDocumentCodec` which
|
|
136
|
+
already parses Rule: prefixes via `partitionAdrRules()` (see adr.ts:627-663):
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
**Source Mapping Pattern:**
|
|
140
|
+
|
|
141
|
+
Each documentation decision declares its target documents and source mapping:
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
**Detail Level Mapping:**
|
|
145
|
+
|
|
146
|
+
Uses existing `DetailLevel` enum from `renderable/codecs/types/base.ts`:
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
**Extraction by Source Type:**
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
**The Generator Command:**
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
generate-docs --decisions 'specs/**/*.feature' --features 'tests/**/*.feature' --typescript 'src/**/*.ts' --generators doc-from-decision --output docs
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Verified by:**
|
|
159
|
+
|
|
160
|
+
- Decision Rule descriptions become documentation sections; Decision DocStrings become code examples
|
|
161
|
+
|
|
162
|
+
**Invariant:** The source mapping table in a decision document defines how documentation sections are assembled from multiple source files.
|
|
163
|
+
|
|
164
|
+
**Rationale:** Without a declarative mapping, generators must hard-code source-to-section relationships, making the system brittle to new document types.
|
|
165
|
+
|
|
166
|
+
| Column | Purpose | Example |
|
|
167
|
+
| ----------------- | -------------------------------------------- | -------------------------------- |
|
|
168
|
+
| Section | Target section heading in generated doc | "Intro & Context", "API Types" |
|
|
169
|
+
| Source File | Path to source file or self-reference marker | "src/types.ts", "THIS DECISION" |
|
|
170
|
+
| Extraction Method | How to extract content from source | "@extract-shapes", "Rule blocks" |
|
|
171
|
+
|
|
172
|
+
| Marker | Meaning |
|
|
173
|
+
| ------------------------- | -------------------------------------------------- |
|
|
174
|
+
| THIS DECISION | Extract from the current decision document |
|
|
175
|
+
| THIS DECISION (Rule: X) | Extract specific Rule: block from current document |
|
|
176
|
+
| THIS DECISION (DocString) | Extract fenced code blocks from current document |
|
|
177
|
+
|
|
178
|
+
| Extraction Method | Source Type | Action |
|
|
179
|
+
| -------------------------- | ------------------------ | ---------------------------------------------------- |
|
|
180
|
+
| Decision rule description | Decision (.feature) | Extract Rule: block content (Invariant, Rationale) |
|
|
181
|
+
| @extract-shapes tag | TypeScript (.ts) | Invoke shape extractor for @architect-extract-shapes |
|
|
182
|
+
| Rule blocks | Behavior spec (.feature) | Extract Rule: names and descriptions |
|
|
183
|
+
| Scenario Outline Examples | Behavior spec (.feature) | Extract Examples tables as markdown |
|
|
184
|
+
| JSDoc section | TypeScript (.ts) | Extract markdown from JSDoc comments |
|
|
185
|
+
| createViolation() patterns | TypeScript (.ts) | Extract error message literals |
|
|
186
|
+
| Fenced code block | Decision (.feature) | Extract DocString code blocks with language |
|
|
187
|
+
|
|
188
|
+
**Table Format:**
|
|
189
|
+
|
|
190
|
+
**Self-Reference Markers:**
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
**Extraction Method Dispatch:**
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
**Path Resolution:**
|
|
197
|
+
|
|
198
|
+
- Relative paths are resolved from project root
|
|
199
|
+
- `THIS DECISION` resolves to the current decision document
|
|
200
|
+
- Missing files produce warnings but generation continues
|
|
201
|
+
|
|
202
|
+
**Verified by:**
|
|
203
|
+
|
|
204
|
+
- Source mapping aggregates multiple files; Source mapping validated at generation time
|
|
205
|
+
|
|
206
|
+
## Consequences
|
|
207
|
+
|
|
208
|
+
**Invariant:** Decision documents remain the authoritative source for intro, rationale, and convention content until explicitly superseded.
|
|
209
|
+
|
|
210
|
+
**Rationale:** Without durable ownership, documentation sections lose their authoritative source and degrade into unattributed prose that no one updates.
|
|
211
|
+
|
|
212
|
+
| Benefit | How |
|
|
213
|
+
| ---------------------- | ----------------------------------------- |
|
|
214
|
+
| Single source of truth | Each content type owned by one source |
|
|
215
|
+
| Always-current docs | Generated from tested/compiled sources |
|
|
216
|
+
| Reduced maintenance | Change source once, docs regenerate |
|
|
217
|
+
| Progressive disclosure | Same sources → compact + detailed outputs |
|
|
218
|
+
| Clear ownership | Decisions own "why", code owns "what" |
|
|
219
|
+
|
|
220
|
+
| Trade-off | Mitigation |
|
|
221
|
+
| ------------------------------------------------- | ---------------------------------------- |
|
|
222
|
+
| Decisions must be updated for fundamental changes | Appropriate - fundamentals ARE decisions |
|
|
223
|
+
| New @extract-shapes capability required | Spec created (shape-extraction.feature) |
|
|
224
|
+
| Initial annotation effort on existing code | One-time migration, then maintained |
|
|
225
|
+
| Generated docs in git history | Same as current manual approach |
|
|
226
|
+
|
|
227
|
+
| Content Type | Owner | Update Trigger |
|
|
228
|
+
| --------------------------- | ------------------------- | ------------------------------- |
|
|
229
|
+
| Intro, rationale, context | Decision document | Fundamental change to approach |
|
|
230
|
+
| Rules, examples, edge cases | Behavior specs | Behavior change (tests fail) |
|
|
231
|
+
| API types, signatures | Code with @extract-shapes | Interface change (compile fail) |
|
|
232
|
+
| Error messages | Code patterns | Message text change |
|
|
233
|
+
| Code examples | Decision DocStrings | Example needs update |
|
|
234
|
+
|
|
235
|
+
**Benefits:**
|
|
236
|
+
|
|
237
|
+
**Trade-offs:**
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
**Ownership Boundaries:**
|
|
241
|
+
|
|
242
|
+
**Verified by:**
|
|
243
|
+
|
|
244
|
+
- Decision Rule descriptions become documentation sections
|
|
245
|
+
|
|
246
|
+
**Invariant:** Pre-implementation design stubs must reside in `architect/stubs/`, never in `src/`.
|
|
247
|
+
|
|
248
|
+
**Rationale:** Stubs in `src/` require ESLint exceptions, create confusion between production and design code, and risk accidental imports of unimplemented functions.
|
|
249
|
+
|
|
250
|
+
| Issue | Impact |
|
|
251
|
+
| ------------------------ | ------------------------------------------- |
|
|
252
|
+
| ESLint exceptions needed | Rules relaxed for "not-yet-real" code |
|
|
253
|
+
| Confusion | What's production vs. what's design? |
|
|
254
|
+
| Pollution | Stubs mixed with implemented code |
|
|
255
|
+
| Import accidents | Other code might import unimplemented stubs |
|
|
256
|
+
| Maintenance burden | Must track which files are stubs |
|
|
257
|
+
|
|
258
|
+
| Location | Content | When Moved to src/ |
|
|
259
|
+
| ------------------------------- | --------------------------------------------- | ---------------------- |
|
|
260
|
+
| architect/stubs/{pattern}/\*.ts | API shapes, interfaces, throw-not-implemented | Implementation session |
|
|
261
|
+
| src/\*_/_.ts | Production code only | Already there |
|
|
262
|
+
|
|
263
|
+
| Benefit | How |
|
|
264
|
+
| --------------------- | ------------------------------------------------------------- |
|
|
265
|
+
| No ESLint exceptions | Stubs aren't in src/, no relaxation needed |
|
|
266
|
+
| Clear separation | architect/stubs/ = design, src/ = production |
|
|
267
|
+
| Documentation source | Stubs with @extract-shapes generate API docs |
|
|
268
|
+
| Safe iteration | Can refine stub APIs without breaking anything |
|
|
269
|
+
| Implementation signal | Moving from architect/stubs/ to src/ = implementation started |
|
|
270
|
+
|
|
271
|
+
| Document | Decision Source |
|
|
272
|
+
| ---------------------- | ----------------------------------------------- |
|
|
273
|
+
| docs/METHODOLOGY.md | ADR for delivery process methodology |
|
|
274
|
+
| docs/TAXONOMY.md | PDR-006 TypeScript Taxonomy (exists) |
|
|
275
|
+
| docs/VALIDATION.md | ADR for validation approach |
|
|
276
|
+
| docs/SESSION-GUIDES.md | ADR for session workflows |
|
|
277
|
+
| \_claude-md/\*_/_.md | Corresponding decisions with compact extraction |
|
|
278
|
+
|
|
279
|
+
**The Problem:**
|
|
280
|
+
|
|
281
|
+
Design stubs (pre-implementation API shapes) placed in `src/` cause issues:
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
Example of the anti-pattern (from monorepo eslint.config.js):
|
|
285
|
+
|
|
286
|
+
```javascript
|
|
287
|
+
// TODO: Delivery process design artifacts: Relax unused-vars
|
|
288
|
+
{
|
|
289
|
+
files: [
|
|
290
|
+
"**/packages/platform-core/src/durability/durableAppend.ts",
|
|
291
|
+
"**/packages/platform-core/src/durability/intentCompletion.ts",
|
|
292
|
+
// ... more stubs in src/ ...
|
|
293
|
+
],
|
|
294
|
+
rules: {
|
|
295
|
+
"@typescript-eslint/no-unused-vars": "off",
|
|
296
|
+
},
|
|
297
|
+
}
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**The Solution:**
|
|
301
|
+
|
|
302
|
+
Design stubs live in `architect/stubs/`:
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
**Design Stub Pattern:**
|
|
306
|
+
|
|
307
|
+
```typescript
|
|
308
|
+
// architect/stubs/shape-extractor/shape-extractor.ts
|
|
309
|
+
/**
|
|
310
|
+
* @architect
|
|
311
|
+
* @architect-pattern ShapeExtractorStub
|
|
312
|
+
* @architect-status roadmap
|
|
313
|
+
*
|
|
314
|
+
* ## Shape Extractor - Design Stub
|
|
315
|
+
*
|
|
316
|
+
* API design for extracting TypeScript types from source files.
|
|
317
|
+
*/
|
|
318
|
+
|
|
319
|
+
export interface ExtractedShape {
|
|
320
|
+
name: string;
|
|
321
|
+
kind: 'interface' | 'type' | 'enum' | 'function';
|
|
322
|
+
sourceText: string;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
export function extractShapes(
|
|
326
|
+
sourceCode: string,
|
|
327
|
+
shapeNames: string[]
|
|
328
|
+
): Map<string, ExtractedShape> {
|
|
329
|
+
throw new Error('ShapeExtractor not yet implemented - roadmap pattern');
|
|
330
|
+
}
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
**Benefits:**
|
|
334
|
+
|
|
335
|
+
**Workflow:**
|
|
336
|
+
|
|
337
|
+
1. **Design session:** Create stub in `architect/stubs/{pattern-name}/`
|
|
338
|
+
2. **Iterate:** Refine API shapes, add JSDoc, test with docs generation
|
|
339
|
+
3. **Implementation session:** Move/copy to `src/`, implement real logic
|
|
340
|
+
4. **Stub becomes example:** Original stub stays as reference (optional)
|
|
341
|
+
|
|
342
|
+
**What This Enables:**
|
|
343
|
+
|
|
344
|
+
Once proven with Process Guard, the pattern applies to all documentation:
|
|
345
|
+
|
|
346
|
+
**Verified by:**
|
|
347
|
+
|
|
348
|
+
- N/A - architectural constraint verified by code structure
|
|
349
|
+
- not runtime scenario
|
|
350
|
+
|
|
351
|
+
## Rules
|
|
352
|
+
|
|
353
|
+
### Proof of Concept - Self-documentation validates the pattern
|
|
354
|
+
|
|
355
|
+
**Invariant:** The documentation generation pattern must be validated by generating documentation about itself from its own annotated sources.
|
|
356
|
+
|
|
357
|
+
**Rationale:** A self-referential proof of concept exposes extraction gaps and source mapping issues that synthetic test data would miss.
|
|
358
|
+
|
|
359
|
+
| Output | Purpose | Detail Level |
|
|
360
|
+
| -------------------------------------------------------- | ------------------ | ------------ |
|
|
361
|
+
| docs/DOC-GENERATION-PROOF-OF-CONCEPT.md | Detailed reference | detailed |
|
|
362
|
+
| \_claude-md/generated/doc-generation-proof-of-concept.md | AI context | summary |
|
|
363
|
+
|
|
364
|
+
| Section | Source File | Extraction Method |
|
|
365
|
+
| ----------------- | ----------------------------------------------- | -------------------------- |
|
|
366
|
+
| Intro & Context | THIS DECISION (Rule: Context above) | Decision rule description |
|
|
367
|
+
| How It Works | THIS DECISION (Rule: Decision above) | Decision rule description |
|
|
368
|
+
| Validation Rules | tests/features/validation/process-guard.feature | Rule blocks |
|
|
369
|
+
| Protection Levels | architect/specs/process-guard-linter.feature | Scenario Outline Examples |
|
|
370
|
+
| Valid Transitions | architect/specs/process-guard-linter.feature | Scenario Outline Examples |
|
|
371
|
+
| API Types | src/lint/process-guard/types.ts | @extract-shapes tag |
|
|
372
|
+
| Decider API | src/lint/process-guard/decider.ts | @extract-shapes tag |
|
|
373
|
+
| CLI Options | src/cli/lint-process.ts | JSDoc section |
|
|
374
|
+
| Error Messages | src/lint/process-guard/decider.ts | createViolation() patterns |
|
|
375
|
+
| Pre-commit Setup | THIS DECISION (DocString) | Fenced code block |
|
|
376
|
+
| Programmatic API | THIS DECISION (DocString) | Fenced code block |
|
|
377
|
+
|
|
378
|
+
| Situation | Solution | Example |
|
|
379
|
+
| ----------------------------- | --------------------- | ----------------------------------------- |
|
|
380
|
+
| Fix bug in completed spec | Add unlock reason tag | `@architect-unlock-reason:'Fix-typo'` |
|
|
381
|
+
| Modify outside session scope | Use ignore flag | `lint-process --staged --ignore-session` |
|
|
382
|
+
| CI treats warnings as errors | Use strict flag | `lint-process --all --strict` |
|
|
383
|
+
| Skip workflow (legacy import) | Multiple transitions | Set roadmap then completed in same commit |
|
|
384
|
+
|
|
385
|
+
**Process Guard docs are generated separately from `adr-006-process-guard.feature`.**
|
|
386
|
+
|
|
387
|
+
**Source Mapping for POC Self-Documentation:**
|
|
388
|
+
|
|
389
|
+
This source mapping demonstrates all extraction methods by extracting content
|
|
390
|
+
from this POC's own sources. The table serves as both documentation AND test data.
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
**Pre-commit Hook Setup:**
|
|
394
|
+
|
|
395
|
+
File: `.husky/pre-commit`
|
|
396
|
+
|
|
397
|
+
```bash
|
|
398
|
+
npx lint-process --staged
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
**Package.json Scripts:**
|
|
402
|
+
|
|
403
|
+
```json
|
|
404
|
+
{
|
|
405
|
+
"scripts": {
|
|
406
|
+
"lint:process": "lint-process --staged",
|
|
407
|
+
"lint:process:ci": "lint-process --all --strict"
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
**Programmatic API Example:**
|
|
413
|
+
|
|
414
|
+
```typescript
|
|
415
|
+
import {
|
|
416
|
+
deriveProcessState,
|
|
417
|
+
detectStagedChanges,
|
|
418
|
+
validateChanges,
|
|
419
|
+
hasErrors,
|
|
420
|
+
summarizeResult,
|
|
421
|
+
} from '@libar-dev/architect/lint';
|
|
422
|
+
|
|
423
|
+
// 1. Derive state from annotations
|
|
424
|
+
const state = (await deriveProcessState({ baseDir: '.' })).value;
|
|
425
|
+
|
|
426
|
+
// 2. Detect changes
|
|
427
|
+
const changes = detectStagedChanges('.').value;
|
|
428
|
+
|
|
429
|
+
// 3. Validate
|
|
430
|
+
const { result } = validateChanges({
|
|
431
|
+
state,
|
|
432
|
+
changes,
|
|
433
|
+
options: { strict: false, ignoreSession: false },
|
|
434
|
+
});
|
|
435
|
+
|
|
436
|
+
// 4. Handle results
|
|
437
|
+
if (hasErrors(result)) {
|
|
438
|
+
console.log(summarizeResult(result));
|
|
439
|
+
process.exit(1);
|
|
440
|
+
}
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
**Escape Hatches:**
|
|
444
|
+
|
|
445
|
+
**Verified by:**
|
|
446
|
+
|
|
447
|
+
- Full pipeline generates documentation from decision documents
|
|
448
|
+
|
|
449
|
+
This POC demonstrates the doc-from-decision pattern by generating docs
|
|
450
|
+
about ITSELF. The DocGenerationProofOfConcept pattern produces:
|
|
451
|
+
|
|
452
|
+
### Expected Output - Compact claude module structure
|
|
453
|
+
|
|
454
|
+
**Invariant:** Compact output must contain only essential tables and type names, with no JSDoc comments or implementation details.
|
|
455
|
+
|
|
456
|
+
**Rationale:** AI context windows are finite; including non-essential content displaces actionable information and degrades session effectiveness.
|
|
457
|
+
|
|
458
|
+
| Section | Content |
|
|
459
|
+
| ------------------ | ----------------------------------------------------------- |
|
|
460
|
+
| Header + Intro | Pattern name, problem/solution summary |
|
|
461
|
+
| API Types | Core interface definitions (DeciderInput, ValidationResult) |
|
|
462
|
+
| 7 Validation Rules | Rule table with severity and description |
|
|
463
|
+
| Protection Levels | Status-to-protection mapping table |
|
|
464
|
+
| CLI | Essential command examples |
|
|
465
|
+
| Link | Reference to full documentation |
|
|
466
|
+
|
|
467
|
+
**File:** `_claude-md/validation/process-guard.md`
|
|
468
|
+
|
|
469
|
+
The compact module extracts only essential content for AI context.
|
|
470
|
+
Output size depends on source mapping entries - there is no artificial line limit.
|
|
471
|
+
|
|
472
|
+
**Expected Sections:**
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
**Key Characteristics:**
|
|
476
|
+
|
|
477
|
+
- Summary detail level (essential tables only)
|
|
478
|
+
- No JSDoc comments or implementation details
|
|
479
|
+
- Tables for structured data (rules, protection levels)
|
|
480
|
+
- Inline code blocks for CLI examples
|
|
481
|
+
- Cross-reference to detailed documentation
|
|
482
|
+
|
|
483
|
+
**Verified by:**
|
|
484
|
+
|
|
485
|
+
- Compact and detailed outputs from same sources
|
|
486
|
+
|
|
487
|
+
---
|
|
488
|
+
|
|
489
|
+
[← Back to All Decisions](../DECISIONS.md)
|