devflow-cli 8.3.0__tar.gz → 8.4.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-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/.gitignore +2 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/activity-contract.json +169 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/agent-execution.json +15 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/assessment.json +45 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/attempts/reopen-001/activity-contract.json +223 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/attempts/reopen-001/prepare-result.json +189 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/attempts/reopen-001/risk-assessment-result.json +50 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/attempts/reopen-002/activity-contract.json +164 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/attempts/reopen-002/implement-result.json +109 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/attempts/reopen-002/preflight-evidence-result.json +86 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/attempts/reopen-002/preflight-evidence.md +309 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/attempts/reopen-002/prepare-result.json +191 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/attempts/reopen-002/risk-assessment-result.json +50 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/evidence/diff-inspection.json +40 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/evidence/regression-check.json +165 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/evidence/security-or-data-check.json +47 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/evidence/targeted-tests.json +29 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/implement-result.json +70 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/need.md +126 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/preflight-evidence-result.json +94 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/preflight-evidence.md +279 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/prepare-result.json +191 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/reopen-log.json +59 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/review-result.json +64 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/risk-assessment-result.json +50 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/risk-assessment.md +200 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/rollback-check-result.json +62 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/workflow-state.json +115 -0
- devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/worklog.md +107 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/CHANGELOG.md +29 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/PKG-INFO +17 -1
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/README.md +16 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/activity-contracts.md +39 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/cli-reference.md +87 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/pipeline.md +13 -0
- devflow_cli-8.4.1/docs/releases/8.4.0.md +140 -0
- devflow_cli-8.4.1/docs/releases/8.4.1.md +37 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/pyproject.toml +1 -1
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/__init__.py +1 -1
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/adaptive.py +178 -2
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/activity_base.py +16 -4
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/adaptive_runner.py +200 -25
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_adaptive_runner.py +895 -5
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_adaptive.py +562 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_assess.py +1 -1
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/uv.lock +1 -1
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.ai/mcp/mcp.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.claude/commands/speckit.analyze.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.claude/commands/speckit.checklist.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.claude/commands/speckit.clarify.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.claude/commands/speckit.constitution.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.claude/commands/speckit.implement.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.claude/commands/speckit.plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.claude/commands/speckit.specify.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.claude/commands/speckit.tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.claude/commands/speckit.taskstoissues.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.githooks/post-checkout +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.githooks/post-merge +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.github/workflows/ci.yml +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.github/workflows/release.yml +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.github/workflows/version-check.yml +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/init-options.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/memory/constitution.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/scripts/bash/common.sh +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/scripts/bash/setup-plan.sh +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/001-cli-init-options/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/001-cli-init-options/contracts/cli-init.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/001-cli-init-options/data-model.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/001-cli-init-options/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/001-cli-init-options/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/001-cli-init-options/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/001-cli-init-options/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/002-cascade-regen/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/002-cascade-regen/contracts/cli-regen.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/002-cascade-regen/contracts/cli-status-staleness.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/002-cascade-regen/data-model.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/002-cascade-regen/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/002-cascade-regen/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/002-cascade-regen/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/002-cascade-regen/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/003-usecase-guides/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/003-usecase-guides/data-model.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/003-usecase-guides/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/003-usecase-guides/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/003-usecase-guides/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/003-usecase-guides/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/003-usecase-guides/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/004-specify-central-directory/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/004-specify-central-directory/contracts/cli-commands.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/004-specify-central-directory/data-model.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/004-specify-central-directory/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/004-specify-central-directory/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/004-specify-central-directory/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/004-specify-central-directory/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/004-specify-central-directory/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/005-implement-subphases/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/005-implement-subphases/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/005-implement-subphases/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/005-implement-subphases/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/005-implement-subphases/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/005-implement-subphases/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/006-template-upgrade/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/006-template-upgrade/contracts/cli-upgrade.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/006-template-upgrade/data-model.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/006-template-upgrade/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/006-template-upgrade/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/006-template-upgrade/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/006-template-upgrade/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/006-template-upgrade/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/007-project-documentation/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/007-project-documentation/data-model.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/007-project-documentation/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/007-project-documentation/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/007-project-documentation/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/007-project-documentation/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/007-project-documentation/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/008-hardening-bugs/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/008-hardening-bugs/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/008-hardening-bugs/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/008-hardening-bugs/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/008-hardening-bugs/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/008-hardening-bugs/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/009-ci-pypi/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/009-ci-pypi/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/009-ci-pypi/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/009-ci-pypi/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/009-ci-pypi/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/009-ci-pypi/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/010-flexible-pipeline/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/010-flexible-pipeline/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/010-flexible-pipeline/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/010-flexible-pipeline/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/010-flexible-pipeline/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/010-flexible-pipeline/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/011-cursor-support/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/011-cursor-support/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/011-cursor-support/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/011-cursor-support/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/011-cursor-support/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/011-cursor-support/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/012-fix-critical-bugs/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/012-fix-critical-bugs/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/012-fix-critical-bugs/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/012-fix-critical-bugs/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/012-fix-critical-bugs/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/013-align-truth-sources/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/013-align-truth-sources/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/013-align-truth-sources/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/013-align-truth-sources/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/013-align-truth-sources/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/014-enforce-state-machine/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/014-enforce-state-machine/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/014-enforce-state-machine/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/014-enforce-state-machine/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/014-enforce-state-machine/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/015-fix-review-contradiction/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/015-fix-review-contradiction/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/015-fix-review-contradiction/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/015-fix-review-contradiction/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/015-fix-review-contradiction/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/016-harden-state-machine/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/016-harden-state-machine/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/016-harden-state-machine/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/016-harden-state-machine/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/016-harden-state-machine/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/017-fix-robustness-issues/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/017-fix-robustness-issues/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/017-fix-robustness-issues/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/017-fix-robustness-issues/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/017-fix-robustness-issues/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/018-fix-final-robustness/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/019-quality-hardening/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/019-quality-hardening/data-model.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/019-quality-hardening/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/019-quality-hardening/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/019-quality-hardening/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/019-quality-hardening/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/020-migrate-speckit/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/020-migrate-speckit/data-model.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/020-migrate-speckit/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/020-migrate-speckit/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/020-migrate-speckit/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/020-migrate-speckit/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/020-migrate-speckit/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/021-review-iterations/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/021-review-iterations/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/021-review-iterations/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/021-review-iterations/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/021-review-iterations/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/022-fix-regen-command/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/022-fix-regen-command/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/022-fix-regen-command/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/022-fix-regen-command/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/022-fix-regen-command/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/023-add-logging/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/023-add-logging/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/023-add-logging/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/023-add-logging/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/023-add-logging/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/024-validate-constants/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/024-validate-constants/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/024-validate-constants/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/024-validate-constants/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/024-validate-constants/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/025-harden-tests/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/025-harden-tests/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/025-harden-tests/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/025-harden-tests/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/025-harden-tests/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/027-pipeline-auto-execution/checklists/requirements.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/027-pipeline-auto-execution/contracts/orchestrator-contract.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/027-pipeline-auto-execution/data-model.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/027-pipeline-auto-execution/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/027-pipeline-auto-execution/quickstart.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/027-pipeline-auto-execution/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/027-pipeline-auto-execution/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/027-pipeline-auto-execution/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/prepare-attempt.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/028-kks-411-feature-dir-ignored/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/prepare-attempt.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/029-kks-413/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/evidence/requirements-coverage.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/evidence/test-suite.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/omission-log.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/plan-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/research-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/research.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/risk-assessment.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/rollback-check-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/spec-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/tasks-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/030-kks-416/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/contracts-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/requirements-coverage.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/evidence/test-suite.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/plan-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/spec-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-001/tasks-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/contracts-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/requirements-coverage.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/evidence/test-suite.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/plan-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/rollback-check-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/spec-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/attempts/reopen-002/tasks-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/contracts-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/contracts.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/evidence/requirements-coverage.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/evidence/test-suite.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/issue-precommit-review.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/omission-log.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/plan-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/reopen-log.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/risk-assessment.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/rollback-check-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/spec-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/tasks-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/031-kks-414/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/032-kks-419/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/033-kks-420-stale-commands-warning/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/contracts-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/contracts.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/evidence/requirements-coverage.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/evidence/test-suite.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/omission-log.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/plan-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/risk-assessment.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/rollback-check-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/spec-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/tasks-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/validation-approvals.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/034-kks-421-decouple-guardrails/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/evidence/targeted-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/035-kks-428-constitution-v2/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/036-kks-433-run-progress/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/risk-assessment.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/037-kks-432-linear-sync/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempt-discard-log.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/discard-001/preflight-evidence-attempt.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/contracts-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/evidence/requirements-coverage.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/evidence/test-suite.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/implement-attempt.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/plan-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/rollback-check-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/spec-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/attempts/reopen-001/tasks-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/contracts-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/contracts.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/evidence/requirements-coverage.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/evidence/test-suite.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/implement-attempt.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/plan-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/plan.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/reconcile-log.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/reopen-log.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/risk-assessment.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/rollback-check-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/spec-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/spec.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/tasks-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/tasks.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/validation-approvals.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/038-kks-508-activity-base/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-001/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-001/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-001/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-001/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-001/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-001/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-001/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-001/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-001/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-001/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-001/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-002/rollback-check-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/attempts/reopen-003/rollback-check-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/reopen-log.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/risk-assessment.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/rollback-check-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/039-kks-509-plan-correction-recovery/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/attempts/reopen-001/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/attempts/reopen-001/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/attempts/reopen-001/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/reopen-log.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/risk-assessment.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/rollback-check-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/040-kks-429-delegation-structured-output/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/.gitignore +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/agent-execution.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/assessment.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/attempts/reopen-001/activity-contract.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/attempts/reopen-001/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/attempts/reopen-001/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/evidence/diff-inspection.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/evidence/regression-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/evidence/security-or-data-check.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/evidence/targeted-tests.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/implement-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/need.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/preflight-evidence-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/preflight-evidence.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/prepare-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/reopen-log.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/review-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/risk-assessment-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/risk-assessment.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/rollback-check-result.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/workflow-state.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/specs/041-kks-530-verify-refusals-recovery/worklog.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/templates/agent-file-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/templates/checklist-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/templates/constitution-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/templates/plan-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/templates/spec-template-brownfield.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/templates/spec-template-greenfield.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/templates/spec-template-microservices.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/templates/spec-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/.specify/templates/tasks-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/CLAUDE.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/CONTRIBUTING.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/FEEDBACK.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/LICENSE +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/commands/devflow.context.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/commands/devflow.extension.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/commands/devflow.init.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/commands/devflow.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/commands/devflow.regen.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/commands/devflow.status.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/adr/0001-v4-workflow-compatibility.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/adr/0002-v5-rupture-and-provenance.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/adr/0003-v7-guardrails-rupture.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/commands-reference.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/cursor-guide.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/guides/brownfield.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/guides/greenfield.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/guides/microservices.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/index.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/pipeline-reference.generated.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/4.0.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/4.0.1.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/4.0.3.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/4.0.4.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/4.0.5.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/4.0.6.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/5.0.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/6.0.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/6.1.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/6.1.1.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/6.1.2.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/6.2.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/6.3.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/6.3.1.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/6.4.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/7.0.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/7.0.1.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/7.1.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/7.1.1.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/7.2.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/8.0.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/8.1.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/8.2.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/releases/8.3.0.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/spec-driven.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/v5-decisions.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/v6-decisions.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/docs/v7-decisions.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/extensions/EXTENSION-API-REFERENCE.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/extensions/catalog.community.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/extensions/catalog.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/extensions/template/example-command.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/extensions/template/example-extension.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/scripts/check_release.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/adapters/__init__.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/adapters/agents.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/adapters/linear.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/cli.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/__init__.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/assess.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/check.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/context.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/docs_sync.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/export_cmd.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/extension.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/feature.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/feedback.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/hooks_cmd.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/init_cmd.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/linear.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/stale.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/status.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/traceability.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/upgrade_cmd.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/usage.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/commands/verify.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/__init__.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/activity_contracts.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/adaptive_workflow.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/agent_failure.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/agent_run_marker.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/assessment.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/automatic_evidence.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/catalog.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/contract_schemas.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/docgen.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/feedback.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/git.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/hooks.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/installer.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/manifest.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/operational.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/redaction.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/remediation.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/result_template.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/run_progress.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/runtime_backup.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/scanner.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/staleness.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/telemetry.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/traceability.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/validation_approvals.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/validators.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/verification.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/waivers.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/worklog.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/core/worktree_snapshot.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/schemas/activity-contract-v4.schema.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/schemas/activity-result-v1.schema.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/schemas/assessment-v4.schema.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/schemas/workflow-state-v6.schema.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/utils/__init__.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/utils/console.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/utils/logging.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/utils/paths.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/src/devflow_cli/utils/strings.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/agent-context-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/constitution-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/contracts/README-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/contracts/api-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/contracts/components-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/contracts/interfaces-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/contracts/services-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/contracts-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/data-model-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/devflow-hooks-template.yml +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/extension-manifest-template.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/plan-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/quickstart-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/spec-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/templates/tasks-template.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/conftest.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/fixtures/agents/mock-agent.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/fixtures/commands/mock-command.md +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/fixtures/mock-catalog.json +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/run-tests.sh +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test-helpers.sh +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test-template-variants.sh +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_activity_base.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_activity_contracts.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_adaptive_workflow.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_agent_adapters.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_agent_failure.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_assessment.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_automatic_evidence.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_bash_runner.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_catalog.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_check.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_context.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_docs_sync.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_extension.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_feature.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_feedback.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_hooks.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_init.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_linear.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_stale.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_status.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_traceability.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_upgrade.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_cmd_verify.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_constants.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_context.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_contract_schemas.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_docgen.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_feedback.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_git.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_guardrails.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_hooks.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_installer.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_integration.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_legacy_schema.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_linear_adapter.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_linear_order.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_logging.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_manifest.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_paths.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_paths_project_root.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_release.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_remediation.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_run_progress.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_scanner.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_staleness.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_telemetry.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_traceability.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_validators.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_verification.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_version.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_waivers.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_wheel_adaptive_acceptance.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_wheel_install.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_worklog.py +0 -0
- {devflow_cli-8.3.0 → devflow_cli-8.4.1}/tests/test_worktree_snapshot.py +0 -0
devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/activity-contract.json
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 4,
|
|
3
|
+
"contractId": "KKS-531:standard:rollback-check:v4",
|
|
4
|
+
"issueId": "KKS-531",
|
|
5
|
+
"profile": "standard",
|
|
6
|
+
"guardrails": true,
|
|
7
|
+
"activity": "rollback-check",
|
|
8
|
+
"objective": "Un fichier d entrée du besoin (need.md, issue-*.md) amendé par le superviseur avant le lancement d une activité documentaire n est plus imputé à l agent ; avertissement qui nomme les activités déjà closes ; reprise dédiée du refus artifact-files-mismatch par cause observée ; test de bout en bout de l arbitrage après un blocage d implement. Décisions dans need.md.",
|
|
9
|
+
"featurePath": ".specify/specs/042-kks-531-amended-need-artifact-recovery",
|
|
10
|
+
"inputs": [
|
|
11
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/need.md",
|
|
12
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/assessment.json",
|
|
13
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/workflow-state.json",
|
|
14
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/risk-assessment.md",
|
|
15
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/prepare-result.json",
|
|
16
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/implement-result.json",
|
|
17
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/evidence/targeted-tests.json",
|
|
18
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/evidence/regression-check.json",
|
|
19
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/evidence/diff-inspection.json",
|
|
20
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/evidence/security-or-data-check.json",
|
|
21
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/review-result.json"
|
|
22
|
+
],
|
|
23
|
+
"allowedActions": [
|
|
24
|
+
"read",
|
|
25
|
+
"execute"
|
|
26
|
+
],
|
|
27
|
+
"constraints": [
|
|
28
|
+
"Respecter strictement l'objectif et le perimetre du contrat.",
|
|
29
|
+
"Le besoin de reference est .specify/specs/042-kks-531-amended-need-artifact-recovery/need.md ; en cas d'ecart avec objective, il fait foi.",
|
|
30
|
+
"Preserver les changements utilisateur sans rapport avec cette activite.",
|
|
31
|
+
"Ne pas modifier state.json, workflow-state.json ou assessment.json.",
|
|
32
|
+
"Ne pas creer de commit et ne pas changer de branche.",
|
|
33
|
+
"Signaler tout blocage au lieu de contourner une validation.",
|
|
34
|
+
"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.",
|
|
35
|
+
"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.",
|
|
36
|
+
"Si des sous-agents sont utilises, les lancer au premier plan, jamais en arriere-plan, et attendre qu'ils soient tous termines avant la sortie structuree. La sortie structuree du contrat est le dernier message de l'agent : ne rien envoyer apres elle.",
|
|
37
|
+
"Ne modifier aucun fichier pendant le controle de rollback.",
|
|
38
|
+
"Verifier une procedure de restauration actionnable, les donnees affectees, les validations post-rollback et les declencheurs.",
|
|
39
|
+
"Retourner blocked si un effet irreversible ou une inconnue critique empeche un retour arriere fiable.",
|
|
40
|
+
"Ne produire rollback-plan=passed que si le plan est applicable et verifiable."
|
|
41
|
+
],
|
|
42
|
+
"completionCriteria": [
|
|
43
|
+
"Le plan de rollback precise les etapes, responsables, donnees et controles.",
|
|
44
|
+
"Les declencheurs et limites du rollback sont explicites.",
|
|
45
|
+
"La preuve rollback-plan contient un rapport exploitable."
|
|
46
|
+
],
|
|
47
|
+
"requiredEvidence": [
|
|
48
|
+
"rollback-plan"
|
|
49
|
+
],
|
|
50
|
+
"expectedOutput": {
|
|
51
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
52
|
+
"$id": "https://devflow.dev/schemas/activity-result/v1",
|
|
53
|
+
"title": "Devflow Activity Result v1",
|
|
54
|
+
"type": "object",
|
|
55
|
+
"required": [
|
|
56
|
+
"schemaVersion",
|
|
57
|
+
"contractId",
|
|
58
|
+
"status",
|
|
59
|
+
"summary",
|
|
60
|
+
"changedFiles",
|
|
61
|
+
"checks",
|
|
62
|
+
"evidence",
|
|
63
|
+
"remainingRisks",
|
|
64
|
+
"blockers"
|
|
65
|
+
],
|
|
66
|
+
"properties": {
|
|
67
|
+
"schemaVersion": {
|
|
68
|
+
"type": "integer",
|
|
69
|
+
"const": 1
|
|
70
|
+
},
|
|
71
|
+
"contractId": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"minLength": 1
|
|
74
|
+
},
|
|
75
|
+
"status": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"enum": [
|
|
78
|
+
"completed",
|
|
79
|
+
"blocked"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"summary": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"minLength": 1
|
|
85
|
+
},
|
|
86
|
+
"changedFiles": {
|
|
87
|
+
"type": "array",
|
|
88
|
+
"items": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"minLength": 1
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"checks": {
|
|
94
|
+
"type": "array",
|
|
95
|
+
"items": {
|
|
96
|
+
"type": "object",
|
|
97
|
+
"required": [
|
|
98
|
+
"command",
|
|
99
|
+
"exitCode",
|
|
100
|
+
"status"
|
|
101
|
+
],
|
|
102
|
+
"properties": {
|
|
103
|
+
"id": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"minLength": 1
|
|
106
|
+
},
|
|
107
|
+
"command": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"minLength": 1
|
|
110
|
+
},
|
|
111
|
+
"exitCode": {
|
|
112
|
+
"type": "integer"
|
|
113
|
+
},
|
|
114
|
+
"status": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"enum": [
|
|
117
|
+
"passed",
|
|
118
|
+
"failed"
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"additionalProperties": false
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"evidence": {
|
|
126
|
+
"type": "array",
|
|
127
|
+
"items": {
|
|
128
|
+
"type": "object",
|
|
129
|
+
"required": [
|
|
130
|
+
"id",
|
|
131
|
+
"outcome",
|
|
132
|
+
"report"
|
|
133
|
+
],
|
|
134
|
+
"properties": {
|
|
135
|
+
"id": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"minLength": 1
|
|
138
|
+
},
|
|
139
|
+
"outcome": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"enum": [
|
|
142
|
+
"passed",
|
|
143
|
+
"failed"
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
"report": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"minLength": 1
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"additionalProperties": false
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"remainingRisks": {
|
|
155
|
+
"type": "array",
|
|
156
|
+
"items": {
|
|
157
|
+
"type": "string"
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"blockers": {
|
|
161
|
+
"type": "array",
|
|
162
|
+
"items": {
|
|
163
|
+
"type": "string"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"additionalProperties": false
|
|
168
|
+
}
|
|
169
|
+
}
|
devflow_cli-8.4.1/.specify/specs/042-kks-531-amended-need-artifact-recovery/agent-execution.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"runId": "43b80b84-0d59-49f7-9e67-403ff25a3cd1",
|
|
4
|
+
"agent": "claude",
|
|
5
|
+
"activity": "rollback-check",
|
|
6
|
+
"returnCode": 0,
|
|
7
|
+
"durationSeconds": 102.413,
|
|
8
|
+
"finalOutputStatus": "present",
|
|
9
|
+
"finalOutputBytes": 9875,
|
|
10
|
+
"finalOutputDiagnostic": "validated",
|
|
11
|
+
"sessionId": null,
|
|
12
|
+
"timedOut": false,
|
|
13
|
+
"worktreeChanged": false,
|
|
14
|
+
"worktreeChangedFileCount": 0
|
|
15
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 4,
|
|
3
|
+
"issueId": "KKS-531",
|
|
4
|
+
"recommendedProfile": "standard",
|
|
5
|
+
"selectedProfile": "standard",
|
|
6
|
+
"confidence": "high",
|
|
7
|
+
"signals": {
|
|
8
|
+
"scope": "multiple",
|
|
9
|
+
"ambiguity": "low",
|
|
10
|
+
"risk": "medium",
|
|
11
|
+
"contractChange": false,
|
|
12
|
+
"dataOrSecurity": true
|
|
13
|
+
},
|
|
14
|
+
"guardrails": {
|
|
15
|
+
"active": true,
|
|
16
|
+
"reasons": [
|
|
17
|
+
"le changement touche aux donnees ou a la securite"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"reasons": [
|
|
21
|
+
"plusieurs composants sont affectes",
|
|
22
|
+
"le risque d'impact est modere"
|
|
23
|
+
],
|
|
24
|
+
"activities": [
|
|
25
|
+
"assess",
|
|
26
|
+
"risk-assessment",
|
|
27
|
+
"prepare",
|
|
28
|
+
"preflight-evidence",
|
|
29
|
+
"implement",
|
|
30
|
+
"verify",
|
|
31
|
+
"review",
|
|
32
|
+
"rollback-check",
|
|
33
|
+
"done"
|
|
34
|
+
],
|
|
35
|
+
"requiredEvidence": [
|
|
36
|
+
"targeted-tests",
|
|
37
|
+
"regression-check",
|
|
38
|
+
"diff-inspection",
|
|
39
|
+
"security-or-data-check",
|
|
40
|
+
"independent-review",
|
|
41
|
+
"rollback-plan"
|
|
42
|
+
],
|
|
43
|
+
"assessedAt": "2026-10-11T21:09:26Z",
|
|
44
|
+
"summary": "Un fichier d entrée du besoin (need.md, issue-*.md) amendé par le superviseur avant le lancement d une activité documentaire n est plus imputé à l agent ; avertissement qui nomme les activités déjà closes ; reprise dédiée du refus artifact-files-mismatch par cause observée ; test de bout en bout de l arbitrage après un blocage d implement. Décisions dans need.md."
|
|
45
|
+
}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 4,
|
|
3
|
+
"contractId": "KKS-531:standard:prepare:v4",
|
|
4
|
+
"issueId": "KKS-531",
|
|
5
|
+
"profile": "standard",
|
|
6
|
+
"guardrails": true,
|
|
7
|
+
"activity": "prepare",
|
|
8
|
+
"objective": "Un fichier d entrée du besoin (need.md, issue-*.md) amendé par le superviseur avant le lancement d une activité documentaire n est plus imputé à l agent ; avertissement qui nomme les activités déjà closes ; reprise dédiée du refus artifact-files-mismatch par cause observée ; test de bout en bout de l arbitrage après un blocage d implement. Décisions dans need.md.",
|
|
9
|
+
"featurePath": ".specify/specs/042-kks-531-amended-need-artifact-recovery",
|
|
10
|
+
"inputs": [
|
|
11
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/need.md",
|
|
12
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/assessment.json",
|
|
13
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/workflow-state.json",
|
|
14
|
+
".specify/specs/042-kks-531-amended-need-artifact-recovery/risk-assessment.md"
|
|
15
|
+
],
|
|
16
|
+
"allowedActions": [
|
|
17
|
+
"read",
|
|
18
|
+
"execute"
|
|
19
|
+
],
|
|
20
|
+
"constraints": [
|
|
21
|
+
"Respecter strictement l'objectif et le perimetre du contrat.",
|
|
22
|
+
"Le besoin de reference est .specify/specs/042-kks-531-amended-need-artifact-recovery/need.md ; en cas d'ecart avec objective, il fait foi.",
|
|
23
|
+
"Preserver les changements utilisateur sans rapport avec cette activite.",
|
|
24
|
+
"Ne pas modifier state.json, workflow-state.json ou assessment.json.",
|
|
25
|
+
"Ne pas creer de commit et ne pas changer de branche.",
|
|
26
|
+
"Signaler tout blocage au lieu de contourner une validation.",
|
|
27
|
+
"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.",
|
|
28
|
+
"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.",
|
|
29
|
+
"Si des sous-agents sont utilises, les lancer au premier plan, jamais en arriere-plan, et attendre qu'ils soient tous termines avant la sortie structuree. La sortie structuree du contrat est le dernier message de l'agent : ne rien envoyer apres elle.",
|
|
30
|
+
"Ne modifier aucun fichier du depot pendant la preparation.",
|
|
31
|
+
"Identifier les composants concernes et une strategie de validation.",
|
|
32
|
+
"Ne pas inventer de precision fonctionnelle manquante.",
|
|
33
|
+
"Dans validationPlan, workingDirectory est toujours relatif a la racine du depot : utiliser '.' pour la racine ou par exemple 'app', jamais un chemin absolu.",
|
|
34
|
+
"Les commandes de validation sont des listes d'arguments sans shell implicite : ne pas utiliser sh, bash, zsh, cmd ou powershell.",
|
|
35
|
+
"Pour npm, pnpm, yarn ou bun, utiliser uniquement test, un script dont le nom commence par test, check, lint, verify ou build, ou le controle non mutatif format:check; ne jamais lancer un script format qui ecrit les fichiers.",
|
|
36
|
+
"rg est autorise pour les inspections en lecture seule, sans option --pre.",
|
|
37
|
+
"Executables de validation autorises par defaut : bun, cargo, devflow, dotnet, eslint, git, go, gradle, gradlew, make, mvn, mvnw, mypy, nginx, nox, npm, pnpm, pyright, pytest, rg, ruff, tox, tsc, uv, yarn; python est limite a -m compileall, pytest ou unittest.",
|
|
38
|
+
"uv run accepte avant l'outil uniquement les options --all-extras, --all-groups, --extra, --frozen, --group, --isolated, --locked, --no-dev, --no-project, --no-sync, --offline, --python, --quiet, -p, -q, en forme separee (--python 3.12, pas --python=3.12); --python/-p exige un numero de version, jamais un chemin d'interpreteur; toute autre option de uv run est refusee.",
|
|
39
|
+
"Maven et Gradle acceptent uniquement les taches test, check, lint, verify ou build; mvn clean verify est refuse (clean est hors politique). Le fichier de projet Maven (-f/--file) et le repertoire de projet Gradle (-p/--project-dir) acceptent un chemin relatif au depot, sans '..', en forme separee (mvn -B -f api/pom.xml verify).",
|
|
40
|
+
"Aucun shell implicite ni operateur |, &&, ; ou redirection; aucune expression non resolue de type double accolade dans une commande.",
|
|
41
|
+
"Un executable hors liste, dont docker, requiert une approbation explicite pour la validation exacte avant son execution : renseigner approvalReason dans validationPlan, puis faire approuver son identifiant par le superviseur.",
|
|
42
|
+
"Pour un fichier cree par l'activite, ne pas utiliser git ls-files --error-unmatch : un fichier non indexe serait refuse a tort. Verifier sa presence dans le systeme de fichiers, par exemple avec rg --files -g CHEMIN, sans indexer ni committer les changements.",
|
|
43
|
+
"Les garde-fous sont actifs : inclure dans validationPlan au moins une validation bloquante explicitement consacree a la securite, aux donnees, a l'authentification, a une migration ou au rollback, dont id ou purpose contient l'un de ces termes."
|
|
44
|
+
],
|
|
45
|
+
"completionCriteria": [
|
|
46
|
+
"Le perimetre et les fichiers probablement concernes sont identifies.",
|
|
47
|
+
"L'approche d'implementation et les validations sont resumees.",
|
|
48
|
+
"Les risques ou blocages restants sont explicites."
|
|
49
|
+
],
|
|
50
|
+
"requiredEvidence": [],
|
|
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
|
+
"validationPlan"
|
|
67
|
+
],
|
|
68
|
+
"properties": {
|
|
69
|
+
"schemaVersion": {
|
|
70
|
+
"type": "integer",
|
|
71
|
+
"const": 1
|
|
72
|
+
},
|
|
73
|
+
"contractId": {
|
|
74
|
+
"type": "string",
|
|
75
|
+
"minLength": 1
|
|
76
|
+
},
|
|
77
|
+
"status": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"enum": [
|
|
80
|
+
"completed",
|
|
81
|
+
"blocked"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"summary": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"minLength": 1
|
|
87
|
+
},
|
|
88
|
+
"changedFiles": {
|
|
89
|
+
"type": "array",
|
|
90
|
+
"items": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"minLength": 1
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"checks": {
|
|
96
|
+
"type": "array",
|
|
97
|
+
"items": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"required": [
|
|
100
|
+
"command",
|
|
101
|
+
"exitCode",
|
|
102
|
+
"status"
|
|
103
|
+
],
|
|
104
|
+
"properties": {
|
|
105
|
+
"id": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"minLength": 1
|
|
108
|
+
},
|
|
109
|
+
"command": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"minLength": 1
|
|
112
|
+
},
|
|
113
|
+
"exitCode": {
|
|
114
|
+
"type": "integer"
|
|
115
|
+
},
|
|
116
|
+
"status": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"enum": [
|
|
119
|
+
"passed",
|
|
120
|
+
"failed"
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"additionalProperties": false
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"evidence": {
|
|
128
|
+
"type": "array",
|
|
129
|
+
"items": {
|
|
130
|
+
"type": "object",
|
|
131
|
+
"required": [
|
|
132
|
+
"id",
|
|
133
|
+
"outcome",
|
|
134
|
+
"report"
|
|
135
|
+
],
|
|
136
|
+
"properties": {
|
|
137
|
+
"id": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"minLength": 1
|
|
140
|
+
},
|
|
141
|
+
"outcome": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"enum": [
|
|
144
|
+
"passed",
|
|
145
|
+
"failed"
|
|
146
|
+
]
|
|
147
|
+
},
|
|
148
|
+
"report": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"minLength": 1
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
"additionalProperties": false
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
"remainingRisks": {
|
|
157
|
+
"type": "array",
|
|
158
|
+
"items": {
|
|
159
|
+
"type": "string"
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"blockers": {
|
|
163
|
+
"type": "array",
|
|
164
|
+
"items": {
|
|
165
|
+
"type": "string"
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"validationPlan": {
|
|
169
|
+
"type": "array",
|
|
170
|
+
"minItems": 1,
|
|
171
|
+
"maxItems": 10,
|
|
172
|
+
"items": {
|
|
173
|
+
"type": "object",
|
|
174
|
+
"required": [
|
|
175
|
+
"id",
|
|
176
|
+
"command",
|
|
177
|
+
"purpose",
|
|
178
|
+
"blocking",
|
|
179
|
+
"timeoutSeconds",
|
|
180
|
+
"workingDirectory"
|
|
181
|
+
],
|
|
182
|
+
"properties": {
|
|
183
|
+
"id": {
|
|
184
|
+
"type": "string",
|
|
185
|
+
"minLength": 1
|
|
186
|
+
},
|
|
187
|
+
"command": {
|
|
188
|
+
"type": "array",
|
|
189
|
+
"minItems": 1,
|
|
190
|
+
"items": {
|
|
191
|
+
"type": "string",
|
|
192
|
+
"minLength": 1
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
"purpose": {
|
|
196
|
+
"type": "string",
|
|
197
|
+
"minLength": 1
|
|
198
|
+
},
|
|
199
|
+
"blocking": {
|
|
200
|
+
"type": "boolean"
|
|
201
|
+
},
|
|
202
|
+
"timeoutSeconds": {
|
|
203
|
+
"type": "integer",
|
|
204
|
+
"minimum": 1,
|
|
205
|
+
"maximum": 3600
|
|
206
|
+
},
|
|
207
|
+
"workingDirectory": {
|
|
208
|
+
"type": "string",
|
|
209
|
+
"minLength": 1,
|
|
210
|
+
"description": "Repertoire relatif a la racine du depot. Utiliser '.' pour la racine ou 'app'. Les chemins absolus et '..' sont interdits."
|
|
211
|
+
},
|
|
212
|
+
"approvalReason": {
|
|
213
|
+
"type": "string",
|
|
214
|
+
"minLength": 1
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"additionalProperties": false
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"additionalProperties": false
|
|
222
|
+
}
|
|
223
|
+
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"contractId": "KKS-531:standard:prepare:v4",
|
|
4
|
+
"status": "completed",
|
|
5
|
+
"summary": "Préparation faite en lecture seule sur le code 8.3.0 (HEAD 67ef709). Aucun format persistant ne doit changer : la livraison reste une 8.4.0. Trois points dépassent ce que need.md et risk-assessment.md décrivent et sont à valider par le superviseur avant implement (voir remainingRisks) : la règle R1, la tolérance de reconcile pour un fichier retiré, et l'absence de ./tests/run-tests.sh dans le plan.\n\nPÉRIMÈTRE — fichiers probablement concernés\n- src/devflow_cli/core/adaptive_runner.py : run_current_activity, reconcile_current_activity, _apply_activity_result, _record_failed_attempt ; _input_fingerprints reste la seule source de la liste des entrées.\n- src/devflow_cli/core/activity_base.py : recorded_observation (avertissement dans la clé warning existante).\n- src/devflow_cli/core/remediation.py : liste des activités rouvrables, aux conditions de reopen_activity (assess et done exclus).\n- src/devflow_cli/commands/adaptive.py : reprise dédiée dans run_adaptive, reconcile_adaptive et _print_run_recovery, sur le modèle de _stale_preflight_recovery.\n- Tests : tests/test_adaptive_runner.py et tests/test_cmd_adaptive.py, nouveaux tests préfixés test_kks531_ (le plan de validation les sélectionne par -k kks531).\n- Documentation et version : docs/cli-reference.md, docs/activity-contracts.md, docs/pipeline.md, README.md, CHANGELOG.md, docs/releases/8.4.0.md, pyproject.toml, src/devflow_cli/__init__.py, uv.lock.\n\nCONSTATS QUI CADRENT L'IMPLÉMENTATION\n- DOCUMENT_ARTIFACTS ne contient pas prepare : en standard, N1 ne concerne que risk-assessment et preflight-evidence ; prepare ne refuse que les fichiers modifiés pendant l'agent, donc un amendement avant prepare passe déjà.\n- OBSERVATION_SCHEMA lie warning et declaredChangedFiles (dependentRequired) : un warning seul est refusé à la relecture. L'avertissement N2 tient dans la clé warning si declaredChangedFiles est écrit avec lui. Aucune clé nouvelle.\n- La fiche de tentative suffit à N3 : observedFiles et executionFiles donnent les fichiers en trop et leur classement, pour run comme pour une tentative déjà enregistrée.\n- reconcile refuse aujourd'hui comme dérive (« fichiers modifiés depuis la tentative ») un fichier retiré après la tentative : la reprise N3 « le retirer, puis reconcile » ne fonctionne pas en 8.3.0.\n- Dans run_current_activity, le retour runtime-file-mutated précède le contrôle des entrées : un agent qui modifie à la fois un fichier d'exécution et need.md laisse une fiche sans changedInputs.\n- Deux tests existants (test_plan_input_mutation_is_not_recorded_as_a_plan_artifact_in_the_attempt, test_need_change_during_plan_is_reported_separately_and_requires_a_new_run) fixent déjà le scénario R1 : après inputs-changed-during-activity, la relance sans remise en état est refusée artifact-files-mismatch. Ils doivent rester verts.\n\nAPPROCHE\nOrdre : tests de présence de chaque défaut sur le code 8.3.0, puis N4, N1, N2, N3, documentation, version.\n- N1 : _apply_activity_result reçoit les fichiers modifiés pendant l'agent (execution.observedChangedFiles en run, executionFiles de la fiche en reconcile ; le during_execution actuel de reconcile ne change pas). Une entrée est exemptée si l'activité est dans DOCUMENT_ARTIFACTS, si son nom vient de _input_fingerprints et son chemin vaut featurePath/nom, si elle figure dans les fichiers depuis la base avec une empreinte de fichier ordinaire, si elle est absente des fichiers d'exécution et absente du changedInputs de la fiche de tentative déjà présente. Le contrôle d'artefact porte sur les fichiers restants, résultat blocked compris. changedFiles enregistré reste la liste observée.\n- Cas limites : issue-*.md créé avant le lancement, exempté ; lien symbolique ou entrée illisible, compté donc refusé ; issue-*.md supprimé, compté donc refusé avec la reprise N3 ; need.md supprimé, déjà refusé avant l'agent par validate_need_statement.\n- R1 : la fiche précédente est lue sous verrou avant l'agent ; changedInputs est reporté dans la fiche suivante tant que l'entrée diffère de la base, et consigné aussi pour une tentative refusée runtime-file-mutated. Sorties : remise à l'état de base, ou discard-attempt, décision auditée du superviseur qui supprime la fiche.\n- N2 : avertissement ajouté à AdaptiveRunOutcome.warnings (texte et --json) et à observation.warning (relu par worklog.md). Il nomme chaque entrée amendée, les activités closes rouvrables et la commande reopen. Sans activité rouvrable, pas de commande. L'écart de déclaration se calcule hors entrées exemptées, sinon un agent qui déclare seulement son artefact déclencherait un avertissement trompeur. La base de l'activité suivante étant posée après l'amendement, l'avertissement ne se répète pas.\n- N3 : reprise de kind artifact-files-mismatch avec summary, liste des fichiers classés et commands, ajoutée au champ recovery sans toucher aux champs existants. Fichier présent dans executionFiles : « modifié pendant l'agent », retirer puis reconcile. Sinon : « modifié avant son lancement », remettre en état ou reopen de l'activité précédente si elle est rouvrable. Aucun nom de fichier interpolé dans une commande ; identifiant passé par shlex.quote. Pour que « retirer puis reconcile » fonctionne, reconcile accepte, pour une activité documentaire, un fichier de la fiche revenu à son état de base.\n- N4 : test CLI de bout en bout du cas KKS-469, avec un écart de date de modification explicite entre need.md et preflight-evidence.md (la péremption compare des mtime). Correction seulement si le test révèle un trou.\n- R5 : lecteurs de changedFiles relevés — automatic_evidence ne lit que le résultat d'implement, worklog l'affiche, parse_recorded_result le valide comme liste de chemins. Aucun ne suppose « exactement l'artefact ».\n\nVALIDATIONS\nTests ciblés kks531, fichiers de tests touchés, suite complète, docs-sync, concordance de version, présence des notes 8.4.0 et de leur section de retour à la 8.3.0.",
|
|
6
|
+
"changedFiles": [],
|
|
7
|
+
"checks": [
|
|
8
|
+
{
|
|
9
|
+
"id": "baseline-targeted-tests",
|
|
10
|
+
"command": "PYTHONDONTWRITEBYTECODE=1 uv run --no-sync pytest -q -p no:cacheprovider tests/test_adaptive_runner.py tests/test_cmd_adaptive.py tests/test_activity_base.py tests/test_worklog.py",
|
|
11
|
+
"exitCode": 0,
|
|
12
|
+
"status": "passed"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "repo-version",
|
|
16
|
+
"command": "uv run --no-sync devflow --version",
|
|
17
|
+
"exitCode": 0,
|
|
18
|
+
"status": "passed"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": "worktree-unchanged",
|
|
22
|
+
"command": "git diff --quiet",
|
|
23
|
+
"exitCode": 0,
|
|
24
|
+
"status": "passed"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"evidence": [],
|
|
28
|
+
"remainingRisks": [
|
|
29
|
+
"R1, à valider avant implement : need.md ne tranche pas le cas d'une entrée modifiée par un agent puis acceptée à la relance. Règle proposée : changedInputs de la fiche précédente bloque l'exemption et se reporte de fiche en fiche tant que l'entrée diffère de la base ; discard-attempt lève le blocage comme décision auditée. Le sens de changedInputs s'élargit (entrée imputée à un agent de cette activité, non remise en état) sans clé ni version nouvelle ; une 8.3.0 relit ces fiches sans erreur.",
|
|
30
|
+
"Écart hors de l'évaluation des risques : la reprise N3 « retirer puis reconcile » est refusée en 8.3.0 par le contrôle de dérive de reconcile. La correction proposée (fichier revenu à son état de base accepté, activités documentaires seulement) assouplit ce contrôle : à faire confirmer par un test de présence du défaut, puis à contrôler en independent-review.",
|
|
31
|
+
"Fuite R1 par runtime-file-mutated : la fiche de ce refus ne porte pas changedInputs aujourd'hui. Lue dans le code, non reproduite par un test pendant la préparation.",
|
|
32
|
+
"./tests/run-tests.sh n'est pas dans le plan de validation : exécutable hors liste, il exigerait une approbation du superviseur. Les tests shell ne sont donc pas rejoués par verify.",
|
|
33
|
+
"La suite complète n'a pas été lancée pendant la préparation ; seuls 466 tests de quatre fichiers l'ont été (tous passés, 149 s). Le délai de 1800 s de la suite complète est une estimation.",
|
|
34
|
+
"Le plan sélectionne les nouveaux tests par -k kks531 : si l'implémentation ne suit pas le préfixe test_kks531_, les deux validations protégées échouent (code 5, aucun test sélectionné).",
|
|
35
|
+
"N4 peut révéler un trou sur la base d'implement ou le travail partiel (R11) : la correction élargirait le lot ; si elle touche un format persistant ou la décision D1 de KKS-508, s'arrêter et le signaler.",
|
|
36
|
+
"L'avertissement N2 partage la clé warning avec l'écart de déclaration : les deux messages sont concaténés dans une seule chaîne, declaredChangedFiles étant écrit même sans écart de déclaration.",
|
|
37
|
+
"La CLI globale qui pilote ce parcours est en 8.2.0 et porte le défaut : ne pas amender need.md sans adaptive reopen avant la 8.4.0 (R12).",
|
|
38
|
+
"Non vérifiable ici : le comportement sur les projets réels d'origine (kreview KKS-529, kbudget KKS-247, kpanel KKS-469) ; confirmation au premier parcours réel en 8.4.0."
|
|
39
|
+
],
|
|
40
|
+
"blockers": [],
|
|
41
|
+
"validationPlan": [
|
|
42
|
+
{
|
|
43
|
+
"id": "VAL-SECURITY-GATE-KKS531",
|
|
44
|
+
"command": [
|
|
45
|
+
"uv",
|
|
46
|
+
"run",
|
|
47
|
+
"pytest",
|
|
48
|
+
"-q",
|
|
49
|
+
"tests/test_adaptive_runner.py",
|
|
50
|
+
"-k",
|
|
51
|
+
"kks531"
|
|
52
|
+
],
|
|
53
|
+
"purpose": "Securite de la gate documentaire : exemption N1 limitee aux entrees du besoin non modifiees pendant l'agent, regle R1 sur changedInputs, meme regle en reconcile, refus conserves pour tout autre fichier",
|
|
54
|
+
"blocking": true,
|
|
55
|
+
"timeoutSeconds": 900,
|
|
56
|
+
"workingDirectory": "."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "VAL-CLI-RECOVERY-KKS531",
|
|
60
|
+
"command": [
|
|
61
|
+
"uv",
|
|
62
|
+
"run",
|
|
63
|
+
"pytest",
|
|
64
|
+
"-q",
|
|
65
|
+
"tests/test_cmd_adaptive.py",
|
|
66
|
+
"-k",
|
|
67
|
+
"kks531"
|
|
68
|
+
],
|
|
69
|
+
"purpose": "Avertissement N2 et reprise N3 en texte et en --json, absence de relance a l'identique, cas KKS-469 de bout en bout (N4)",
|
|
70
|
+
"blocking": true,
|
|
71
|
+
"timeoutSeconds": 900,
|
|
72
|
+
"workingDirectory": "."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "VAL-TARGETED-FILES",
|
|
76
|
+
"command": [
|
|
77
|
+
"uv",
|
|
78
|
+
"run",
|
|
79
|
+
"pytest",
|
|
80
|
+
"-q",
|
|
81
|
+
"tests/test_adaptive_runner.py",
|
|
82
|
+
"tests/test_cmd_adaptive.py",
|
|
83
|
+
"tests/test_activity_base.py",
|
|
84
|
+
"tests/test_worklog.py"
|
|
85
|
+
],
|
|
86
|
+
"purpose": "Non-regression des refus fondes sur des faits de KKS-508 et des reprises de KKS-530 dans les fichiers de tests touches",
|
|
87
|
+
"blocking": true,
|
|
88
|
+
"timeoutSeconds": 1200,
|
|
89
|
+
"workingDirectory": "."
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"id": "VAL-REGRESSION-FULL",
|
|
93
|
+
"command": [
|
|
94
|
+
"uv",
|
|
95
|
+
"run",
|
|
96
|
+
"pytest",
|
|
97
|
+
"-q"
|
|
98
|
+
],
|
|
99
|
+
"purpose": "Suite complete, dont la concordance de version et les schemas de contrat",
|
|
100
|
+
"blocking": true,
|
|
101
|
+
"timeoutSeconds": 1800,
|
|
102
|
+
"workingDirectory": "."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"id": "VAL-DOCS-SYNC",
|
|
106
|
+
"command": [
|
|
107
|
+
"uv",
|
|
108
|
+
"run",
|
|
109
|
+
"devflow",
|
|
110
|
+
"docs-sync",
|
|
111
|
+
"--check"
|
|
112
|
+
],
|
|
113
|
+
"purpose": "Documentation generee synchronisee avec le code",
|
|
114
|
+
"blocking": true,
|
|
115
|
+
"timeoutSeconds": 300,
|
|
116
|
+
"workingDirectory": "."
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"id": "VAL-VERSION-PYPROJECT",
|
|
120
|
+
"command": [
|
|
121
|
+
"rg",
|
|
122
|
+
"-n",
|
|
123
|
+
"^version = \"8\\.4\\.0\"$",
|
|
124
|
+
"pyproject.toml"
|
|
125
|
+
],
|
|
126
|
+
"purpose": "Version 8.4.0 dans pyproject.toml",
|
|
127
|
+
"blocking": true,
|
|
128
|
+
"timeoutSeconds": 60,
|
|
129
|
+
"workingDirectory": "."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"id": "VAL-VERSION-PACKAGE",
|
|
133
|
+
"command": [
|
|
134
|
+
"rg",
|
|
135
|
+
"-n",
|
|
136
|
+
"^VERSION = \"8\\.4\\.0\"$",
|
|
137
|
+
"src/devflow_cli/__init__.py"
|
|
138
|
+
],
|
|
139
|
+
"purpose": "Version 8.4.0 dans le paquet",
|
|
140
|
+
"blocking": true,
|
|
141
|
+
"timeoutSeconds": 60,
|
|
142
|
+
"workingDirectory": "."
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"id": "VAL-CHANGELOG",
|
|
146
|
+
"command": [
|
|
147
|
+
"rg",
|
|
148
|
+
"-n",
|
|
149
|
+
"^## \\[8\\.4\\.0\\]",
|
|
150
|
+
"CHANGELOG.md"
|
|
151
|
+
],
|
|
152
|
+
"purpose": "Entree 8.4.0 datee dans CHANGELOG.md",
|
|
153
|
+
"blocking": true,
|
|
154
|
+
"timeoutSeconds": 60,
|
|
155
|
+
"workingDirectory": "."
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"id": "VAL-ROLLBACK-NOTES",
|
|
159
|
+
"command": [
|
|
160
|
+
"rg",
|
|
161
|
+
"-n",
|
|
162
|
+
"devflow-cli==8\\.3\\.0",
|
|
163
|
+
"docs/releases/8.4.0.md"
|
|
164
|
+
],
|
|
165
|
+
"purpose": "Rollback : les notes 8.4.0 existent et donnent la commande de retour a la 8.3.0",
|
|
166
|
+
"blocking": true,
|
|
167
|
+
"timeoutSeconds": 60,
|
|
168
|
+
"workingDirectory": "."
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"id": "VAL-DIFF-CHECK",
|
|
172
|
+
"command": [
|
|
173
|
+
"git",
|
|
174
|
+
"diff",
|
|
175
|
+
"--check"
|
|
176
|
+
],
|
|
177
|
+
"purpose": "Aucune erreur d'espacement ni marqueur de conflit dans le diff",
|
|
178
|
+
"blocking": false,
|
|
179
|
+
"timeoutSeconds": 60,
|
|
180
|
+
"workingDirectory": "."
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
"observation": {
|
|
184
|
+
"baseRecordedAt": "2026-10-11T21:12:05Z",
|
|
185
|
+
"baseHead": "67ef7096f27d8f3dcb61e473425a9a98e535ec30",
|
|
186
|
+
"observedAt": "2026-10-11T21:18:10Z",
|
|
187
|
+
"head": "67ef7096f27d8f3dcb61e473425a9a98e535ec30"
|
|
188
|
+
}
|
|
189
|
+
}
|