-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Why
module-migration-01 introduced category group commands and bundle metadata, but module source code still lives in src/specfact_cli/modules/ inside the core package — every specfact-cli install still ships all 21 modules unconditionally.
This change completes the extraction: it moves each category's module source into independently versioned bundle packages in the specfact-cli-modules repository, publishes signed packages to the marketplace registry, and installs the bundle-level dependency graph. After this change, the marketplace will carry all five official bundles (specfact-project, specfact-backlog, specfact-codebase, specfact-spec, specfact-govern) as first-class installable packages.
Without extraction, the specfact init --profile <name> first-run selection flow is cosmetic — extraction makes profile selection meaningful: only selected bundles arrive on disk.
What Changes
- Create per-bundle package directories in
specfact-cli-modules/packages/:specfact-project— project, plan, import_cmd, sync, migratespecfact-backlog— backlog, policy_enginespecfact-codebase— analyze, drift, validate, reprospecfact-spec— contract, spec, sdd, generatespecfact-govern— enforce, patch_mode
- Move module source to bundle packages; core retains re-export shims to preserve import paths during migration window
- Publish five signed official-tier bundles to the marketplace registry
- Add bundle-level dependency declarations (
specfact-spec→specfact-project,specfact-govern→specfact-project) - Extend
scripts/publish-module.pywith bundle packaging, per-bundle signing, and registry index update steps
Acceptance Criteria
- All five bundle packages exist in
specfact-cli-modules/packages/with correct namespace structure - Each bundle is signed (SHA-256 + Ed25519) and appears in
registry/index.json specfact_cli.modules.*import paths remain functional via re-export shimsspecfact module install nold-ai/specfact-codebaseinstalls and activates the codebase bundle- Bundle-level dependencies resolve correctly (installing specfact-spec auto-installs specfact-project)
OpenSpec Change Proposal: module-migration-02-bundle-extraction
Metadata
Metadata
Assignees
Labels
Type
Projects
Status