Rebrand to Architect — package, CLI, MCP, annotations, licensing#38
Rebrand to Architect — package, CLI, MCP, annotations, licensing#38darko-mijic wants to merge 3 commits intomainfrom
Conversation
Rename the package from @libar-dev/delivery-process to @libar-dev/architect, establishing the Architect brand identity as a prerequisite for the desktop app (Architect Studio) and public launch. Package identity: - npm package: @libar-dev/architect - CLI: architect (primary query), architect-guard, architect-generate, architect-validate, architect-lint-patterns, architect-lint-steps, architect-taxonomy, architect-mcp - MCP tools: architect_* prefix (25 tools, was dp_*) - MCP server name: "architect" in .mcp.json - Config file: architect.config.ts (backward compat detects old name) Annotation system: - Tag prefix: @architect / @architect-* (was @libar-docs) - DEFAULT_TAG_PREFIX and DEFAULT_FILE_OPT_IN_TAG updated in defaults.ts - Configurable via tagPrefix in project config for consumer migration - Content directory: architect/ (was delivery-process/) Type system: - DeliveryProcessConfig → ArchitectConfig - DeliveryProcessInstance → ArchitectInstance - DeliveryProcessProjectConfig → ArchitectProjectConfig - createDeliveryProcess() → createArchitect() - CreateDeliveryProcessOptions → CreateArchitectOptions Licensing: - BSL 1.1 on src/mcp/ (LICENSE-MCP), MIT on everything else - SPDX headers on all src/mcp/*.ts files - Package license field: (MIT AND BUSL-1.1) Backward compatibility: - Config loader detects delivery-process.config.ts with deprecation warning - Consumers can set tagPrefix: '@libar-docs-' to keep old annotations Note: --no-verify used because Process Guard false-positives on directory rename (git sees delivery-process/ → architect/ as 123 new file additions with invalid roadmap → completed transitions).
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (3)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis PR renames and rebrands documentation and examples from "delivery-process" / Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/ANNOTATION-GUIDE.md`:
- Around line 106-117: The extractor's tag name and JSDoc are inconsistent with
the docs: update the extractor to search for "architect-include" instead of
"libar-docs-include" and correct the JSDoc to match; specifically, in the
function that currently documents "Extract the `@architect-include` tag" (e.g.,
extractIncludeTag or the method around that JSDoc at shape-extractor.ts
~1107–1115), change the regex/pattern from "libar-docs-include" to
"architect-include" and ensure the comment text mirrors extractShapeTag's naming
convention ("architect-shape") for consistency.
In `@docs/ARCHITECTURE.md`:
- Line 7: Update the description sentence that currently uses "markdown" to use
the proper noun "Markdown" instead: change the phrase "renders them as markdown
via typed codecs" to "renders them as Markdown via typed codecs" in the
architecture description mentioning `@libar-dev/architect` and "typed codecs" so
the terminology is consistent and capitalized correctly.
- Around line 157-160: The fenced code block showing the pipeline
"findFilesToScan() → hasFileOptIn() → parseFileDirectives()" is missing a
language identifier; update the triple-backtick fence to include a language tag
(e.g., ```text or ```bash) so the Markdown linter (MD040) passes—locate the
block containing findFilesToScan(), hasFileOptIn(), and parseFileDirectives()
and add the appropriate language label.
In `@docs/CONFIGURATION.md`:
- Around line 340-346: The doc text incorrectly calls createArchitect() "legacy"
— update the section to state that createArchitect() is the current API and that
the legacy API is createDeliveryProcess(); adjust the prose and example
accordingly so the example shows createArchitect as the supported/current usage,
and if you mention backward-compat detection keep the existing reference to
loadProjectConfig() and ResolvedConfig to explain how older
createDeliveryProcess() configs are detected and wrapped.
- Around line 162-165: Update the discovery-order docs to include the legacy
fallback filename and deprecation behavior: explicitly list that after checking
architect.config.ts (and .js) the resolver will also fall back to
delivery-process.config.ts (legacy) and emit a deprecation warning, then
continue walking up to the repo root (checking for .git) and finally falling
back to the libar-generic preset (3 categories, `@architect-` prefix); mention
both the legacy filename "delivery-process.config.ts" and the
deprecation-warning behavior so the docs match the implemented backward-compat
path.
In `@docs/INDEX.md`:
- Around line 99-100: Update the table row text to correctly refer to the legacy
API name: replace the inaccurate phrase "Legacy createArchitect() support" with
a label that names the old API (for example "Legacy createDeliveryProcess()
support" or "Backward compatibility for createDeliveryProcess()") so it clearly
distinguishes the current API createArchitect() from the legacy
createDeliveryProcess(); edit the row that currently lists "Legacy
createArchitect() support" and ensure the new text uses the function name
createDeliveryProcess() for accuracy.
In `@docs/MCP-SETUP.md`:
- Around line 87-114: The docs table lists tools that are out of sync with the
actual registered tool set; update the table in MCP-SETUP.md so it exactly
matches the currently registered tools by removing entries not present (e.g.,
architect_decisions, architect_arch_context, architect_arch_layer,
architect_arch_neighborhood, architect_arch_blocking, architect_arch_dangling,
architect_arch_coverage if they are absent) and adding any missing registered
ones. Cross-check against the tool registry by inspecting the registry's
registeredTools/TOOL_REGISTRY or registerTool calls (look for symbol names
starting with "architect_") and ensure each tool name and short description in
the table matches the registry entry and help text; then run a quick grep or
token match to confirm parity.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: a525c7e7-23e1-4083-9de2-16e66c3bcb50
⛔ Files ignored due to path filters (198)
.husky/pre-commitis excluded by none and included by none.mcp.jsonis excluded by none and included by noneAGENTS.mdis excluded by none and included by noneCHANGELOG.mdis excluded by none and included by noneCLAUDE.mdis excluded by none and included by noneCONTRIBUTING.mdis excluded by none and included by noneLICENSEis excluded by none and included by noneLICENSE-MCPis excluded by none and included by noneMAINTAINERS.mdis excluded by none and included by noneREADME.mdis excluded by none and included by noneSECURITY.mdis excluded by none and included by none_claude-md/api/annotation-system.mdis excluded by none and included by none_claude-md/api/data-api-cli.mdis excluded by none and included by none_claude-md/api/dual-source.mdis excluded by none and included by none_claude-md/api/mcp-server.mdis excluded by none and included by none_claude-md/authoring/feature-content.mdis excluded by none and included by none_claude-md/authoring/gherkin-patterns.mdis excluded by none and included by none_claude-md/core/architecture.mdis excluded by none and included by none_claude-md/core/common-commands.mdis excluded by none and included by none_claude-md/core/context-protocol.mdis excluded by none and included by none_claude-md/generated/doc-generation-proof-of-concept.mdis excluded by!**/generated/**and included by none_claude-md/guides/product-area-enrichment.mdis excluded by none and included by none_claude-md/validation/anti-patterns.mdis excluded by none and included by none_claude-md/validation/process-guard.mdis excluded by none and included by none_claude-md/workflow/session-workflows.mdis excluded by none and included by nonearchitect.config.tsis excluded by none and included by nonearchitect/decisions/adr-001-taxonomy-canonical-values.featureis excluded by none and included by nonearchitect/decisions/adr-002-gherkin-only-testing.featureis excluded by none and included by nonearchitect/decisions/adr-003-source-first-pattern-architecture.featureis excluded by none and included by nonearchitect/decisions/adr-005-codec-based-markdown-rendering.featureis excluded by none and included by nonearchitect/decisions/adr-006-single-read-model-architecture.featureis excluded by none and included by nonearchitect/decisions/pdr-001-session-workflow-commands.featureis excluded by none and included by nonearchitect/design-reviews/mcp-server-integration.mdis excluded by none and included by nonearchitect/design-reviews/setup-command.mdis excluded by none and included by nonearchitect/ideations/2026-02-15-workflow-config-and-fsm-extensibility.featureis excluded by none and included by nonearchitect/ideations/2026-02-16-process-api-layered-extraction-findings.featureis excluded by none and included by nonearchitect/releases/v1.0.0.featureis excluded by none and included by nonearchitect/releases/vNEXT.featureis excluded by none and included by nonearchitect/specs/architecture-delta.featureis excluded by none and included by nonearchitect/specs/architecture-diagram-advanced.featureis excluded by none and included by nonearchitect/specs/architecture-diagram-core.featureis excluded by none and included by nonearchitect/specs/architecture-doc-refactoring.featureis excluded by none and included by nonearchitect/specs/business-rules-generator.featureis excluded by none and included by nonearchitect/specs/claude-module-generation.featureis excluded by none and included by nonearchitect/specs/cli-behavior-testing.featureis excluded by none and included by nonearchitect/specs/cli-recipe-codec.featureis excluded by none and included by nonearchitect/specs/codec-behavior-testing.featureis excluded by none and included by nonearchitect/specs/codec-driven-reference-generation.featureis excluded by none and included by nonearchitect/specs/config-based-workflow-definition.featureis excluded by none and included by nonearchitect/specs/cross-cutting-document-inclusion.featureis excluded by none and included by nonearchitect/specs/cross-source-validation.featureis excluded by none and included by nonearchitect/specs/data-api-architecture-queries.featureis excluded by none and included by nonearchitect/specs/data-api-cli-ergonomics.featureis excluded by none and included by nonearchitect/specs/data-api-context-assembly.featureis excluded by none and included by nonearchitect/specs/data-api-output-shaping.featureis excluded by none and included by nonearchitect/specs/data-api-platform-integration.featureis excluded by none and included by nonearchitect/specs/data-api-relationship-graph.featureis excluded by none and included by nonearchitect/specs/data-api-session-support.featureis excluded by none and included by nonearchitect/specs/data-api-stub-integration.featureis excluded by none and included by nonearchitect/specs/declaration-level-shape-tagging.featureis excluded by none and included by nonearchitect/specs/design-review-generation.featureis excluded by none and included by nonearchitect/specs/doc-generation-proof-of-concept.featureis excluded by none and included by nonearchitect/specs/docs-consolidation-strategy.featureis excluded by none and included by nonearchitect/specs/docs-live-consolidation.featureis excluded by none and included by nonearchitect/specs/dod-validation.featureis excluded by none and included by nonearchitect/specs/effort-variance-tracking.featureis excluded by none and included by nonearchitect/specs/enhanced-index-generation.featureis excluded by none and included by nonearchitect/specs/error-guide-codec.featureis excluded by none and included by nonearchitect/specs/generated-doc-quality.featureis excluded by none and included by nonearchitect/specs/generator-infrastructure-testing.featureis excluded by none and included by nonearchitect/specs/gherkin-patterns-restructure.featureis excluded by none and included by nonearchitect/specs/gherkin-rules-support.featureis excluded by none and included by nonearchitect/specs/living-roadmap-cli.featureis excluded by none and included by nonearchitect/specs/mcp-server-integration.featureis excluded by none and included by nonearchitect/specs/monorepo-support.featureis excluded by none and included by nonearchitect/specs/mvp-workflow-implementation.featureis excluded by none and included by nonearchitect/specs/orchestrator-pipeline-factory-migration.featureis excluded by none and included by nonearchitect/specs/pattern-relationship-model.featureis excluded by none and included by nonearchitect/specs/phase-numbering-conventions.featureis excluded by none and included by nonearchitect/specs/phase-state-machine.featureis excluded by none and included by nonearchitect/specs/prd-generator-code-annotations-inclusion.featureis excluded by none and included by nonearchitect/specs/procedural-guide-codec.featureis excluded by none and included by nonearchitect/specs/process-api-hybrid-generation.featureis excluded by none and included by nonearchitect/specs/process-api-layered-extraction.featureis excluded by none and included by nonearchitect/specs/process-guard-linter.featureis excluded by none and included by nonearchitect/specs/process-state-api-cli.featureis excluded by none and included by nonearchitect/specs/process-state-api-relationship-queries.featureis excluded by none and included by nonearchitect/specs/progressive-governance.featureis excluded by none and included by nonearchitect/specs/publishing-relocation.featureis excluded by none and included by nonearchitect/specs/readme-rationalization.featureis excluded by none and included by nonearchitect/specs/reference-doc-showcase.featureis excluded by none and included by nonearchitect/specs/release-association-rules.featureis excluded by none and included by nonearchitect/specs/scoped-architectural-view.featureis excluded by none and included by nonearchitect/specs/session-file-cleanup.featureis excluded by none and included by nonearchitect/specs/session-guides-module-source.featureis excluded by none and included by nonearchitect/specs/setup-command.featureis excluded by none and included by nonearchitect/specs/shape-extraction.featureis excluded by none and included by nonearchitect/specs/status-aware-eslint-suppression.featureis excluded by none and included by nonearchitect/specs/step-definition-completion.featureis excluded by none and included by nonearchitect/specs/step-lint-extended-rules.featureis excluded by none and included by nonearchitect/specs/step-lint-vitest-cucumber.featureis excluded by none and included by nonearchitect/specs/streaming-git-diff.featureis excluded by none and included by nonearchitect/specs/traceability-enhancements.featureis excluded by none and included by nonearchitect/specs/traceability-generator.featureis excluded by none and included by nonearchitect/specs/typescript-taxonomy-implementation.featureis excluded by none and included by nonearchitect/specs/universal-doc-generator-robustness.featureis excluded by none and included by nonearchitect/specs/validator-read-model-consolidation.featureis excluded by none and included by nonearchitect/stubs/.gitkeepis excluded by none and included by nonearchitect/stubs/DataAPIDesignSessionSupport/handoff-generator.tsis excluded by none and included by nonearchitect/stubs/DataAPIDesignSessionSupport/scope-validator.tsis excluded by none and included by nonearchitect/stubs/cli-recipe-codec/cli-recipe-generator.tsis excluded by none and included by nonearchitect/stubs/cli-recipe-codec/recipe-data.tsis excluded by none and included by nonearchitect/stubs/cli-recipe-codec/recipe-schema.tsis excluded by none and included by nonearchitect/stubs/config-based-workflow-definition/default-workflow-config.tsis excluded by none and included by nonearchitect/stubs/data-api-architecture-queries/arch-queries.tsis excluded by none and included by nonearchitect/stubs/data-api-architecture-queries/coverage-analyzer.tsis excluded by none and included by nonearchitect/stubs/data-api-context-assembly/context-assembler.tsis excluded by none and included by nonearchitect/stubs/data-api-context-assembly/context-formatter.tsis excluded by none and included by nonearchitect/stubs/data-api-output-shaping/fuzzy-match.tsis excluded by none and included by nonearchitect/stubs/data-api-output-shaping/output-pipeline.tsis excluded by none and included by nonearchitect/stubs/data-api-output-shaping/summarize.tsis excluded by none and included by nonearchitect/stubs/data-api-stub-integration/stub-resolver.tsis excluded by none and included by nonearchitect/stubs/enhanced-index-generation/index-codec-options.tsis excluded by none and included by nonearchitect/stubs/enhanced-index-generation/index-codec.tsis excluded by none and included by nonearchitect/stubs/enhanced-index-generation/index-preamble-config.tsis excluded by none and included by nonearchitect/stubs/error-guide-codec/convention-annotation-example.tsis excluded by none and included by nonearchitect/stubs/error-guide-codec/enhanced-validation-options.tsis excluded by none and included by nonearchitect/stubs/error-guide-codec/error-guide-config.tsis excluded by none and included by nonearchitect/stubs/mcp-server-integration/file-watcher.tsis excluded by none and included by nonearchitect/stubs/mcp-server-integration/pipeline-session.tsis excluded by none and included by nonearchitect/stubs/mcp-server-integration/server.tsis excluded by none and included by nonearchitect/stubs/mcp-server-integration/tool-registry.tsis excluded by none and included by nonearchitect/stubs/procedural-guide-codec/annotation-guide-preamble.tsis excluded by none and included by nonearchitect/stubs/procedural-guide-codec/load-preamble.tsis excluded by none and included by nonearchitect/stubs/procedural-guide-codec/procedural-codec-options.tsis excluded by none and included by nonearchitect/stubs/procedural-guide-codec/procedural-codec.tsis excluded by none and included by nonearchitect/stubs/procedural-guide-codec/session-guide-preamble.tsis excluded by none and included by nonearchitect/tag-taxonomy.mdis excluded by none and included by nonedocs-inbox/session-prompt-generator-architecture-review.mdis excluded by none and included by nonedocs-inbox/session-prompt-generator-brief.mdis excluded by none and included by nonedocs-inbox/session-prompt-generator-manual.mdis excluded by none and included by nonedocs-live/ARCHITECTURE.mdis excluded by none and included by nonedocs-live/CHANGELOG-GENERATED.mdis excluded by none and included by nonedocs-live/INDEX.mdis excluded by none and included by nonedocs-live/PRODUCT-AREAS.mdis excluded by none and included by nonedocs-live/TAXONOMY.mdis excluded by none and included by nonedocs-live/VALIDATION-RULES.mdis excluded by none and included by nonedocs-live/_claude-md/annotation/annotation-reference.mdis excluded by none and included by nonedocs-live/_claude-md/architecture/reference-sample.mdis excluded by none and included by nonedocs-live/_claude-md/authoring/gherkin-authoring-guide.mdis excluded by none and included by nonedocs-live/_claude-md/configuration/configuration-guide.mdis excluded by none and included by nonedocs-live/_claude-md/configuration/configuration-overview.mdis excluded by none and included by nonedocs-live/_claude-md/generation/generation-overview.mdis excluded by none and included by nonedocs-live/_claude-md/process/process-overview.mdis excluded by none and included by nonedocs-live/_claude-md/validation/process-guard.mdis excluded by none and included by nonedocs-live/_claude-md/validation/validation-overview.mdis excluded by none and included by nonedocs-live/_claude-md/validation/validation-tools-guide.mdis excluded by none and included by nonedocs-live/_claude-md/workflow/session-workflow-guide.mdis excluded by none and included by nonedocs-live/business-rules/annotation.mdis excluded by none and included by nonedocs-live/business-rules/configuration.mdis excluded by none and included by nonedocs-live/business-rules/core-types.mdis excluded by none and included by nonedocs-live/business-rules/data-api.mdis excluded by none and included by nonedocs-live/business-rules/generation.mdis excluded by none and included by nonedocs-live/business-rules/validation.mdis excluded by none and included by nonedocs-live/decisions/adr-001-taxonomy-canonical-values.mdis excluded by none and included by nonedocs-live/decisions/adr-002-gherkin-only-testing.mdis excluded by none and included by nonedocs-live/decisions/adr-003-source-first-pattern-architecture.mdis excluded by none and included by nonedocs-live/decisions/adr-006-single-read-model-architecture.mdis excluded by none and included by nonedocs-live/decisions/adr-021-doc-generation-proof-of-concept.mdis excluded by none and included by nonedocs-live/product-areas/ANNOTATION.mdis excluded by none and included by nonedocs-live/product-areas/CONFIGURATION.mdis excluded by none and included by nonedocs-live/product-areas/DATA-API.mdis excluded by none and included by nonedocs-live/product-areas/GENERATION.mdis excluded by none and included by nonedocs-live/product-areas/PROCESS.mdis excluded by none and included by nonedocs-live/product-areas/VALIDATION.mdis excluded by none and included by nonedocs-live/reference/ANNOTATION-REFERENCE.mdis excluded by none and included by nonedocs-live/reference/ARCHITECTURE-CODECS.mdis excluded by none and included by nonedocs-live/reference/ARCHITECTURE-TYPES.mdis excluded by none and included by nonedocs-live/reference/CONFIGURATION-GUIDE.mdis excluded by none and included by nonedocs-live/reference/GHERKIN-AUTHORING-GUIDE.mdis excluded by none and included by nonedocs-live/reference/PROCESS-API-RECIPES.mdis excluded by none and included by nonedocs-live/reference/PROCESS-API-REFERENCE.mdis excluded by none and included by nonedocs-live/reference/PROCESS-GUARD-REFERENCE.mdis excluded by none and included by nonedocs-live/reference/REFERENCE-SAMPLE.mdis excluded by none and included by nonedocs-live/reference/SESSION-WORKFLOW-GUIDE.mdis excluded by none and included by nonedocs-live/reference/VALIDATION-TOOLS-GUIDE.mdis excluded by none and included by nonedocs-live/taxonomy/format-types.mdis excluded by none and included by nonedocs-live/taxonomy/metadata-tags.mdis excluded by none and included by nonedocs-live/validation/error-catalog.mdis excluded by none and included by nonedocs-live/validation/fsm-transitions.mdis excluded by none and included by nonedocs-sources/annotation-guide.mdis excluded by none and included by nonedocs-sources/configuration-guide.mdis excluded by none and included by nonedocs-sources/gherkin-patterns.mdis excluded by none and included by nonedocs-sources/process-api-recipes.mdis excluded by none and included by nonedocs-sources/process-guard.mdis excluded by none and included by nonedocs-sources/session-workflow-guide.mdis excluded by none and included by nonedocs-sources/validation-tools-guide.mdis excluded by none and included by nonepackage.jsonis excluded by none and included by none
📒 Files selected for processing (102)
delivery-process/tag-taxonomy.mddocs/ANNOTATION-GUIDE.mddocs/ARCHITECTURE.mddocs/CONFIGURATION.mddocs/DOCS-GAP-ANALYSIS.mddocs/GHERKIN-PATTERNS.mddocs/INDEX.mddocs/MCP-SETUP.mddocs/METHODOLOGY.mddocs/PROCESS-GUARD.mddocs/SESSION-GUIDES.mddocs/TAXONOMY.mddocs/VALIDATION.mdsrc/api/arch-queries.tssrc/api/context-assembler.tssrc/api/context-formatter.tssrc/api/coverage-analyzer.tssrc/api/fuzzy-match.tssrc/api/handoff-generator.tssrc/api/index.tssrc/api/pattern-helpers.tssrc/api/process-state.tssrc/api/rules-query.tssrc/api/scope-validator.tssrc/api/stub-resolver.tssrc/api/summarize.tssrc/api/types.tssrc/cache/file-cache.tssrc/cli/cli-schema.tssrc/cli/dataset-cache.tssrc/cli/error-handler.tssrc/cli/generate-docs.tssrc/cli/generate-tag-taxonomy.tssrc/cli/lint-patterns.tssrc/cli/lint-process.tssrc/cli/lint-steps.tssrc/cli/mcp-server.tssrc/cli/output-pipeline.tssrc/cli/process-api.tssrc/cli/repl.tssrc/cli/validate-patterns.tssrc/cli/version.tssrc/config/config-loader.tssrc/config/defaults.tssrc/config/define-config.tssrc/config/factory.tssrc/config/index.tssrc/config/merge-sources.tssrc/config/presets.tssrc/config/project-config-schema.tssrc/config/project-config.tssrc/config/regex-builders.tssrc/config/resolve-config.tssrc/config/tag-taxonomy-generator.tssrc/config/types.tssrc/config/workflow-loader.tssrc/extractor/doc-extractor.tssrc/extractor/dual-source-extractor.tssrc/extractor/gherkin-extractor.tssrc/extractor/layer-inference.tssrc/extractor/shape-extractor.tssrc/generators/built-in/cli-recipe-generator.tssrc/generators/built-in/codec-generators.tssrc/generators/built-in/decision-doc-generator.tssrc/generators/built-in/design-review-generator.tssrc/generators/built-in/index.tssrc/generators/built-in/process-api-reference-generator.tssrc/generators/built-in/reference-generators.tssrc/generators/codec-based.tssrc/generators/content-deduplicator.tssrc/generators/index.tssrc/generators/orchestrator.tssrc/generators/pipeline/build-pipeline.tssrc/generators/pipeline/context-inference.tssrc/generators/pipeline/index.tssrc/generators/pipeline/merge-patterns.tssrc/generators/pipeline/relationship-resolver.tssrc/generators/pipeline/sequence-utils.tssrc/generators/pipeline/transform-dataset.tssrc/generators/pipeline/transform-types.tssrc/generators/registry.tssrc/generators/source-mapper.tssrc/generators/source-mapping-validator.tssrc/generators/types.tssrc/generators/warning-collector.tssrc/git/branch-diff.tssrc/git/helpers.tssrc/git/index.tssrc/git/name-status.tssrc/index.tssrc/lint/engine.tssrc/lint/index.tssrc/lint/process-guard/decider.tssrc/lint/process-guard/derive-state.tssrc/lint/process-guard/detect-changes.tssrc/lint/process-guard/index.tssrc/lint/process-guard/types.tssrc/lint/rules.tssrc/lint/steps/runner.tssrc/mcp/file-watcher.tssrc/mcp/index.tssrc/mcp/pipeline-session.ts
💤 Files with no reviewable changes (1)
- delivery-process/tag-taxonomy.md
| > **Code-Driven Documentation Generator with Codec-Based Transformation Pipeline** | ||
|
|
||
| This document describes the architecture of the `@libar-dev/delivery-process` package, a documentation generator that extracts patterns from TypeScript and Gherkin sources, transforms them through a unified pipeline, and renders them as markdown via typed codecs. | ||
| This document describes the architecture of the `@libar-dev/architect` package, a documentation generator that extracts patterns from TypeScript and Gherkin sources, transforms them through a unified pipeline, and renders them as markdown via typed codecs. |
There was a problem hiding this comment.
Capitalize “Markdown” in description text.
Use “Markdown” (proper noun) instead of “markdown” for consistency with technical terminology.
As per coding guidelines, "docs/**/*.md: Ensure documentation is clear, accurate, and up-to-date. Check for proper formatting and consistency."
🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: Did you mean the formatting language “Markdown” (= proper noun)?
Context: ...a unified pipeline, and renders them as markdown via typed codecs. --- ## Table of Con...
(MARKDOWN_NNP)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/ARCHITECTURE.md` at line 7, Update the description sentence that
currently uses "markdown" to use the proper noun "Markdown" instead: change the
phrase "renders them as markdown via typed codecs" to "renders them as Markdown
via typed codecs" in the architecture description mentioning
`@libar-dev/architect` and "typed codecs" so the terminology is consistent and
capitalized correctly.
| ``` | ||
| findFilesToScan() → hasFileOptIn() → parseFileDirectives() | ||
| (glob patterns) (@libar-docs check) (AST extraction) | ||
| (glob patterns) (@architect check) (AST extraction) | ||
| ``` |
There was a problem hiding this comment.
Add a language identifier to the fenced code block.
The code fence starting at Line 157 is missing a language tag, which trips markdown linting (MD040).
As per coding guidelines, "docs/**/*.md: Check for proper formatting and consistency."
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)
[warning] 157-157: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/ARCHITECTURE.md` around lines 157 - 160, The fenced code block showing
the pipeline "findFilesToScan() → hasFileOptIn() → parseFileDirectives()" is
missing a language identifier; update the triple-backtick fence to include a
language tag (e.g., ```text or ```bash) so the Markdown linter (MD040)
passes—locate the block containing findFilesToScan(), hasFileOptIn(), and
parseFileDirectives() and add the appropriate language label.
| 1. Current directory: check `architect.config.ts`, then `.js` | ||
| 2. Walk up to repo root (`.git` folder), checking each directory | ||
| 3. Fall back to libar-generic preset (3 categories, `@libar-docs-` prefix) | ||
| 3. Fall back to libar-generic preset (3 categories, `@architect-` prefix) | ||
|
|
There was a problem hiding this comment.
Include legacy config filename fallback in discovery order docs.
The documented discovery order omits delivery-process.config.ts fallback and deprecation-warning behavior, which is part of the implemented backward-compat path in this PR.
As per coding guidelines, "docs/**/*.md: Ensure documentation is clear, accurate, and up-to-date."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/CONFIGURATION.md` around lines 162 - 165, Update the discovery-order
docs to include the legacy fallback filename and deprecation behavior:
explicitly list that after checking architect.config.ts (and .js) the resolver
will also fall back to delivery-process.config.ts (legacy) and emit a
deprecation warning, then continue walking up to the repo root (checking for
.git) and finally falling back to the libar-generic preset (3 categories,
`@architect-` prefix); mention both the legacy filename
"delivery-process.config.ts" and the deprecation-warning behavior so the docs
match the implemented backward-compat path.
| The legacy `createArchitect()` API is still exported and supported. Config files using the old format are detected automatically by `loadProjectConfig()` and wrapped in a `ResolvedConfig` with default project settings. | ||
|
|
||
| ```typescript | ||
| // Legacy format (still works) | ||
| import { createDeliveryProcess } from '@libar-dev/delivery-process'; | ||
| export default createDeliveryProcess({ preset: 'ddd-es-cqrs' }); | ||
| import { createArchitect } from '@libar-dev/architect'; | ||
| export default createArchitect({ preset: 'ddd-es-cqrs' }); | ||
| ``` |
There was a problem hiding this comment.
Backward-compat section mislabels current API as legacy.
createArchitect() is the current API name; it should not be described as legacy. The legacy API is createDeliveryProcess().
As per coding guidelines, "docs/**/*.md: Ensure documentation is clear, accurate, and up-to-date."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/CONFIGURATION.md` around lines 340 - 346, The doc text incorrectly calls
createArchitect() "legacy" — update the section to state that createArchitect()
is the current API and that the legacy API is createDeliveryProcess(); adjust
the prose and example accordingly so the example shows createArchitect as the
supported/current usage, and if you mention backward-compat detection keep the
existing reference to loadProjectConfig() and ResolvedConfig to explain how
older createDeliveryProcess() configs are detected and wrapped.
| | Backward Compatibility | 336-346 | Legacy createArchitect() support | | ||
| | Related Documentation | 350-357 | Links to README, TAXONOMY, ARCHITECTURE | |
There was a problem hiding this comment.
Fix backward-compatibility label for API naming.
“Legacy createArchitect() support” is inaccurate. createArchitect() is the current API; the legacy name was createDeliveryProcess(). Please update this row text to avoid misleading readers.
As per coding guidelines, "docs/**/*.md: Ensure documentation is clear, accurate, and up-to-date."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/INDEX.md` around lines 99 - 100, Update the table row text to correctly
refer to the legacy API name: replace the inaccurate phrase "Legacy
createArchitect() support" with a label that names the old API (for example
"Legacy createDeliveryProcess() support" or "Backward compatibility for
createDeliveryProcess()") so it clearly distinguishes the current API
createArchitect() from the legacy createDeliveryProcess(); edit the row that
currently lists "Legacy createArchitect() support" and ensure the new text uses
the function name createDeliveryProcess() for accuracy.
| | Tool | Description | | ||
| | ----------------------------- | ---------------------------------------------------- | | ||
| | `architect_overview` | Project health summary (start here) | | ||
| | `architect_context` | Session-aware context bundle for a pattern | | ||
| | `architect_pattern` | Full pattern metadata | | ||
| | `architect_list` | List patterns with filters (status, phase, category) | | ||
| | `architect_search` | Fuzzy search patterns by name | | ||
| | `architect_status` | Status counts and completion percentage | | ||
| | `architect_files` | File reading list for a pattern | | ||
| | `architect_dep_tree` | Dependency chain with status | | ||
| | `architect_scope_validate` | Pre-flight check for implementation | | ||
| | `architect_handoff` | Session-end state for continuity | | ||
| | `architect_rules` | Business rules and invariants | | ||
| | `architect_tags` | Tag usage report | | ||
| | `architect_sources` | Source file inventory | | ||
| | `architect_stubs` | Design stubs with resolution status | | ||
| | `architect_decisions` | Design decisions from stubs | | ||
| | `architect_arch_context` | Bounded contexts with members | | ||
| | `architect_arch_layer` | Architecture layers with members | | ||
| | `architect_arch_neighborhood` | Pattern uses/used-by/peers | | ||
| | `architect_arch_blocking` | Patterns blocked by dependencies | | ||
| | `architect_arch_dangling` | Broken pattern references | | ||
| | `architect_arch_coverage` | Annotation coverage analysis | | ||
| | `architect_unannotated` | Files missing @architect | | ||
| | `architect_rebuild` | Force dataset rebuild | | ||
| | `architect_config` | Show current configuration | | ||
| | `architect_help` | List all tools | | ||
|
|
There was a problem hiding this comment.
Tool inventory appears out of sync with MCP registry.
This table lists tools (e.g., architect_decisions, architect_arch_context, architect_arch_layer) that are not present in the current registry help list (src/mcp/tool-registry.ts:689-727). Please align docs to the actual registered tool set.
As per coding guidelines, "docs/**/*.md: Ensure documentation is clear, accurate, and up-to-date."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/MCP-SETUP.md` around lines 87 - 114, The docs table lists tools that are
out of sync with the actual registered tool set; update the table in
MCP-SETUP.md so it exactly matches the currently registered tools by removing
entries not present (e.g., architect_decisions, architect_arch_context,
architect_arch_layer, architect_arch_neighborhood, architect_arch_blocking,
architect_arch_dangling, architect_arch_coverage if they are absent) and adding
any missing registered ones. Cross-check against the tool registry by inspecting
the registry's registeredTools/TOOL_REGISTRY or registerTool calls (look for
symbol names starting with "architect_") and ensure each tool name and short
description in the table matches the registry entry and help text; then run a
quick grep or token match to confirm parity.
Fixes from multi-agent review of the rebranding PR: Comment accuracy: - Replace "delivery process" product references in JSDoc and help text with "project state", "workflow rules", "Architect" as appropriate - Fix @architect-usecase annotations in process-api CLI - Fix runtime string in reference codec (appears in generated docs) - Update docs-sources preambles with new CLI names - Fix test support comment headers and temp dir prefix Silent failure prevention: - Config loader warns when both architect.config.ts AND delivery-process.config.ts coexist (prevents editing wrong file) - Dataset cache key now includes legacy config file mtimes (prevents stale cache when editing legacy config) - Fix grammar: "a ArchitectProjectConfig" → "an ArchitectProjectConfig" Config path fix: - architect.config.ts: design-review outputDirectory was still 'delivery-process', changed to 'architect'
The repo hasn't been renamed on GitHub yet (happens at 1.0.0 GA). Keep package.json, README, and CONTRIBUTING URLs pointing to libar-dev/delivery-process until the GitHub rename is done.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/GHERKIN-PATTERNS.md`:
- Line 113: Update the documentation sentence to clarify that files are not
exclusively required to use `@architect`: the current extractor
(gherkin-extractor) accepts both `@architect` and the legacy `@libar-docs` tag and
the default accepted tags are configurable in the TagRegistry schema (default
tags in tag-registry). Reword the line to present this as default guidance
(e.g., "By default, files should opt-in using `@architect`, though legacy
`@libar-docs` is also recognized and the accepted tags are configurable via the
TagRegistry schema") so the doc matches extractor behavior and schema
configurability.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: f87e2918-19fa-4787-87fc-2ce5076201de
⛔ Files ignored due to path filters (9)
AGENTS.mdis excluded by none and included by noneCONTRIBUTING.mdis excluded by none and included by noneREADME.mdis excluded by none and included by nonearchitect.config.tsis excluded by none and included by nonearchitect/ideations/2026-02-15-workflow-config-and-fsm-extensibility.featureis excluded by none and included by nonearchitect/specs/data-api-platform-integration.featureis excluded by none and included by nonedocs-sources/process-guard.mdis excluded by none and included by nonedocs-sources/validation-tools-guide.mdis excluded by none and included by nonepackage.jsonis excluded by none and included by none
📒 Files selected for processing (16)
docs/DOCS-GAP-ANALYSIS.mddocs/GHERKIN-PATTERNS.mddocs/SESSION-GUIDES.mdsrc/api/index.tssrc/api/process-state.tssrc/cli/dataset-cache.tssrc/cli/lint-process.tssrc/cli/process-api.tssrc/cli/version.tssrc/config/config-loader.tssrc/config/factory.tssrc/config/regex-builders.tssrc/config/types.tssrc/extractor/shape-extractor.tssrc/lint/process-guard/decider.tssrc/lint/process-guard/index.ts
| **Problem:** | ||
| - Need to scan codebases for documentation directives efficiently | ||
| - Files without @libar-docs opt-in should be skipped | ||
| - Files without @architect opt-in should be skipped |
There was a problem hiding this comment.
Clarify opt-in behavior to match current parser compatibility.
This line implies @architect is the only valid file opt-in, but extraction currently accepts both @architect and legacy @libar-docs (see src/extractor/gherkin-extractor.ts:179-186). Also, defaults are configurable via schema (src/validation-schemas/tag-registry.ts:166-175). Please reword as default guidance rather than an exclusive rule.
✏️ Suggested doc wording
- - Files without `@architect` opt-in should be skipped
+ - Files without a valid file opt-in tag should be skipped (default: `@architect`; legacy `@libar-docs` may still be accepted during migration)As per coding guidelines: "docs/**/*.md: Ensure documentation is clear, accurate, and up-to-date."
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - Files without @architect opt-in should be skipped | |
| - Files without a valid file opt-in tag should be skipped (default: `@architect`; legacy `@libar-docs` may still be accepted during migration) |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/GHERKIN-PATTERNS.md` at line 113, Update the documentation sentence to
clarify that files are not exclusively required to use `@architect`: the current
extractor (gherkin-extractor) accepts both `@architect` and the legacy `@libar-docs`
tag and the default accepted tags are configurable in the TagRegistry schema
(default tags in tag-registry). Reword the line to present this as default
guidance (e.g., "By default, files should opt-in using `@architect`, though legacy
`@libar-docs` is also recognized and the accepted tags are configurable via the
TagRegistry schema") so the doc matches extractor behavior and schema
configurability.
Summary
Complete rebranding from
@libar-dev/delivery-processto@libar-dev/architect, establishing the Architect brand identity across the entire package surface area.@libar-dev/architect(npm)architect-prefix (architectas primary query CLI)dp_*toarchitect_*prefix@libar-docsto@architectprefix (~4,100 occurrences across ~500 files)DeliveryProcessConfig→ArchitectConfig,createDeliveryProcess()→createArchitect(), etc.src/mcp/module (MIT on everything else)delivery-process/toarchitect/delivery-process.config.tstoarchitect.config.tswith backward compatibilityMotivation
The package name "delivery-process" described the internal mechanism, not the value proposition. "Architect" positions the product as a context engineering platform for AI-assisted development — which is what it actually does. With only 14 npm installs to date and no public promotion yet, this is a clean rename window before the 1.0.0 GA release.
This rebrand is a prerequisite for:
@libar-dev/architecton npmWhat changed
Package identity (623 files, ~15K lines changed)
@libar-dev/delivery-process@libar-dev/architectprocess-apiarchitectlint-processarchitect-guardgenerate-docsarchitect-generatevalidate-patternsarchitect-validatelint-patternsarchitect-lint-patternslint-stepsarchitect-lint-stepsgenerate-tag-taxonomyarchitect-taxonomydp-mcp-serverarchitect-mcpdp_*(25 tools)architect_*(25 tools)delivery-processarchitect@libar-docs/@libar-docs-*@architect/@architect-*delivery-process.config.tsarchitect.config.tsdelivery-process/architect/src/mcp/only)Type system renames
DeliveryProcessConfigArchitectConfigDeliveryProcessInstanceArchitectInstanceDeliveryProcessProjectConfigArchitectProjectConfigDeliveryProcessProjectConfigSchemaArchitectProjectConfigSchemaCreateDeliveryProcessOptionsCreateArchitectOptionscreateDeliveryProcess()createArchitect()Licensing
LICENSE(MIT) — scope note added: applies to everything exceptsrc/mcp/LICENSE-MCP(BSL 1.1) — new file coveringsrc/mcp/directorysrc/mcp/(MIT AND BUSL-1.1)Backward compatibility
architect.config.tsfirst, then falls back todelivery-process.config.tswith a deprecation warning to stderr. This allows consumer projects to migrate at their own pace.tagPrefix: '@libar-docs-'in theirarchitect.config.tsto keep existing annotations without mass-replacement.Infrastructure changes
The annotation prefix system was already well-architected for this rename:
DEFAULT_TAG_PREFIXandDEFAULT_FILE_OPT_IN_TAGconstants insrc/config/defaults.tscontrol all tag parsingCONFIG_FILE_NAMEconstant insrc/config/config-loader.tscontrols config discoveryTwo source bugs were caught during testing:
@prefix is stripped by the Gherkin parser, so@architectbecomes"architect"— the opt-in check ingherkin-extractor.tsneeded to compare against the normalized form/libar-docs-shape/regex inshape-extractor.tswas not caught by the general@libar-docs-→@architect-replacement because it lacked the@prefixWhat did NOT change
libar-dev/delivery-process(renamed at 1.0.0 GA boundary, GitHub auto-redirects)@architect-claude-section:delivery-process— these are semantic categorization values, not brand namesGENERIC_PRESET— retains@docs-prefix (intentional for the generic preset)Test plan
pnpm build— clean compilationpnpm typecheck— no type errorspnpm lint— no lint errorspnpm test— 141 test files, 8,766 tests passing@libar-docsreferences in source/test/feature filesdp_references in source/test filesarchitect.config.tsloads correctly after mergedelivery-process.config.tsdetected with deprecation warningSummary by CodeRabbit