feat(installer): native-skills intermediary-state transition with deterministic validation#1819
Closed
dickymoore wants to merge 9 commits intobmad-code-org:mainfrom
Closed
Conversation
183a89e to
239bc9d
Compare
Contributor
Author
Contributor
Author
Contributor
Author
|
Superseded by lean replacement PR #1844 (single shard-doc prototype path, minimal installer/test scope). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
This PR implements the native-skills intermediary-state installer transition requested in the Road to V7 thread, while keeping existing command/help behavior stable for users.
Concretely, it adds deterministic canonical-id authority, compatibility projections, and replay-backed validation for the first converted capabilities (
bmad-help,bmad-shard-doc, andbmad-index-docs) without requiring repo-wide conversion.Why
Brian asked for a phased migration path so BMAD can safely move from current task/workflow command projection behavior to native skills, without attempting a one-shot conversion and without breaking existing tool surfaces.
The core risk addressed here is projection inconsistency and naming/authority drift across installers and tool adapters. This PR establishes explicit authority and deterministic validation evidence so transition quality is measurable and auditable.
No GitHub issue is linked yet; scope and acceptance criteria were defined in the Native Skills Transition forum thread and implemented on this branch.
Requested Direction (What Was Asked For)
This PR implements the requested direction:
Before vs After
Before
_bmad/_configmanifests/help catalog and tool projections with implicit identity derived from mixed sources (paths, frontmatter, module-help rows, adapter-specific logic).After
How
1) Added explicit authority + contract validators
tools/cli/installers/lib/core/sidecar-contract-validator.jstools/cli/installers/lib/core/help-authority-validator.jstools/cli/installers/lib/core/shard-doc-authority-validator.jstools/cli/installers/lib/core/index-docs-authority-validator.jssrc/core/tasks/help.artifact.yamlsrc/core/tasks/shard-doc.artifact.yamlsrc/core/tasks/index-docs.artifact.yaml2) Added canonical alias/help projection safeguards
tools/cli/installers/lib/core/help-alias-normalizer.jstools/cli/installers/lib/core/help-catalog-generator.jstools/cli/installers/lib/core/projection-compatibility-validator.jstools/cli/installers/lib/core/manifest-generator.js3) Wired deterministic capability validation into installer orchestration
tools/cli/installers/lib/core/installer.jstools/cli/installers/lib/core/help-validation-harness.jstools/cli/installers/lib/core/shard-doc-validation-harness.jstools/cli/installers/lib/core/index-docs-validation-harness.js4) Updated tool adapters for transitional compatibility
tools/cli/installers/lib/ide/codex.jstools/cli/installers/lib/ide/github-copilot.jstools/cli/installers/lib/ide/shared/task-tool-command-generator.js5) Added exhaustive regression coverage
test/test-installation-components.jsBehavioral Guarantees Established in This PR
npx bmad-method install,/bmad-helpworkflows).canonical,legacy,slash) resolve deterministically to one capability identity.Scope and Non-Goals
In scope
Out of scope
Testing
Executed on this branch:
npm run test:install698passed,0failed)npm testAdditional verification artifacts maintained in wrapper planning docs:
Risks and Mitigations
Reviewer Guide
Suggested review order:
tools/cli/installers/lib/core/installer.jstools/cli/installers/lib/core/manifest-generator.jssidecar+authority+projection-compatibility)help,shard-doc,index-docs)test/test-installation-components.js(Suites 14-16 + compatibility suites)Notes
This is intentionally opened as a draft PR to allow maintainers to review migration direction, naming/authority assumptions, and rollout strategy before merge decisions.