deviatdd 2.5.3__tar.gz → 2.5.5__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.
- {deviatdd-2.5.3 → deviatdd-2.5.5}/CHANGELOG.md +1 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/PKG-INFO +1 -1
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pyproject.toml +1 -1
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/DeviaTDD-api.md +4 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/DeviaTDD-architecture.md +4 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-architecture.md +9 -13
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-flows.md +8 -7
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-prd.md +7 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-research.md +13 -12
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/test_init.py +0 -21
- deviatdd-2.5.5/tests/test_init.py +29 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/uv.lock +1 -1
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.deviate/.gitignore +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.deviate/config.toml +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.deviate/evaluations/deviate-flows-skill-2026-06-26.json +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.env.example +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.gitattributes +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.githooks/pre-commit +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.githooks/pre-push +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.github/ISSUE_TEMPLATE/bug.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.github/ISSUE_TEMPLATE/feature.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.github/workflows/ci.yml +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.gitignore +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.opencode/.gitignore +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/.opencode/opencode.json +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/AGENTS.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/CLAUDE.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/CODE_OF_CONDUCT.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/CONTRIBUTING.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/LICENSE +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/README.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/SECURITY.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/deviatdd.png +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/mise.toml +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat/001-deviate-cli-python/008-meso-macro-automated-orchestration.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat/adhoc/006-context-cli-integration.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-001-deviate-cli-python-001-cli-initialization-governance-provisioning-pr-11.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-001-deviate-cli-python-003-meso-layer-specification-task-decomposition.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-001-deviate-cli-python-004-micro-layer-tdd-sandbox-execution.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-001-deviate-cli-python-005-cli-architecture-realignment-skill-integration.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-001-deviate-cli-python-007-macro-meso-parity-backward-compatibility.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-002-deviatdd-gap-analysis-001-foundation-cli-infrastructure.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-002-deviatdd-gap-analysis-003-fast-path-commands.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-002-deviatdd-gap-analysis-004-governance-inspection.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-adhoc-001-streaming-pipeline-monitor.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-adhoc-008-ast-phase-prioritization.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat_002-deviatdd-gap-analysis_001-foundation-cli-infrastructure.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/001-cli-initialization-governance-provisioning/manifest-t001.json +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/001-cli-initialization-governance-provisioning/manifest-t002.json +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/001-cli-initialization-governance-provisioning/manifest-t004.json +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/001-cli-initialization-governance-provisioning/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/001-cli-initialization-governance-provisioning/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/002-macro-layer-state-ledger-management/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/002-macro-layer-state-ledger-management/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/003-meso-layer-specification-task-decomposition/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/003-meso-layer-specification-task-decomposition/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/004-micro-layer-tdd-sandbox-execution/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/004-micro-layer-tdd-sandbox-execution/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/004-micro-layer-tdd-sandbox-execution/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/005-cli-architecture-realignment-skill-integration/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/005-cli-architecture-realignment-skill-integration/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/007-macro-meso-parity-backward-compatibility/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/007-macro-meso-parity-backward-compatibility/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/008-meso-macro-automated-orchestration/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/008-meso-macro-automated-orchestration/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/008-meso-macro-automated-orchestration/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/data-model.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/design.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/explore.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/issues/001-cli-initialization-governance-provisioning.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/issues/002-macro-layer-state-ledger-management.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/issues/003-meso-layer-specification-task-decomposition.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/issues/004-micro-layer-tdd-sandbox-execution.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/issues/005-cli-architecture-realignment-skill-integration.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/issues/006-state-persistence-concurrency-safety.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/issues/007-macro-meso-parity-backward-compatibility.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/issues/008-meso-macro-automated-orchestration.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/001-deviate-cli-python/prd.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/001-foundation-cli-infrastructure/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/001-foundation-cli-infrastructure/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/001-foundation-cli-infrastructure/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/003-fast-path-commands/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/003-fast-path-commands/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/003-fast-path-commands/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/004-governance-inspection/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/004-governance-inspection/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/004-governance-inspection/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/005-micro-layer-integrity/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/005-micro-layer-integrity/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/005-micro-layer-integrity/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/data-model.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/design.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/explore.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/issues/001-foundation-cli-infrastructure.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/issues/002-context-pipeline.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/issues/003-fast-path-commands.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/issues/004-governance-inspection.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/issues/005-micro-layer-integrity.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/plan-tdd-integration-gap.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/prd.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/003-graphite-cli-integration/explore.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/_product/flows/flows-product.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/_product/flows/index.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/001-streaming-pipeline-monitor/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/001-streaming-pipeline-monitor/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/001-streaming-pipeline-monitor/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/003-meso-layer-restructuring/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/003-meso-layer-restructuring/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/003-meso-layer-restructuring/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/004-deviate-review-skill/spec.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/004-deviate-review-skill/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/004-deviate-review-skill/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/005-per-phase-model-configuration/plan.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/005-per-phase-model-configuration/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/005-per-phase-model-configuration/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/006-context-cli-integration/plan.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/006-context-cli-integration/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/006-context-cli-integration/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/007-graphite-cli/plan.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/007-graphite-cli/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/007-graphite-cli/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/008-ast-phase-prioritization/plan.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/008-ast-phase-prioritization/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/008-ast-phase-prioritization/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/009-pi-agent-backend-integration/plan.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/009-pi-agent-backend-integration/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/009-pi-agent-backend-integration/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/010-deviate-setup-product-layer/plan.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/010-deviate-setup-product-layer/tasks.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/010-deviate-setup-product-layer/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/issues/001-streaming-pipeline-monitor.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/issues/002-aider-agent-backend-integration.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/issues/003-meso-layer-restructuring.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/issues/004-deviate-review-skill.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/issues/005-per-phase-model-configuration.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/issues/006-context-cli-integration.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/issues/007-graphite-cli.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/issues/008-ast-phase-prioritization.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/issues/009-pi-agent-backend-integration.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/issues/010-deviate-setup-product-layer.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/adhoc/prd.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/constitution.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/explore/ast-tree-sitter.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/explore/graphite-cli.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/explore/pi-agent-backend.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/explore/product-layer.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/implementation-gap.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/specs/issues.jsonl +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/cli/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/cli/_common.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/cli/adhoc.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/cli/constitution.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/cli/feature.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/cli/init.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/cli/inspect.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/cli/macro.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/cli/meso.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/cli/micro.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/cli/review.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/_shared.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/agent.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/cache_discipline.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/commands.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/commit.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/complexity.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/constitution.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/contract.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/convention.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/epic.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/issues.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/prd.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/profile.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/repo.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/run_logger.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/tasks_ledger.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/analysis.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/models.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/parser.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/bash.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/c_sharp.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/cpp.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/css.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/dockerfile.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/elixir.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/go.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/hcl.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/html.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/javascript.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/json.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/kotlin.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/markdown.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/python.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/rust.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/sql.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/swift.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/toml.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/tsx.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/typescript.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/treesitter/queries/yaml.scm +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/validation.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/core/worktree.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/main.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/assembly.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/execute.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/explore.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/green.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/judge.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/plan.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/prd.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/red.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/refactor.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/research.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/shard.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/specify.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/auto/tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-adhoc.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-constitution.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-e2e.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-execute.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-explore.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-green.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-hotfix.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-init.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-judge.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-merge.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-plan.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-pr.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-prune.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-red.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-refactor.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-release.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-review.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-shard.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-tasks.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/commands/deviate-triage.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/constitution_seed.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/core/core.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/core/macro-auto.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/core/macro-command.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/core/macro-skill.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/core/meso-auto.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/core/meso-command.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/core/meso-skill.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/core/micro-auto.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/core/micro-command.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/core/micro-skill.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/extras/deviate-pr-graphite-routing.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/governance/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/governance/agents_seed.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/governance/claudemd_seed.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/governance/graphite_seed.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/prompts/governance/libref_seed.md +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/state/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/state/config.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/state/ledger.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/ui/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/ui/monitor.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/src/deviate/ui/render.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/conftest.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/core/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/core/test_agent.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/core/test_treesitter.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/e2e/test_macro_workflow.bats +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/test_adhoc.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/test_common.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/test_constitution.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/test_feature.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/test_inspect.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/test_macro_contracts.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/test_meso.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/test_meso_contracts.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/test_micro.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_cli/test_review.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_agent.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_cache_discipline.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_commands.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_commit.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_complexity.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_constitution.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_contract.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_convention.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_epic.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_issues.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_ledger.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_prd.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_profile.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_repo.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_tasks_ledger.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_validation.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_core/test_worktree.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/conftest.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/test_command_installation.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/test_init_export_cycle.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/test_macro_full_cycle.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/test_macro_layer.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/test_macro_orchestration.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/test_meso_layer.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/test_meso_orchestration.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/test_meso_task_ledger.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/test_parity.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_integration/test_skill_installation.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_macro/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_macro/test_explore.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_macro/test_macro_model_routing.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_macro/test_macro_orchestration.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_macro/test_prd.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_macro/test_research.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_macro/test_shard.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_meso/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_meso/test_auto_prompt_templates.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_meso/test_meso_model_routing.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_meso/test_meso_orchestration.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_meso/test_plan_structure_injection.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_meso/test_prompt_assembly.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_meso/test_specify.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_meso/test_tasks.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/conftest.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/test_e2e.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/test_execute.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/test_green.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/test_hotfix.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/test_judge.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/test_orchestration.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/test_output_filter.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/test_red.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/test_refactor.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/test_run.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_micro/test_task_label.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_state/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_state/test_config.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_state/test_ledger.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_state/test_session.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_ui/__init__.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_ui/test_monitor.py +0 -0
- {deviatdd-2.5.3 → deviatdd-2.5.5}/tests/test_ui/test_render.py +0 -0
|
@@ -113,6 +113,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
113
113
|
Previously it only updated the ledger after an external merge. The `deviate
|
|
114
114
|
merge` CLI command is unchanged — the prompt now drives it as a final step
|
|
115
115
|
rather than relying on an external squash-merge tool.
|
|
116
|
+
- Active domain discipline applied to `/deviate-research`, `/deviate-prd`, `/deviate-flows`, and `/deviate-architecture`. Each phase now actively term-challenges against the relevant glossary (`data-model.md`, `domain-model.md`, `flows-product.md`), sharpens fuzzy language, stress-tests with concrete scenarios, and updates the artifact inline as terms resolve. The macro-layer `interactive_hitl_gate_1` and the PRD `AMBIGUITY_INTERROGATION` gate now require a discipline pass before presenting HITL questions; the Product-layer discovery steps are upgraded from passive 3–4 bullet blocks to structured 7–8 bullet active disciplines. Spec alignment: `specs/DeviaTDD-architecture.md` §2.1 and §5.0, `specs/DeviaTDD-api.md` §1.5 and §2.
|
|
116
117
|
|
|
117
118
|
### Fixed
|
|
118
119
|
- `resolve_issue_record` and `_deduplicate_issues` now treat `COMPLETED`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deviatdd
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.5
|
|
4
4
|
Summary: DeviaTDD CLI — agent orchestration framework
|
|
5
5
|
Project-URL: Homepage, https://github.com/wernerbisschoff/deviatdd
|
|
6
6
|
Project-URL: Repository, https://github.com/wernerbisschoff/deviatdd
|
|
@@ -151,6 +151,8 @@ The Product layer ships as **agent skills** (no dedicated CLI subcommands) — t
|
|
|
151
151
|
|
|
152
152
|
**Downstream consumption:** `deviate-shard` and `deviate-adhoc` SKILL.md bodies read `specs/_product/flows/`, `specs/_product/release-next.md`, `specs/_product/architecture.md`, and `specs/_product/domain-model.md` as authoritative context. Each sharded or adhoc issue emits a `flow_refs: [FLOW-XX, ...]` field in its YAML frontmatter and in the `IssueRecord.flow_refs` ledger entry (validated against `^FLOW-\d{2,}$`), so vertical slices stay traceable back to the flow that motivated them. `deviate adhoc pre` accepts a `--flow-ref FLOW-01,FLOW-02` CLI override to set the flow refs explicitly when the agent's natural-language inference is ambiguous.
|
|
153
153
|
|
|
154
|
+
**Active Domain Discipline** is enforced at HITL gates: the Product-layer discovery steps (`/deviate-flows`, `/deviate-architecture`) follow a structured 7–8 bullet active discipline — one question at a time with a recommended answer, dependency-ordered, read-first, term-challenge against the glossary, sharpen fuzzy language, stress-test with scenarios, and update the artifact (`flows-<domain>.md` or `domain-model.md`) inline as terms resolve.
|
|
155
|
+
|
|
154
156
|
#### `/deviate-shard` (Macro Layer)
|
|
155
157
|
|
|
156
158
|
* **Objective:** Decomposes the PRD into standalone, testable issue files.
|
|
@@ -170,6 +172,8 @@ All macro-layer commands follow the `pre`/`post` subcommand pattern (except `ini
|
|
|
170
172
|
Every `pre` subcommand accepts `--json` (emit JSON contract to stdout) and `--quiet`
|
|
171
173
|
(suppress diagnostic output).
|
|
172
174
|
|
|
175
|
+
**Active Domain Discipline** is enforced at HITL gates: the macro phases that interact with the human (`/deviate-research` Gate 1, `/deviate-prd` Ambiguity Interrogation, `/deviate-shard` Gate 2) actively term-challenge against the upstream glossary, sharpen fuzzy language, stress-test with concrete edge-case scenarios, and update the relevant artifact (`design.md`, `data-model.md`, `prd.md`) inline as terms resolve — not as a passive sign-off step.
|
|
176
|
+
|
|
173
177
|
#### `deviate explore pre <problem> [--slug]`
|
|
174
178
|
|
|
175
179
|
* **Source:** `src/deviate/cli/macro.py`
|
|
@@ -73,6 +73,8 @@ Breaks a business goal down into standard development project containers.
|
|
|
73
73
|
* **Shard:** Breaks down the PRD into standalone technical issue files (GitHub Issues). Each issue must be a **vertical slice** — a complete, testable behavior end-to-end (not a horizontal layer like "add database"). Target 4-8 issues per feature shard. Enforce bounds: minimum 1 issue, maximum 10 issues. A single-issue shard is valid (the option to have used `/deviate-adhoc` has passed by the time shard runs). Each issue must be independently implementable and testable, with clear acceptance criteria. **Slicing rules live entirely in the `deviate-shard` prompt** (Pass 1 flow-anchored clustering, Pass 1.5 hard cap with `SLICE_CAP_EXCEEDED`, Pass 3.5 horizontal-slice merging); the PRD prompt only shapes FRs via flow-segment authoring guidance, never pre-decides groupings.
|
|
74
74
|
* **Adhoc (Fast-Path):** A condensed single-command shortcut (`/deviate-adhoc`) that compresses Explore + Research + PRD + Shard into one operation for low-to-medium complexity tasks. Performs proportional exploration (lightweight file scanning, dependency mapping), synthesizes a condensed PRD entry, and emits a single vertical-slice issue directly into `specs/adhoc/`. Appends to the aggregated `specs/adhoc/prd.md` and registers the issue in the global `specs/issues.jsonl` append-only ledger with an `ADH-{NNN}` identifier. A **Complexity Gate** evaluates the task description before proceeding: high-complexity tasks (multi-module coordination, state management, new architecture) are rejected with a directive to run `/deviate-explore` to initiate a full epic workflow instead. This gate prevents scope-creep and ensures adhoc remains a true fast-path, not a bypass for complex engineering.
|
|
75
75
|
|
|
76
|
+
* **Active Domain Discipline (HITL gates):** The macro phases that interact with the human (`/deviate-research` Gate 1, `/deviate-prd` Ambiguity Interrogation, `/deviate-shard` Gate 2) actively term-challenge against the upstream glossary, sharpen fuzzy language, stress-test with concrete edge-case scenarios, and update the relevant artifact (`design.md`, `data-model.md`, `prd.md`) inline as terms resolve — not as a passive sign-off step.
|
|
77
|
+
|
|
76
78
|
### 2.2 The Meso Layer: Issue Engineering
|
|
77
79
|
Creates formal contracts for an issue via CLI slash commands. The workflow was restructured
|
|
78
80
|
(ADHOC-003) to merge `/deviate-specify` into `/deviate-shard` and introduce a dedicated
|
|
@@ -348,6 +350,8 @@ The Product layer captures cross-product framing (FLOW-01..FLOW-03). It is optio
|
|
|
348
350
|
* *System Directives:* Accept a release-goal description from the user; compile the next coherent product release from the existing flows and architecture; write or override `specs/_product/release-next.md` (Included Flows table, Included Work table, Acceptance Criteria). Downstream `/deviate-explore` and other prompts treat `specs/_product/release-next.md` as the guiding compass when deciding what the next epic should be.
|
|
349
351
|
* **Downstream consumption:** `deviate-shard` and `deviate-adhoc` SKILL.md bodies read `specs/_product/flows/`, `specs/_product/release-next.md`, `specs/_product/architecture.md`, and `specs/_product/domain-model.md` as authoritative context. Each sharded issue emits a `flow_refs: [FLOW-XX, ...]` field in its YAML frontmatter (and in the `IssueRecord.flow_refs` ledger entry), so vertical slices stay traceable back to the flow that motivated them.
|
|
350
352
|
|
|
353
|
+
* **Active Domain Discipline:** Both `/deviate-flows` and `/deviate-architecture` discovery steps use a structured 7–8 bullet active discipline — one question at a time with a recommended answer, dependency-ordered, read-first, term-challenge against the glossary, sharpen fuzzy language, stress-test with scenarios, and update the artifact (`flows-<domain>.md` or `domain-model.md`) inline as terms resolve. Enforced as a mandatory pass before writing the flow file or architecture entry.
|
|
354
|
+
|
|
351
355
|
### 5.1 Meso Layer Phase Prompts
|
|
352
356
|
* **`/deviate-specify` (Deprecated):** Merged into `/deviate-shard`. Shard now produces spec-enriched issue files directly. The legacy skill remains for backward compatibility with a redirect notice.
|
|
353
357
|
* **[HITL Gate 2]:** Human reviews all sharded issue files (with embedded spec content) for completeness, edge cases, scope correctness. Moved from after `/deviate-specify` to after `/deviate-shard`.
|
|
@@ -86,19 +86,15 @@ Ask the user to describe the new architectural surface or modification. For
|
|
|
86
86
|
greenfield architectures, prompt for: components, integration contracts, data
|
|
87
87
|
ownership, and the flow IDs each component serves.
|
|
88
88
|
|
|
89
|
-
**Discovery discipline** (adapted from the "grill with docs" pattern):
|
|
90
|
-
- Ask ONE question at a time.
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
- **
|
|
97
|
-
|
|
98
|
-
`architecture.md`, call it out immediately — "Your domain model
|
|
99
|
-
defines X as Y, but you seem to mean Z — which is it?" If the user
|
|
100
|
-
uses a vague term ("account", "thing", "service"), propose a canonical
|
|
101
|
-
name. Do not loop on challenges — surface once, then move on.
|
|
89
|
+
**Discovery discipline** (adapted from the "grill with docs" pattern, made active):
|
|
90
|
+
- **Ask ONE question at a time**, with your recommended answer, and wait for the human's response before asking the next. Do not advance to the next question until the human has answered.
|
|
91
|
+
- **Walk the decision tree dependency-first**: resolve components before integration contracts, contracts before data ownership.
|
|
92
|
+
- **Read first, ask second**: if a question can be answered by reading the codebase, existing flows, `domain-model.md`, or `architecture.md`, do that instead of asking.
|
|
93
|
+
- **Term-challenge against the glossary** (at most once per turn): if the user's term conflicts with an existing definition in `domain-model.md` or `architecture.md`, call it out immediately — "Your domain model defines X as Y, but you seem to mean Z — which is it?" Propose a canonical name for vague terms ("account", "thing", "service"). Do not loop on challenges — surface once, then move on.
|
|
94
|
+
- **Sharpen fuzzy language**: when the user names a component with a vague term, propose a precise canonical name and confirm before writing the architecture entry.
|
|
95
|
+
- **Stress-test with scenarios**: for each new component or contract, invent one concrete failure scenario ("what happens when the message bus is down at handoff time?") and ask the human to confirm the degraded behavior.
|
|
96
|
+
- **Update domain-model.md inline**: as entities and relationships resolve, mirror them in `specs/_product/domain-model.md` immediately. Do not batch up the corrections — capture them as they happen.
|
|
97
|
+
- **Offer ADRs sparingly**: when a decision meets all three criteria (hard to reverse, surprising without context, real tradeoff), append a one-paragraph ADR per invariant 9. Do not propose ADRs for routine component selections.
|
|
102
98
|
|
|
103
99
|
## 4. Classify the Change
|
|
104
100
|
Apply the Local / Context-Bridging / Context-Creating classification
|
|
@@ -98,13 +98,14 @@ CRITICAL INVARIANTS:
|
|
|
98
98
|
|
|
99
99
|
Read `<user_input>` first; if empty, parse conversational history.
|
|
100
100
|
|
|
101
|
-
**Discovery discipline** (adapted from the "grill with docs" pattern):
|
|
102
|
-
- Ask ONE question at a time.
|
|
103
|
-
|
|
104
|
-
-
|
|
105
|
-
|
|
106
|
-
-
|
|
107
|
-
|
|
101
|
+
**Discovery discipline** (adapted from the "grill with docs" pattern, made active):
|
|
102
|
+
- **Ask ONE question at a time**, with your recommended answer, and wait for the human's response before asking the next. Do not advance to the next question until the human has answered.
|
|
103
|
+
- **Walk the dependency tree** dependency-first: resolve Actor before Domain, Domain before Trigger, Trigger before Happy Path.
|
|
104
|
+
- **Read first, ask second**: if a question can be answered by reading the codebase, existing flow files, or `specs/_product/architecture.md`, do that instead of asking.
|
|
105
|
+
- **Term-challenge against the glossary** (at most once per turn): if the user's term conflicts with `flows-product.md`, `specs/_product/domain-model.md`, or any existing `flows-<domain>.md`, call it out immediately — "The seed defines X as Y, but you seem to mean Z — which is it?" Propose a canonical name for vague terms ("account", "thing"). Do not loop on challenges — surface once, then move on.
|
|
106
|
+
- **Sharpen fuzzy language**: when the user names the flow with a vague term, propose a precise canonical name and confirm before writing the `## FLOW-NN <Name>` header.
|
|
107
|
+
- **Stress-test with scenarios**: for each happy-path step, invent one concrete edge case ("what if the user is offline when the trigger fires?") and ask the human to confirm the alternate-path behavior.
|
|
108
|
+
- **Update flow file inline**: as terms and scenarios resolve, update the in-progress flow block immediately. Do not batch up the corrections — capture them as they happen.
|
|
108
109
|
|
|
109
110
|
Ask targeted questions to clarify:
|
|
110
111
|
- Actor (Developer / End-User / Operator / External System)
|
|
@@ -17,6 +17,13 @@ This engine operates strictly as an isolated, production-grade Product Requireme
|
|
|
17
17
|
|
|
18
18
|
CRITICAL INSTRUCTION INVARIANTS:
|
|
19
19
|
1. **Ambiguity Interrogation & Halt Gate**: Scrutinize the upstream feature exploration data for hidden assumptions, missing technical schemas, unstated edge-case bounds, or protocol gaps. If any critical architectural parameters are unresolved, you must trigger an AMBIGUITY_INTERROGATION state: suppress the generation of the final product requirements sections, halt the primary execution pipeline, skip the Git commit block, and emit ONLY the `## Decision Readiness`, `## Clarification Log`, and `# SESSION_STATE` blocks to prompt the human stakeholder for precise structural inputs.
|
|
20
|
+
|
|
21
|
+
**Active domain discipline (during AMBIGUITY_INTERROGATION, before the human can resolve Q-{ID} items):**
|
|
22
|
+
- **Term-challenge**: when the user or any upstream artifact uses a term that conflicts with `design.md`, `data-model.md`, or constitution definitions, surface the conflict with both definitions and the user's apparent meaning.
|
|
23
|
+
- **Sharpen fuzzy language**: when FRs or ACs use vague terms ("account", "user", "session"), propose a canonical term and ask the human to confirm before proceeding.
|
|
24
|
+
- **Stress-test with scenarios**: for each FR or AC, invent one concrete edge-case scenario ("what happens when…") and ask the human to confirm the expected behavior before locking the AC.
|
|
25
|
+
- **Cross-reference with code**: when the user describes how something should work, check the codebase via `codebase_search` / `codebase_peek`. If the code disagrees, surface the contradiction.
|
|
26
|
+
- **Inline capture**: terms resolved during interrogation land directly in the `## Clarification Log` with the chosen definition and the rejected alternatives — do not batch these up.
|
|
20
27
|
2. **Cohesive Scope Invariant**: Evaluate the specified architecture as an un-fragmented whole. Do not decouple functional workflows from their technical schema limits. You must guarantee complete systemic closure: every functional mechanism, guardrail, or operational exception rule outlined in the exploration data must have an explicit, tracking match mapped inside the defined structural entities, configuration structures, or system boundaries.
|
|
21
28
|
3. **Execution Lifecycle Protocols (Internal ICoT)**: Before producing output parameters, execute three sequential mental passes inside an internal engineering ledger block:
|
|
22
29
|
- Pass 1 (Topological Layout): Map out the relationship matrices between the incoming data inputs and systemic entities.
|
|
@@ -177,18 +177,19 @@ Write the entities, relationships, schemas, state transitions, and data flow int
|
|
|
177
177
|
</step>
|
|
178
178
|
|
|
179
179
|
<step id="interactive_hitl_gate_1">
|
|
180
|
-
**HITL Gate 1 — Interactive Review.** After writing `<design_target>` and `<data_model_target>`, pause to get human feedback before finalizing:
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
180
|
+
**HITL Gate 1 — Interactive Review.** After writing `<design_target>` and `<data_model_target>`, pause to get human feedback before finalizing. The interaction is **active**, not a sign-off: complete a full domain-discipline pass below before presenting the `## Pending HITL Decisions` questions.
|
|
181
|
+
|
|
182
|
+
**Domain discipline (mandatory before requesting sign-off):**
|
|
183
|
+
- **Term-challenge against glossary**: when the user or any subagent uses a term that conflicts with `<data_model_target>`, `specs/_product/domain-model.md`, or constitution definitions, call it out immediately with the conflicting definitions and the user's apparent meaning.
|
|
184
|
+
- **Sharpen fuzzy language**: when terms like "service", "thing", or "account" appear without a precise definition, propose a canonical term and ask the human to confirm before continuing.
|
|
185
|
+
- **Stress-test with scenarios**: for each major architectural decision and each new entity boundary, invent one concrete edge-case scenario ("what happens when…") and ask the human to confirm the expected behavior.
|
|
186
|
+
- **Update glossary inline**: as terms resolve, update `<data_model_target>` immediately — do not batch these up. Capture the term, the chosen definition, and the rejected alternatives.
|
|
187
|
+
- **Cross-reference with code**: when the user states how something works, check the codebase via `codebase_search` / `codebase_peek`. If the code disagrees, surface the contradiction.
|
|
188
|
+
- **Suggest ADRs sparingly**: when a decision meets all three criteria (hard to reverse, surprising without context, real tradeoff), offer to record it as an ADR — `/deviate-architecture` owns the format and storage.
|
|
189
|
+
|
|
190
|
+
**Question protocol** (after the discipline pass):
|
|
191
|
+
1. Use the `question` tool to present the remaining `## Pending HITL Decisions` and any unresolved discipline-pass questions. Ask ONE question at a time, with your recommended answer, and wait for the human's response before asking the next.
|
|
192
|
+
2. If the human requests changes: update `<design_target>` and/or `<data_model_target>`, update the `## Pending HITL Decisions` table (set resolved items to `RESOLVED`), and return to the question step if further clarification is needed.
|
|
192
193
|
3. Once the human is satisfied, proceed to the post-script.
|
|
193
194
|
|
|
194
195
|
Do NOT proceed to `prd` — that is the human's decision after this phase completes.
|
|
@@ -1217,27 +1217,6 @@ class TestInitPiBackend:
|
|
|
1217
1217
|
)
|
|
1218
1218
|
|
|
1219
1219
|
|
|
1220
|
-
def test_module_version_resolves():
|
|
1221
|
-
"""Import-time guard: deviate.__version__ must not raise PackageNotFoundError.
|
|
1222
|
-
|
|
1223
|
-
Regression: src/deviate/__init__.py previously called
|
|
1224
|
-
version("deviate") (the import name) instead of "deviatdd" (the
|
|
1225
|
-
distribution name in pyproject.toml), so importing the package failed
|
|
1226
|
-
with PackageNotFoundError and the entire CLI was unreachable.
|
|
1227
|
-
"""
|
|
1228
|
-
import importlib
|
|
1229
|
-
|
|
1230
|
-
import deviate
|
|
1231
|
-
|
|
1232
|
-
importlib.reload(deviate) # force re-evaluation of the module-level call
|
|
1233
|
-
assert deviate.__version__, "deviate.__version__ must be a non-empty string"
|
|
1234
|
-
assert "+unknown" not in deviate.__version__, (
|
|
1235
|
-
f"deviate.__version__ is the missing-metadata fallback: {deviate.__version__!r}. "
|
|
1236
|
-
"Check that the deviatdd distribution is installed (e.g. "
|
|
1237
|
-
"`uv tool install --force .`)."
|
|
1238
|
-
)
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
1220
|
def test_version():
|
|
1242
1221
|
"""`deviate --version` prints the installed distribution version.
|
|
1243
1222
|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"""Tests for the top-level `deviate` package.
|
|
2
|
+
|
|
3
|
+
Mirrors `src/deviate/__init__.py` — the module-level version lookup that
|
|
4
|
+
fires on every `import deviate`. The CLI smoke suite (`test_cli/test_init.py`)
|
|
5
|
+
exercises the same lookup via `deviate --version`; these tests guard the
|
|
6
|
+
import-time contract directly so a regression fails at collection rather
|
|
7
|
+
than at first invocation.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_module_version_resolves():
|
|
12
|
+
"""Import-time guard: deviate.__version__ must not raise PackageNotFoundError.
|
|
13
|
+
|
|
14
|
+
Regression: src/deviate/__init__.py previously called
|
|
15
|
+
version("deviate") (the import name) instead of "deviatdd" (the
|
|
16
|
+
distribution name in pyproject.toml), so importing the package failed
|
|
17
|
+
with PackageNotFoundError and the entire CLI was unreachable.
|
|
18
|
+
"""
|
|
19
|
+
import importlib
|
|
20
|
+
|
|
21
|
+
import deviate
|
|
22
|
+
|
|
23
|
+
importlib.reload(deviate) # force re-evaluation of the module-level call
|
|
24
|
+
assert deviate.__version__, "deviate.__version__ must be a non-empty string"
|
|
25
|
+
assert "+unknown" not in deviate.__version__, (
|
|
26
|
+
f"deviate.__version__ is the missing-metadata fallback: {deviate.__version__!r}. "
|
|
27
|
+
"Check that the deviatdd distribution is installed (e.g. "
|
|
28
|
+
"`uv tool install --force .`)."
|
|
29
|
+
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-adhoc-001-streaming-pipeline-monitor.md
RENAMED
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/pr_descriptions/feat-adhoc-008-ast-phase-prioritization.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/003-fast-path-commands/spec.md
RENAMED
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/003-fast-path-commands/tasks.jsonl
RENAMED
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/003-fast-path-commands/tasks.md
RENAMED
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/004-governance-inspection/spec.md
RENAMED
|
File without changes
|
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/004-governance-inspection/tasks.md
RENAMED
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/005-micro-layer-integrity/spec.md
RENAMED
|
File without changes
|
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/005-micro-layer-integrity/tasks.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/issues/002-context-pipeline.md
RENAMED
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/issues/003-fast-path-commands.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deviatdd-2.5.3 → deviatdd-2.5.5}/specs/002-deviatdd-gap-analysis/plan-tdd-integration-gap.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|