specfact-cli 0.40.2__tar.gz → 0.40.3__tar.gz
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.
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/PKG-INFO +1 -1
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/pyproject.toml +1 -1
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/__init__.py +1 -1
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/__init__.py +1 -1
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/common/logger_setup.py +11 -5
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/common/logging_utils.py +7 -1
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/module_registry/module-package.yaml +3 -3
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/module_registry/src/commands.py +22 -4
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/module_installer.py +1 -1
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/.gitignore +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/LICENSE +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/README.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/keys/README.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/keys/module-signing-public.pem +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/mappings/node-async.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/mappings/python-async.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/mappings/speckit-default.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/prompts/shared/cli-enforcement.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/prompts/specfact.01-import.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/prompts/specfact.02-plan.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/prompts/specfact.03-review.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/prompts/specfact.04-sdd.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/prompts/specfact.05-enforce.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/prompts/specfact.06-sync.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/prompts/specfact.07-contracts.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/prompts/specfact.compare.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/prompts/specfact.validate.md +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/schemas/deviation.schema.json +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/schemas/plan.schema.json +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/schemas/protocol.schema.json +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/github-action.yml.j2 +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/persona/architect.md.j2 +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/persona/developer.md.j2 +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/persona/product-owner.md.j2 +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/plan.bundle.yaml.j2 +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/policies/kanban.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/policies/mixed.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/policies/safe.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/policies/scrum.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/pr-template.md.j2 +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/protocol.yaml.j2 +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/resources/templates/telemetry.yaml.example +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/__main__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/adapters/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/adapters/ado.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/adapters/backlog_base.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/adapters/base.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/adapters/github.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/adapters/openspec.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/adapters/openspec_parser.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/adapters/registry.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/adapters/speckit.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/agents/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/agents/analyze_agent.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/agents/base.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/agents/plan_agent.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/agents/registry.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/agents/sync_agent.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/ambiguity_scanner.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/code_analyzer.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/constitution_evidence_extractor.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/contract_extractor.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/control_flow_analyzer.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/graph_analyzer.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/relationship_mapper.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/requirement_extractor.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/test_pattern_extractor.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/adapters/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/adapters/base.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/converter.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/filters.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/mappers/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/mappers/ado_mapper.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/mappers/base.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/mappers/github_mapper.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/mappers/template_config.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/cli.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/_bundle_shim.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/analyze.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/contract_cmd.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/drift.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/enforce.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/generate.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/import_cmd.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/init.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/migrate.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/plan.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/project_cmd.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/repro.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/sdd.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/spec.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/sync.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/update.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/commands/validate.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/common/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/common/bundle_factory.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/common/text_utils.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/common/utils.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/comparators/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/comparators/plan_comparator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/contracts/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/contracts/crosshair_props.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/contracts/module_interface.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/enrichers/constitution_enricher.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/enrichers/plan_enricher.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/contract_generator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/openapi_extractor.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/persona_exporter.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/plan_generator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/protocol_generator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/report_generator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/task_generator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/test_to_openapi.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/workflow_generator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/groups/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/groups/codebase_group.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/groups/govern_group.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/groups/member_group.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/groups/project_group.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/groups/spec_group.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/importers/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/importers/speckit_converter.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/importers/speckit_scanner.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/integrations/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/integrations/specmatic.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/merge/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/merge/resolver.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/migrations/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/migrations/plan_migrator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/backlog_item.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/bridge.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/capabilities.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/change.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/contract.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/deviation.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/dor_config.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/enforcement.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/module_package.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/persona_template.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/plan.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/project.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/protocol.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/quality.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/sdd.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/source_tracking.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/task.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/models/validation.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modes/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modes/detector.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modes/router.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/_bundle_import.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/init/module-package.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/init/src/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/init/src/app.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/init/src/commands.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/init/src/first_run_selection.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/module_io_shim.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/module_registry/src/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/module_registry/src/app.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/upgrade/module-package.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/upgrade/src/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/upgrade/src/app.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/upgrade/src/commands.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/parsers/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/parsers/persona_importer.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/alias_manager.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/bootstrap.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/bridge_registry.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/crypto_validator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/custom_registries.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/dependency_resolver.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/extension_registry.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/help_cache.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/marketplace_client.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/metadata.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/module_discovery.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/module_grouping.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/module_lifecycle.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/module_packages.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/module_security.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/module_state.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/registry/registry.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/resources/semgrep/async.yml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/resources/semgrep/code-quality.yml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/resources/semgrep/feature-detection.yml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/runtime.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/bridge_probe.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/bridge_sync.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/bridge_watch.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/change_detector.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/code_to_spec.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/drift_detector.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/repository_sync.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/spec_to_code.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/spec_to_tests.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/watcher.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/sync/watcher_enhanced.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/telemetry.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/templates/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/templates/defaults/defect_v1.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/templates/defaults/enabler_v1.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/templates/defaults/spike_v1.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/templates/defaults/user_story_v1.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/templates/frameworks/scrum/user_story_v1.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/templates/personas/product-owner/user_story_v1.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/templates/providers/ado/work_item_v1.yaml +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/templates/registry.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/templates/specification_templates.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/acceptance_criteria.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/auth_tokens.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/bundle_converters.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/bundle_loader.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/code_change_detector.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/console.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/content_sanitizer.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/context_detection.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/enrichment_context.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/enrichment_parser.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/env_manager.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/feature_keys.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/git.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/github_annotations.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/ide_setup.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/incremental_check.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/metadata.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/optional_deps.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/performance.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/persona_ownership.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/progress.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/progressive_disclosure.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/prompts.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/sdd_discovery.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/source_scanner.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/startup_checks.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/structure.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/structured_io.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/suggestions.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/terminal.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/utils/yaml_utils.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validation/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validation/command_audit.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/agile_validation.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/change_proposal_integration.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/cli_first_validator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/contract_validator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/fsm.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/repro_checker.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/schema.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/contract_populator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/crosshair_runner.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/crosshair_summary.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/dependency_installer.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/framework_detector.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/frameworks/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/frameworks/base.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/frameworks/django.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/frameworks/drf.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/frameworks/fastapi.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/frameworks/flask.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/harness_generator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/models.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/orchestrator.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/specmatic_runner.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/validators/sidecar/unannotated_detector.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/versioning/__init__.py +0 -0
- {specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/versioning/analyzer.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specfact-cli
|
|
3
|
-
Version: 0.40.
|
|
3
|
+
Version: 0.40.3
|
|
4
4
|
Summary: The swiss knife CLI for agile DevOps teams. Keep backlog, specs, tests, and code in sync with validation and contract enforcement for new projects and long-lived codebases.
|
|
5
5
|
Project-URL: Homepage, https://github.com/nold-ai/specfact-cli
|
|
6
6
|
Project-URL: Repository, https://github.com/nold-ai/specfact-cli.git
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "specfact-cli"
|
|
7
|
-
version = "0.40.
|
|
7
|
+
version = "0.40.3"
|
|
8
8
|
description = "The swiss knife CLI for agile DevOps teams. Keep backlog, specs, tests, and code in sync with validation and contract enforcement for new projects and long-lived codebases."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -396,6 +396,7 @@ class LoggerSetup:
|
|
|
396
396
|
use_rotating_file: bool = True,
|
|
397
397
|
append_mode: bool = True,
|
|
398
398
|
preserve_test_format: bool = False,
|
|
399
|
+
emit_to_console: bool = True,
|
|
399
400
|
) -> logging.Logger:
|
|
400
401
|
"""
|
|
401
402
|
Creates a new logger or returns an existing one with the specified configuration.
|
|
@@ -513,15 +514,20 @@ class LoggerSetup:
|
|
|
513
514
|
with contextlib.suppress(Exception):
|
|
514
515
|
logger.info("[LoggerSetup] File logger initialized: %s", log_file_path)
|
|
515
516
|
else:
|
|
516
|
-
# If no log file is specified,
|
|
517
|
+
# If no log file is specified, stream to console only when explicitly requested.
|
|
517
518
|
log_queue = Queue(-1)
|
|
518
519
|
cls._log_queues[logger_name] = log_queue
|
|
519
520
|
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
521
|
+
sink_handler: logging.Handler
|
|
522
|
+
if emit_to_console:
|
|
523
|
+
sink_handler = logging.StreamHandler(_safe_console_stream())
|
|
524
|
+
sink_handler.setFormatter(log_format)
|
|
525
|
+
sink_handler.setLevel(level)
|
|
526
|
+
else:
|
|
527
|
+
sink_handler = logging.NullHandler()
|
|
528
|
+
sink_handler.setLevel(level)
|
|
523
529
|
|
|
524
|
-
listener = QueueListener(log_queue,
|
|
530
|
+
listener = QueueListener(log_queue, sink_handler, respect_handler_level=True)
|
|
525
531
|
listener.start()
|
|
526
532
|
cls._log_listeners[logger_name] = listener
|
|
527
533
|
|
|
@@ -38,4 +38,10 @@ def _try_common_logger(name: str, level: str) -> logging.Logger | None:
|
|
|
38
38
|
from specfact_cli.common.logger_setup import LoggerSetup # type: ignore[import]
|
|
39
39
|
except ImportError:
|
|
40
40
|
return None
|
|
41
|
-
|
|
41
|
+
try:
|
|
42
|
+
from specfact_cli.runtime import is_debug_mode # type: ignore[import]
|
|
43
|
+
|
|
44
|
+
emit_to_console = is_debug_mode()
|
|
45
|
+
except ImportError:
|
|
46
|
+
emit_to_console = False
|
|
47
|
+
return LoggerSetup.create_logger(name, log_level=level, emit_to_console=emit_to_console)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: module-registry
|
|
2
|
-
version: 0.1.
|
|
2
|
+
version: 0.1.10
|
|
3
3
|
commands:
|
|
4
4
|
- module
|
|
5
5
|
category: core
|
|
@@ -17,5 +17,5 @@ publisher:
|
|
|
17
17
|
description: 'Manage modules: search, list, show, install, and upgrade.'
|
|
18
18
|
license: Apache-2.0
|
|
19
19
|
integrity:
|
|
20
|
-
checksum: sha256:
|
|
21
|
-
signature:
|
|
20
|
+
checksum: sha256:85e40c4c083982f0bab2bde2a27a08a4e6832fe6d93ae3d62c4659c138fd6295
|
|
21
|
+
signature: INFP+nx7iPCqZPnGIwB39L6GpckB16+EqPwaPW/kwwBtlLBX9RaZ1DcMbhu5f6tPqjA9sETRMBtrQ5GiBbVfCQ==
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/module_registry/src/commands.py
RENAMED
|
@@ -7,6 +7,7 @@ import shutil
|
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
|
|
9
9
|
import typer
|
|
10
|
+
import yaml
|
|
10
11
|
from beartype import beartype
|
|
11
12
|
from rich.console import Console
|
|
12
13
|
from rich.table import Table
|
|
@@ -39,6 +40,20 @@ app = typer.Typer(help="Manage marketplace modules")
|
|
|
39
40
|
console = Console()
|
|
40
41
|
|
|
41
42
|
|
|
43
|
+
def _read_installed_module_version(module_dir: Path) -> str:
|
|
44
|
+
"""Read installed module version from its manifest, if available."""
|
|
45
|
+
manifest_path = module_dir / "module-package.yaml"
|
|
46
|
+
if not manifest_path.exists():
|
|
47
|
+
return "unknown"
|
|
48
|
+
try:
|
|
49
|
+
loaded = yaml.safe_load(manifest_path.read_text(encoding="utf-8"))
|
|
50
|
+
except Exception:
|
|
51
|
+
return "unknown"
|
|
52
|
+
if not isinstance(loaded, dict):
|
|
53
|
+
return "unknown"
|
|
54
|
+
return str(loaded.get("version", "unknown"))
|
|
55
|
+
|
|
56
|
+
|
|
42
57
|
def _publisher_from_module_id(module_id: str) -> str:
|
|
43
58
|
"""Extract normalized publisher namespace from module id."""
|
|
44
59
|
return module_id.split("/", 1)[0].strip().lower() if "/" in module_id else ""
|
|
@@ -803,19 +818,22 @@ def upgrade(
|
|
|
803
818
|
# If module isn't discovered locally, still attempt marketplace install/upgrade by ID.
|
|
804
819
|
target_ids = [prefixed]
|
|
805
820
|
|
|
806
|
-
upgraded: list[str] = []
|
|
821
|
+
upgraded: list[tuple[str, str, str]] = []
|
|
807
822
|
failed: list[str] = []
|
|
808
823
|
for target in target_ids:
|
|
809
824
|
try:
|
|
810
825
|
module_id = target if "/" in target else f"specfact/{target}"
|
|
811
|
-
|
|
812
|
-
|
|
826
|
+
previous_version = str(by_id.get(target, {}).get("version", "unknown"))
|
|
827
|
+
installed_path = install_module(module_id, reinstall=True)
|
|
828
|
+
upgraded.append((module_id, previous_version, _read_installed_module_version(installed_path)))
|
|
813
829
|
except Exception as exc:
|
|
814
830
|
console.print(f"[red]Failed upgrading {target}: {exc}[/red]")
|
|
815
831
|
failed.append(target)
|
|
816
832
|
|
|
817
833
|
if upgraded:
|
|
818
|
-
console.print(
|
|
834
|
+
console.print("[green]Upgraded:[/green]")
|
|
835
|
+
for module_id, previous_version, new_version in upgraded:
|
|
836
|
+
console.print(f" {module_id}: {previous_version} -> {new_version}")
|
|
819
837
|
if failed:
|
|
820
838
|
raise typer.Exit(1)
|
|
821
839
|
|
|
@@ -730,7 +730,7 @@ def install_module(
|
|
|
730
730
|
dependency_manifest = target_root / dependency_name / "module-package.yaml"
|
|
731
731
|
if dependency_manifest.exists():
|
|
732
732
|
dependency_version = _installed_dependency_version(dependency_manifest)
|
|
733
|
-
logger.
|
|
733
|
+
logger.info(
|
|
734
734
|
"Dependency %s already satisfied (version %s)", dependency_module_id, dependency_version
|
|
735
735
|
)
|
|
736
736
|
continue
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/contract_extractor.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/control_flow_analyzer.py
RENAMED
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/relationship_mapper.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/requirement_extractor.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/analyzers/test_pattern_extractor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/mappers/github_mapper.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/backlog/mappers/template_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/enrichers/constitution_enricher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/contract_generator.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/openapi_extractor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/protocol_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/generators/workflow_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/init/module-package.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/init/src/first_run_selection.py
RENAMED
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/module_registry/src/__init__.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/module_registry/src/app.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/upgrade/module-package.yaml
RENAMED
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/upgrade/src/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.2 → specfact_cli-0.40.3}/src/specfact_cli/modules/upgrade/src/commands.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|