@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,384 @@
|
|
|
1
|
+
# Session Workflow Guide
|
|
2
|
+
|
|
3
|
+
**Purpose:** Reference document: Session Workflow Guide
|
|
4
|
+
**Detail Level:** Full reference
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Session Decision Tree
|
|
9
|
+
|
|
10
|
+
Use this flowchart to determine which session type to run.
|
|
11
|
+
|
|
12
|
+
```mermaid
|
|
13
|
+
graph TD
|
|
14
|
+
A[Starting from pattern brief?] -->|Yes| B[Need code stubs now?]
|
|
15
|
+
A -->|No| C[Ready to code?]
|
|
16
|
+
B -->|Yes| D[Planning + Design Session]
|
|
17
|
+
B -->|No| E[Planning Session]
|
|
18
|
+
C -->|Yes| F[Complex decisions?]
|
|
19
|
+
C -->|No| E
|
|
20
|
+
F -->|Yes| G[Design Session]
|
|
21
|
+
F -->|No| H[Implementation Session]
|
|
22
|
+
|
|
23
|
+
style D fill:#e1f5fe
|
|
24
|
+
style E fill:#e8f5e9
|
|
25
|
+
style G fill:#fff3e0
|
|
26
|
+
style H fill:#fce4ec
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Session Type Contracts
|
|
30
|
+
|
|
31
|
+
| Session | Input | Output | FSM Change |
|
|
32
|
+
| ----------------- | ------------------- | --------------------------- | ------------------------------------ |
|
|
33
|
+
| Planning | Pattern brief | Roadmap spec (`.feature`) | Creates `roadmap` |
|
|
34
|
+
| Design | Complex requirement | Decision specs + code stubs | None |
|
|
35
|
+
| Implementation | Roadmap spec | Code + tests | `roadmap` -> `active` -> `completed` |
|
|
36
|
+
| Planning + Design | Pattern brief | Spec + stubs | Creates `roadmap` |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Implementation Execution Order
|
|
41
|
+
|
|
42
|
+
Implementation sessions MUST follow this strict 5-step sequence. Skipping steps causes Process Guard rejection at commit time.
|
|
43
|
+
|
|
44
|
+
1. **Transition to `active` FIRST** (before any code changes)
|
|
45
|
+
2. **Create executable spec stubs** (if `@architect-executable-specs` present)
|
|
46
|
+
3. **For each deliverable:** implement, test, update status to `complete`
|
|
47
|
+
4. **Transition to `completed`** (only when ALL deliverables done)
|
|
48
|
+
5. **Regenerate docs:** `pnpm docs:all`
|
|
49
|
+
|
|
50
|
+
### Implementation Do NOT
|
|
51
|
+
|
|
52
|
+
| Do NOT | Why |
|
|
53
|
+
| ----------------------------------- | --------------------------------------- |
|
|
54
|
+
| Add new deliverables to active spec | Scope-locked state prevents scope creep |
|
|
55
|
+
| Mark completed with incomplete work | Hard-locked state cannot be undone |
|
|
56
|
+
| Skip FSM transitions | Process Guard will reject |
|
|
57
|
+
| Edit generated docs directly | Regenerate from source |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Planning Session
|
|
62
|
+
|
|
63
|
+
**Goal:** Create a roadmap spec. Do not write implementation code.
|
|
64
|
+
|
|
65
|
+
### Context Gathering
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pnpm architect:query -- overview # Project health
|
|
69
|
+
pnpm architect:query -- list --status roadmap --names-only # Available patterns
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Planning Checklist
|
|
73
|
+
|
|
74
|
+
- [ ] **Extract metadata** from pattern brief: phase, dependencies, status
|
|
75
|
+
- [ ] **Create spec file** at `{specs-directory}/{product-area}/{pattern}.feature`
|
|
76
|
+
- [ ] **Structure the feature** with Problem/Solution, tags, deliverables table
|
|
77
|
+
- [ ] **Convert constraints to Rule: blocks** with Invariant/Rationale
|
|
78
|
+
- [ ] **Add scenarios** per Rule: 1 happy-path + 1 validation minimum
|
|
79
|
+
- [ ] **Set executable specs location** via `@architect-executable-specs` tag
|
|
80
|
+
|
|
81
|
+
### Planning Do NOT
|
|
82
|
+
|
|
83
|
+
- Create `.ts` implementation files
|
|
84
|
+
- Transition to `active`
|
|
85
|
+
- Ask "Ready to implement?"
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Design Session
|
|
90
|
+
|
|
91
|
+
**Goal:** Make architectural decisions. Create code stubs with interfaces. Do not implement.
|
|
92
|
+
|
|
93
|
+
### Context Gathering
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
pnpm architect:query -- context <PatternName> --session design # Full context bundle
|
|
97
|
+
pnpm architect:query -- dep-tree <PatternName> # Dependency chain
|
|
98
|
+
pnpm architect:query -- stubs <PatternName> # Existing design stubs
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### When to Use Design Sessions
|
|
102
|
+
|
|
103
|
+
| Use Design Session | Skip Design Session |
|
|
104
|
+
| -------------------------- | ------------------- |
|
|
105
|
+
| Multiple valid approaches | Single obvious path |
|
|
106
|
+
| New patterns/capabilities | Bug fix |
|
|
107
|
+
| Cross-context coordination | Clear requirements |
|
|
108
|
+
|
|
109
|
+
### Design Checklist
|
|
110
|
+
|
|
111
|
+
- [ ] **Record decisions** as PDR `.feature` files in `architect/decisions/`
|
|
112
|
+
- [ ] **Document options** with at least 2-3 approaches and pros/cons
|
|
113
|
+
- [ ] **Get approval** from user on recommended approach
|
|
114
|
+
- [ ] **Create code stubs** in `architect/stubs/{pattern-name}/`
|
|
115
|
+
- [ ] **Verify stub identifier spelling** before committing
|
|
116
|
+
- [ ] **List canonical helpers** in `@architect-uses` tags
|
|
117
|
+
|
|
118
|
+
### Design Do NOT
|
|
119
|
+
|
|
120
|
+
- Create markdown design documents (use decision specs instead)
|
|
121
|
+
- Create implementation plans
|
|
122
|
+
- Transition spec to `active`
|
|
123
|
+
- Write full implementations (stubs only)
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Planning + Design Session
|
|
128
|
+
|
|
129
|
+
**Goal:** Create spec AND code stubs in one session. For immediate implementation handoff.
|
|
130
|
+
|
|
131
|
+
### When to Use
|
|
132
|
+
|
|
133
|
+
| Use Planning + Design | Use Planning Only |
|
|
134
|
+
| ----------------------------------- | ---------------------------- |
|
|
135
|
+
| Need stubs for implementation | Only enhancing spec |
|
|
136
|
+
| Preparing for immediate handoff | Still exploring requirements |
|
|
137
|
+
| Want complete two-tier architecture | Don't need Tier 2 yet |
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Handoff Documentation
|
|
142
|
+
|
|
143
|
+
For multi-session work, capture state at session boundaries using the Process Data API.
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
pnpm architect:query -- handoff --pattern <PatternName>
|
|
147
|
+
pnpm architect:query -- handoff --pattern <PatternName> --git # include recent commits
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Quick Reference: FSM Protection
|
|
153
|
+
|
|
154
|
+
| State | Protection | Can Add Deliverables | Needs Unlock |
|
|
155
|
+
| ----------- | ------------ | -------------------- | ------------ |
|
|
156
|
+
| `roadmap` | None | Yes | No |
|
|
157
|
+
| `active` | Scope-locked | No | No |
|
|
158
|
+
| `completed` | Hard-locked | No | Yes |
|
|
159
|
+
| `deferred` | None | Yes | No |
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Behavior Specifications
|
|
164
|
+
|
|
165
|
+
### SessionGuidesModuleSource
|
|
166
|
+
|
|
167
|
+
[View SessionGuidesModuleSource source](architect/specs/session-guides-module-source.feature)
|
|
168
|
+
|
|
169
|
+
**Problem:**
|
|
170
|
+
CLAUDE.md contains a "Session Workflows" section (~160 lines) that is hand-maintained
|
|
171
|
+
with no link to any annotated source. Three hand-written files in `_claude-md/workflow/`
|
|
172
|
+
(session-workflows.md, session-details.md, fsm-handoff.md) are equally opaque: no
|
|
173
|
+
machine-readable origin, no regeneration from source annotations.
|
|
174
|
+
|
|
175
|
+
The prior plan proposed tagging ADR-001, ADR-003, and PDR-001 with `@architect-claude-module`
|
|
176
|
+
to make them the source for generated workflow modules. Design analysis revealed this is
|
|
177
|
+
fundamentally flawed: `claude-module` is a file-level tag that pulls ALL Rules from a file,
|
|
178
|
+
but most Rules in those decision specs are irrelevant to session workflows (ADR-001 has 9
|
|
179
|
+
Rules, only 2-3 are workflow-relevant; PDR-001 has 7 Rules about CLI implementation
|
|
180
|
+
decisions, not workflow guidance).
|
|
181
|
+
|
|
182
|
+
**Solution:**
|
|
183
|
+
This spec file itself becomes the annotated source for session workflow content.
|
|
184
|
+
Session workflow invariants are captured as Rule: blocks here, covering session type
|
|
185
|
+
contracts, FSM protection, execution order, error recovery, and handoff patterns.
|
|
186
|
+
|
|
187
|
+
Once ClaudeModuleGeneration (Phase 25) ships, adding `@architect-claude-module` and
|
|
188
|
+
`@architect-claude-section:workflow` tags to this spec will cause the codec to produce
|
|
189
|
+
`_claude-md/workflow/` modules automatically. The hand-written files are then deleted
|
|
190
|
+
and the CLAUDE.md section becomes a generated include.
|
|
191
|
+
|
|
192
|
+
Retain `docs/SESSION-GUIDES.md` (389 lines) as the authoritative public human reference
|
|
193
|
+
deployed to libar.dev. It serves developers with comprehensive checklists and full CLI
|
|
194
|
+
examples — content that cannot be expressed as compact invariants.
|
|
195
|
+
|
|
196
|
+
Three-layer architecture after Phase 39:
|
|
197
|
+
|
|
198
|
+
| Layer | Location | Content | Maintenance |
|
|
199
|
+
| Public human reference | docs/SESSION-GUIDES.md | Full checklists, CLI examples, decision trees | Manual (editorial) |
|
|
200
|
+
| Compact AI context | \_claude-md/workflow/ | Invariants, session contracts, FSM reference | Generated from this spec |
|
|
201
|
+
| Machine-queryable source | Process Data API | Rules from this spec via `rules` command | Derived from annotations |
|
|
202
|
+
|
|
203
|
+
**Why It Matters:**
|
|
204
|
+
| Benefit | How |
|
|
205
|
+
| No CLAUDE.md drift | Session workflow section generated, not hand-authored |
|
|
206
|
+
| Single annotated source | This spec owns all session workflow invariants |
|
|
207
|
+
| Correct audience alignment | Public guide stays in docs/, AI context in \_claude-md/ |
|
|
208
|
+
| Process API coverage | Session workflow content queryable via `pnpm process:query -- rules` |
|
|
209
|
+
| Immediately useful | Rule: blocks are queryable today, generation follows when Phase 25 ships |
|
|
210
|
+
|
|
211
|
+
**Design Session Findings (2026-03-05):**
|
|
212
|
+
| Finding | Impact |
|
|
213
|
+
| claude-module is file-level, not Rule-level | Cannot selectively tag individual Rules in ADR/PDR files |
|
|
214
|
+
| ADR-001 has 9 Rules, only 2-3 workflow-relevant | Tagging ADR-001 would create noisy, diluted context |
|
|
215
|
+
| PDR-001 Rules are CLI implementation decisions | Not session workflow guidance, wrong audience |
|
|
216
|
+
| Phase 25 claude-section enum lacks workflow value | Must add workflow to enum before annotation |
|
|
217
|
+
| Self-referential spec is correct source | This spec captures invariants, SESSION-GUIDES.md has editorial content |
|
|
218
|
+
|
|
219
|
+
<details>
|
|
220
|
+
<summary>SESSION-GUIDES.md is the authoritative public human reference (2 scenarios)</summary>
|
|
221
|
+
|
|
222
|
+
#### SESSION-GUIDES.md is the authoritative public human reference
|
|
223
|
+
|
|
224
|
+
**Invariant:** `docs/SESSION-GUIDES.md` exists and is not deleted, shortened, or replaced with a redirect. Its comprehensive checklists, CLI command examples, and session decision trees serve developers on libar.dev.
|
|
225
|
+
|
|
226
|
+
**Rationale:** Session workflow guidance requires two formats for two audiences. Public developers need comprehensive checklists with full examples. AI sessions need compact invariants they can apply without reading 389 lines.
|
|
227
|
+
|
|
228
|
+
**Verified by:**
|
|
229
|
+
|
|
230
|
+
- SESSION-GUIDES.md exists after Phase 39 completes
|
|
231
|
+
- No broken links after Phase 39
|
|
232
|
+
- SESSION-GUIDES.md exists after Phase 39
|
|
233
|
+
|
|
234
|
+
</details>
|
|
235
|
+
|
|
236
|
+
<details>
|
|
237
|
+
<summary>CLAUDE.md session workflow content is derived, not hand-authored (1 scenarios)</summary>
|
|
238
|
+
|
|
239
|
+
#### CLAUDE.md session workflow content is derived, not hand-authored
|
|
240
|
+
|
|
241
|
+
**Invariant:** After Phase 39 generation deliverables complete, the "Session Workflows" section in CLAUDE.md contains no manually-authored content. It is composed from generated `_claude-md/workflow/` modules.
|
|
242
|
+
|
|
243
|
+
**Rationale:** A hand-maintained CLAUDE.md session section creates two copies of session workflow guidance with no synchronization mechanism. Regeneration from annotated source eliminates drift.
|
|
244
|
+
|
|
245
|
+
**Verified by:**
|
|
246
|
+
|
|
247
|
+
- CLAUDE.md session section is a generated module reference
|
|
248
|
+
|
|
249
|
+
</details>
|
|
250
|
+
|
|
251
|
+
<details>
|
|
252
|
+
<summary>Session type determines artifacts and FSM changes (1 scenarios)</summary>
|
|
253
|
+
|
|
254
|
+
#### Session type determines artifacts and FSM changes
|
|
255
|
+
|
|
256
|
+
**Invariant:** Four session types exist, each with defined input, output, and FSM impact. Mixing outputs across session types (e.g., writing code in a planning session) violates session discipline.
|
|
257
|
+
|
|
258
|
+
**Rationale:** Session type confusion causes wasted work — a design mistake discovered mid-implementation wastes the entire session. Clear contracts prevent scope bleeding between session types.
|
|
259
|
+
|
|
260
|
+
**Verified by:**
|
|
261
|
+
|
|
262
|
+
- Session type contracts are enforced
|
|
263
|
+
|
|
264
|
+
</details>
|
|
265
|
+
|
|
266
|
+
<details>
|
|
267
|
+
<summary>Planning sessions produce roadmap specs only (1 scenarios)</summary>
|
|
268
|
+
|
|
269
|
+
#### Planning sessions produce roadmap specs only
|
|
270
|
+
|
|
271
|
+
**Invariant:** A planning session creates a roadmap spec with metadata, deliverables table, Rule: blocks with invariants, and scenarios. It must not produce implementation code, transition to active, or prompt for implementation readiness.
|
|
272
|
+
|
|
273
|
+
**Rationale:** Planning is the cheapest session type — it produces .feature file edits, no compilation needed. Mixing implementation into planning defeats the cost advantage and introduces untested code without a locked scope.
|
|
274
|
+
|
|
275
|
+
**Verified by:**
|
|
276
|
+
|
|
277
|
+
- Planning session output constraints
|
|
278
|
+
|
|
279
|
+
</details>
|
|
280
|
+
|
|
281
|
+
<details>
|
|
282
|
+
<summary>Design sessions produce decisions and stubs only (1 scenarios)</summary>
|
|
283
|
+
|
|
284
|
+
#### Design sessions produce decisions and stubs only
|
|
285
|
+
|
|
286
|
+
**Invariant:** A design session makes architectural decisions and creates code stubs with interfaces. It must not produce implementation code. Context gathering via the Process Data API must precede any explore agent usage.
|
|
287
|
+
|
|
288
|
+
**Rationale:** Design sessions resolve ambiguity before implementation begins. Code stubs in architect/stubs/ live outside src/ to avoid TypeScript compilation and ESLint issues, making them zero-risk artifacts.
|
|
289
|
+
|
|
290
|
+
**Verified by:**
|
|
291
|
+
|
|
292
|
+
- Design session output constraints
|
|
293
|
+
|
|
294
|
+
</details>
|
|
295
|
+
|
|
296
|
+
<details>
|
|
297
|
+
<summary>Implementation sessions follow FSM-enforced execution order (1 scenarios)</summary>
|
|
298
|
+
|
|
299
|
+
#### Implementation sessions follow FSM-enforced execution order
|
|
300
|
+
|
|
301
|
+
**Invariant:** Implementation sessions must follow a strict 5-step execution order. Transition to active must happen before any code changes. Transition to completed must happen only when ALL deliverables are done. Skipping steps causes Process Guard rejection at commit time.
|
|
302
|
+
|
|
303
|
+
**Rationale:** The execution order ensures FSM state accurately reflects work state at every point. Writing code before transitioning to active means Process Guard sees changes to a roadmap spec (no scope protection). Marking completed with incomplete work creates a hard-locked state that requires unlock-reason to fix.
|
|
304
|
+
|
|
305
|
+
**Verified by:**
|
|
306
|
+
|
|
307
|
+
- Implementation execution order is enforced
|
|
308
|
+
- Implementation execution order is enforced
|
|
309
|
+
|
|
310
|
+
Execution order:
|
|
311
|
+
1. Transition to active FIRST (before any code changes)
|
|
312
|
+
2. Create executable spec stubs (if @architect-executable-specs present)
|
|
313
|
+
3. For each deliverable: implement
|
|
314
|
+
|
|
315
|
+
- test
|
|
316
|
+
- update status to complete 4. Transition to completed (only when ALL deliverables done) 5. Regenerate docs: pnpm docs:all
|
|
317
|
+
|
|
318
|
+
</details>
|
|
319
|
+
|
|
320
|
+
<details>
|
|
321
|
+
<summary>FSM errors have documented fixes (1 scenarios)</summary>
|
|
322
|
+
|
|
323
|
+
#### FSM errors have documented fixes
|
|
324
|
+
|
|
325
|
+
**Invariant:** Every Process Guard error code has a defined cause and fix. The error codes, causes, and fixes form a closed set — no undocumented error states exist.
|
|
326
|
+
|
|
327
|
+
**Rationale:** Undocumented FSM errors cause session-blocking confusion. A lookup table from error code to fix eliminates guesswork and prevents workarounds that bypass process integrity.
|
|
328
|
+
|
|
329
|
+
**Verified by:**
|
|
330
|
+
|
|
331
|
+
- All FSM errors have documented recovery paths
|
|
332
|
+
- All FSM errors have documented recovery paths
|
|
333
|
+
|
|
334
|
+
Escape hatches for exceptional situations:
|
|
335
|
+
|
|
336
|
+
</details>
|
|
337
|
+
|
|
338
|
+
<details>
|
|
339
|
+
<summary>Handoff captures session-end state for continuity (1 scenarios)</summary>
|
|
340
|
+
|
|
341
|
+
#### Handoff captures session-end state for continuity
|
|
342
|
+
|
|
343
|
+
**Invariant:** Multi-session work requires handoff documentation generated from the Process Data API. Handoff output always reflects actual annotation state, not manual notes.
|
|
344
|
+
|
|
345
|
+
**Rationale:** Manual session notes drift from actual deliverable state. The handoff command derives state from annotations, ensuring the next session starts from ground truth rather than stale notes.
|
|
346
|
+
|
|
347
|
+
**Verified by:**
|
|
348
|
+
|
|
349
|
+
- Handoff output reflects annotation state
|
|
350
|
+
- Handoff output reflects annotation state
|
|
351
|
+
|
|
352
|
+
Generate handoff via: pnpm process:query -- handoff --pattern PatternName
|
|
353
|
+
Options: --git (include recent commits)
|
|
354
|
+
|
|
355
|
+
- --session (session identifier)
|
|
356
|
+
|
|
357
|
+
Output includes: deliverable statuses
|
|
358
|
+
|
|
359
|
+
- blockers
|
|
360
|
+
- modification date
|
|
361
|
+
- and next
|
|
362
|
+
steps — all derived from current annotation state.
|
|
363
|
+
|
|
364
|
+
</details>
|
|
365
|
+
|
|
366
|
+
<details>
|
|
367
|
+
<summary>ClaudeModuleGeneration is the generation mechanism (1 scenarios)</summary>
|
|
368
|
+
|
|
369
|
+
#### ClaudeModuleGeneration is the generation mechanism
|
|
370
|
+
|
|
371
|
+
**Invariant:** Phase 39 depends on ClaudeModuleGeneration (Phase 25). Adding `@architect-claude-module` and `@architect-claude-section:workflow` tags to this spec will cause ClaudeModuleGeneration to produce `_claude-md/workflow/` output files. The hand-written `_claude-md/workflow/` files are deleted after successful verified generation.
|
|
372
|
+
|
|
373
|
+
**Rationale:** The annotation work (Rule blocks in this spec) is immediately useful — queryable via `pnpm process:query -- rules`. Generation deliverables cannot complete until Phase 25 ships the ClaudeModuleCodec. This sequencing is intentional: the annotation investment has standalone value regardless of whether the codec exists yet.
|
|
374
|
+
|
|
375
|
+
**Prerequisite:** Phase 25 must add `workflow` to the `claude-section` enum
|
|
376
|
+
values (currently: core, process, testing, infrastructure).
|
|
377
|
+
|
|
378
|
+
**Verified by:**
|
|
379
|
+
|
|
380
|
+
- Generated modules replace hand-written workflow files
|
|
381
|
+
|
|
382
|
+
</details>
|
|
383
|
+
|
|
384
|
+
---
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
# Validation Tools Guide
|
|
2
|
+
|
|
3
|
+
**Purpose:** Reference document: Validation Tools Guide
|
|
4
|
+
**Detail Level:** Full reference
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Which Command Do I Run?
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
Need to check annotation quality?
|
|
12
|
+
Yes -> architect-lint-patterns
|
|
13
|
+
|
|
14
|
+
Need to check vitest-cucumber compatibility?
|
|
15
|
+
Yes -> architect-lint-steps
|
|
16
|
+
|
|
17
|
+
Need FSM workflow validation?
|
|
18
|
+
Yes -> architect-guard
|
|
19
|
+
|
|
20
|
+
Need cross-source or DoD validation?
|
|
21
|
+
Yes -> architect-validate
|
|
22
|
+
|
|
23
|
+
Running pre-commit hook?
|
|
24
|
+
architect-guard --staged (default)
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Command Summary
|
|
28
|
+
|
|
29
|
+
| Command | Purpose | When to Use |
|
|
30
|
+
| ------------------------- | --------------------------------- | --------------------------------------------- |
|
|
31
|
+
| `architect-lint-patterns` | Annotation quality | Ensure patterns have required tags |
|
|
32
|
+
| `architect-lint-steps` | vitest-cucumber compatibility | After writing/modifying feature or step files |
|
|
33
|
+
| `architect-guard` | FSM workflow enforcement | Pre-commit hooks, CI pipelines |
|
|
34
|
+
| `architect-validate` | Cross-source + DoD + anti-pattern | Release validation, comprehensive |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## architect-lint-patterns
|
|
39
|
+
|
|
40
|
+
Validates `@<prefix>-*` annotation quality in TypeScript files.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npx architect-lint-patterns -i "src/**/*.ts"
|
|
44
|
+
npx architect-lint-patterns -i "src/**/*.ts" --strict # CI
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### CLI Flags
|
|
48
|
+
|
|
49
|
+
| Flag | Short | Description | Default |
|
|
50
|
+
| ------------------------ | ----- | ----------------------------------- | -------- |
|
|
51
|
+
| `--input <pattern>` | `-i` | Glob pattern (required, repeatable) | required |
|
|
52
|
+
| `--exclude <pattern>` | `-e` | Exclude pattern (repeatable) | - |
|
|
53
|
+
| `--base-dir <dir>` | `-b` | Base directory | cwd |
|
|
54
|
+
| `--strict` | | Treat warnings as errors | false |
|
|
55
|
+
| `--format <type>` | `-f` | Output: `pretty` or `json` | `pretty` |
|
|
56
|
+
| `--quiet` | `-q` | Only show errors | false |
|
|
57
|
+
| `--min-severity <level>` | | `error`, `warning`, `info` | - |
|
|
58
|
+
|
|
59
|
+
### Rules
|
|
60
|
+
|
|
61
|
+
| Rule | Severity | What It Checks |
|
|
62
|
+
| -------------------------------- | -------- | -------------------------------------------------- |
|
|
63
|
+
| `missing-pattern-name` | error | Must have `@<prefix>-pattern` |
|
|
64
|
+
| `invalid-status` | error | Status must be valid FSM value |
|
|
65
|
+
| `tautological-description` | error | Description cannot just repeat name |
|
|
66
|
+
| `pattern-conflict-in-implements` | error | Pattern cannot implement itself (circular ref) |
|
|
67
|
+
| `missing-relationship-target` | warning | Relationship targets must reference known patterns |
|
|
68
|
+
| `missing-status` | warning | Should have status tag |
|
|
69
|
+
| `missing-when-to-use` | warning | Should have "When to Use" section |
|
|
70
|
+
| `missing-relationships` | info | Consider adding uses/used-by |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## architect-lint-steps
|
|
75
|
+
|
|
76
|
+
Static analyzer for vitest-cucumber feature/step compatibility. Catches mismatches that cause cryptic runtime failures.
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
pnpm lint:steps # Standard check
|
|
80
|
+
pnpm lint:steps --strict # CI
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
12 rules across 3 categories (9 error, 3 warning).
|
|
84
|
+
|
|
85
|
+
### Feature File Rules
|
|
86
|
+
|
|
87
|
+
| Rule ID | Severity | What It Catches |
|
|
88
|
+
| ------------------------ | -------- | ------------------------------------------------------------------------- |
|
|
89
|
+
| `hash-in-description` | error | `#` at line start inside `"""` block in description -- terminates parsing |
|
|
90
|
+
| `keyword-in-description` | error | Description line starting with Given/When/Then/And/But -- breaks parser |
|
|
91
|
+
| `duplicate-and-step` | error | Multiple `And` steps with identical text in same scenario |
|
|
92
|
+
| `dollar-in-step-text` | warning | `$` in step text (outside quotes) causes matching issues |
|
|
93
|
+
| `hash-in-step-text` | warning | Mid-line `#` in step text (outside quotes) silently truncates the step |
|
|
94
|
+
|
|
95
|
+
### Step Definition Rules
|
|
96
|
+
|
|
97
|
+
| Rule ID | Severity | What It Catches |
|
|
98
|
+
| ------------------------- | -------- | ----------------------------------------------------------- |
|
|
99
|
+
| `regex-step-pattern` | error | Regex pattern in step registration -- use string patterns |
|
|
100
|
+
| `unsupported-phrase-type` | error | `{phrase}` in step string -- use `{string}` instead |
|
|
101
|
+
| `repeated-step-pattern` | error | Same pattern registered twice -- second silently overwrites |
|
|
102
|
+
|
|
103
|
+
### Cross-File Rules
|
|
104
|
+
|
|
105
|
+
| Rule ID | Severity | What It Catches |
|
|
106
|
+
| ---------------------------------- | -------- | -------------------------------------------------------------------- |
|
|
107
|
+
| `scenario-outline-function-params` | error | Function params in ScenarioOutline callback (should use variables) |
|
|
108
|
+
| `missing-and-destructuring` | error | Feature has `And` steps but step file does not destructure `And` |
|
|
109
|
+
| `missing-rule-wrapper` | error | Feature has `Rule:` blocks but step file does not destructure `Rule` |
|
|
110
|
+
| `outline-quoted-values` | warning | Quoted values in Outline steps instead of `<placeholder>` syntax |
|
|
111
|
+
|
|
112
|
+
### CLI Reference
|
|
113
|
+
|
|
114
|
+
| Flag | Short | Description | Default |
|
|
115
|
+
| ------------------ | ----- | -------------------------- | -------- |
|
|
116
|
+
| `--strict` | | Treat warnings as errors | false |
|
|
117
|
+
| `--format <type>` | | Output: `pretty` or `json` | `pretty` |
|
|
118
|
+
| `--base-dir <dir>` | `-b` | Base directory for paths | cwd |
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## architect-guard
|
|
123
|
+
|
|
124
|
+
FSM validation for delivery workflow. Enforces status transitions and protection levels.
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
npx architect-guard --staged # Pre-commit (default)
|
|
128
|
+
npx architect-guard --all --strict # CI pipeline
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**What it validates:**
|
|
132
|
+
|
|
133
|
+
- Status transitions follow FSM (`roadmap` -> `active` -> `completed`)
|
|
134
|
+
- Completed specs require unlock reason to modify
|
|
135
|
+
- Active specs cannot add new deliverables (scope protection)
|
|
136
|
+
- Session scope rules (optional)
|
|
137
|
+
|
|
138
|
+
For detailed rules, escape hatches, and error fixes, see the [Process Guard Reference](PROCESS-GUARD-REFERENCE.md).
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## architect-validate
|
|
143
|
+
|
|
144
|
+
Cross-source validator combining multiple checks.
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
npx architect-validate \
|
|
148
|
+
-i "src/**/*.ts" \
|
|
149
|
+
-F "specs/**/*.feature" \
|
|
150
|
+
--dod \
|
|
151
|
+
--anti-patterns
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### CLI Flags
|
|
155
|
+
|
|
156
|
+
| Flag | Short | Description | Default |
|
|
157
|
+
| ----------------- | ----- | ------------------------------------------------ | -------- |
|
|
158
|
+
| `--input` | `-i` | Glob for TypeScript files (required, repeatable) | required |
|
|
159
|
+
| `--features` | `-F` | Glob for Gherkin files (required, repeatable) | required |
|
|
160
|
+
| `--exclude` | `-e` | Exclude pattern (repeatable) | - |
|
|
161
|
+
| `--base-dir` | `-b` | Base directory | cwd |
|
|
162
|
+
| `--strict` | | Treat warnings as errors (exit 2) | false |
|
|
163
|
+
| `--verbose` | | Show info-level messages | false |
|
|
164
|
+
| `--format` | `-f` | Output: `pretty` or `json` | `pretty` |
|
|
165
|
+
| `--dod` | | Enable Definition of Done validation | false |
|
|
166
|
+
| `--anti-patterns` | | Enable anti-pattern detection | false |
|
|
167
|
+
|
|
168
|
+
### Anti-Pattern Detection
|
|
169
|
+
|
|
170
|
+
Detects process metadata tags that belong in feature files but appear in TypeScript code:
|
|
171
|
+
|
|
172
|
+
| Tag Suffix (Feature-Only) | What It Tracks |
|
|
173
|
+
| ------------------------- | -------------------- |
|
|
174
|
+
| `@<prefix>-quarter` | Timeline metadata |
|
|
175
|
+
| `@<prefix>-team` | Ownership metadata |
|
|
176
|
+
| `@<prefix>-effort` | Estimation metadata |
|
|
177
|
+
| `@<prefix>-completed` | Completion timestamp |
|
|
178
|
+
|
|
179
|
+
Additional checks:
|
|
180
|
+
|
|
181
|
+
| ID | Severity | What It Detects |
|
|
182
|
+
| ----------------- | -------- | ----------------------------------- |
|
|
183
|
+
| `process-in-code` | error | Feature-only tags found in TS code |
|
|
184
|
+
| `magic-comments` | warning | Generator hints in feature files |
|
|
185
|
+
| `scenario-bloat` | warning | Too many scenarios per feature file |
|
|
186
|
+
| `mega-feature` | warning | Feature file exceeds line threshold |
|
|
187
|
+
|
|
188
|
+
### DoD Validation
|
|
189
|
+
|
|
190
|
+
For patterns with `completed` status, checks:
|
|
191
|
+
|
|
192
|
+
- All deliverables are in a terminal state (`complete`, `n/a`, or `superseded`)
|
|
193
|
+
- At least one `@acceptance-criteria` scenario exists in the spec
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## CI/CD Integration
|
|
198
|
+
|
|
199
|
+
### Recommended package.json Scripts
|
|
200
|
+
|
|
201
|
+
```json
|
|
202
|
+
{
|
|
203
|
+
"scripts": {
|
|
204
|
+
"lint:patterns": "architect-lint-patterns -i 'src/**/*.ts'",
|
|
205
|
+
"lint:steps": "architect-lint-steps",
|
|
206
|
+
"lint:steps:ci": "architect-lint-steps --strict",
|
|
207
|
+
"lint:process": "architect-guard --staged",
|
|
208
|
+
"lint:process:ci": "architect-guard --all --strict",
|
|
209
|
+
"validate:all": "architect-validate -i 'src/**/*.ts' -F 'specs/**/*.feature' --dod --anti-patterns"
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Pre-commit Hook
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
npx architect-guard --staged
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### GitHub Actions
|
|
221
|
+
|
|
222
|
+
```yaml
|
|
223
|
+
- name: Lint annotations
|
|
224
|
+
run: npx architect-lint-patterns -i "src/**/*.ts" --strict
|
|
225
|
+
|
|
226
|
+
- name: Lint steps
|
|
227
|
+
run: npx architect-lint-steps --strict
|
|
228
|
+
|
|
229
|
+
- name: Validate patterns
|
|
230
|
+
run: npx architect-validate -i "src/**/*.ts" -F "specs/**/*.feature" --dod --anti-patterns
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Exit Codes
|
|
236
|
+
|
|
237
|
+
| Code | architect-lint-patterns / architect-lint-steps / architect-guard | architect-validate |
|
|
238
|
+
| ---- | ---------------------------------------------------------------- | ----------------------------------- |
|
|
239
|
+
| `0` | No errors (warnings allowed unless --strict) | No issues found |
|
|
240
|
+
| `1` | Errors found (or warnings with --strict) | Errors found |
|
|
241
|
+
| `2` | -- | Warnings found (with --strict only) |
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Programmatic API
|
|
246
|
+
|
|
247
|
+
All validation tools expose programmatic APIs:
|
|
248
|
+
|
|
249
|
+
```typescript
|
|
250
|
+
// Pattern linting
|
|
251
|
+
import { lintFiles, hasFailures } from '@libar-dev/architect/lint';
|
|
252
|
+
|
|
253
|
+
// Step linting
|
|
254
|
+
import { runStepLint, STEP_LINT_RULES } from '@libar-dev/architect/lint';
|
|
255
|
+
|
|
256
|
+
// Process guard
|
|
257
|
+
import { deriveProcessState, validateChanges } from '@libar-dev/architect/lint';
|
|
258
|
+
|
|
259
|
+
// Anti-patterns and DoD
|
|
260
|
+
import { detectAntiPatterns, validateDoD } from '@libar-dev/architect/validation';
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Category Reference
|
|
2
|
+
|
|
3
|
+
**Purpose:** Complete category definitions with aliases and domain groupings
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Category Definitions
|
|
8
|
+
|
|
9
|
+
3 categories sorted by priority.
|
|
10
|
+
|
|
11
|
+
| Tag | Domain | Priority | Description | Aliases |
|
|
12
|
+
| ------- | -------------- | -------- | -------------- | ---------------- |
|
|
13
|
+
| `core` | Core | 1 | Core patterns | - |
|
|
14
|
+
| `api` | API | 2 | Public APIs | - |
|
|
15
|
+
| `infra` | Infrastructure | 3 | Infrastructure | `infrastructure` |
|
|
16
|
+
|
|
17
|
+
## Categories by Domain
|
|
18
|
+
|
|
19
|
+
### Core
|
|
20
|
+
|
|
21
|
+
`core`
|
|
22
|
+
|
|
23
|
+
### API
|
|
24
|
+
|
|
25
|
+
`api`
|
|
26
|
+
|
|
27
|
+
### Infrastructure
|
|
28
|
+
|
|
29
|
+
`infra`
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
[Back to Taxonomy Reference](../TAXONOMY.md)
|