specfact-cli 0.40.3__tar.gz → 0.40.4__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.3 → specfact_cli-0.40.4}/PKG-INFO +1 -1
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/pyproject.toml +1 -1
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/__init__.py +1 -1
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/adapters/ado.py +3 -3
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/.gitignore +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/LICENSE +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/README.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/keys/README.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/keys/module-signing-public.pem +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/mappings/node-async.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/mappings/python-async.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/mappings/speckit-default.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/prompts/shared/cli-enforcement.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/prompts/specfact.01-import.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/prompts/specfact.02-plan.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/prompts/specfact.03-review.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/prompts/specfact.04-sdd.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/prompts/specfact.05-enforce.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/prompts/specfact.06-sync.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/prompts/specfact.07-contracts.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/prompts/specfact.compare.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/prompts/specfact.validate.md +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/schemas/deviation.schema.json +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/schemas/plan.schema.json +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/schemas/protocol.schema.json +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/github-action.yml.j2 +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/persona/architect.md.j2 +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/persona/developer.md.j2 +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/persona/product-owner.md.j2 +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/plan.bundle.yaml.j2 +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/policies/kanban.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/policies/mixed.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/policies/safe.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/policies/scrum.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/pr-template.md.j2 +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/protocol.yaml.j2 +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/resources/templates/telemetry.yaml.example +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/__main__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/adapters/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/adapters/backlog_base.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/adapters/base.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/adapters/github.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/adapters/openspec.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/adapters/openspec_parser.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/adapters/registry.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/adapters/speckit.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/agents/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/agents/analyze_agent.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/agents/base.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/agents/plan_agent.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/agents/registry.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/agents/sync_agent.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/ambiguity_scanner.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/code_analyzer.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/constitution_evidence_extractor.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/contract_extractor.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/control_flow_analyzer.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/graph_analyzer.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/relationship_mapper.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/requirement_extractor.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/test_pattern_extractor.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/backlog/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/backlog/adapters/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/backlog/adapters/base.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/backlog/converter.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/backlog/filters.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/backlog/mappers/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/backlog/mappers/ado_mapper.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/backlog/mappers/base.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/backlog/mappers/github_mapper.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/backlog/mappers/template_config.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/cli.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/_bundle_shim.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/analyze.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/contract_cmd.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/drift.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/enforce.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/generate.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/import_cmd.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/init.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/migrate.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/plan.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/project_cmd.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/repro.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/sdd.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/spec.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/sync.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/update.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/commands/validate.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/common/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/common/bundle_factory.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/common/logger_setup.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/common/logging_utils.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/common/text_utils.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/common/utils.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/comparators/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/comparators/plan_comparator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/contracts/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/contracts/crosshair_props.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/contracts/module_interface.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/enrichers/constitution_enricher.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/enrichers/plan_enricher.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/contract_generator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/openapi_extractor.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/persona_exporter.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/plan_generator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/protocol_generator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/report_generator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/task_generator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/test_to_openapi.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/workflow_generator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/groups/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/groups/codebase_group.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/groups/govern_group.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/groups/member_group.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/groups/project_group.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/groups/spec_group.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/importers/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/importers/speckit_converter.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/importers/speckit_scanner.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/integrations/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/integrations/specmatic.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/merge/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/merge/resolver.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/migrations/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/migrations/plan_migrator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/backlog_item.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/bridge.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/capabilities.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/change.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/contract.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/deviation.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/dor_config.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/enforcement.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/module_package.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/persona_template.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/plan.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/project.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/protocol.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/quality.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/sdd.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/source_tracking.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/task.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/models/validation.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modes/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modes/detector.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modes/router.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/_bundle_import.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/init/module-package.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/init/src/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/init/src/app.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/init/src/commands.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/init/src/first_run_selection.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/module_io_shim.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/module_registry/module-package.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/module_registry/src/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/module_registry/src/app.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/module_registry/src/commands.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/upgrade/module-package.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/upgrade/src/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/upgrade/src/app.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/upgrade/src/commands.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/parsers/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/parsers/persona_importer.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/alias_manager.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/bootstrap.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/bridge_registry.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/crypto_validator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/custom_registries.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/dependency_resolver.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/extension_registry.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/help_cache.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/marketplace_client.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/metadata.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/module_discovery.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/module_grouping.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/module_installer.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/module_lifecycle.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/module_packages.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/module_security.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/module_state.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/registry.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/resources/semgrep/async.yml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/resources/semgrep/code-quality.yml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/resources/semgrep/feature-detection.yml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/runtime.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/bridge_probe.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/bridge_sync.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/bridge_watch.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/change_detector.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/code_to_spec.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/drift_detector.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/repository_sync.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/spec_to_code.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/spec_to_tests.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/watcher.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/sync/watcher_enhanced.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/telemetry.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/templates/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/templates/defaults/defect_v1.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/templates/defaults/enabler_v1.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/templates/defaults/spike_v1.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/templates/defaults/user_story_v1.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/templates/frameworks/scrum/user_story_v1.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/templates/personas/product-owner/user_story_v1.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/templates/providers/ado/work_item_v1.yaml +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/templates/registry.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/templates/specification_templates.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/acceptance_criteria.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/auth_tokens.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/bundle_converters.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/bundle_loader.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/code_change_detector.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/console.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/content_sanitizer.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/context_detection.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/enrichment_context.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/enrichment_parser.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/env_manager.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/feature_keys.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/git.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/github_annotations.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/ide_setup.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/incremental_check.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/metadata.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/optional_deps.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/performance.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/persona_ownership.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/progress.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/progressive_disclosure.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/prompts.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/sdd_discovery.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/source_scanner.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/startup_checks.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/structure.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/structured_io.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/suggestions.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/terminal.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/utils/yaml_utils.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validation/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validation/command_audit.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/agile_validation.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/change_proposal_integration.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/cli_first_validator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/contract_validator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/fsm.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/repro_checker.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/schema.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/contract_populator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/crosshair_runner.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/crosshair_summary.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/dependency_installer.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/framework_detector.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/frameworks/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/frameworks/base.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/frameworks/django.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/frameworks/drf.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/frameworks/fastapi.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/frameworks/flask.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/harness_generator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/models.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/orchestrator.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/specmatic_runner.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/validators/sidecar/unannotated_detector.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/versioning/__init__.py +0 -0
- {specfact_cli-0.40.3 → specfact_cli-0.40.4}/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.4
|
|
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.4"
|
|
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"
|
|
@@ -1759,12 +1759,12 @@ class AdoAdapter(BridgeAdapter, BacklogAdapterMixin, BacklogAdapter):
|
|
|
1759
1759
|
|
|
1760
1760
|
try:
|
|
1761
1761
|
response = self._request_with_retry(
|
|
1762
|
-
lambda: requests.
|
|
1762
|
+
lambda: requests.post(url, json=patch_document, headers=headers, timeout=30),
|
|
1763
1763
|
retry_on_ambiguous_transport=False,
|
|
1764
1764
|
)
|
|
1765
1765
|
if is_debug_mode():
|
|
1766
1766
|
debug_log_operation(
|
|
1767
|
-
"
|
|
1767
|
+
"ado_create",
|
|
1768
1768
|
url,
|
|
1769
1769
|
str(response.status_code),
|
|
1770
1770
|
error=None if response.ok else (response.text[:200] if response.text else None),
|
|
@@ -3456,7 +3456,7 @@ class AdoAdapter(BridgeAdapter, BacklogAdapterMixin, BacklogAdapter):
|
|
|
3456
3456
|
**self._auth_headers(),
|
|
3457
3457
|
}
|
|
3458
3458
|
response = self._request_with_retry(
|
|
3459
|
-
lambda: requests.
|
|
3459
|
+
lambda: requests.post(url, json=patch_document, headers=headers, timeout=30),
|
|
3460
3460
|
retry_on_ambiguous_transport=False,
|
|
3461
3461
|
)
|
|
3462
3462
|
created = response.json()
|
|
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.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/contract_extractor.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/control_flow_analyzer.py
RENAMED
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/relationship_mapper.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/analyzers/requirement_extractor.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/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.3 → specfact_cli-0.40.4}/src/specfact_cli/backlog/mappers/github_mapper.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/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
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/enrichers/constitution_enricher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/contract_generator.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/openapi_extractor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/generators/protocol_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/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.3 → specfact_cli-0.40.4}/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.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/init/src/first_run_selection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/module_registry/src/__init__.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/module_registry/src/app.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/module_registry/src/commands.py
RENAMED
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/upgrade/module-package.yaml
RENAMED
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/modules/upgrade/src/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/registry/dependency_resolver.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
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/resources/semgrep/code-quality.yml
RENAMED
|
File without changes
|
{specfact_cli-0.40.3 → specfact_cli-0.40.4}/src/specfact_cli/resources/semgrep/feature-detection.yml
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
|