devflow-cli 6.4.0__tar.gz → 7.0.1__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.
- devflow_cli-7.0.1/.specify/memory/constitution.md +144 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/.gitignore +2 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/activity-contract.json +170 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/agent-execution.json +15 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/assessment.json +41 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/contracts-result.json +27 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/contracts.md +597 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/evidence/diff-inspection.json +92 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/evidence/requirements-coverage.json +342 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/evidence/security-or-data-check.json +72 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/evidence/test-suite.json +153 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/implement-result.json +135 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/need.md +168 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/omission-log.json +16 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/plan-result.json +173 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/plan.md +444 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/preflight-evidence-result.json +57 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/preflight-evidence.md +135 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/review-result.json +48 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/risk-assessment-result.json +33 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/risk-assessment.md +192 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/rollback-check-result.json +66 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/spec-result.json +28 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/spec.md +450 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/tasks-result.json +50 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/tasks.md +188 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/validation-approvals.json +20 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/workflow-state.json +92 -0
- devflow_cli-7.0.1/.specify/specs/034-kks-421-decouple-guardrails/worklog.md +184 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/.gitignore +2 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/activity-contract.json +161 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/agent-execution.json +15 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/assessment.json +34 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/evidence/diff-inspection.json +30 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/evidence/targeted-check.json +27 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/implement-result.json +70 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/need.md +215 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/preflight-evidence-result.json +58 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/preflight-evidence.md +109 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/workflow-state.json +45 -0
- devflow_cli-7.0.1/.specify/specs/035-kks-428-constitution-v2/worklog.md +61 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/CHANGELOG.md +25 -0
- devflow_cli-7.0.1/CLAUDE.md +20 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/PKG-INFO +26 -5
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/README.md +25 -4
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/activity-contracts.md +34 -23
- devflow_cli-7.0.1/docs/adr/0003-v7-guardrails-rupture.md +60 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/cli-reference.md +16 -18
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/guides/microservices.md +3 -2
- devflow_cli-7.0.1/docs/pipeline-reference.generated.md +31 -0
- devflow_cli-7.0.1/docs/pipeline.md +74 -0
- devflow_cli-7.0.1/docs/releases/7.0.0.md +100 -0
- devflow_cli-7.0.1/docs/releases/7.0.1.md +35 -0
- devflow_cli-7.0.1/docs/v7-decisions.md +120 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/pyproject.toml +1 -1
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/__init__.py +1 -3
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/cli.py +15 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/adaptive.py +33 -35
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/assess.py +26 -2
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/status.py +20 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/activity_contracts.py +91 -163
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/adaptive_runner.py +11 -24
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/adaptive_workflow.py +65 -101
- devflow_cli-7.0.1/src/devflow_cli/core/assessment.py +324 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/automatic_evidence.py +14 -16
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/contract_schemas.py +39 -15
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/docgen.py +32 -15
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/feedback.py +10 -1
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/remediation.py +8 -11
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/staleness.py +1 -3
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/validation_approvals.py +1 -1
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/validators.py +1 -66
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/waivers.py +8 -1
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/worklog.py +0 -11
- devflow_cli-6.4.0/src/devflow_cli/schemas/activity-contract-v3.schema.json → devflow_cli-7.0.1/src/devflow_cli/schemas/activity-contract-v4.schema.json +7 -6
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/schemas/activity-result-v1.schema.json +0 -10
- devflow_cli-6.4.0/src/devflow_cli/schemas/assessment-v3.schema.json → devflow_cli-7.0.1/src/devflow_cli/schemas/assessment-v4.schema.json +19 -7
- devflow_cli-6.4.0/src/devflow_cli/schemas/workflow-state-v4.schema.json → devflow_cli-7.0.1/src/devflow_cli/schemas/workflow-state-v5.schema.json +13 -23
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/plan-template.md +0 -1
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/quickstart-template.md +0 -1
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_activity_contracts.py +378 -76
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_adaptive_runner.py +192 -23
- devflow_cli-7.0.1/tests/test_adaptive_workflow.py +609 -0
- devflow_cli-7.0.1/tests/test_assessment.py +588 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_automatic_evidence.py +260 -83
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_adaptive.py +60 -15
- devflow_cli-7.0.1/tests/test_cmd_assess.py +237 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_feedback.py +13 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_linear.py +1 -1
- devflow_cli-7.0.1/tests/test_constants.py +68 -0
- devflow_cli-7.0.1/tests/test_contract_schemas.py +299 -0
- devflow_cli-7.0.1/tests/test_docgen.py +84 -0
- devflow_cli-7.0.1/tests/test_guardrails.py +291 -0
- devflow_cli-7.0.1/tests/test_legacy_schema.py +272 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_linear_adapter.py +2 -1
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_linear_order.py +15 -4
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_remediation.py +64 -2
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_staleness.py +50 -5
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_telemetry.py +15 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_validators.py +92 -80
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_waivers.py +105 -18
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_wheel_adaptive_acceptance.py +160 -107
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_wheel_install.py +3 -3
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_worklog.py +18 -43
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/uv.lock +1 -1
- devflow_cli-6.4.0/.specify/memory/constitution.md +0 -179
- devflow_cli-6.4.0/CLAUDE.md +0 -20
- devflow_cli-6.4.0/docs/pipeline-reference.generated.md +0 -31
- devflow_cli-6.4.0/docs/pipeline.md +0 -52
- devflow_cli-6.4.0/src/devflow_cli/core/assessment.py +0 -284
- devflow_cli-6.4.0/src/devflow_cli/core/omissions.py +0 -168
- devflow_cli-6.4.0/templates/research-template.md +0 -51
- devflow_cli-6.4.0/tests/test_adaptive_workflow.py +0 -349
- devflow_cli-6.4.0/tests/test_assessment.py +0 -112
- devflow_cli-6.4.0/tests/test_cmd_assess.py +0 -111
- devflow_cli-6.4.0/tests/test_constants.py +0 -33
- devflow_cli-6.4.0/tests/test_contract_schemas.py +0 -154
- devflow_cli-6.4.0/tests/test_docgen.py +0 -42
- devflow_cli-6.4.0/tests/test_omissions.py +0 -312
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.ai/mcp/mcp.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.claude/commands/speckit.analyze.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.claude/commands/speckit.checklist.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.claude/commands/speckit.clarify.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.claude/commands/speckit.constitution.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.claude/commands/speckit.implement.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.claude/commands/speckit.plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.claude/commands/speckit.specify.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.claude/commands/speckit.tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.claude/commands/speckit.taskstoissues.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.githooks/post-checkout +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.githooks/post-merge +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.github/workflows/ci.yml +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.github/workflows/release.yml +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.github/workflows/version-check.yml +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.gitignore +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/init-options.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/scripts/bash/common.sh +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/scripts/bash/setup-plan.sh +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/001-cli-init-options/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/001-cli-init-options/contracts/cli-init.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/001-cli-init-options/data-model.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/001-cli-init-options/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/001-cli-init-options/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/001-cli-init-options/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/001-cli-init-options/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/002-cascade-regen/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/002-cascade-regen/contracts/cli-regen.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/002-cascade-regen/contracts/cli-status-staleness.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/002-cascade-regen/data-model.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/002-cascade-regen/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/002-cascade-regen/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/002-cascade-regen/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/002-cascade-regen/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/003-usecase-guides/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/003-usecase-guides/data-model.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/003-usecase-guides/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/003-usecase-guides/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/003-usecase-guides/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/003-usecase-guides/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/003-usecase-guides/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/004-specify-central-directory/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/004-specify-central-directory/contracts/cli-commands.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/004-specify-central-directory/data-model.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/004-specify-central-directory/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/004-specify-central-directory/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/004-specify-central-directory/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/004-specify-central-directory/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/004-specify-central-directory/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/005-implement-subphases/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/005-implement-subphases/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/005-implement-subphases/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/005-implement-subphases/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/005-implement-subphases/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/005-implement-subphases/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/006-template-upgrade/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/006-template-upgrade/contracts/cli-upgrade.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/006-template-upgrade/data-model.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/006-template-upgrade/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/006-template-upgrade/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/006-template-upgrade/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/006-template-upgrade/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/006-template-upgrade/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/007-project-documentation/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/007-project-documentation/data-model.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/007-project-documentation/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/007-project-documentation/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/007-project-documentation/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/007-project-documentation/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/007-project-documentation/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/008-hardening-bugs/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/008-hardening-bugs/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/008-hardening-bugs/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/008-hardening-bugs/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/008-hardening-bugs/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/008-hardening-bugs/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/009-ci-pypi/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/009-ci-pypi/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/009-ci-pypi/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/009-ci-pypi/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/009-ci-pypi/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/009-ci-pypi/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/010-flexible-pipeline/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/010-flexible-pipeline/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/010-flexible-pipeline/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/010-flexible-pipeline/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/010-flexible-pipeline/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/010-flexible-pipeline/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/011-cursor-support/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/011-cursor-support/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/011-cursor-support/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/011-cursor-support/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/011-cursor-support/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/011-cursor-support/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/012-fix-critical-bugs/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/012-fix-critical-bugs/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/012-fix-critical-bugs/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/012-fix-critical-bugs/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/012-fix-critical-bugs/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/013-align-truth-sources/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/013-align-truth-sources/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/013-align-truth-sources/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/013-align-truth-sources/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/013-align-truth-sources/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/014-enforce-state-machine/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/014-enforce-state-machine/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/014-enforce-state-machine/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/014-enforce-state-machine/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/014-enforce-state-machine/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/015-fix-review-contradiction/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/015-fix-review-contradiction/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/015-fix-review-contradiction/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/015-fix-review-contradiction/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/015-fix-review-contradiction/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/016-harden-state-machine/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/016-harden-state-machine/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/016-harden-state-machine/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/016-harden-state-machine/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/016-harden-state-machine/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/017-fix-robustness-issues/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/017-fix-robustness-issues/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/017-fix-robustness-issues/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/017-fix-robustness-issues/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/017-fix-robustness-issues/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/018-fix-final-robustness/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/019-quality-hardening/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/019-quality-hardening/data-model.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/019-quality-hardening/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/019-quality-hardening/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/019-quality-hardening/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/019-quality-hardening/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/020-migrate-speckit/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/020-migrate-speckit/data-model.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/020-migrate-speckit/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/020-migrate-speckit/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/020-migrate-speckit/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/020-migrate-speckit/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/020-migrate-speckit/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/021-review-iterations/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/021-review-iterations/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/021-review-iterations/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/021-review-iterations/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/021-review-iterations/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/022-fix-regen-command/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/022-fix-regen-command/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/022-fix-regen-command/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/022-fix-regen-command/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/022-fix-regen-command/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/023-add-logging/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/023-add-logging/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/023-add-logging/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/023-add-logging/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/023-add-logging/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/024-validate-constants/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/024-validate-constants/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/024-validate-constants/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/024-validate-constants/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/024-validate-constants/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/025-harden-tests/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/025-harden-tests/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/025-harden-tests/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/025-harden-tests/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/025-harden-tests/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/027-pipeline-auto-execution/checklists/requirements.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/027-pipeline-auto-execution/contracts/orchestrator-contract.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/027-pipeline-auto-execution/data-model.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/027-pipeline-auto-execution/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/027-pipeline-auto-execution/quickstart.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/027-pipeline-auto-execution/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/027-pipeline-auto-execution/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/027-pipeline-auto-execution/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/.gitignore +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/activity-contract.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/agent-execution.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/assessment.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/evidence/diff-inspection.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/evidence/regression-check.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/evidence/targeted-tests.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/implement-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/need.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/preflight-evidence-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/preflight-evidence.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/prepare-attempt.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/prepare-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/workflow-state.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/028-kks-411-feature-dir-ignored/worklog.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/.gitignore +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/activity-contract.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/agent-execution.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/assessment.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/evidence/diff-inspection.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/evidence/regression-check.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/evidence/targeted-tests.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/implement-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/need.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/preflight-evidence-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/preflight-evidence.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/prepare-attempt.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/prepare-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/workflow-state.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/029-kks-413/worklog.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/.gitignore +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/activity-contract.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/agent-execution.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/assessment.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/evidence/diff-inspection.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/evidence/requirements-coverage.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/evidence/security-or-data-check.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/evidence/test-suite.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/implement-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/need.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/omission-log.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/plan-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/preflight-evidence-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/preflight-evidence.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/research-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/research.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/review-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/risk-assessment-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/risk-assessment.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/rollback-check-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/spec-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/tasks-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/workflow-state.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/030-kks-416/worklog.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/.gitignore +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/activity-contract.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/agent-execution.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/assessment.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/activity-contract.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/contracts-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/diff-inspection.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/requirements-coverage.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/security-or-data-check.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/test-suite.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/implement-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/plan-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/preflight-evidence-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/preflight-evidence.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/review-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/risk-assessment-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/spec-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-001/tasks-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/activity-contract.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/contracts-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/diff-inspection.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/requirements-coverage.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/security-or-data-check.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/test-suite.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/implement-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/plan-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/preflight-evidence-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/preflight-evidence.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/review-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/risk-assessment-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/rollback-check-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/spec-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/attempts/reopen-002/tasks-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/contracts-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/contracts.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/evidence/diff-inspection.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/evidence/requirements-coverage.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/evidence/security-or-data-check.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/evidence/test-suite.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/implement-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/issue-precommit-review.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/need.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/omission-log.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/plan-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/plan.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/preflight-evidence-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/preflight-evidence.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/reopen-log.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/review-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/risk-assessment-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/risk-assessment.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/rollback-check-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/spec-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/spec.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/tasks-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/tasks.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/workflow-state.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/031-kks-414/worklog.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/.gitignore +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/activity-contract.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/agent-execution.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/assessment.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/evidence/diff-inspection.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/evidence/regression-check.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/evidence/targeted-tests.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/implement-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/need.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/preflight-evidence-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/preflight-evidence.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/prepare-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/workflow-state.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/032-kks-419/worklog.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/.gitignore +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/activity-contract.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/agent-execution.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/assessment.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/evidence/diff-inspection.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/evidence/regression-check.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/evidence/targeted-tests.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/implement-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/need.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/preflight-evidence-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/preflight-evidence.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/prepare-result.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/workflow-state.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/specs/033-kks-420-stale-commands-warning/worklog.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/templates/agent-file-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/templates/checklist-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/templates/constitution-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/templates/plan-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/templates/spec-template-brownfield.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/templates/spec-template-greenfield.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/templates/spec-template-microservices.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/templates/spec-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/.specify/templates/tasks-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/CONTRIBUTING.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/FEEDBACK.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/LICENSE +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/commands/devflow.context.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/commands/devflow.extension.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/commands/devflow.init.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/commands/devflow.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/commands/devflow.regen.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/commands/devflow.status.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/adr/0001-v4-workflow-compatibility.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/adr/0002-v5-rupture-and-provenance.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/commands-reference.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/cursor-guide.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/guides/brownfield.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/guides/greenfield.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/index.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/4.0.0.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/4.0.1.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/4.0.3.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/4.0.4.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/4.0.5.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/4.0.6.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/5.0.0.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/6.0.0.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/6.1.0.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/6.1.1.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/6.1.2.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/6.2.0.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/6.3.0.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/6.3.1.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/releases/6.4.0.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/spec-driven.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/v5-decisions.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/docs/v6-decisions.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/extensions/EXTENSION-API-REFERENCE.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/extensions/catalog.community.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/extensions/catalog.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/extensions/template/example-command.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/extensions/template/example-extension.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/scripts/check_release.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/adapters/__init__.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/adapters/agents.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/adapters/linear.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/__init__.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/check.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/context.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/docs_sync.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/export_cmd.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/extension.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/feature.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/feedback.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/hooks_cmd.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/init_cmd.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/linear.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/stale.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/traceability.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/upgrade_cmd.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/usage.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/commands/verify.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/__init__.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/agent_failure.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/catalog.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/git.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/hooks.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/installer.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/manifest.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/operational.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/redaction.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/scanner.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/telemetry.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/traceability.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/verification.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/core/worktree_snapshot.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/utils/__init__.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/utils/console.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/utils/logging.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/utils/paths.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/src/devflow_cli/utils/strings.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/agent-context-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/constitution-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/contracts/README-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/contracts/api-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/contracts/components-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/contracts/interfaces-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/contracts/services-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/contracts-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/data-model-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/devflow-hooks-template.yml +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/extension-manifest-template.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/spec-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/templates/tasks-template.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/conftest.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/fixtures/agents/mock-agent.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/fixtures/commands/mock-command.md +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/fixtures/mock-catalog.json +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/run-tests.sh +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test-helpers.sh +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test-template-variants.sh +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_agent_adapters.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_agent_failure.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_bash_runner.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_catalog.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_check.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_context.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_docs_sync.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_extension.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_feature.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_hooks.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_init.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_stale.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_status.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_traceability.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_upgrade.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_cmd_verify.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_context.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_feedback.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_git.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_hooks.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_installer.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_integration.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_logging.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_manifest.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_paths.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_paths_project_root.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_release.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_scanner.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_traceability.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_verification.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_version.py +0 -0
- {devflow_cli-6.4.0 → devflow_cli-7.0.1}/tests/test_worktree_snapshot.py +0 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Constitution — Devflow
|
|
2
|
+
|
|
3
|
+
**Version** : 2.0.0
|
|
4
|
+
**Date de ratification** : 2026-03-15
|
|
5
|
+
**Dernière modification** : 2026-09-30
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Préambule
|
|
10
|
+
|
|
11
|
+
Devflow est un outil personnel qui pilote des agents de code avec un niveau de rigueur
|
|
12
|
+
proportionné à ce qui est touché. Il produit lui-même les preuves qui font avancer un parcours.
|
|
13
|
+
|
|
14
|
+
Cette constitution porte des principes, pas des mécanismes. Elle ne décrit ni route, ni fichier
|
|
15
|
+
d'état, ni commande : ces éléments vivent dans le code et dans les documents de décision
|
|
16
|
+
versionnés (`docs/*-decisions.md`, `docs/adr/`).
|
|
17
|
+
|
|
18
|
+
## Principes fondamentaux
|
|
19
|
+
|
|
20
|
+
### Article I — Une gate s'ouvre sur un fait, jamais sur une déclaration
|
|
21
|
+
|
|
22
|
+
Ce qui fait avancer un parcours est enregistré par la CLI, avec sa source.
|
|
23
|
+
|
|
24
|
+
**Rationale** : un agent qui déclare ses propres preuves se contrôle lui-même. Un travail valide
|
|
25
|
+
produit hors de l'agent devait être maquillé pour passer, et un résultat sans provenance pouvait
|
|
26
|
+
être consommé par la mauvaise activité.
|
|
27
|
+
|
|
28
|
+
**Règles** :
|
|
29
|
+
- MUST : les preuves d'exécution sont produites localement par la CLI, qui lance elle-même les
|
|
30
|
+
commandes.
|
|
31
|
+
- MUST : tout résultat et toute preuve portent leur source.
|
|
32
|
+
- MUST : ce qui ne vient pas de l'agent entre par une commande qui rejoue les mêmes validateurs
|
|
33
|
+
et laisse une trace.
|
|
34
|
+
- MUST NOT : faire avancer un parcours en éditant un fichier d'état ou un résultat.
|
|
35
|
+
- MUST NOT : accepter une preuve déclarée à la place d'une preuve exécutée.
|
|
36
|
+
|
|
37
|
+
### Article II — La rigueur suit le risque, pas la taille
|
|
38
|
+
|
|
39
|
+
Ce qu'il faut écrire avant de coder et ce qu'il faut contrôler sont deux questions distinctes.
|
|
40
|
+
|
|
41
|
+
**Rationale** : un correctif de trente lignes sur une liste de commandes autorisées a payé toute
|
|
42
|
+
la chaîne documentaire parce que contrôle et documentation étaient liés. À l'inverse, un gabarit
|
|
43
|
+
partagé par quatre écrans est passé sans revue parce que le lot était petit.
|
|
44
|
+
|
|
45
|
+
**Règles** :
|
|
46
|
+
- MUST : la profondeur documentaire dépend de l'ampleur et de l'incertitude du changement.
|
|
47
|
+
- MUST : les contrôles dépendent de la sensibilité de ce qui est touché, quelle que soit
|
|
48
|
+
l'ampleur.
|
|
49
|
+
- MUST : le niveau de rigueur se déduit de signaux explicites, enregistrés et relisibles.
|
|
50
|
+
- MUST NOT : réduire un niveau de rigueur recommandé sans trace, ni retirer un contrôle de
|
|
51
|
+
sensibilité par une option.
|
|
52
|
+
- MUST NOT : déclarer un signal faux pour obtenir un parcours plus court.
|
|
53
|
+
|
|
54
|
+
### Article III — Rupture assumée, jamais silencieuse
|
|
55
|
+
|
|
56
|
+
Devflow préfère refuser un ancien format plutôt que faire cohabiter deux politiques.
|
|
57
|
+
|
|
58
|
+
**Rationale** : maintenir plusieurs générations de formats a coûté trois lecteurs et deux
|
|
59
|
+
commandes de migration. Un outil personnel gagne plus à rester petit qu'à rester compatible.
|
|
60
|
+
|
|
61
|
+
**Règles** :
|
|
62
|
+
- MUST : tout changement de format persistant augmente sa version.
|
|
63
|
+
- MUST : un fichier d'une version antérieure est refusé par un message qui dit quoi faire.
|
|
64
|
+
- MUST : toute rupture est consignée dans une décision versionnée, avec la marche à suivre avant
|
|
65
|
+
mise à jour.
|
|
66
|
+
- MUST NOT : lire partiellement un ancien format, ou le convertir en silence.
|
|
67
|
+
|
|
68
|
+
### Article IV — Un besoin observé, ou rien
|
|
69
|
+
|
|
70
|
+
Devflow n'ajoute que ce qu'un usage réel a demandé, et retire ce qui ne sert plus.
|
|
71
|
+
|
|
72
|
+
**Rationale** : chaque commande, option ou activité ajoutée est lue par l'agent à chaque parcours
|
|
73
|
+
et maintenue à chaque version.
|
|
74
|
+
|
|
75
|
+
**Règles** :
|
|
76
|
+
- MUST : toute addition est justifiée par une friction consignée ou par une mesure, citée dans
|
|
77
|
+
sa décision.
|
|
78
|
+
- MUST : ce qui n'a plus d'usage est supprimé, pas conservé par précaution.
|
|
79
|
+
- MUST NOT : ajouter une capacité pour un utilisateur ou un agent hypothétique.
|
|
80
|
+
- MUST NOT : garder une couche de compatibilité pour adoucir une suppression.
|
|
81
|
+
|
|
82
|
+
### Article V — Chaque friction laisse une trace, chaque trace se referme
|
|
83
|
+
|
|
84
|
+
Devflow s'améliore à partir de ce qui est observé pendant son usage réel.
|
|
85
|
+
|
|
86
|
+
**Rationale** : un retour noté à la main s'est perdu, et le même défaut a bloqué deux parcours de
|
|
87
|
+
plus. Les versions majeures sont nées de retours consignés, aucune d'une intuition.
|
|
88
|
+
|
|
89
|
+
**Règles** :
|
|
90
|
+
- MUST : une friction est consignée au moment où elle se produit, avec la version observée.
|
|
91
|
+
- MUST : chaque parcours, terminé ou abandonné, se clôt par un bilan.
|
|
92
|
+
- MUST : une friction traitée est marquée comme telle, avec la référence de ce qui la traite.
|
|
93
|
+
- MUST NOT : consigner comme friction un refus justifié du travail de l'agent.
|
|
94
|
+
|
|
95
|
+
## Gates obligatoires
|
|
96
|
+
|
|
97
|
+
Les gates sont vérifiées avant l'implémentation. Une violation non justifiée est bloquante.
|
|
98
|
+
|
|
99
|
+
### Gate 1 — Simplicité
|
|
100
|
+
|
|
101
|
+
| Critère | Règle |
|
|
102
|
+
|---------|-------|
|
|
103
|
+
| Dépendances | Aucune nouvelle sans justification écrite |
|
|
104
|
+
| Abstractions | Le minimum nécessaire : trois lignes similaires valent mieux qu'une abstraction |
|
|
105
|
+
| Compatibilité | Aucune couche de compatibilité, aucun drapeau de fonctionnalité |
|
|
106
|
+
|
|
107
|
+
### Gate 2 — Patterns existants
|
|
108
|
+
|
|
109
|
+
| Critère | Règle |
|
|
110
|
+
|---------|-------|
|
|
111
|
+
| Formats persistants | Versionnés et validés à la lecture |
|
|
112
|
+
| Refus | Toujours un message qui dit quoi faire, jamais une trace brute |
|
|
113
|
+
| Nouveaux patterns | Aucun sans justification écrite |
|
|
114
|
+
|
|
115
|
+
### Gate 3 — Tests
|
|
116
|
+
|
|
117
|
+
| Critère | Règle |
|
|
118
|
+
|---------|-------|
|
|
119
|
+
| Couverture | Tout comportement de la CLI a un test |
|
|
120
|
+
| Politique | Avant de modifier une règle de décision, figer son comportement actuel dans un test |
|
|
121
|
+
| Isolation | Aucun test n'écrit dans les dossiers personnels du poste ni ne réinstalle l'outil |
|
|
122
|
+
|
|
123
|
+
## Gouvernance
|
|
124
|
+
|
|
125
|
+
- **Autorité** : cette constitution prime sur le besoin, la spec, le plan et les tâches. Un écart
|
|
126
|
+
se déclare dans la table des dérogations, avec sa justification et sa contrepartie.
|
|
127
|
+
- **Versionnement** : MAJOR (principe supprimé ou redéfini) / MINOR (principe ajouté) / PATCH
|
|
128
|
+
(clarification).
|
|
129
|
+
- **Amendement** : toute modification est justifiée et versionnée.
|
|
130
|
+
- **Règle d'écriture** : un article qui cite une route, un fichier d'état ou une commande est à
|
|
131
|
+
réécrire.
|
|
132
|
+
|
|
133
|
+
## Journal des amendements
|
|
134
|
+
|
|
135
|
+
- **2.0.0** (2026-09-30) : réécriture complète. Les sept principes de la version 1.x décrivaient
|
|
136
|
+
un moteur disparu. Le principe de rétrocompatibilité est remplacé par l'article III.
|
|
137
|
+
L'intégration Linear sort des principes.
|
|
138
|
+
|
|
139
|
+
## Suivi des dérogations
|
|
140
|
+
|
|
141
|
+
| Date | Article | Dérogation | Justification | Échéance |
|
|
142
|
+
|------|---------|------------|---------------|----------|
|
|
143
|
+
| 2026-09-30 | Article IV | Les adaptateurs Codex et Cursor sont conservés sans usage mesuré | Leur sort se décide après observation | Fin de la période d'observation de dix parcours |
|
|
144
|
+
| 2026-09-30 | Article V | La version observée d'une friction ne peut pas encore être indiquée | L'outil ne le permet pas | Livraison de KKS-430 |
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 3,
|
|
3
|
+
"contractId": "KKS-421:critical:rollback-check:v3",
|
|
4
|
+
"issueId": "KKS-421",
|
|
5
|
+
"profile": "critical",
|
|
6
|
+
"activity": "rollback-check",
|
|
7
|
+
"objective": "Decoupler la route documentaire (quick, standard, deep) du bloc de garde-fous declenche par la sensibilite ; supprimer critical, research et adaptive omit ; revue systematique en standard ; rupture de schema, version 7.0.0",
|
|
8
|
+
"featurePath": ".specify/specs/034-kks-421-decouple-guardrails",
|
|
9
|
+
"inputs": [
|
|
10
|
+
".specify/specs/034-kks-421-decouple-guardrails/need.md",
|
|
11
|
+
".specify/specs/034-kks-421-decouple-guardrails/assessment.json",
|
|
12
|
+
".specify/specs/034-kks-421-decouple-guardrails/workflow-state.json",
|
|
13
|
+
".specify/specs/034-kks-421-decouple-guardrails/risk-assessment.md",
|
|
14
|
+
".specify/specs/034-kks-421-decouple-guardrails/spec.md",
|
|
15
|
+
".specify/specs/034-kks-421-decouple-guardrails/contracts.md",
|
|
16
|
+
".specify/specs/034-kks-421-decouple-guardrails/plan.md",
|
|
17
|
+
".specify/specs/034-kks-421-decouple-guardrails/tasks.md",
|
|
18
|
+
".specify/specs/034-kks-421-decouple-guardrails/implement-result.json",
|
|
19
|
+
".specify/specs/034-kks-421-decouple-guardrails/evidence/requirements-coverage.json",
|
|
20
|
+
".specify/specs/034-kks-421-decouple-guardrails/evidence/test-suite.json",
|
|
21
|
+
".specify/specs/034-kks-421-decouple-guardrails/evidence/security-or-data-check.json",
|
|
22
|
+
".specify/specs/034-kks-421-decouple-guardrails/review-result.json",
|
|
23
|
+
".specify/specs/034-kks-421-decouple-guardrails/omission-log.json"
|
|
24
|
+
],
|
|
25
|
+
"allowedActions": [
|
|
26
|
+
"read",
|
|
27
|
+
"execute"
|
|
28
|
+
],
|
|
29
|
+
"constraints": [
|
|
30
|
+
"Respecter strictement l'objectif et le perimetre du contrat.",
|
|
31
|
+
"Le besoin de reference est .specify/specs/034-kks-421-decouple-guardrails/need.md ; en cas d'ecart avec objective, il fait foi.",
|
|
32
|
+
"Preserver les changements utilisateur sans rapport avec cette activite.",
|
|
33
|
+
"Ne pas modifier state.json, workflow-state.json ou assessment.json.",
|
|
34
|
+
"Ne pas creer de commit et ne pas changer de branche.",
|
|
35
|
+
"Signaler tout blocage au lieu de contourner une validation.",
|
|
36
|
+
"Dans checks, status vaut passed si et seulement si exitCode vaut 0. Une commande dont l'absence de resultat constitue le succes attendu doit etre declaree failed, ou remplacee par une commande qui renvoie 0 en cas de succes.",
|
|
37
|
+
"Donner un id stable a chaque objectif de check. Si un check echoue puis est corrige et relance pour le meme objectif, reutiliser cet id : seule la derniere tentative fait foi ; signaler dans remainingRisks toute instabilite encore pertinente.",
|
|
38
|
+
"Ne modifier aucun fichier pendant le controle de rollback.",
|
|
39
|
+
"Verifier une procedure de restauration actionnable, les donnees affectees, les validations post-rollback et les declencheurs.",
|
|
40
|
+
"Retourner blocked si un effet irreversible ou une inconnue critique empeche un retour arriere fiable.",
|
|
41
|
+
"Ne produire rollback-plan=passed que si le plan est applicable et verifiable."
|
|
42
|
+
],
|
|
43
|
+
"completionCriteria": [
|
|
44
|
+
"Le plan de rollback precise les etapes, responsables, donnees et controles.",
|
|
45
|
+
"Les declencheurs et limites du rollback sont explicites.",
|
|
46
|
+
"La preuve rollback-plan contient un rapport exploitable."
|
|
47
|
+
],
|
|
48
|
+
"requiredEvidence": [
|
|
49
|
+
"rollback-plan"
|
|
50
|
+
],
|
|
51
|
+
"expectedOutput": {
|
|
52
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
53
|
+
"$id": "https://devflow.dev/schemas/activity-result/v1",
|
|
54
|
+
"title": "Devflow Activity Result v1",
|
|
55
|
+
"type": "object",
|
|
56
|
+
"required": [
|
|
57
|
+
"schemaVersion",
|
|
58
|
+
"contractId",
|
|
59
|
+
"status",
|
|
60
|
+
"summary",
|
|
61
|
+
"changedFiles",
|
|
62
|
+
"checks",
|
|
63
|
+
"evidence",
|
|
64
|
+
"remainingRisks",
|
|
65
|
+
"blockers"
|
|
66
|
+
],
|
|
67
|
+
"properties": {
|
|
68
|
+
"schemaVersion": {
|
|
69
|
+
"type": "integer",
|
|
70
|
+
"const": 1
|
|
71
|
+
},
|
|
72
|
+
"contractId": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"minLength": 1
|
|
75
|
+
},
|
|
76
|
+
"status": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"enum": [
|
|
79
|
+
"completed",
|
|
80
|
+
"blocked"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
"summary": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"minLength": 1
|
|
86
|
+
},
|
|
87
|
+
"changedFiles": {
|
|
88
|
+
"type": "array",
|
|
89
|
+
"items": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"minLength": 1
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"checks": {
|
|
95
|
+
"type": "array",
|
|
96
|
+
"items": {
|
|
97
|
+
"type": "object",
|
|
98
|
+
"required": [
|
|
99
|
+
"command",
|
|
100
|
+
"exitCode",
|
|
101
|
+
"status"
|
|
102
|
+
],
|
|
103
|
+
"properties": {
|
|
104
|
+
"id": {
|
|
105
|
+
"type": "string",
|
|
106
|
+
"minLength": 1
|
|
107
|
+
},
|
|
108
|
+
"command": {
|
|
109
|
+
"type": "string",
|
|
110
|
+
"minLength": 1
|
|
111
|
+
},
|
|
112
|
+
"exitCode": {
|
|
113
|
+
"type": "integer"
|
|
114
|
+
},
|
|
115
|
+
"status": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"enum": [
|
|
118
|
+
"passed",
|
|
119
|
+
"failed"
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"additionalProperties": false
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"evidence": {
|
|
127
|
+
"type": "array",
|
|
128
|
+
"items": {
|
|
129
|
+
"type": "object",
|
|
130
|
+
"required": [
|
|
131
|
+
"id",
|
|
132
|
+
"outcome",
|
|
133
|
+
"report"
|
|
134
|
+
],
|
|
135
|
+
"properties": {
|
|
136
|
+
"id": {
|
|
137
|
+
"type": "string",
|
|
138
|
+
"minLength": 1
|
|
139
|
+
},
|
|
140
|
+
"outcome": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"enum": [
|
|
143
|
+
"passed",
|
|
144
|
+
"failed"
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
"report": {
|
|
148
|
+
"type": "string",
|
|
149
|
+
"minLength": 1
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"additionalProperties": false
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"remainingRisks": {
|
|
156
|
+
"type": "array",
|
|
157
|
+
"items": {
|
|
158
|
+
"type": "string"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"blockers": {
|
|
162
|
+
"type": "array",
|
|
163
|
+
"items": {
|
|
164
|
+
"type": "string"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"additionalProperties": false
|
|
169
|
+
}
|
|
170
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"runId": "6235e687-a1ce-4765-b791-63e49793c678",
|
|
4
|
+
"agent": "claude",
|
|
5
|
+
"activity": "rollback-check",
|
|
6
|
+
"returnCode": 0,
|
|
7
|
+
"durationSeconds": 83.088,
|
|
8
|
+
"finalOutputStatus": "present",
|
|
9
|
+
"finalOutputBytes": 6766,
|
|
10
|
+
"finalOutputDiagnostic": "validated",
|
|
11
|
+
"sessionId": null,
|
|
12
|
+
"timedOut": false,
|
|
13
|
+
"worktreeChanged": false,
|
|
14
|
+
"worktreeChangedFileCount": 0
|
|
15
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 3,
|
|
3
|
+
"issueId": "KKS-421",
|
|
4
|
+
"recommendedProfile": "critical",
|
|
5
|
+
"selectedProfile": "critical",
|
|
6
|
+
"confidence": "high",
|
|
7
|
+
"signals": {
|
|
8
|
+
"scope": "transversal",
|
|
9
|
+
"ambiguity": "medium",
|
|
10
|
+
"risk": "high",
|
|
11
|
+
"contractChange": true,
|
|
12
|
+
"dataOrSecurity": true
|
|
13
|
+
},
|
|
14
|
+
"reasons": [
|
|
15
|
+
"le changement touche aux donnees ou a la securite"
|
|
16
|
+
],
|
|
17
|
+
"activities": [
|
|
18
|
+
"assess",
|
|
19
|
+
"risk-assessment",
|
|
20
|
+
"spec",
|
|
21
|
+
"research",
|
|
22
|
+
"contracts",
|
|
23
|
+
"plan",
|
|
24
|
+
"tasks",
|
|
25
|
+
"preflight-evidence",
|
|
26
|
+
"implement",
|
|
27
|
+
"verify",
|
|
28
|
+
"review",
|
|
29
|
+
"rollback-check",
|
|
30
|
+
"done"
|
|
31
|
+
],
|
|
32
|
+
"requiredEvidence": [
|
|
33
|
+
"requirements-coverage",
|
|
34
|
+
"test-suite",
|
|
35
|
+
"security-or-data-check",
|
|
36
|
+
"rollback-plan",
|
|
37
|
+
"independent-review"
|
|
38
|
+
],
|
|
39
|
+
"assessedAt": "2026-09-29T20:41:36Z",
|
|
40
|
+
"summary": "Decoupler la route documentaire (quick, standard, deep) du bloc de garde-fous declenche par la sensibilite ; supprimer critical, research et adaptive omit ; revue systematique en standard ; rupture de schema, version 7.0.0"
|
|
41
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"contractId": "KKS-421:critical:contracts:v3",
|
|
4
|
+
"status": "completed",
|
|
5
|
+
"summary": "contracts.md rédigé avec 14 contrats (CT-01 à CT-14). Ils couvrent la politique d'évaluation (compute_guardrails, plancher standard, confidence), un calcul unique de route et de preuves (compute_route) avec sa table normative et les gates par activité. Ils fixent aussi les schémas assessment-v4, workflow-state-v5 et activity-contract-v4 (JSON complet ou écarts avec la version précédente), le prédicat unique guardrails_active et les points de contrôle concernés, le refus d'un validationPlan sans validation protégée, l'interdiction des dérogations quand les garde-fous sont actifs et les entrées des contrats par profil × garde-fous. Ils couvrent encore le refus des champs d'omission (S5), le validateur contracts unique, la surface CLI (--profile, message S8 avec la correspondance raison → signal, sortie texte, suppression de adaptive omit), LegacySchemaError et son message actionnable, ainsi que la télémétrie inchangée. Le document contient aussi 15 invariants testables, une section Compatibilité et migration (rupture, correspondance des parcours 6.x, livraison), 15 tests de contrat et une matrice de traçabilité FR-001 à FR-029 et SR-001 à SR-004. Les validateurs Devflow critical-contracts et contracts acceptent le fichier.",
|
|
6
|
+
"changedFiles": [
|
|
7
|
+
".specify/specs/034-kks-421-decouple-guardrails/contracts.md"
|
|
8
|
+
],
|
|
9
|
+
"checks": [
|
|
10
|
+
{
|
|
11
|
+
"id": "contracts-validator",
|
|
12
|
+
"command": "uv run python -c \"validate_artifact('critical-contracts' puis 'contracts', contracts.md)\"",
|
|
13
|
+
"exitCode": 0,
|
|
14
|
+
"status": "passed"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"evidence": [],
|
|
18
|
+
"remainingRisks": [
|
|
19
|
+
"Décision prise dans contracts.md, à confirmer en plan : devflow assess refuse aussi un assessment.json de schéma 3 au lieu de le réécrire (FR-022 appliquée strictement). Une feature 6.x jamais démarrée demande alors la suppression manuelle du fichier avant d'être réévaluée.",
|
|
20
|
+
"read_assessment() et read_adaptive_state() renvoient aujourd'hui None sur toute erreur. La propagation de LegacySchemaError impose d'inventorier leurs appelants en plan (R6).",
|
|
21
|
+
"La liste des points de contrôle de CT-05 est minimale : l'inventaire exhaustif des occurrences de critical (R1) reste à faire en plan et à tracer en tasks.",
|
|
22
|
+
"Ordre des preuves en deep avec garde-fous : independent-review précède désormais rollback-plan, l'inverse de la 6.x, conformément à la table FR-009 de la spec. C'est visible dans les fichiers et les tests.",
|
|
23
|
+
"--profile critical sort avec le code 2 (Typer) et non 1 : TC-07 vérifie seulement un code non nul.",
|
|
24
|
+
"Risques résiduels hérités et acceptés : R10 (validations protégées détectées par mots-clés), R7 et R15 (publication automatique au merge, merge décidé par Kelly après KKS-423)."
|
|
25
|
+
],
|
|
26
|
+
"blockers": []
|
|
27
|
+
}
|