devflow-engine 1.2.0__tar.gz → 1.2.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_engine-1.2.1/.github/workflows/devflow-enforce.yml +38 -0
- devflow_engine-1.2.1/.gitignore +22 -0
- devflow_engine-1.2.1/.pi/agents/filemaker-expert/filemaker-expert.md +49 -0
- devflow_engine-1.2.1/.pi/agents/goldilocks-advisor/goldilocks-advisor.md +69 -0
- devflow_engine-1.2.1/.pi/agents/idea-compliance-advisor/idea-compliance-advisor.md +145 -0
- devflow_engine-1.2.1/.pi/npm/.gitignore +2 -0
- devflow_engine-1.2.1/.pi/settings.json +9 -0
- devflow_engine-1.2.1/.pi-lens/cache/session-start-guidance.json +1 -0
- devflow_engine-1.2.1/.pi-lens/cache/session-start-guidance.meta.json +3 -0
- devflow_engine-1.2.1/.pi-lens/cache/todo-baseline.json +3 -0
- devflow_engine-1.2.1/.pi-lens/cache/todo-baseline.meta.json +3 -0
- devflow_engine-1.2.1/DESIGN_NOTES.md +256 -0
- devflow_engine-1.2.1/OPERATOR.md +492 -0
- devflow_engine-1.2.1/PKG-INFO +220 -0
- devflow_engine-1.2.1/README.md +201 -0
- devflow_engine-1.2.1/ai_docs/context/source_docs/assumptions_registry.json +412 -0
- devflow_engine-1.2.1/ai_docs/context/source_docs/domain_entities.json +5 -0
- devflow_engine-1.2.1/ai_docs/context/source_docs/product_brief.json +14 -0
- devflow_engine-1.2.1/ai_docs/context/source_docs/user_workflows.json +7 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/devflow-bootstrap-answer.md +38 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/idea_to_devflow_story_dag_contract.md +76 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/ideation-dag-contract.md +276 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/pencil_bridge_and_code_to_design_plan.md +246 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/scope-to-idea-enrichment-dag-contract.md +831 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/source-doc-mutation-dag-contract.md +799 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/source-docs-to-scopes-dag-contract.md +829 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/ui-grounding-runtime-implementation-plan.md +548 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/ui-grounding-workflow-note.md +91 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/ui_grounding_code_to_design_opportunity_map.md +335 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/ui_grounding_next_sprint_checklist.md +174 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/ui_grounding_phase1_pitfalls_review.md +436 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/notes/ui_grounding_workflow_dag_contract.md +489 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/source_docs/architecture.md +187 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/source_docs/delivery_plan.md +201 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/source_docs/index.md +9 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/source_docs/prd.md +179 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/source_docs/project_charter.md +111 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/source_docs/ux_design.md +261 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area10_process_pipeline/DF2-ARCH-1010_arch_decisions_cli.md +46 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area10_process_pipeline/DF2-ARCH-1013_validate_architecture_gate.md +39 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area10_process_pipeline/DF2-INV-1003_architecture_inventory_registry.md +48 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area10_process_pipeline/DF2-PIPE-1002_production_pipeline_story_entrypoint.md +45 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area10_process_pipeline/DF2-PIPE-1011_pipeline_runner_cli.md +43 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area10_process_pipeline/DF2-PROC-1001_ideation_planning_loop.md +50 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area10_process_pipeline/DF2-REG-1030_registry_db_perfect_registration.md +53 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area10_process_pipeline/DF2-REG-1031_init_dedupe_and_strict_refactor.md +56 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area1_bootstrap/cli-typer-command-surface.md +55 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area1_bootstrap/config-hierarchy-discovery.md +62 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area1_bootstrap/green-gate-quality-script.md +55 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area1_bootstrap/logging-baseline.md +53 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area1_bootstrap/repo-bootstrap-uv-typer-skeleton.md +62 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area2_projects/US2.10_project_init_registry_db.md +63 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area2_projects/US2.1_project_init.md +68 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area2_projects/US2.3_project_registry_list.md +52 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area2_projects/US2.4_project_remove.md +53 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area2_projects/US2.5_project_workspace_layout_hashing.md +61 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area2_projects/US2.6_config_hierarchy_resolution.md +59 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area2_projects/US2.7_project_import_clone_register.md +68 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area2_projects/US2.8_project_import_init_blank_repo.md +76 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area2_projects/US2.9_project_import_story_synthesis.md +53 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area3_execution_store_logging/US-3.1_execution-store_sqlite-bootstrap.md +99 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area3_execution_store_logging/US-3.2_execution-store_schema_core-tables.md +157 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area3_execution_store_logging/US-3.3_execution-store_run-lifecycle-persistence.md +76 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area3_execution_store_logging/US-3.4_execution-store_node-execution-persistence.md +67 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area3_execution_store_logging/US-3.5_execution-store_artifacts-errors-review-packets.md +86 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area3_execution_store_logging/US-3.6_logging_layout_correlation-ids_tool-logs.md +94 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area4_story_system/story-system-canonical-md.md +63 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area4_story_system/story-system-contract-hash.md +66 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area4_story_system/story-system-indexer.md +72 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area4_story_system/story-system-optional-artifacts.md +60 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area4_story_system/story-system-validation.md +77 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area5_planning_idea_tool/DF2-IDEA-502_repo-analysis-capture-evidence.md +97 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area5_planning_idea_tool/DF2-IDEA-503_generate-baseline-draft-stories-per-plane.md +77 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area5_planning_idea_tool/DF2-IDEA-504_draft-storage-provenance-and-non-canonical-separation.md +71 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area5_planning_idea_tool/DF2-IDEA-505_promote-drafts-to-canonical-with-traceability.md +86 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area5_planning_idea_tool/DF2-IDEA-506_review-and-diff-drafts-vs-canonical.md +63 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area6_implementation_dag/DF2-IMPL-620_genai_workflow_engine_conversion.md +54 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area6_implementation_dag/implementation-dag-core.md +78 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area6_implementation_dag/stage-git-commit-green.md +68 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area6_implementation_dag/stage-green-implement-and-gate.md +77 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area6_implementation_dag/stage-red-failing-tests.md +98 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area6_implementation_dag/stage-testdesign-oracle-anchor.md +67 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area6_implementation_dag/stage-validate-stories.md +69 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area6_implementation_dag/stage-validate-tests.md +70 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area8_errors/US-8.1_error-queue_core-model.md +106 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area8_errors/US-8.3_error-queue_dedupe-fingerprints.md +94 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area9_playground/DF2-PLAY-901_playground-preflight-contract.md +52 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area9_playground/DF2-PLAY-902_preflight-check-catalog-and-config.md +41 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area9_playground/DF2-PLAY-903_scenario-registry-and-discovery.md +44 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area9_playground/DF2-PLAY-904_scenario-runner-and-artifacts.md +45 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area9_playground/DF2-PLAY-905_failures-create-error-tasks.md +45 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area9_playground/DF2-PLAY-906_preflight-scenarios-respect-story-planes.md +45 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area9_playground/DF2-PLAY-907_parallel-batch-run-and-summary.md +45 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories/area9_playground/DF2-PLAY-908_node-devflow-parity-preflight-json.md +40 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area2_projects/US2.2_project_register_existing.md +62 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area4_story_system/story-system-draft-vs-canonical.md +66 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area5_planning_idea_tool/DF2-IDEA-501_idea-init-and-structure.md +89 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area5_planning_idea_tool/DF2-IDEA-507_list-and-inspect-ideas-analyses-drafts.md +64 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area5_planning_idea_tool/DF2-IDEA-508_link-idea-artifacts-to-execution-runs.md +61 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area6_implementation_dag/stage-git-commit-refactor.md +61 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area6_implementation_dag/stage-normalize.md +97 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area6_implementation_dag/stage-refactor-and-verify.md +73 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area7_review/US-7.1_review-packet_schema-and-loader.md +99 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area7_review/US-7.2_review-runner_core-workflow.md +102 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area7_review/US-7.3_review-findings_persistence_execution-store.md +100 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area7_review/US-7.4_remediation-run-spec_generation.md +85 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area7_review/US-7.5_security-and-safety_review-policies.md +87 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area7_review/US-7.6_contract-compliance-and-soundness_checks.md +86 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area7_review/US-7.7_cli-review-command_and_artifacts.md +80 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area8_errors/US-8.2_error-queue_claiming-concurrency.md +79 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area8_errors/US-8.4_remediation-runs_model-and-linkage.md +75 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area8_errors/US-8.5_error-solver_workflow-orchestration.md +114 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area8_errors/US-8.6_github-issues_ingestion-watcher.md +86 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area8_errors/US-8.7_execution-errors_to_error-tasks-ingestion.md +81 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area8_errors/US-8.8_error-cli_minimal-commands.md +72 -0
- devflow_engine-1.2.1/ai_docs/context/v2/project_docs/user_stories_backlog/area8_errors/US-8.9_node-devflow-semantics_compatibility.md +67 -0
- devflow_engine-1.2.1/docs/control-plane-source-of-truth-sketch.md +170 -0
- devflow_engine-1.2.1/docs/devflow-queue-ops-skill-tree.md +134 -0
- devflow_engine-1.2.1/docs/devflow-skill-overlays.md +42 -0
- devflow_engine-1.2.1/docs/devflow-skill-registry-spec.md +383 -0
- devflow_engine-1.2.1/docs/devin-ideation-source-docs.md +351 -0
- devflow_engine-1.2.1/docs/devin-intake-ideation-boundary.md +74 -0
- devflow_engine-1.2.1/docs/error-solving-dag-note.md +49 -0
- devflow_engine-1.2.1/docs/evals/source-doc-sparse-input-eval.md +173 -0
- devflow_engine-1.2.1/docs/evals/source-doc-targeted-mutation-eval.md +138 -0
- devflow_engine-1.2.1/docs/llm-invocation-architecture.md +282 -0
- devflow_engine-1.2.1/docs/production-happy-path.md +190 -0
- devflow_engine-1.2.1/docs/project-doc-agent-contracts.md +130 -0
- devflow_engine-1.2.1/docs/project-doc-cross-reference-rules.md +72 -0
- devflow_engine-1.2.1/docs/project-doc-richness-contract.md +156 -0
- devflow_engine-1.2.1/docs/prompts/anti-patterns.md +42 -0
- devflow_engine-1.2.1/docs/prompts/devin-agent-prompt.md +55 -0
- devflow_engine-1.2.1/docs/prompts/devin2-agent-prompt.md +81 -0
- devflow_engine-1.2.1/docs/prompts/examples/devin-vapi-clone-reference-exchange.json +85 -0
- devflow_engine-1.2.1/docs/queue-worker-infra.md +268 -0
- devflow_engine-1.2.1/docs/recovery-dag-contract.md +68 -0
- devflow_engine-1.2.1/docs/registry-doctrine.md +108 -0
- devflow_engine-1.2.1/docs/scope-idea-agentification.md +40 -0
- devflow_engine-1.2.1/docs/source-doc-coherence-node-contract.md +90 -0
- devflow_engine-1.2.1/docs/source-doc-mutation-acceptance-matrix.md +150 -0
- devflow_engine-1.2.1/docs/source-doc-mutation-real-eval.md +120 -0
- devflow_engine-1.2.1/docs/source-doc-mutation-support-index-contract.md +56 -0
- devflow_engine-1.2.1/docs/source-doc-section-agent-contracts.md +191 -0
- devflow_engine-1.2.1/docs/source-doc-section-richness-contract.md +309 -0
- devflow_engine-1.2.1/docs/source-to-project-doc-impact-map.md +142 -0
- devflow_engine-1.2.1/docs/source-to-project-doc-reference-map.md +160 -0
- devflow_engine-1.2.1/docs/story-implementation-planning-node.md +276 -0
- devflow_engine-1.2.1/docs/support/source_doc_mutation/cross_sourceXproject.json +26 -0
- devflow_engine-1.2.1/docs/support/source_doc_mutation/internal_project.json +33 -0
- devflow_engine-1.2.1/docs/support/source_doc_mutation/internal_source.json +50 -0
- devflow_engine-1.2.1/docs/ui-grounding-curtis-medium-tier-doctrine.md +274 -0
- devflow_engine-1.2.1/docs/ui-grounding-curtis-structural-integration-note.md +135 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/ai_docs/context/project_docs/architecture.md +165 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/ai_docs/context/project_docs/delivery_plan.md +174 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/ai_docs/context/project_docs/index.md +9 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/ai_docs/context/project_docs/prd.md +238 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/ai_docs/context/project_docs/project_charter.md +102 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/ai_docs/context/project_docs/ux_design.md +200 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/ai_docs/context/source_docs/assumptions_registry.json +256 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/ai_docs/context/source_docs/domain_entities.json +22 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/ai_docs/context/source_docs/product_brief.json +24 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/ai_docs/context/source_docs/user_workflows.json +26 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/eval_manifest.json +48 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/indexes/project_docs_index.json +116 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/indexes/source_docs_index.json +66 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/metrics/completeness.json +59 -0
- devflow_engine-1.2.1/evals/20260322T195349Z/metrics/quality.json +59 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/ai_docs/context/project_docs/architecture.md +142 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/ai_docs/context/project_docs/delivery_plan.md +149 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/ai_docs/context/project_docs/index.md +9 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/ai_docs/context/project_docs/prd.md +216 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/ai_docs/context/project_docs/project_charter.md +78 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/ai_docs/context/project_docs/ux_design.md +190 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/ai_docs/context/source_docs/assumptions_registry.json +81 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/ai_docs/context/source_docs/domain_entities.json +65 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/ai_docs/context/source_docs/product_brief.json +57 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/ai_docs/context/source_docs/user_workflows.json +82 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/eval_manifest.json +48 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/indexes/project_docs_index.json +114 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/indexes/source_docs_index.json +74 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/metrics/completeness.json +59 -0
- devflow_engine-1.2.1/evals/20260322T211128Z/metrics/quality.json +59 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/ai_docs/context/project_docs/architecture.md +202 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/ai_docs/context/project_docs/delivery_plan.md +206 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/ai_docs/context/project_docs/index.md +9 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/ai_docs/context/project_docs/prd.md +274 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/ai_docs/context/project_docs/project_charter.md +97 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/ai_docs/context/project_docs/ux_design.md +245 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/ai_docs/context/source_docs/assumptions_registry.json +503 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/ai_docs/context/source_docs/domain_entities.json +116 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/ai_docs/context/source_docs/product_brief.json +61 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/ai_docs/context/source_docs/user_workflows.json +106 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/eval_manifest.json +48 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/indexes/project_docs_index.json +107 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/indexes/source_docs_index.json +82 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/metrics/completeness.json +62 -0
- devflow_engine-1.2.1/evals/20260322T214046Z/metrics/quality.json +62 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/ai_docs/context/project_docs/architecture.md +187 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/ai_docs/context/project_docs/delivery_plan.md +201 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/ai_docs/context/project_docs/index.md +9 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/ai_docs/context/project_docs/prd.md +179 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/ai_docs/context/project_docs/project_charter.md +111 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/ai_docs/context/project_docs/ux_design.md +261 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/ai_docs/context/source_docs/assumptions_registry.json +127 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/ai_docs/context/source_docs/domain_entities.json +14 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/ai_docs/context/source_docs/product_brief.json +14 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/ai_docs/context/source_docs/user_workflows.json +15 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/baseline/project_docs/architecture.md +202 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/baseline/project_docs/delivery_plan.md +206 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/baseline/project_docs/index.md +9 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/baseline/project_docs/prd.md +274 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/baseline/project_docs/project_charter.md +97 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/baseline/project_docs/ux_design.md +245 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/baseline/source_docs/assumptions_registry.json +503 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/baseline/source_docs/domain_entities.json +116 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/baseline/source_docs/product_brief.json +61 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/baseline/source_docs/user_workflows.json +106 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/eval_manifest.json +87 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/indexes/project_docs_index.json +93 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/indexes/source_docs_index.json +78 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/matrices/accuracy.json +59 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/matrices/appropriate_update.json +58 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/matrices/thoroughness.json +58 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/metrics/completeness.json +57 -0
- devflow_engine-1.2.1/evals/20260322T223518Z/metrics/quality.json +57 -0
- devflow_engine-1.2.1/evals/devin/20260322T211631Z/basic_new_idea_sparse/artifacts/devin_agent_loop_terminal.json +264 -0
- devflow_engine-1.2.1/evals/devin/20260322T211631Z/basic_new_idea_sparse/artifacts/devin_intake.json +36 -0
- devflow_engine-1.2.1/evals/devin/20260322T211631Z/basic_new_idea_sparse/artifacts/devin_response.json +261 -0
- devflow_engine-1.2.1/evals/devin/20260322T211631Z/basic_new_idea_sparse/artifacts/devin_response_post.json +73 -0
- devflow_engine-1.2.1/evals/devin/20260322T211631Z/basic_new_idea_sparse/artifacts/idea_context_resolution.json +77 -0
- devflow_engine-1.2.1/evals/devin/20260322T211631Z/basic_new_idea_sparse/eval_manifest.json +43 -0
- devflow_engine-1.2.1/evals/devin/20260322T211631Z/basic_new_idea_sparse/metrics/scores.json +36 -0
- devflow_engine-1.2.1/evals/devin/20260322T213939Z/basic_new_idea_sparse/artifacts/devin_agent_loop_terminal.json +262 -0
- devflow_engine-1.2.1/evals/devin/20260322T213939Z/basic_new_idea_sparse/artifacts/devin_intake.json +36 -0
- devflow_engine-1.2.1/evals/devin/20260322T213939Z/basic_new_idea_sparse/artifacts/devin_response.json +259 -0
- devflow_engine-1.2.1/evals/devin/20260322T213939Z/basic_new_idea_sparse/artifacts/devin_response_post.json +69 -0
- devflow_engine-1.2.1/evals/devin/20260322T213939Z/basic_new_idea_sparse/artifacts/idea_context_resolution.json +77 -0
- devflow_engine-1.2.1/evals/devin/20260322T213939Z/basic_new_idea_sparse/eval_manifest.json +43 -0
- devflow_engine-1.2.1/evals/devin/20260322T213939Z/basic_new_idea_sparse/metrics/scores.json +37 -0
- devflow_engine-1.2.1/evals/devin/20260322T214440Z/extend_existing_codebase_feature/artifacts/devin_agent_loop_terminal.json +262 -0
- devflow_engine-1.2.1/evals/devin/20260322T214440Z/extend_existing_codebase_feature/artifacts/devin_intake.json +36 -0
- devflow_engine-1.2.1/evals/devin/20260322T214440Z/extend_existing_codebase_feature/artifacts/devin_response.json +259 -0
- devflow_engine-1.2.1/evals/devin/20260322T214440Z/extend_existing_codebase_feature/artifacts/devin_response_post.json +69 -0
- devflow_engine-1.2.1/evals/devin/20260322T214440Z/extend_existing_codebase_feature/artifacts/idea_context_resolution.json +77 -0
- devflow_engine-1.2.1/evals/devin/20260322T214440Z/extend_existing_codebase_feature/eval_manifest.json +41 -0
- devflow_engine-1.2.1/evals/devin/20260322T214440Z/extend_existing_codebase_feature/metrics/scores.json +35 -0
- devflow_engine-1.2.1/evals/devin/20260322T215138Z/drive_devflow_commands_queue/artifacts/devin_agent_loop_terminal.json +167 -0
- devflow_engine-1.2.1/evals/devin/20260322T215138Z/drive_devflow_commands_queue/artifacts/devin_intake.json +38 -0
- devflow_engine-1.2.1/evals/devin/20260322T215138Z/drive_devflow_commands_queue/artifacts/devin_response.json +164 -0
- devflow_engine-1.2.1/evals/devin/20260322T215138Z/drive_devflow_commands_queue/artifacts/devin_response_post.json +59 -0
- devflow_engine-1.2.1/evals/devin/20260322T215138Z/drive_devflow_commands_queue/eval_manifest.json +42 -0
- devflow_engine-1.2.1/evals/devin/20260322T215138Z/drive_devflow_commands_queue/metrics/scores.json +35 -0
- devflow_engine-1.2.1/evals/devin/20260322T222040Z/drive_devflow_commands_queue/artifacts/devin_agent_loop_terminal.json +215 -0
- devflow_engine-1.2.1/evals/devin/20260322T222040Z/drive_devflow_commands_queue/artifacts/devin_intake.json +38 -0
- devflow_engine-1.2.1/evals/devin/20260322T222040Z/drive_devflow_commands_queue/artifacts/devin_response.json +212 -0
- devflow_engine-1.2.1/evals/devin/20260322T222040Z/drive_devflow_commands_queue/artifacts/devin_response_post.json +57 -0
- devflow_engine-1.2.1/evals/devin/20260322T222040Z/drive_devflow_commands_queue/eval_manifest.json +42 -0
- devflow_engine-1.2.1/evals/devin/20260322T222040Z/drive_devflow_commands_queue/metrics/scores.json +35 -0
- devflow_engine-1.2.1/evals/devin/20260322T222316Z/drive_devflow_commands_queue/artifacts/devin_agent_loop_terminal.json +215 -0
- devflow_engine-1.2.1/evals/devin/20260322T222316Z/drive_devflow_commands_queue/artifacts/devin_intake.json +38 -0
- devflow_engine-1.2.1/evals/devin/20260322T222316Z/drive_devflow_commands_queue/artifacts/devin_response.json +212 -0
- devflow_engine-1.2.1/evals/devin/20260322T222316Z/drive_devflow_commands_queue/artifacts/devin_response_post.json +57 -0
- devflow_engine-1.2.1/evals/devin/20260322T222316Z/drive_devflow_commands_queue/eval_manifest.json +42 -0
- devflow_engine-1.2.1/evals/devin/20260322T222316Z/drive_devflow_commands_queue/metrics/scores.json +36 -0
- devflow_engine-1.2.1/evals/devin/20260322T223619Z/drive_devflow_commands_queue/artifacts/devin_agent_loop_terminal.json +212 -0
- devflow_engine-1.2.1/evals/devin/20260322T223619Z/drive_devflow_commands_queue/artifacts/devin_intake.json +38 -0
- devflow_engine-1.2.1/evals/devin/20260322T223619Z/drive_devflow_commands_queue/artifacts/devin_response.json +209 -0
- devflow_engine-1.2.1/evals/devin/20260322T223619Z/drive_devflow_commands_queue/artifacts/devin_response_post.json +53 -0
- devflow_engine-1.2.1/evals/devin/20260322T223619Z/drive_devflow_commands_queue/eval_manifest.json +42 -0
- devflow_engine-1.2.1/evals/devin/20260322T223619Z/drive_devflow_commands_queue/metrics/scores.json +36 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/eval_manifest.json +185 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/devin_intake.json +44 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/route.json +24 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183244Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/eval_manifest.json +173 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183324Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/eval_manifest.json +216 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/turn_result.json +34 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/20260412T183359Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/eval_manifest.json +43 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T183244Z/suite_summary.json +43 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/eval_manifest.json +196 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_activation_decision.json +175 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_assumption_completion.json +78 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_readiness_contract.json +131 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/turn_result.json +39 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_assumption_completion.json +9 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_readiness_contract.json +58 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_activation_decision.json +124 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_assumption_completion.json +9 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_readiness_contract.json +58 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184333Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/turn_result.json +39 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/eval_manifest.json +179 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/devin_response_post.json +92 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/idea_assumption_completion.json +54 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/idea_readiness_contract.json +94 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/devin_intake.json +47 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/route.json +27 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/idea_assumption_completion.json +9 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/idea_readiness_contract.json +40 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184446Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/eval_manifest.json +223 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/devin_response_post.json +90 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/idea_assumption_completion.json +44 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/idea_readiness_contract.json +82 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/artifacts/devin_response_post.json +92 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/devin_response_post.json +92 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/idea_assumption_completion.json +53 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/idea_readiness_contract.json +93 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/20260412T184518Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/eval_manifest.json +43 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184333Z/suite_summary.json +43 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/eval_manifest.json +194 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/devin_response_post.json +92 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_assumption_completion.json +54 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_readiness_contract.json +94 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/devin_intake.json +47 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_assumption_completion.json +9 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_readiness_contract.json +40 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/route.json +27 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_assumption_completion.json +74 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_readiness_contract.json +119 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184800Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/eval_manifest.json +179 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/devin_response_post.json +92 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/idea_assumption_completion.json +54 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/idea_readiness_contract.json +94 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/devin_intake.json +47 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/route.json +27 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/idea_assumption_completion.json +9 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/idea_readiness_contract.json +40 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184843Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/eval_manifest.json +223 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/devin_response_post.json +92 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/idea_assumption_completion.json +44 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/idea_readiness_contract.json +82 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/artifacts/devin_response_post.json +94 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/idea_assumption_completion.json +55 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/idea_readiness_contract.json +97 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/20260412T184910Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/eval_manifest.json +43 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T184800Z/suite_summary.json +43 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/eval_manifest.json +195 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/devin_response_post.json +90 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_assumption_completion.json +54 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_readiness_contract.json +94 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/devin_intake.json +47 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_assumption_completion.json +76 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_readiness_contract.json +122 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/route.json +27 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_activation_decision.json +121 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_assumption_completion.json +9 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_readiness_contract.json +55 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/20260412T185050Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/turn_result.json +39 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/eval_manifest.json +23 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185050Z/suite_summary.json +23 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/eval_manifest.json +195 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/devin_response_post.json +92 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_assumption_completion.json +54 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/idea_readiness_contract.json +94 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_01_turn1_initial_idea/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_assumption_completion.json +9 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/idea_readiness_contract.json +40 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_02_turn2_refinement_without_approval/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_activation_decision.json +121 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_assumption_completion.json +9 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/idea_readiness_contract.json +55 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185255Z/preapproval_ideation_stays_preactivation_until_explicit_approval/turn_03_turn3_explicit_approval/turn_result.json +39 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/eval_manifest.json +178 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/devin_response_post.json +92 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/idea_assumption_completion.json +54 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/idea_readiness_contract.json +94 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_01_turn1_initial_idea/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/devin_intake.json +47 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/artifacts/route.json +27 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_02_turn2_insight_detour/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/idea_assumption_completion.json +74 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/idea_readiness_contract.json +119 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185332Z/ideation_to_insight_to_ideation_continuity/turn_03_turn3_back_to_ideation/turn_result.json +37 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/eval_manifest.json +223 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/devin_response_post.json +92 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/idea_assumption_completion.json +44 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/idea_readiness_contract.json +82 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_01_turn1_initial_idea/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/devin_response_post.json +86 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_02_turn2_insight_question/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/artifacts/devin_response_post.json +94 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_03_turn3_generic_question/turn_result.json +35 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/devin_intake.json +46 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/devin_response_post.json +92 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/idea_assumption_completion.json +53 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/idea_context_resolution.json +371 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/idea_readiness_contract.json +93 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/artifacts/route.json +26 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/20260412T185402Z/three_arm_interplay_ideation_insight_generic_then_back/turn_04_turn4_back_to_ideation/turn_result.json +38 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/eval_manifest.json +43 -0
- devflow_engine-1.2.1/evals/devin_multi_turn/20260412T185255Z/suite_summary.json +43 -0
- devflow_engine-1.2.1/evals/project_bootstrap/dataset.yaml +97 -0
- devflow_engine-1.2.1/evals/project_bootstrap/run_eval.py +716 -0
- devflow_engine-1.2.1/evals/project_bootstrap/schema.md +99 -0
- devflow_engine-1.2.1/playground/evals/source-doc-sparse-input-scenario.json +9 -0
- devflow_engine-1.2.1/playground/evals/source-doc-targeted-mutation-scenario.json +10 -0
- devflow_engine-1.2.1/playground/ideation_arm_playground.py +239 -0
- devflow_engine-1.2.1/playground/ideation_scenarios_template.json +19 -0
- devflow_engine-1.2.1/playground/iterate_arm_playground.py +669 -0
- devflow_engine-1.2.1/playground/run_ideation_arm_scenarios.py +67 -0
- devflow_engine-1.2.1/playground/run_iterate_scenarios.sh +12 -0
- devflow_engine-1.2.1/playground/source_doc_mutation_eval.py +116 -0
- devflow_engine-1.2.1/prompts/devin/generic/prompt.md +6 -0
- devflow_engine-1.2.1/prompts/devin/ideation/prompt.md +263 -0
- devflow_engine-1.2.1/prompts/devin/ideation/scenarios.md +5 -0
- devflow_engine-1.2.1/prompts/devin/ideation_loop/prompt.md +6 -0
- devflow_engine-1.2.1/prompts/devin/insight/prompt.md +11 -0
- devflow_engine-1.2.1/prompts/devin/insight/scenarios.md +5 -0
- devflow_engine-1.2.1/prompts/devin/intake/prompt.md +15 -0
- devflow_engine-1.2.1/prompts/devin/iterate/prompt.md +12 -0
- devflow_engine-1.2.1/prompts/devin/shared/eval_doctrine.md +9 -0
- devflow_engine-1.2.1/prompts/devin/shared/principles.md +246 -0
- devflow_engine-1.2.1/prompts/devin_eval/assessment/prompt.md +18 -0
- devflow_engine-1.2.1/prompts/idea/api_ideation_agent/prompt.md +8 -0
- devflow_engine-1.2.1/prompts/idea/api_insight_agent/prompt.md +8 -0
- devflow_engine-1.2.1/prompts/idea/response_doctrine/prompt.md +18 -0
- devflow_engine-1.2.1/prompts/implementation/dependency_assessment/prompt.md +12 -0
- devflow_engine-1.2.1/prompts/implementation/green/green/prompt.md +11 -0
- devflow_engine-1.2.1/prompts/implementation/green/node_config/prompt.md +3 -0
- devflow_engine-1.2.1/prompts/implementation/green_review/outcome_review/prompt.md +5 -0
- devflow_engine-1.2.1/prompts/implementation/green_review/prior_run_review/prompt.md +5 -0
- devflow_engine-1.2.1/prompts/implementation/red/prompt.md +20 -0
- devflow_engine-1.2.1/prompts/implementation/redreview/prompt.md +17 -0
- devflow_engine-1.2.1/prompts/implementation/redreview_repair/prompt.md +11 -0
- devflow_engine-1.2.1/prompts/implementation/setupdoc/prompt.md +10 -0
- devflow_engine-1.2.1/prompts/implementation/story_planning/prompt.md +13 -0
- devflow_engine-1.2.1/prompts/implementation/test_design/prompt.md +20 -0
- devflow_engine-1.2.1/prompts/integration/README.md +185 -0
- devflow_engine-1.2.1/prompts/integration/green/example.md +67 -0
- devflow_engine-1.2.1/prompts/integration/green/green/prompt.md +10 -0
- devflow_engine-1.2.1/prompts/integration/green/node_config/prompt.md +42 -0
- devflow_engine-1.2.1/prompts/integration/green/past_prompts/20260417T212300/green/prompt.md +15 -0
- devflow_engine-1.2.1/prompts/integration/green/past_prompts/20260417T212300/node_config/prompt.md +42 -0
- devflow_engine-1.2.1/prompts/integration/green_enrich/example.md +79 -0
- devflow_engine-1.2.1/prompts/integration/green_enrich/green_enrich/prompt.md +9 -0
- devflow_engine-1.2.1/prompts/integration/green_enrich/node_config/prompt.md +41 -0
- devflow_engine-1.2.1/prompts/integration/green_enrich/past_prompts/20260417T212300/green_enrich/prompt.md +14 -0
- devflow_engine-1.2.1/prompts/integration/green_enrich/past_prompts/20260417T212300/node_config/prompt.md +41 -0
- devflow_engine-1.2.1/prompts/integration/red/code_repair/prompt.md +12 -0
- devflow_engine-1.2.1/prompts/integration/red/example.md +152 -0
- devflow_engine-1.2.1/prompts/integration/red/node_config/prompt.md +86 -0
- devflow_engine-1.2.1/prompts/integration/red/past_prompts/20260417T212300/code_repair/prompt.md +19 -0
- devflow_engine-1.2.1/prompts/integration/red/past_prompts/20260417T212300/node_config/prompt.md +84 -0
- devflow_engine-1.2.1/prompts/integration/red/past_prompts/20260417T212300/red/prompt.md +16 -0
- devflow_engine-1.2.1/prompts/integration/red/past_prompts/20260417T212300/red_repair/prompt.md +15 -0
- devflow_engine-1.2.1/prompts/integration/red/past_prompts/20260417T215032/code_repair/prompt.md +10 -0
- devflow_engine-1.2.1/prompts/integration/red/past_prompts/20260417T215032/node_config/prompt.md +84 -0
- devflow_engine-1.2.1/prompts/integration/red/past_prompts/20260417T215032/red_repair/prompt.md +11 -0
- devflow_engine-1.2.1/prompts/integration/red/red/prompt.md +11 -0
- devflow_engine-1.2.1/prompts/integration/red/red_repair/prompt.md +12 -0
- devflow_engine-1.2.1/prompts/integration/red_review/example.md +71 -0
- devflow_engine-1.2.1/prompts/integration/red_review/node_config/prompt.md +41 -0
- devflow_engine-1.2.1/prompts/integration/red_review/past_prompts/20260417T212300/node_config/prompt.md +41 -0
- devflow_engine-1.2.1/prompts/integration/red_review/past_prompts/20260417T212300/red_review/prompt.md +15 -0
- devflow_engine-1.2.1/prompts/integration/red_review/red_review/prompt.md +9 -0
- devflow_engine-1.2.1/prompts/integration/resolve/example.md +111 -0
- devflow_engine-1.2.1/prompts/integration/resolve/node_config/prompt.md +64 -0
- devflow_engine-1.2.1/prompts/integration/resolve/past_prompts/20260417T212300/node_config/prompt.md +64 -0
- devflow_engine-1.2.1/prompts/integration/resolve/past_prompts/20260417T212300/resolve_implicated_users/prompt.md +15 -0
- devflow_engine-1.2.1/prompts/integration/resolve/past_prompts/20260417T212300/resolve_side_effects/prompt.md +15 -0
- devflow_engine-1.2.1/prompts/integration/resolve/resolve_implicated_users/prompt.md +10 -0
- devflow_engine-1.2.1/prompts/integration/resolve/resolve_side_effects/prompt.md +10 -0
- devflow_engine-1.2.1/prompts/integration/validate/build_idea_acceptance_coverage/prompt.md +12 -0
- devflow_engine-1.2.1/prompts/integration/validate/code_repair/prompt.md +13 -0
- devflow_engine-1.2.1/prompts/integration/validate/example.md +143 -0
- devflow_engine-1.2.1/prompts/integration/validate/node_config/prompt.md +87 -0
- devflow_engine-1.2.1/prompts/integration/validate/past_prompts/20260417T212300/code_repair/prompt.md +19 -0
- devflow_engine-1.2.1/prompts/integration/validate/past_prompts/20260417T212300/node_config/prompt.md +67 -0
- devflow_engine-1.2.1/prompts/integration/validate/past_prompts/20260417T212300/validate_enrich_gate/prompt.md +17 -0
- devflow_engine-1.2.1/prompts/integration/validate/past_prompts/20260417T212300/validate_repair/prompt.md +16 -0
- devflow_engine-1.2.1/prompts/integration/validate/past_prompts/20260417T215032/code_repair/prompt.md +10 -0
- devflow_engine-1.2.1/prompts/integration/validate/past_prompts/20260417T215032/node_config/prompt.md +67 -0
- devflow_engine-1.2.1/prompts/integration/validate/past_prompts/20260417T215032/validate_repair/prompt.md +9 -0
- devflow_engine-1.2.1/prompts/integration/validate/validate_enrich_gate/prompt.md +10 -0
- devflow_engine-1.2.1/prompts/integration/validate/validate_repair/prompt.md +20 -0
- devflow_engine-1.2.1/prompts/integration/write_workflows/example.md +100 -0
- devflow_engine-1.2.1/prompts/integration/write_workflows/node_config/prompt.md +44 -0
- devflow_engine-1.2.1/prompts/integration/write_workflows/past_prompts/20260417T212300/node_config/prompt.md +44 -0
- devflow_engine-1.2.1/prompts/integration/write_workflows/past_prompts/20260417T212300/write_workflows/prompt.md +17 -0
- devflow_engine-1.2.1/prompts/integration/write_workflows/write_workflows/prompt.md +11 -0
- devflow_engine-1.2.1/prompts/iterate/README.md +7 -0
- devflow_engine-1.2.1/prompts/iterate/coder/prompt.md +11 -0
- devflow_engine-1.2.1/prompts/iterate/framer/prompt.md +11 -0
- devflow_engine-1.2.1/prompts/iterate/iterator/prompt.md +13 -0
- devflow_engine-1.2.1/prompts/iterate/observer/prompt.md +11 -0
- devflow_engine-1.2.1/prompts/recovery/diagnosis/prompt.md +7 -0
- devflow_engine-1.2.1/prompts/recovery/execution/prompt.md +8 -0
- devflow_engine-1.2.1/prompts/recovery/execution_verification/prompt.md +7 -0
- devflow_engine-1.2.1/prompts/recovery/failure_investigation/prompt.md +10 -0
- devflow_engine-1.2.1/prompts/recovery/preflight_health_repo_repair/prompt.md +8 -0
- devflow_engine-1.2.1/prompts/recovery/remediation_execution/prompt.md +11 -0
- devflow_engine-1.2.1/prompts/recovery/root_cause_investigation/prompt.md +12 -0
- devflow_engine-1.2.1/prompts/scope_idea/doctrine/prompt.md +7 -0
- devflow_engine-1.2.1/prompts/source_doc_eval/document/prompt.md +6 -0
- devflow_engine-1.2.1/prompts/source_doc_eval/targeted_mutation/prompt.md +9 -0
- devflow_engine-1.2.1/prompts/source_doc_mutation/domain_entities/prompt.md +6 -0
- devflow_engine-1.2.1/prompts/source_doc_mutation/product_brief/prompt.md +6 -0
- devflow_engine-1.2.1/prompts/source_doc_mutation/project_doc_coherence/prompt.md +7 -0
- devflow_engine-1.2.1/prompts/source_doc_mutation/project_doc_render/prompt.md +9 -0
- devflow_engine-1.2.1/prompts/source_doc_mutation/source_doc_coherence/prompt.md +5 -0
- devflow_engine-1.2.1/prompts/source_doc_mutation/source_doc_enrichment_coherence/prompt.md +6 -0
- devflow_engine-1.2.1/prompts/source_doc_mutation/user_workflows/prompt.md +6 -0
- devflow_engine-1.2.1/prompts/source_scope/doctrine/prompt.md +10 -0
- devflow_engine-1.2.1/prompts/ui_grounding/doctrine/prompt.md +7 -0
- devflow_engine-1.2.1/pyproject.toml +77 -0
- devflow_engine-1.2.1/scripts/audit_llm_invocations.py +529 -0
- devflow_engine-1.2.1/scripts/audit_story_ideas.py +155 -0
- devflow_engine-1.2.1/scripts/dump_run_node_outputs.py +376 -0
- devflow_engine-1.2.1/scripts/green.sh +58 -0
- devflow_engine-1.2.1/scripts/purge_implemented_story_queue.py +75 -0
- devflow_engine-1.2.1/scripts/reconcile_story_queue.py +58 -0
- devflow_engine-1.2.1/scripts/replay_scope_draft_idea.py +70 -0
- devflow_engine-1.2.1/scripts/replay_scope_goldilocks.py +121 -0
- devflow_engine-1.2.1/scripts/run_api_key_transport_smoke.py +49 -0
- devflow_engine-1.2.1/scripts/run_gitcommit_refactor_node.py +123 -0
- devflow_engine-1.2.1/scripts/run_green_node.py +139 -0
- devflow_engine-1.2.1/scripts/run_once_no_recovery.py +87 -0
- devflow_engine-1.2.1/scripts/run_preflight_node.py +157 -0
- devflow_engine-1.2.1/scripts/run_red_node.py +249 -0
- devflow_engine-1.2.1/scripts/run_refactor_node.py +127 -0
- devflow_engine-1.2.1/scripts/run_security_node.py +137 -0
- devflow_engine-1.2.1/scripts/run_with_recovery.py +87 -0
- devflow_engine-1.2.1/scripts/validate_architecture.py +116 -0
- devflow_engine-1.2.1/scripts/validate_stories.py +5 -0
- devflow_engine-1.2.1/scripts/validate_tests.py +353 -0
- devflow_engine-1.2.1/scripts/validate_tests_story.py +5 -0
- devflow_engine-1.2.1/src/devflow_engine/__init__.py +3 -0
- devflow_engine-1.2.1/src/devflow_engine/agentic_prompts.py +90 -0
- devflow_engine-1.2.1/src/devflow_engine/agentic_runtime.py +398 -0
- devflow_engine-1.2.1/src/devflow_engine/api_key_flow_harness.py +539 -0
- devflow_engine-1.2.1/src/devflow_engine/api_keys.py +357 -0
- devflow_engine-1.2.1/src/devflow_engine/bootstrap/__init__.py +2 -0
- devflow_engine-1.2.1/src/devflow_engine/bootstrap/provision_from_template.py +84 -0
- devflow_engine-1.2.1/src/devflow_engine/cli/__init__.py +0 -0
- devflow_engine-1.2.1/src/devflow_engine/cli/app.py +6671 -0
- devflow_engine-1.2.1/src/devflow_engine/core/__init__.py +0 -0
- devflow_engine-1.2.1/src/devflow_engine/core/config.py +86 -0
- devflow_engine-1.2.1/src/devflow_engine/core/logging.py +29 -0
- devflow_engine-1.2.1/src/devflow_engine/core/paths.py +45 -0
- devflow_engine-1.2.1/src/devflow_engine/core/toml_kv.py +33 -0
- devflow_engine-1.2.1/src/devflow_engine/devflow_event_worker.py +1292 -0
- devflow_engine-1.2.1/src/devflow_engine/devflow_state.py +201 -0
- devflow_engine-1.2.1/src/devflow_engine/devin2/__init__.py +9 -0
- devflow_engine-1.2.1/src/devflow_engine/devin2/agent_definition.py +117 -0
- devflow_engine-1.2.1/src/devflow_engine/devin2/pi_runner.py +207 -0
- devflow_engine-1.2.1/src/devflow_engine/devin_orchestration.py +69 -0
- devflow_engine-1.2.1/src/devflow_engine/error/__init__.py +0 -0
- devflow_engine-1.2.1/src/devflow_engine/error/remediation.py +21 -0
- devflow_engine-1.2.1/src/devflow_engine/errors/error_solver_dag.py +1345 -0
- devflow_engine-1.2.1/src/devflow_engine/errors/question_classifier.py +250 -0
- devflow_engine-1.2.1/src/devflow_engine/errors/repo_quality_judge.py +256 -0
- devflow_engine-1.2.1/src/devflow_engine/errors/runtime_observability.py +648 -0
- devflow_engine-1.2.1/src/devflow_engine/errors/user_report_fix.py +342 -0
- devflow_engine-1.2.1/src/devflow_engine/errors/vision.py +138 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/__init__.py +4 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/actors.py +609 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/agentic.py +465 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/analyze.py +93 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/devin_chat_dag.py +1 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/diff.py +99 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/drafts.py +446 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/idea_creation_dag.py +643 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/ideation_enrichment.py +355 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/ideation_enrichment_worker.py +19 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/paths.py +28 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/promote.py +53 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/redaction.py +27 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/repo_tools.py +1240 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/response_mode.py +30 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/story_pipeline.py +1592 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/sufficiency.py +376 -0
- devflow_engine-1.2.1/src/devflow_engine/idea/traditional_stories.py +1271 -0
- devflow_engine-1.2.1/src/devflow_engine/implementation/__init__.py +0 -0
- devflow_engine-1.2.1/src/devflow_engine/implementation/alembic_preflight.py +700 -0
- devflow_engine-1.2.1/src/devflow_engine/implementation/dag.py +8673 -0
- devflow_engine-1.2.1/src/devflow_engine/implementation/green_gate.py +93 -0
- devflow_engine-1.2.1/src/devflow_engine/implementation/prompts.py +93 -0
- devflow_engine-1.2.1/src/devflow_engine/implementation/test_runtime.py +623 -0
- devflow_engine-1.2.1/src/devflow_engine/integration/__init__.py +19 -0
- devflow_engine-1.2.1/src/devflow_engine/integration/agentic.py +66 -0
- devflow_engine-1.2.1/src/devflow_engine/integration/dag.py +3430 -0
- devflow_engine-1.2.1/src/devflow_engine/integration/prompts.py +99 -0
- devflow_engine-1.2.1/src/devflow_engine/integration/supabase_schema.sql +31 -0
- devflow_engine-1.2.1/src/devflow_engine/integration/supabase_sync.py +177 -0
- devflow_engine-1.2.1/src/devflow_engine/llm/__init__.py +1 -0
- devflow_engine-1.2.1/src/devflow_engine/llm/cli_one_shot.py +84 -0
- devflow_engine-1.2.1/src/devflow_engine/llm/cli_stream.py +371 -0
- devflow_engine-1.2.1/src/devflow_engine/llm/execution_context.py +26 -0
- devflow_engine-1.2.1/src/devflow_engine/llm/invoke.py +1445 -0
- devflow_engine-1.2.1/src/devflow_engine/llm/provider_api.py +446 -0
- devflow_engine-1.2.1/src/devflow_engine/orchestration.py +62 -0
- devflow_engine-1.2.1/src/devflow_engine/planning/__init__.py +0 -0
- devflow_engine-1.2.1/src/devflow_engine/planning/analyze_repo.py +92 -0
- devflow_engine-1.2.1/src/devflow_engine/planning/render_drafts.py +133 -0
- devflow_engine-1.2.1/src/devflow_engine/playground/__init__.py +0 -0
- devflow_engine-1.2.1/src/devflow_engine/playground/hooks.py +26 -0
- devflow_engine-1.2.1/src/devflow_engine/process/__init__.py +5 -0
- devflow_engine-1.2.1/src/devflow_engine/process/dag.py +64 -0
- devflow_engine-1.2.1/src/devflow_engine/project_registration/__init__.py +3 -0
- devflow_engine-1.2.1/src/devflow_engine/project_registration/dag.py +1581 -0
- devflow_engine-1.2.1/src/devflow_engine/project_registry.py +109 -0
- devflow_engine-1.2.1/src/devflow_engine/recovery/__init__.py +3 -0
- devflow_engine-1.2.1/src/devflow_engine/recovery/dag.py +2685 -0
- devflow_engine-1.2.1/src/devflow_engine/recovery/models.py +220 -0
- devflow_engine-1.2.1/src/devflow_engine/refactor.py +93 -0
- devflow_engine-1.2.1/src/devflow_engine/registry/__init__.py +1 -0
- devflow_engine-1.2.1/src/devflow_engine/registry/cards.py +238 -0
- devflow_engine-1.2.1/src/devflow_engine/registry/domain_normalize.py +60 -0
- devflow_engine-1.2.1/src/devflow_engine/registry/effects.py +65 -0
- devflow_engine-1.2.1/src/devflow_engine/registry/enforce_report.py +150 -0
- devflow_engine-1.2.1/src/devflow_engine/registry/module_cards_classify.py +164 -0
- devflow_engine-1.2.1/src/devflow_engine/registry/module_cards_draft.py +184 -0
- devflow_engine-1.2.1/src/devflow_engine/registry/module_cards_gate.py +59 -0
- devflow_engine-1.2.1/src/devflow_engine/registry/packages.py +347 -0
- devflow_engine-1.2.1/src/devflow_engine/registry/pathways.py +323 -0
- devflow_engine-1.2.1/src/devflow_engine/review/__init__.py +11 -0
- devflow_engine-1.2.1/src/devflow_engine/review/dag.py +588 -0
- devflow_engine-1.2.1/src/devflow_engine/review/review_story.py +67 -0
- devflow_engine-1.2.1/src/devflow_engine/scope_idea/__init__.py +3 -0
- devflow_engine-1.2.1/src/devflow_engine/scope_idea/agentic.py +39 -0
- devflow_engine-1.2.1/src/devflow_engine/scope_idea/dag.py +1069 -0
- devflow_engine-1.2.1/src/devflow_engine/scope_idea/models.py +175 -0
- devflow_engine-1.2.1/src/devflow_engine/skills/builtins/devflow/queue_failure_investigation/SKILL.md +112 -0
- devflow_engine-1.2.1/src/devflow_engine/skills/builtins/devflow/queue_idea_to_story/SKILL.md +120 -0
- devflow_engine-1.2.1/src/devflow_engine/skills/builtins/devflow/queue_integration/SKILL.md +105 -0
- devflow_engine-1.2.1/src/devflow_engine/skills/builtins/devflow/queue_recovery/SKILL.md +108 -0
- devflow_engine-1.2.1/src/devflow_engine/skills/builtins/devflow/queue_runtime_core/SKILL.md +155 -0
- devflow_engine-1.2.1/src/devflow_engine/skills/builtins/devflow/queue_story_implementation/SKILL.md +122 -0
- devflow_engine-1.2.1/src/devflow_engine/skills/builtins/devin/idea_to_story_handoff/SKILL.md +120 -0
- devflow_engine-1.2.1/src/devflow_engine/skills/builtins/devin/ideation/SKILL.md +168 -0
- devflow_engine-1.2.1/src/devflow_engine/skills/builtins/devin/ideation/state-and-phrasing-reference.md +18 -0
- devflow_engine-1.2.1/src/devflow_engine/skills/builtins/devin/insight/SKILL.md +22 -0
- devflow_engine-1.2.1/src/devflow_engine/skills/registry.example.yaml +42 -0
- devflow_engine-1.2.1/src/devflow_engine/source_doc_assumptions.py +291 -0
- devflow_engine-1.2.1/src/devflow_engine/source_doc_mutation_dag.py +1606 -0
- devflow_engine-1.2.1/src/devflow_engine/source_doc_mutation_eval.py +417 -0
- devflow_engine-1.2.1/src/devflow_engine/source_doc_mutation_worker.py +25 -0
- devflow_engine-1.2.1/src/devflow_engine/source_docs_schema.py +207 -0
- devflow_engine-1.2.1/src/devflow_engine/source_docs_updater.py +309 -0
- devflow_engine-1.2.1/src/devflow_engine/source_scope/__init__.py +15 -0
- devflow_engine-1.2.1/src/devflow_engine/source_scope/agentic.py +45 -0
- devflow_engine-1.2.1/src/devflow_engine/source_scope/dag.py +1626 -0
- devflow_engine-1.2.1/src/devflow_engine/source_scope/models.py +177 -0
- devflow_engine-1.2.1/src/devflow_engine/stores/__init__.py +0 -0
- devflow_engine-1.2.1/src/devflow_engine/stores/execution_store.py +4193 -0
- devflow_engine-1.2.1/src/devflow_engine/story/__init__.py +0 -0
- devflow_engine-1.2.1/src/devflow_engine/story/contracts.py +160 -0
- devflow_engine-1.2.1/src/devflow_engine/story/discovery.py +47 -0
- devflow_engine-1.2.1/src/devflow_engine/story/evidence.py +118 -0
- devflow_engine-1.2.1/src/devflow_engine/story/hashing.py +27 -0
- devflow_engine-1.2.1/src/devflow_engine/story/implemented_queue_purge.py +148 -0
- devflow_engine-1.2.1/src/devflow_engine/story/indexer.py +105 -0
- devflow_engine-1.2.1/src/devflow_engine/story/io.py +20 -0
- devflow_engine-1.2.1/src/devflow_engine/story/markdown_contracts.py +298 -0
- devflow_engine-1.2.1/src/devflow_engine/story/reconciliation.py +408 -0
- devflow_engine-1.2.1/src/devflow_engine/story/validate_stories.py +149 -0
- devflow_engine-1.2.1/src/devflow_engine/story/validate_tests_story.py +512 -0
- devflow_engine-1.2.1/src/devflow_engine/story/validation.py +133 -0
- devflow_engine-1.2.1/src/devflow_engine/story_validation.py +250 -0
- devflow_engine-1.2.1/src/devflow_engine/ui_grounding/__init__.py +11 -0
- devflow_engine-1.2.1/src/devflow_engine/ui_grounding/agentic.py +31 -0
- devflow_engine-1.2.1/src/devflow_engine/ui_grounding/dag.py +874 -0
- devflow_engine-1.2.1/src/devflow_engine/ui_grounding/models.py +224 -0
- devflow_engine-1.2.1/src/devflow_engine/ui_grounding/pencil_bridge.py +247 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/__init__.py +0 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/__init__.py +11 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/__init__.py +0 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/exceptions.py +9 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/nodes/__init__.py +0 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/nodes/agent.py +48 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/nodes/agent_streaming_node.py +26 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/nodes/base.py +89 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/nodes/concurrent.py +30 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/nodes/router.py +69 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/schema.py +72 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/task.py +52 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/validate.py +139 -0
- devflow_engine-1.2.1/src/devflow_engine/vendor/datalumina_genai/core/workflow.py +200 -0
- devflow_engine-1.2.1/src/devflow_engine/worker.py +1122 -0
- devflow_engine-1.2.1/src/devflow_engine/worker_guard.py +273 -0
- devflow_engine-1.2.1/src/devin/__init__.py +6 -0
- devflow_engine-1.2.1/src/devin/dag.py +58 -0
- devflow_engine-1.2.1/src/devin/dag_two_arm.py +138 -0
- devflow_engine-1.2.1/src/devin/devin_chat_scenario_catalog.json +588 -0
- devflow_engine-1.2.1/src/devin/devin_eval.py +677 -0
- devflow_engine-1.2.1/src/devin/nodes/__init__.py +0 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/__init__.py +0 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/node.py +195 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/playground.py +267 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/prompt.md +65 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/continue_refinement.py +13 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/continue_refinement_evals.py +18 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/idea_fits_existing_patterns.py +17 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/idea_fits_existing_patterns_evals.py +16 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/large_idea_split.py +4 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/large_idea_split_evals.py +17 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/source_documentation_added.py +4 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/source_documentation_added_evals.py +16 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/user_says_create_it.py +30 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/user_says_create_it_evals.py +23 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/vague_idea.py +16 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/scenarios/vague_idea_evals.py +47 -0
- devflow_engine-1.2.1/src/devin/nodes/ideation/tools.json +312 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/__init__.py +0 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/node.py +49 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/playground.py +154 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/prompt.md +61 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/architecture_pattern_query.py +15 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/architecture_pattern_query_evals.py +25 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/codebase_exploration.py +15 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/codebase_exploration_evals.py +23 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/devin_ideation_routing.py +19 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/devin_ideation_routing_evals.py +39 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/devin_insight_routing.py +20 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/devin_insight_routing_evals.py +40 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/operational_debugging.py +15 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/operational_debugging_evals.py +23 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/operational_question.py +9 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/operational_question_evals.py +8 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/queue_status.py +15 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/queue_status_evals.py +23 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/source_doc_explanation.py +14 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/source_doc_explanation_evals.py +21 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/worker_state_check.py +15 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/scenarios/worker_state_check_evals.py +22 -0
- devflow_engine-1.2.1/src/devin/nodes/insight/tools.json +126 -0
- devflow_engine-1.2.1/src/devin/nodes/intake/__init__.py +0 -0
- devflow_engine-1.2.1/src/devin/nodes/intake/node.py +27 -0
- devflow_engine-1.2.1/src/devin/nodes/intake/playground.py +47 -0
- devflow_engine-1.2.1/src/devin/nodes/intake/prompt.md +12 -0
- devflow_engine-1.2.1/src/devin/nodes/intake/scenarios/ideation_routing.py +4 -0
- devflow_engine-1.2.1/src/devin/nodes/intake/scenarios/ideation_routing_evals.py +5 -0
- devflow_engine-1.2.1/src/devin/nodes/intake/scenarios/insight_routing.py +4 -0
- devflow_engine-1.2.1/src/devin/nodes/intake/scenarios/insight_routing_evals.py +5 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/README.md +44 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/__init__.py +1 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/01-objectives-requirements.md +112 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/02-evals.md +131 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/03-tools-and-boundaries.md +110 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/04-harness-and-playground.md +32 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/05-prompt-deferred.md +11 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/coder_agent_design/01-objectives-requirements.md +20 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/coder_agent_design/02-evals.md +8 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/coder_agent_design/03-tools-and-boundaries.md +14 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/coder_agent_design/04-harness-and-playground.md +12 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/framer_agent_design/01-objectives-requirements.md +20 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/framer_agent_design/02-evals.md +8 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/framer_agent_design/03-tools-and-boundaries.md +13 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/framer_agent_design/04-harness-and-playground.md +12 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/iterator_agent_design/01-objectives-requirements.md +25 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/iterator_agent_design/02-evals.md +9 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/iterator_agent_design/03-tools-and-boundaries.md +14 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/iterator_agent_design/04-harness-and-playground.md +12 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/observer_agent_design/01-objectives-requirements.md +20 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/observer_agent_design/02-evals.md +8 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/observer_agent_design/03-tools-and-boundaries.md +14 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/_archived_design_stages/observer_agent_design/04-harness-and-playground.md +13 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/agent-roles.md +89 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/agents/README.md +10 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/artifacts.md +504 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/contract.md +100 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/eval-plan.md +74 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/node.py +100 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/pipeline/README.md +13 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/playground-contract.md +76 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/prompt.md +11 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/README.md +38 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/artifact-and-loop-scenarios.md +101 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/coder_artifact_alignment.py +32 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/coder_artifact_alignment_evals.py +45 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/coder_bounded_fix.py +27 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/coder_bounded_fix_evals.py +45 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/devin_iterate_routing.py +21 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/devin_iterate_routing_evals.py +36 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/framer_scope_boundary.py +25 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/framer_scope_boundary_evals.py +57 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/framer_task_framing.py +25 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/framer_task_framing_evals.py +58 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/iterate_error_fix.py +21 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/iterate_error_fix_evals.py +39 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/iterate_quick_change.py +21 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/iterate_quick_change_evals.py +35 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/iterate_to_idea_promotion.py +23 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/iterate_to_idea_promotion_evals.py +53 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/iterate_to_insight_reroute.py +23 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/iterate_to_insight_reroute_evals.py +53 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/observer_evidence_seam.py +28 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/observer_evidence_seam_evals.py +55 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/observer_repro_creation.py +28 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/observer_repro_creation_evals.py +45 -0
- devflow_engine-1.2.1/src/devin/nodes/iterate/scenarios/routing-matrix.md +45 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/__init__.py +0 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/filemaker_expert.md +80 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/filemaker_expert.py +354 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/filemaker_expert_eval/runner.py +176 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/filemaker_expert_eval/scenarios.json +65 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/goldilocks_advisor_eval/runner.py +214 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/goldilocks_advisor_eval/scenarios.json +58 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/helpers.py +156 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/idea_compliance_advisor_eval/runner.py +252 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/idea_compliance_advisor_eval/scenarios.json +75 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/models.py +44 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/post.py +40 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/router.py +107 -0
- devflow_engine-1.2.1/src/devin/nodes/shared/tools.py +191 -0
- devflow_engine-1.2.1/src/devin/shared/devin-chat-rubric.md +237 -0
- devflow_engine-1.2.1/src/devin/shared/devin-chat-scenario-suite.md +90 -0
- devflow_engine-1.2.1/src/devin/shared/eval_doctrine.md +9 -0
- devflow_engine-1.2.1/tests/area10_process_pipeline/test_devflow_insight_cli_red.py +234 -0
- devflow_engine-1.2.1/tests/area10_process_pipeline/test_df2_arch_1010_decisions_cli_red.py +71 -0
- devflow_engine-1.2.1/tests/area10_process_pipeline/test_df2_arch_1013_validate_architecture_red.py +67 -0
- devflow_engine-1.2.1/tests/area10_process_pipeline/test_df2_proc_1001_idea_story_dag_red.py +1322 -0
- devflow_engine-1.2.1/tests/area10_process_pipeline/test_df2_reg_1031_init_dedupe_strict_refactor_red.py +128 -0
- devflow_engine-1.2.1/tests/area10_process_pipeline/test_failure_recovery_dag.py +799 -0
- devflow_engine-1.2.1/tests/area10_process_pipeline/test_handoff_resume_and_recovery.py +182 -0
- devflow_engine-1.2.1/tests/area10_process_pipeline/test_pipeline_worker_e2e_integration.py +301 -0
- devflow_engine-1.2.1/tests/area10_process_pipeline/test_recovery_dag_model_tier.py +320 -0
- devflow_engine-1.2.1/tests/area10_process_pipeline/test_recovery_queue_normalization.py +603 -0
- devflow_engine-1.2.1/tests/area10_process_pipeline/test_worker_story_queue_red.py +990 -0
- devflow_engine-1.2.1/tests/area12_scope_idea/conftest.py +418 -0
- devflow_engine-1.2.1/tests/area12_scope_idea/test_scope_to_idea_dag.py +639 -0
- devflow_engine-1.2.1/tests/area13_source_scope/test_source_docs_to_scopes_dag.py +446 -0
- devflow_engine-1.2.1/tests/area13_source_scope/test_source_scope_cli_e2e.py +203 -0
- devflow_engine-1.2.1/tests/area13_source_scope/test_source_to_scope_dag.py +485 -0
- devflow_engine-1.2.1/tests/area14_ui_grounding/test_pencil_bridge.py +83 -0
- devflow_engine-1.2.1/tests/area14_ui_grounding/test_pencil_preflight_cli.py +38 -0
- devflow_engine-1.2.1/tests/area14_ui_grounding/test_ui_grounding_cli_e2e.py +103 -0
- devflow_engine-1.2.1/tests/area14_ui_grounding/test_ui_grounding_dag.py +296 -0
- devflow_engine-1.2.1/tests/area1_bootstrap/test_df2_boot_001_repo_bootstrap.py +109 -0
- devflow_engine-1.2.1/tests/area1_bootstrap/test_df2_boot_002_cli_surface.py +87 -0
- devflow_engine-1.2.1/tests/area1_bootstrap/test_df2_boot_003_config_hierarchy.py +91 -0
- devflow_engine-1.2.1/tests/area1_bootstrap/test_df2_boot_004_logging_baseline.py +69 -0
- devflow_engine-1.2.1/tests/area1_bootstrap/test_df2_boot_005_green_gate.py +52 -0
- devflow_engine-1.2.1/tests/area1_bootstrap/test_project_bootstrap_eval_scaffold.py +104 -0
- devflow_engine-1.2.1/tests/area2_projects/test_us2_10_project_init_registry_db_red.py +83 -0
- devflow_engine-1.2.1/tests/area5_planning_idea_tool/test_actor_label_guardrails.py +71 -0
- devflow_engine-1.2.1/tests/area5_planning_idea_tool/test_df2_idea_502_repo_analysis_capture_evidence_red.py +157 -0
- devflow_engine-1.2.1/tests/area5_planning_idea_tool/test_df2_idea_503_generate_drafts_per_plane_red.py +325 -0
- devflow_engine-1.2.1/tests/area5_planning_idea_tool/test_df2_idea_504_draft_storage_separation_red.py +118 -0
- devflow_engine-1.2.1/tests/area5_planning_idea_tool/test_df2_idea_505_promote_drafts_non_destructive_red.py +155 -0
- devflow_engine-1.2.1/tests/area5_planning_idea_tool/test_df2_idea_506_diff_review_stable_ids_red.py +185 -0
- devflow_engine-1.2.1/tests/area5_planning_idea_tool/test_dfe_command_1_ideation_sufficiency_red.py +373 -0
- devflow_engine-1.2.1/tests/area5_planning_idea_tool/test_dfe_command_2_traditional_user_story_generation_red.py +420 -0
- devflow_engine-1.2.1/tests/area5_planning_idea_tool/test_idea_repo_tools.py +648 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_alembic_preflight_normalization.py +462 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_620_genai_workflow_red.py +75 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_area6_red.py +2786 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_claude_permissions_flag.py +22 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_commit_refactor_fallback.py +35 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_commit_retains_devflow_refactor.py +9 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_devflow_cli_fallback.py +47 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_gitcommit_green_gate_fallback.py +77 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_gitcommit_refactor_harness.py +15 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_green_harness.py +52 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_green_prompt_packaging.py +394 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_mixed_runtime_bundles.py +2120 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_red_harness.py +136 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_red_preflight.py +104 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_red_prompt_contract.py +53 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_redreview_registration.py +674 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_refactor_attempt_prepares_enforce.py +29 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_refactor_command_usage.py +10 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_refactor_commit_flow.py +237 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_refactor_harness.py +17 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_refactor_prompt_packaging.py +189 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_security_harness.py +16 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_security_prompt_packaging.py +151 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_streaming_path_usage.py +11 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_df2_impl_validate_gates_red.py +102 -0
- devflow_engine-1.2.1/tests/area6_implementation_dag/test_validate_tests_story_scoped_red.py +465 -0
- devflow_engine-1.2.1/tests/area7_review/test_review_dag_red.py +238 -0
- devflow_engine-1.2.1/tests/area8_errors/test_df2_area7_failures_error_tasks_red.py +269 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_error_solver_commit_per_run.py +201 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_error_solver_dag_contract.py +380 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_error_solver_dag_fixing_red.py +179 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_error_solver_dag_journal.py +79 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_error_solver_dag_regression_context.py +89 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_error_solver_dag_verification_contract.py +57 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_error_solver_repo_quality.py +214 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_observability_gate_relaxation.py +266 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_portal_and_modification.py +192 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_question_classifier.py +195 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_terminal_workspace_cleanup.py +340 -0
- devflow_engine-1.2.1/tests/area8_errors/test_us85_ui_playwright_proof_gate.py +194 -0
- devflow_engine-1.2.1/tests/area9_playground/test_df2_play_908_node_preflight_json_red.py +163 -0
- devflow_engine-1.2.1/tests/area9_playground/test_df2_play_area9_red.py +350 -0
- devflow_engine-1.2.1/tests/cli/test_project_repo_binding.py +479 -0
- devflow_engine-1.2.1/tests/cli/test_refactor_cli_import.py +25 -0
- devflow_engine-1.2.1/tests/cli/test_repo_root_override.py +11 -0
- devflow_engine-1.2.1/tests/cli/test_story_execute_wrapper_run.py +107 -0
- devflow_engine-1.2.1/tests/cli/test_supabase_event_worker_cli.py +61 -0
- devflow_engine-1.2.1/tests/cli/test_supabase_realtime_listener.py +449 -0
- devflow_engine-1.2.1/tests/cli/test_worker_concurrent_start.py +182 -0
- devflow_engine-1.2.1/tests/cli/test_worker_kill_switch.py +107 -0
- devflow_engine-1.2.1/tests/cli/test_worker_start_modes.py +66 -0
- devflow_engine-1.2.1/tests/conftest.py +54 -0
- devflow_engine-1.2.1/tests/fixtures/backend_provision/provision_from_template.py +7 -0
- devflow_engine-1.2.1/tests/fixtures/source_doc_mutation/bootstrap_repo/README.md +16 -0
- devflow_engine-1.2.1/tests/fixtures/source_doc_mutation/bootstrap_repo/docs/overview.md +14 -0
- devflow_engine-1.2.1/tests/fixtures/source_doc_mutation/chi/assumptions_registry.json +3 -0
- devflow_engine-1.2.1/tests/fixtures/source_doc_mutation/chi/domain_entities.json +11 -0
- devflow_engine-1.2.1/tests/fixtures/source_doc_mutation/chi/product_brief.json +44 -0
- devflow_engine-1.2.1/tests/fixtures/source_doc_mutation/chi/user_workflows.json +23 -0
- devflow_engine-1.2.1/tests/fixtures/source_doc_mutation/scenarios.json +24 -0
- devflow_engine-1.2.1/tests/idea/test_actor_specificity_warning.py +79 -0
- devflow_engine-1.2.1/tests/idea/test_capability_first_story_decomposition.py +81 -0
- devflow_engine-1.2.1/tests/idea/test_story_pipeline_dfs_state.py +203 -0
- devflow_engine-1.2.1/tests/integration/test_integration_agentic.py +37 -0
- devflow_engine-1.2.1/tests/integration/test_integration_dag.py +555 -0
- devflow_engine-1.2.1/tests/integration/test_integration_dag_nodes.py +2944 -0
- devflow_engine-1.2.1/tests/integration/test_integration_prompt_loading.py +88 -0
- devflow_engine-1.2.1/tests/stores/test_idea_creation_queue.py +160 -0
- devflow_engine-1.2.1/tests/stores/test_integration_queue.py +347 -0
- devflow_engine-1.2.1/tests/test_agentic_prompt_loading.py +107 -0
- devflow_engine-1.2.1/tests/test_agentic_runtime.py +134 -0
- devflow_engine-1.2.1/tests/test_api_key_flow_harness.py +74 -0
- devflow_engine-1.2.1/tests/test_api_keys.py +190 -0
- devflow_engine-1.2.1/tests/test_area2_project_import_red.py +408 -0
- devflow_engine-1.2.1/tests/test_area2_project_import_remaining_red.py +459 -0
- devflow_engine-1.2.1/tests/test_area2_projects_red.py +270 -0
- devflow_engine-1.2.1/tests/test_area3_execution_store_logging_red.py +316 -0
- devflow_engine-1.2.1/tests/test_area4_story_system_red.py +347 -0
- devflow_engine-1.2.1/tests/test_devflow_event_worker.py +931 -0
- devflow_engine-1.2.1/tests/test_devflow_state_project_resolution.py +47 -0
- devflow_engine-1.2.1/tests/test_devin2_agent_definition.py +31 -0
- devflow_engine-1.2.1/tests/test_domain_normalize.py +16 -0
- devflow_engine-1.2.1/tests/test_dump_run_node_outputs.py +103 -0
- devflow_engine-1.2.1/tests/test_enforce_changed_filter.py +38 -0
- devflow_engine-1.2.1/tests/test_enforce_report_directives.py +51 -0
- devflow_engine-1.2.1/tests/test_error_solve_runtime_coder_path.py +99 -0
- devflow_engine-1.2.1/tests/test_error_task_failure_message_persisted.py +127 -0
- devflow_engine-1.2.1/tests/test_execution_store.py +11 -0
- devflow_engine-1.2.1/tests/test_execution_store_story_queue_red.py +1129 -0
- devflow_engine-1.2.1/tests/test_generic_task_queue.py +160 -0
- devflow_engine-1.2.1/tests/test_ideation_enrichment.py +81 -0
- devflow_engine-1.2.1/tests/test_implemented_story_queue_purge.py +322 -0
- devflow_engine-1.2.1/tests/test_llm_cli_one_shot.py +98 -0
- devflow_engine-1.2.1/tests/test_llm_cli_stream_journal_sqlite.py +104 -0
- devflow_engine-1.2.1/tests/test_llm_cli_stream_logging.py +62 -0
- devflow_engine-1.2.1/tests/test_llm_codex_invocation_regression.py +37 -0
- devflow_engine-1.2.1/tests/test_llm_invocation_audit.py +25 -0
- devflow_engine-1.2.1/tests/test_llm_invoke.py +1507 -0
- devflow_engine-1.2.1/tests/test_llm_provider_api.py +312 -0
- devflow_engine-1.2.1/tests/test_llm_provider_config.py +37 -0
- devflow_engine-1.2.1/tests/test_llm_tier_invocation.py +330 -0
- devflow_engine-1.2.1/tests/test_observability_evidence_contract.py +119 -0
- devflow_engine-1.2.1/tests/test_playground_source_doc_mutation_eval.py +52 -0
- devflow_engine-1.2.1/tests/test_prd_mutation_grounding.py +149 -0
- devflow_engine-1.2.1/tests/test_process_dag_imperative.py +71 -0
- devflow_engine-1.2.1/tests/test_project_registration_dag.py +131 -0
- devflow_engine-1.2.1/tests/test_project_registration_supabase_uuid.py +670 -0
- devflow_engine-1.2.1/tests/test_queue_project_id_resolution.py +39 -0
- devflow_engine-1.2.1/tests/test_quick_action_queue.py +73 -0
- devflow_engine-1.2.1/tests/test_refactor_llm_path.py +54 -0
- devflow_engine-1.2.1/tests/test_register_one_time.py +38 -0
- devflow_engine-1.2.1/tests/test_registry_cards_and_gate.py +54 -0
- devflow_engine-1.2.1/tests/test_registry_classify_module_cards_parser.py +34 -0
- devflow_engine-1.2.1/tests/test_registry_detect_pathways.py +87 -0
- devflow_engine-1.2.1/tests/test_registry_draft_module_cards.py +52 -0
- devflow_engine-1.2.1/tests/test_registry_draft_module_cards_effects.py +31 -0
- devflow_engine-1.2.1/tests/test_registry_effect_overlap.py +86 -0
- devflow_engine-1.2.1/tests/test_registry_gate_module_cards.py +46 -0
- devflow_engine-1.2.1/tests/test_registry_gate_unknown_strict.py +33 -0
- devflow_engine-1.2.1/tests/test_registry_import_scan_filters_stdlib_and_node_builtins.py +68 -0
- devflow_engine-1.2.1/tests/test_registry_llm_commands.py +183 -0
- devflow_engine-1.2.1/tests/test_registry_module_incremental_focus.py +26 -0
- devflow_engine-1.2.1/tests/test_registry_module_phase_and_apply.py +58 -0
- devflow_engine-1.2.1/tests/test_registry_scan_ignores_build_dirs.py +23 -0
- devflow_engine-1.2.1/tests/test_source_doc_mutation_acceptance.py +517 -0
- devflow_engine-1.2.1/tests/test_source_doc_mutation_dag.py +270 -0
- devflow_engine-1.2.1/tests/test_source_doc_mutation_eval.py +210 -0
- devflow_engine-1.2.1/tests/test_source_doc_mutation_real_eval.py +73 -0
- devflow_engine-1.2.1/tests/test_source_docs_updater.py +422 -0
- devflow_engine-1.2.1/tests/test_story_contracts.py +60 -0
- devflow_engine-1.2.1/tests/test_story_reconciliation.py +382 -0
- devflow_engine-1.2.1/tests/unit/__init__.py +0 -0
- devflow_engine-1.2.1/tests/unit/test_story_validation.py +191 -0
- devflow_engine-1.2.1/users.json +156 -0
- devflow_engine-1.2.1/uv.lock +692 -0
- devflow_engine-1.2.0/.gitignore +0 -8
- devflow_engine-1.2.0/PKG-INFO +0 -18
- devflow_engine-1.2.0/README.md +0 -5
- devflow_engine-1.2.0/pyproject.toml +0 -34
- devflow_engine-1.2.0/src/devflow_engine/__init__.py +0 -5
- devflow_engine-1.2.0/src/devflow_engine/agentic/__init__.py +0 -1
- devflow_engine-1.2.0/src/devflow_engine/agentic/service.py +0 -87
- devflow_engine-1.2.0/src/devflow_engine/agentic/tier_config.py +0 -87
- devflow_engine-1.2.0/src/devflow_engine/agentic/tier_verifier.py +0 -103
- devflow_engine-1.2.0/src/devflow_engine/auth/__init__.py +0 -3
- devflow_engine-1.2.0/src/devflow_engine/auth/keychain.py +0 -104
- devflow_engine-1.2.0/src/devflow_engine/cli/__init__.py +0 -1
- devflow_engine-1.2.0/src/devflow_engine/cli/app.py +0 -510
- devflow_engine-1.2.0/src/devflow_engine/core/__init__.py +0 -1
- devflow_engine-1.2.0/src/devflow_engine/core/dag.py +0 -307
- devflow_engine-1.2.0/src/devflow_engine/core/playground.py +0 -192
- devflow_engine-1.2.0/src/devflow_engine/error_story/__init__.py +0 -3
- devflow_engine-1.2.0/src/devflow_engine/error_story/dag.py +0 -427
- devflow_engine-1.2.0/src/devflow_engine/error_story/models.py +0 -81
- devflow_engine-1.2.0/src/devflow_engine/execution/__init__.py +0 -1
- devflow_engine-1.2.0/src/devflow_engine/execution/artifacts.py +0 -52
- devflow_engine-1.2.0/src/devflow_engine/execution/eval_runner.py +0 -1389
- devflow_engine-1.2.0/src/devflow_engine/execution/primitives.py +0 -322
- devflow_engine-1.2.0/src/devflow_engine/execution/store.py +0 -526
- devflow_engine-1.2.0/src/devflow_engine/execution/transitions.py +0 -159
- devflow_engine-1.2.0/src/devflow_engine/execution/types.py +0 -15
- devflow_engine-1.2.0/src/devflow_engine/execution/worker.py +0 -79
- devflow_engine-1.2.0/src/devflow_engine/idea/__init__.py +0 -5
- devflow_engine-1.2.0/src/devflow_engine/idea/dag.py +0 -18
- devflow_engine-1.2.0/src/devflow_engine/idea/models.py +0 -113
- devflow_engine-1.2.0/src/devflow_engine/idea/paths.py +0 -20
- devflow_engine-1.2.0/src/devflow_engine/idea/story_pipeline.py +0 -1075
- devflow_engine-1.2.0/src/devflow_engine/implementation/__init__.py +0 -1
- devflow_engine-1.2.0/src/devflow_engine/implementation/dag.py +0 -1046
- devflow_engine-1.2.0/src/devflow_engine/integration/__init__.py +0 -8
- devflow_engine-1.2.0/src/devflow_engine/integration/dag.py +0 -989
- devflow_engine-1.2.0/src/devflow_engine/llm/__init__.py +0 -1
- devflow_engine-1.2.0/src/devflow_engine/llm/http_transport.py +0 -115
- devflow_engine-1.2.0/src/devflow_engine/llm/provider_capabilities.py +0 -100
- devflow_engine-1.2.0/src/devflow_engine/llm/provider_service.py +0 -163
- devflow_engine-1.2.0/src/devflow_engine/llm/subscription_adapters.py +0 -213
- devflow_engine-1.2.0/src/devflow_engine/project/__init__.py +0 -3
- devflow_engine-1.2.0/src/devflow_engine/project/runtime.py +0 -73
- devflow_engine-1.2.0/src/devflow_engine/quick_action/__init__.py +0 -3
- devflow_engine-1.2.0/src/devflow_engine/quick_action/executor.py +0 -81
- devflow_engine-1.2.0/src/devflow_engine/quick_action/models.py +0 -66
- devflow_engine-1.2.0/src/devflow_engine/story/__init__.py +0 -3
- devflow_engine-1.2.0/src/devflow_engine/story/models.py +0 -68
- devflow_engine-1.2.0/src/devflow_engine/support/__init__.py +0 -15
- devflow_engine-1.2.0/src/devflow_engine/support/blocked.py +0 -43
- devflow_engine-1.2.0/src/devflow_engine/support/devin.py +0 -126
- devflow_engine-1.2.0/tests/__init__.py +0 -1
- devflow_engine-1.2.0/tests/error_solver_agentic_fakes.py +0 -60
- devflow_engine-1.2.0/tests/fixtures/__init__.py +0 -1
- devflow_engine-1.2.0/tests/fixtures/integration_playground_nodes.py +0 -47
- devflow_engine-1.2.0/tests/fixtures/playground_nodes.py +0 -69
- devflow_engine-1.2.0/tests/full_pipeline_agentic_fakes.py +0 -23
- devflow_engine-1.2.0/tests/idea_story_agentic_fakes.py +0 -113
- devflow_engine-1.2.0/tests/implementation_agentic_fakes.py +0 -153
- devflow_engine-1.2.0/tests/integration_agentic_fakes.py +0 -150
- devflow_engine-1.2.0/tests/test_agentic_service.py +0 -139
- devflow_engine-1.2.0/tests/test_agentic_tier_config.py +0 -99
- devflow_engine-1.2.0/tests/test_agentic_tier_verifier.py +0 -81
- devflow_engine-1.2.0/tests/test_blocked_handoff.py +0 -28
- devflow_engine-1.2.0/tests/test_cli_contract.py +0 -388
- devflow_engine-1.2.0/tests/test_core_primitive_input_models.py +0 -66
- devflow_engine-1.2.0/tests/test_dag_node_types.py +0 -177
- devflow_engine-1.2.0/tests/test_devin_handoff.py +0 -96
- devflow_engine-1.2.0/tests/test_error_solver_dag.py +0 -99
- devflow_engine-1.2.0/tests/test_execution_eval.py +0 -311
- devflow_engine-1.2.0/tests/test_execution_spine.py +0 -493
- devflow_engine-1.2.0/tests/test_http_provider_transport.py +0 -111
- devflow_engine-1.2.0/tests/test_idea_dag_core.py +0 -131
- devflow_engine-1.2.0/tests/test_idea_input_model.py +0 -64
- devflow_engine-1.2.0/tests/test_idea_story_pipeline.py +0 -90
- devflow_engine-1.2.0/tests/test_integration_dag.py +0 -289
- devflow_engine-1.2.0/tests/test_keychain_service.py +0 -87
- devflow_engine-1.2.0/tests/test_llm_provider_service.py +0 -200
- devflow_engine-1.2.0/tests/test_playground_harness.py +0 -133
- devflow_engine-1.2.0/tests/test_project_runtime.py +0 -55
- devflow_engine-1.2.0/tests/test_provider_capabilities.py +0 -38
- devflow_engine-1.2.0/tests/test_quick_action_executor.py +0 -88
- devflow_engine-1.2.0/tests/test_story_implementation_dag.py +0 -309
- devflow_engine-1.2.0/tests/test_subscription_adapters.py +0 -142
- devflow_engine-1.2.0/tests/test_worker_cli_e2e.py +0 -147
- devflow_engine-1.2.0/uv.lock +0 -599
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: devflow-enforce
|
|
2
|
+
on:
|
|
3
|
+
pull_request:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
jobs:
|
|
7
|
+
enforce:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@v4
|
|
11
|
+
with:
|
|
12
|
+
fetch-depth: 0
|
|
13
|
+
|
|
14
|
+
# Install DevFlow CLI (devflow-engine) from a separate repo.
|
|
15
|
+
# Set DEVFLOW_ENGINE_REPO as an org/repo string (e.g. Nuosis/devflow_engine).
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
repository: ${{ vars.DEVFLOW_ENGINE_REPO || 'Nuosis/devflow_engine' }}
|
|
19
|
+
path: devflow_engine
|
|
20
|
+
fetch-depth: 1
|
|
21
|
+
|
|
22
|
+
- uses: astral-sh/setup-uv@v3
|
|
23
|
+
|
|
24
|
+
- name: Install devflow CLI
|
|
25
|
+
run: |
|
|
26
|
+
uv pip install --system -e ./devflow_engine
|
|
27
|
+
|
|
28
|
+
- name: DevFlow enforce (report-only)
|
|
29
|
+
run: |
|
|
30
|
+
if [ "${GITHUB_EVENT_NAME}" = "push" ]; then
|
|
31
|
+
before="${{ github.event.before }}"
|
|
32
|
+
after="${{ github.sha }}"
|
|
33
|
+
changed=$(git diff --name-only "$before" "$after" | tr '\n' ' ')
|
|
34
|
+
devflow enforce --changed $changed
|
|
35
|
+
else
|
|
36
|
+
devflow enforce --root .
|
|
37
|
+
fi
|
|
38
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.pyo
|
|
5
|
+
|
|
6
|
+
# Virtualenvs
|
|
7
|
+
.venv/
|
|
8
|
+
|
|
9
|
+
# Tooling caches
|
|
10
|
+
.pytest_cache/
|
|
11
|
+
.mypy_cache/
|
|
12
|
+
.ruff_cache/
|
|
13
|
+
|
|
14
|
+
# DevFlow runtime
|
|
15
|
+
.devflow/
|
|
16
|
+
|
|
17
|
+
# Agent / tooling runtime logs
|
|
18
|
+
.debug.log
|
|
19
|
+
.tau/
|
|
20
|
+
|
|
21
|
+
# OS
|
|
22
|
+
.DS_Store
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: filemaker-expert
|
|
3
|
+
description: FileMaker database expert — reads DDR analysis artifacts and answers questions about schema, layouts, scripts, entities, user flows, and feature clusters
|
|
4
|
+
tools: read,grep,find,ls
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are a **FileMaker Database Expert** — a read-only research advisor.
|
|
8
|
+
|
|
9
|
+
You answer questions about FileMaker databases by reading pre-existing DDR (Database Design Report) analysis artifacts that were generated by the `ddr-docs` pipeline. You **do not run ddr-docs** — you only read artifacts that already exist.
|
|
10
|
+
|
|
11
|
+
## DDR Artifact Locations
|
|
12
|
+
|
|
13
|
+
For a database named `{database_name}_fmp12`, artifacts live in:
|
|
14
|
+
`{repo_root}/ai_docs/context/source_docs/ddr/{database_name}/`
|
|
15
|
+
|
|
16
|
+
Key artifacts to read:
|
|
17
|
+
- `01_schema_summary.md` — tables, fields, field types, calculations, auto-enter, IDs
|
|
18
|
+
- `05_layouts_summary.md` — layouts organized by table occurrence, object counts
|
|
19
|
+
- `03_scripts_summary.md` — scripts, folders, script steps
|
|
20
|
+
- `02_relationships_summary.md` — relationships graph
|
|
21
|
+
- `analysis/feature_clusters.json` — grouped capabilities with descriptions
|
|
22
|
+
- `analysis/user_flows_entry_points.json` — entry point patterns
|
|
23
|
+
- `analysis/cruft_summary.json` — code health (uncalled scripts, unreachable layouts)
|
|
24
|
+
|
|
25
|
+
Context files in `ai_docs/context/source_docs/`:
|
|
26
|
+
- `domain_entities.json`, `user_workflows.json`, `product_brief.json`
|
|
27
|
+
|
|
28
|
+
## How to Work
|
|
29
|
+
|
|
30
|
+
1. Determine which database(s) the question is about
|
|
31
|
+
2. Identify the DDR output directory for that database
|
|
32
|
+
3. Use `read` to read the relevant artifact files
|
|
33
|
+
4. Synthesize a response with specific names, counts, and structural facts
|
|
34
|
+
5. Return plain text — the primary agent will incorporate it
|
|
35
|
+
|
|
36
|
+
## Answer Style
|
|
37
|
+
|
|
38
|
+
- Be concrete: "Clean Sweep has 455 layouts across 115 tables, including Account Page (654 objects), My Page/Cleaner dashboards, and Inspection Form III (225 objects)"
|
|
39
|
+
- Use headers: ## Database Overview, ## Layouts, ## Scripts, ## Code Health
|
|
40
|
+
- If the artifacts don't cover something, say "not in DDR analysis" and describe what's available
|
|
41
|
+
- Do not speculate — if it's not in the files, say so
|
|
42
|
+
- Prefer `read` over `grep` for artifact content; use `grep` only when searching across multiple files
|
|
43
|
+
|
|
44
|
+
## Constraints
|
|
45
|
+
|
|
46
|
+
- Do NOT run ddr-docs or any analysis pipeline
|
|
47
|
+
- Do NOT write or modify any files
|
|
48
|
+
- Do not answer questions outside the FileMaker database domain
|
|
49
|
+
- Do not use bash/shell tools — only read,grep,find,ls
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: goldilocks-advisor
|
|
3
|
+
description: Story scoping guard — evaluates whether a shaped idea produces a well-scoped story count (not too big, not too small)
|
|
4
|
+
tools: read,grep,find,ls
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are a **Goldilocks Advisor** — a read-only story-scoping evaluator.
|
|
8
|
+
|
|
9
|
+
After an idea is shaped, you estimate how many stories it would produce and whether the scope is appropriate.
|
|
10
|
+
|
|
11
|
+
## Thresholds
|
|
12
|
+
|
|
13
|
+
| Story Estimate | Verdict |
|
|
14
|
+
|---|---|
|
|
15
|
+
| 0–1 stories | `enrichment_needed` — idea is too thin |
|
|
16
|
+
| 2–20 stories | `just_right` — well-scoped |
|
|
17
|
+
| 21+ stories | `split` — idea is too large, should be split |
|
|
18
|
+
|
|
19
|
+
## How to Work
|
|
20
|
+
|
|
21
|
+
1. Read the shaped idea text from the context block
|
|
22
|
+
2. Examine the codebase area(s) the idea touches
|
|
23
|
+
3. Estimate story count based on:
|
|
24
|
+
- Number of distinct behavioral changes
|
|
25
|
+
- Number of separate modules/screens/workflows affected
|
|
26
|
+
- Testing surface area
|
|
27
|
+
4. Identify natural split points if estimate > 20
|
|
28
|
+
5. Identify enrichment gaps if estimate < 2
|
|
29
|
+
|
|
30
|
+
## Context Block
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Context: repo_root=<repo_root>, project_id=<project_id>, idea_id=<idea_id>
|
|
34
|
+
|
|
35
|
+
Shaped Idea:
|
|
36
|
+
<idea_text>
|
|
37
|
+
|
|
38
|
+
Question: Estimate story count and evaluate scoping
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Output Schema
|
|
42
|
+
|
|
43
|
+
Return a JSON object:
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"verdict": "just_right | split | enrichment_needed",
|
|
47
|
+
"story_estimate": <integer>,
|
|
48
|
+
"cohesive_area": "<one sentence describing the primary area this idea covers>",
|
|
49
|
+
"split_suggestions": [
|
|
50
|
+
{
|
|
51
|
+
"sub_idea": "<name for split chunk>",
|
|
52
|
+
"rationale": "<why this should be separate>",
|
|
53
|
+
"estimated_stories": <integer>
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"enrichment_gaps": [
|
|
57
|
+
"<specific missing context or detail needed to make the idea actionable>"
|
|
58
|
+
],
|
|
59
|
+
"reasoning": "<brief explanation of estimate>"
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Constraints
|
|
64
|
+
|
|
65
|
+
- Do NOT write or modify any files
|
|
66
|
+
- Do NOT generate stories — only estimate count
|
|
67
|
+
- Be conservative: when in doubt, err toward `enrichment_needed`
|
|
68
|
+
- `split` does not mean "bad" — it means the idea needs decomposition before entering the pipeline
|
|
69
|
+
- `just_right` means the idea fits cleanly in one sprint or iteration window
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Idea Compliance Advisor
|
|
3
|
+
description: Read-only compliance evaluator for shaped ideas. Checks ideas against codebase structure, existing stories, existing ideas, and naming conventions. Returns a structured verdict with specific rule violations.
|
|
4
|
+
version: 1.3
|
|
5
|
+
tools:
|
|
6
|
+
- read
|
|
7
|
+
- grep
|
|
8
|
+
- find
|
|
9
|
+
- ls
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
You are the **Idea Compliance Advisor** — a read-only evaluator that checks whether a shaped idea is compliant with a project's architecture, tooling, and existing work.
|
|
13
|
+
|
|
14
|
+
## Rules (in order)
|
|
15
|
+
|
|
16
|
+
You evaluate **five independent gates**. All five must pass for COMPLIANT. Any single failure triggers the corresponding verdict.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
### Gate 1 — Architecture Fit (HARD: NON_COMPLIANT if violated)
|
|
21
|
+
|
|
22
|
+
The idea must fit the stated type/purpose of the project. Architecture violation means the idea requires building something fundamentally at odds with what the project is.
|
|
23
|
+
|
|
24
|
+
**Examples of violation:**
|
|
25
|
+
- Adding a billing/invoice system to a CLI chat companion
|
|
26
|
+
- Adding a React dashboard to a pure backend service
|
|
27
|
+
- Adding WebSocket real-time features to a project whose runtime is synchronous and has no event loop
|
|
28
|
+
|
|
29
|
+
**"Clearly articulated by the user"** is the ONLY exception. If the idea text explicitly states a new architecture direction (e.g., "we will add a React frontend"), it clears this gate. Silence is not permission — the idea text must say it.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### Gate 2 — Method/Component Fit (Three Tiers)
|
|
34
|
+
|
|
35
|
+
**Tier 1 — COMPLIANT:**
|
|
36
|
+
Idea uses only existing modules, services, and packages already in the codebase — OR it introduces a new capability that:
|
|
37
|
+
1. Does not replicate an existing pattern in the codebase
|
|
38
|
+
2. Is justified by the idea's stated purpose
|
|
39
|
+
3. Requires no new external package, OR the idea text explicitly names it
|
|
40
|
+
|
|
41
|
+
**Tier 2 — NEEDS_REVIEW:**
|
|
42
|
+
Idea requires a new external package not currently in `pyproject.toml`, and the idea text does not name it. However, it does **not** replicate an existing pattern — it's a genuinely new domain for the project. The idea is not wrong, just needs human verification before commitment.
|
|
43
|
+
*Advisor action: In issues, name the package that would be needed and note the justification observed from the idea text.*
|
|
44
|
+
|
|
45
|
+
**Tier 3 — NON_COMPLIANT:**
|
|
46
|
+
Idea requires a new external package that **replicates an existing pattern** already in the codebase. Examples: Adding PostgreSQL when SQLite is already in use; Adding Redis when a different caching approach already exists; Adding Stripe when another payment provider is already integrated.
|
|
47
|
+
|
|
48
|
+
**"Clearly directed otherwise"** means the idea text must explicitly name the new package. If the idea assumes a new package without naming it, Tier 2 applies (NEEDS_REVIEW, not NON_COMPLIANT) — unless the package would replicate an existing pattern, in which case Tier 3 applies.
|
|
49
|
+
|
|
50
|
+
**Key distinction:** "replicates an existing pattern" means the project already has a solution for this problem type. A new NLP/sentiment package for a companion chat does not replicate an existing pattern — it extends into a new domain the project hasn't tackled yet.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### Gate 3 — No Direct Story Duplication (HARD: NON_COMPLIANT if violated)
|
|
55
|
+
|
|
56
|
+
If existing stories in the queue already implement the same outcome, this gate fails.
|
|
57
|
+
|
|
58
|
+
- **"Direct duplication"** = same user-visible outcome
|
|
59
|
+
- **Sub-feature overlap** = NEEDS_REVIEW, not NON_COMPLIANT
|
|
60
|
+
- **Indirect reuse** = not duplication
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
### Gate 4 — No Direct Idea Collision (HARD: NON_COMPLIANT if violated)
|
|
65
|
+
|
|
66
|
+
If a committed idea already covers the same ground with the same implementation approach, this gate fails. Adjacent territory or related but distinct capability = NEEDS_REVIEW.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
### Gate 5 — Naming Collision (SOFT: NEEDS_REVIEW if violated)
|
|
71
|
+
|
|
72
|
+
A naming collision exists if the idea introduces a module, function, class, or identifier whose name would conflict with an existing name in the codebase or a pending story/idea.
|
|
73
|
+
|
|
74
|
+
- Naming collision alone is NOT NON_COMPLIANT — it is NEEDS_REVIEW
|
|
75
|
+
- The collision must be documented so the team can rename before commitment
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Verdict Definitions
|
|
80
|
+
|
|
81
|
+
| Verdict | Meaning |
|
|
82
|
+
|---|---|
|
|
83
|
+
| **COMPLIANT** | Clears all five gates. Tier 1 on Gate 2. The idea fits, uses only existing components or introduces a genuinely new domain with an explicitly named package, has no duplication, no naming issues. |
|
|
84
|
+
| **NEEDS_REVIEW** | Gate 2 resolves at Tier 2 (new package needed, not named but not duplicating existing patterns), OR one of Gates 3/4/5 produced an ambiguous/borderline result. This is NOT a failure — it is the advisor requesting human input. See issues list. |
|
|
85
|
+
| **NON_COMPLIANT** | Gate 1 is violated, OR Gate 2 resolves at Tier 3 (package replicates existing pattern), OR Gate 3 or 4 is a hard duplication. The idea must be reframed before commitment. |
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Context Block
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Context: repo_root=<repo_root>, project_id=<project_id>, idea_id=<idea_id>
|
|
93
|
+
|
|
94
|
+
Shaped Idea:
|
|
95
|
+
<idea_text>
|
|
96
|
+
|
|
97
|
+
Question: Is this idea compliant?
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Output Schema
|
|
101
|
+
|
|
102
|
+
Return a JSON object:
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"verdict": "COMPLIANT | NEEDS_REVIEW | NON_COMPLIANT",
|
|
107
|
+
"gate_1_architecture": {
|
|
108
|
+
"status": "pass | fail",
|
|
109
|
+
"notes": "<what you found>"
|
|
110
|
+
},
|
|
111
|
+
"gate_2_methods": {
|
|
112
|
+
"status": "pass | needs_review | fail",
|
|
113
|
+
"tier": "1 | 2 | 3",
|
|
114
|
+
"notes": "<existing components used or what is needed and why>"
|
|
115
|
+
},
|
|
116
|
+
"gate_3_story_dup": {
|
|
117
|
+
"status": "pass | fail",
|
|
118
|
+
"notes": "<existing stories found or none>"
|
|
119
|
+
},
|
|
120
|
+
"gate_4_idea_dup": {
|
|
121
|
+
"status": "pass | fail",
|
|
122
|
+
"notes": "<existing ideas found or none>"
|
|
123
|
+
},
|
|
124
|
+
"gate_5_naming": {
|
|
125
|
+
"status": "pass | needs_review",
|
|
126
|
+
"notes": "<collisions found or none>"
|
|
127
|
+
},
|
|
128
|
+
"issues": [
|
|
129
|
+
"<specific issue description for each non-pass gate>"
|
|
130
|
+
],
|
|
131
|
+
"summary": "<one sentence verdict rationale>"
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Constraints
|
|
136
|
+
|
|
137
|
+
- Do NOT write or modify any files
|
|
138
|
+
- Do NOT generate stories or implementation plans
|
|
139
|
+
- If you are unsure whether a gate is violated, default to the softer verdict (needs_review for Gate 2, pass for Gates 1/3/4)
|
|
140
|
+
- "Clearly directed otherwise" must be verifiable from the idea text alone — do not assume intent
|
|
141
|
+
- Be specific in issue descriptions: name the conflicting component, package, or architectural pattern
|
|
142
|
+
- NEEDS_REVIEW is a request for human input — it is not a refusal
|
|
143
|
+
- A new method on an existing service = Tier 1 (COMPLIANT on Gate 2), NOT needs_review
|
|
144
|
+
- A new external package that extends into a genuinely new domain (not replicating existing patterns) = Tier 2 (NEEDS_REVIEW)
|
|
145
|
+
- A new external package that replicates an existing pattern already in the codebase = Tier 3 (NON_COMPLIANT)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
null
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# DevFlow Error-Solver Hardening — Design Notes
|
|
2
|
+
|
|
3
|
+
Track A landed in `v1.1.18`:
|
|
4
|
+
- `errors/repo_quality_judge.py` — pure-LLM judge (medium tier → MiniMax) scoring
|
|
5
|
+
repro artifacts on `behavioral_vs_presence` and `fails_for_described_reason`.
|
|
6
|
+
- `BuildObservabilityNode` runs the judge after the observation pass and before
|
|
7
|
+
`FirstPassFix`. Unhealthy judgments flip `error_tasks.quality_status` to
|
|
8
|
+
`awaiting_quality_review` and stop the workflow with `status='observed'`.
|
|
9
|
+
- `ResolveNode` enforces the red-before-fix invariant: `verified =
|
|
10
|
+
green_gate AND observation_was_red`. Closes the "already-green-at-intake" leak
|
|
11
|
+
(`src/devflow_engine/errors/error_solver_dag.py` ResolveNode).
|
|
12
|
+
- Schema: added `error_tasks.quality_status TEXT` via
|
|
13
|
+
`ExecutionStore._ensure_error_tasks_schema` (in-code migration, no Alembic).
|
|
14
|
+
|
|
15
|
+
The rest of this document is the queue for the NEXT vertical slices. Each
|
|
16
|
+
slice is intentionally small enough to land in one PR.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Slice 1 — Playwright proof-artifact pipeline (validated end-to-end 2026-05-25)
|
|
21
|
+
|
|
22
|
+
**Status:** validated by manual PoC against chi-webapp staging on 2026-05-25.
|
|
23
|
+
The PoC's `manager-invite-error-detail.spec.ts` ran against
|
|
24
|
+
`admin.staging.culturehealth.com`, captured `m2-filled-form.png +
|
|
25
|
+
m4-after-second-submit.png + video.webm + trace.zip`, and the post-submit
|
|
26
|
+
toast displayed the actual backend response detail (`"Not a member of this
|
|
27
|
+
organization"`) instead of the pre-fix fallback (`"Couldn't send invitation."`).
|
|
28
|
+
That validates both the artifact shape AND the underlying fix.
|
|
29
|
+
|
|
30
|
+
**Why:** The repo-quality judge catches presence-only repros at intake, but
|
|
31
|
+
it doesn't yet generate a visual behavioral artifact. For UI bugs the engine
|
|
32
|
+
should emit a Playwright spec + recorded video + before/after screenshots so
|
|
33
|
+
the portal can render visual proof the fix works.
|
|
34
|
+
|
|
35
|
+
**Sources of truth on Playwright discipline:**
|
|
36
|
+
- `/Volumes/devflow/.openclaw/workspace/docs/how_to_playwright_right.md`
|
|
37
|
+
- `/Volumes/devflow/.openclaw/workspace/docs/PLAYWRITE-E2E-PROCESS.md`
|
|
38
|
+
- PoC reference implementation: `/Users/marcusswift/proof-poc/` (kept around
|
|
39
|
+
as the canonical example of fixture wiring + auth setup + spec shape)
|
|
40
|
+
|
|
41
|
+
### Net-new infrastructure required
|
|
42
|
+
|
|
43
|
+
**1. Per-project `fixtures.yaml`** committed to repo at `.devflow/fixtures.yaml`.
|
|
44
|
+
Captures the seed knowledge the spec generator needs and is currently
|
|
45
|
+
hand-crafted per PoC. Schema:
|
|
46
|
+
```yaml
|
|
47
|
+
staging:
|
|
48
|
+
portal_base_url: https://admin.staging.culturehealth.com
|
|
49
|
+
alt_portal_base_urls:
|
|
50
|
+
customer_portal: https://portal.staging.culturehealth.com
|
|
51
|
+
auth:
|
|
52
|
+
strategy: form_login # form_login | api_token | header_token
|
|
53
|
+
login_path: /login
|
|
54
|
+
email_field_label: Email
|
|
55
|
+
password_field_label: Password
|
|
56
|
+
submit_button_name: /sign in|log in/i
|
|
57
|
+
storage_state_path: .auth/state.json
|
|
58
|
+
test_credentials:
|
|
59
|
+
email_secret: tenant.<uuid>.devflow_host.proof.chi_staging.email
|
|
60
|
+
password_secret: tenant.<uuid>.devflow_host.proof.chi_staging.password
|
|
61
|
+
# secrets resolved at run time via clarity_secrets.get_secret
|
|
62
|
+
seed_data:
|
|
63
|
+
organizations:
|
|
64
|
+
- id: e480c2a4-0ba2-4955-b8e6-4cf32bb05763 # Demo Corporation
|
|
65
|
+
groups:
|
|
66
|
+
- id: 5b1453ab-f22e-4d60-88db-e82576f0aabb
|
|
67
|
+
name: Sales
|
|
68
|
+
test_email_prefix: proof-test+ # prefix the spec uses for ephemeral test data
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**2. One-time test-account seeder** — replaces the ad-hoc procedure I ran on
|
|
72
|
+
2026-05-25 (canonical + role-alias user creation + password into
|
|
73
|
+
`internal.secrets`). Should become a CLI:
|
|
74
|
+
```
|
|
75
|
+
devflow project init-test-account --project chi-webapp --portal admin --role admin
|
|
76
|
+
```
|
|
77
|
+
Implementation: wraps `commands/create_proof_user.py` +
|
|
78
|
+
`create_proof_alias.py` (templates from `/Users/marcusswift/proof-poc/scripts/`
|
|
79
|
+
when this slice lands), generates a 32-char password, stores under
|
|
80
|
+
`tenant.<uuid>.devflow_host.proof.<project>.{email,password}` in
|
|
81
|
+
`internal.secrets`, writes the result into the project's `.devflow/fixtures.yaml`
|
|
82
|
+
auth block.
|
|
83
|
+
|
|
84
|
+
**3. Playwright observability module** (engine-side, peer of existing pytest one):
|
|
85
|
+
- File: `src/devflow_engine/errors/user_report_observability_playwright.py`
|
|
86
|
+
- Pi-agent-driven generation of `repro.spec.ts` seeded with:
|
|
87
|
+
- The app surface route from `report_context.page_url`
|
|
88
|
+
- Source of the relevant React component (already in workspace)
|
|
89
|
+
- Expected behavior from observability summary
|
|
90
|
+
- Seed data from `.devflow/fixtures.yaml`
|
|
91
|
+
- Persists to `.devflow/observability/{etid}/repro.spec.ts`
|
|
92
|
+
|
|
93
|
+
**4. Playwright execution node** (engine-side):
|
|
94
|
+
- New node in `error_solver_dag.py` that runs after the existing repro
|
|
95
|
+
green-gate passes (i.e. unit/integration test is green) but before
|
|
96
|
+
ResolveNode commits.
|
|
97
|
+
- Spawns `npx playwright test repro.spec.ts --reporter=null` from inside a
|
|
98
|
+
bootstrapped `node_modules` (see #7 for image bake).
|
|
99
|
+
- Captures `video.webm`, `before.png`, `after.png`, `trace.zip` to
|
|
100
|
+
`.devflow/observability/{etid}/proof/`.
|
|
101
|
+
- On failure: persists trace, sets new column `proof_status='failed'` (add to
|
|
102
|
+
`_ensure_error_tasks_schema`), block ResolveNode from committing.
|
|
103
|
+
|
|
104
|
+
**5. Portal artifact-serving + template update**:
|
|
105
|
+
- `controller/api/bugs.py`: new `GET /bugs/{token}/artifact/{filename}`
|
|
106
|
+
(token-authed, returns file from
|
|
107
|
+
`.devflow/observability/{etid}/proof/`, with mime-type
|
|
108
|
+
detection). Whitelist filenames against the proof dir to prevent traversal.
|
|
109
|
+
- `controller/templates/bugs/view.html.j2`: when `proof/` exists for the row,
|
|
110
|
+
render `<video controls src="/bugs/{token}/artifact/session.webm">` plus
|
|
111
|
+
`<img src=".../before.png">` / `<img src=".../after.png">` thumbnails.
|
|
112
|
+
|
|
113
|
+
**6. Surface-routing decision** in `BuildObservabilityNode`:
|
|
114
|
+
```python
|
|
115
|
+
def _picks_playwright(report_context):
|
|
116
|
+
app_surface = report_context.get("app_surface") or ""
|
|
117
|
+
page_url = report_context.get("page_url") or ""
|
|
118
|
+
frontend_slugs = {"chi-webapp-admin-frontend", "chi-webapp-customer-portal", ...}
|
|
119
|
+
if app_surface in frontend_slugs: return True
|
|
120
|
+
if any(page_url.startswith(p) for p in ("http", "/")): return True
|
|
121
|
+
return False
|
|
122
|
+
```
|
|
123
|
+
If True → call Playwright module; else → existing pytest module.
|
|
124
|
+
|
|
125
|
+
**7. Engine image bake** (`images/engine.Dockerfile`):
|
|
126
|
+
```
|
|
127
|
+
RUN apt-get install -y nodejs npm
|
|
128
|
+
RUN npm install -g playwright@1.49 && playwright install chromium --with-deps
|
|
129
|
+
```
|
|
130
|
+
~150 MB image growth; saves 30 s/run vs on-demand install.
|
|
131
|
+
|
|
132
|
+
### Acceptance
|
|
133
|
+
|
|
134
|
+
- A user-report against a frontend route renders `.spec.ts` + `video.webm` +
|
|
135
|
+
`before.png` + `after.png` + `trace.zip` under
|
|
136
|
+
`.devflow/observability/{etid}/proof/`.
|
|
137
|
+
- The submitter's RESOLVED email's portal link shows the video and
|
|
138
|
+
screenshots inline.
|
|
139
|
+
- The PoC `manager-invite-error-detail.spec.ts` translates 1:1 — its only
|
|
140
|
+
hand-coded bits (ORG_ID, group name) come from `.devflow/fixtures.yaml`,
|
|
141
|
+
its auth comes from the seeded test account.
|
|
142
|
+
|
|
143
|
+
### Effort estimate
|
|
144
|
+
|
|
145
|
+
~10-15 hours focused work for one background agent. Gating dependency is
|
|
146
|
+
`.devflow/fixtures.yaml` (#1) — until each project has one, the generator
|
|
147
|
+
must fall back to LLM-guessed seed data, which the PoC showed is risky
|
|
148
|
+
(membership errors leak into the assertion).
|
|
149
|
+
|
|
150
|
+
### Implementation timing
|
|
151
|
+
|
|
152
|
+
**Do NOT launch the background agent until the 2026-05-25 rerun drain
|
|
153
|
+
completes** — concurrent engine changes during a 40-row drain caused the
|
|
154
|
+
afternoon's failure cascade. Wait for drain → review the manual proof
|
|
155
|
+
artifacts produced for each resolution (used as live abstraction-validation
|
|
156
|
+
data) → THEN dispatch the implementation agent with the accumulated
|
|
157
|
+
learning from those manual runs.
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Slice 2 — Bug-portal routes `/bugs/{token}` on devflow-host
|
|
162
|
+
|
|
163
|
+
**Why:** Submitters need to see (and respond to) the analyst's observation +
|
|
164
|
+
repro + quality-judgment without an account. Mirrors the clarify magic-link
|
|
165
|
+
pattern that's already in production for clarification questions.
|
|
166
|
+
|
|
167
|
+
**Where to start:**
|
|
168
|
+
- Mirror the controller pattern at
|
|
169
|
+
`controller/api/clarify.py` (in the devflow-host repo, not engine).
|
|
170
|
+
- Token mechanism: reuse `clarification_links.create_link()` —
|
|
171
|
+
same TTL/rotation semantics already approved.
|
|
172
|
+
- Engine side: add a `create_bug_portal_link(error_task_id)` helper next to
|
|
173
|
+
the existing clarification-link helper. New rows in the existing
|
|
174
|
+
`clarification_links` table with a discriminator column, OR a new
|
|
175
|
+
`bug_portal_links` table — prefer the former to keep the token rotation
|
|
176
|
+
audit in one place.
|
|
177
|
+
- Portal routes (devflow-host):
|
|
178
|
+
- `GET /bugs/{token}` — render observation summary, repro source, judgment.
|
|
179
|
+
- `POST /bugs/{token}/request-changes` — see Slice 3.
|
|
180
|
+
- `POST /bugs/{token}/approve` — see Slice 4.
|
|
181
|
+
|
|
182
|
+
**Acceptance:**
|
|
183
|
+
- A user-report row with `quality_status='awaiting_quality_review'` exposes a
|
|
184
|
+
portal URL in `error_tasks` (new column `portal_url` or derived).
|
|
185
|
+
- Submitter sees the repro and the judge's rationale; can act on it.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Slice 3 — Modification-request → linked-new error_task
|
|
190
|
+
|
|
191
|
+
**Why:** When a submitter clicks "request changes" on the portal, that's new
|
|
192
|
+
information the analyst doesn't have yet. Spawn a new `error_tasks` row linked
|
|
193
|
+
back to the original so the analyst pool re-claims it cleanly without losing
|
|
194
|
+
the original audit trail.
|
|
195
|
+
|
|
196
|
+
**Where to start:**
|
|
197
|
+
- New schema column: `error_tasks.parent_error_task_id TEXT` (NULL for roots).
|
|
198
|
+
Add to `ExecutionStore._ensure_error_tasks_schema` required list. Index on it
|
|
199
|
+
for `WHERE parent_error_task_id = ?` lookups.
|
|
200
|
+
- Engine helper: `ExecutionStore.create_modification_request(parent_etid,
|
|
201
|
+
message)` — inserts a child row with `source_kind='user_report'`,
|
|
202
|
+
`status='open'`, copies `project_id` + `reporter_*` + `source_app` from
|
|
203
|
+
parent, message = submitter's modification request, fingerprint derived
|
|
204
|
+
from `parent_etid + nonce` to bypass dedupe.
|
|
205
|
+
- Portal handler `POST /bugs/{token}/request-changes` calls that helper.
|
|
206
|
+
- Worker claim filter (`stores/execution_store.py` ~ line 2461 / 2478) does
|
|
207
|
+
NOT need changes — child rows are plain `open` user_report rows.
|
|
208
|
+
|
|
209
|
+
**Acceptance:**
|
|
210
|
+
- Submitter modification creates a sibling row visible to the analyst with a
|
|
211
|
+
link back to the original via `parent_error_task_id`.
|
|
212
|
+
- Original row's `quality_status` remains; child gets its own DAG run.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Slice 4 — Submitter-approval → staging push integration
|
|
217
|
+
|
|
218
|
+
**Why:** After RepoQualityJudge + green-gate + observation_was_red all pass,
|
|
219
|
+
the resolution commit lives in the worker's local repo but doesn't reach
|
|
220
|
+
staging until a human approves. The portal `approve` button should be the
|
|
221
|
+
trigger.
|
|
222
|
+
|
|
223
|
+
**Where to start:**
|
|
224
|
+
- The commit is already created by `_commit_resolution` in
|
|
225
|
+
`errors/error_solver_dag.py` (lines 179–224). The SHA is persisted to
|
|
226
|
+
`task_context.metadata["commit_result"]`. Extend ResolveNode to also write
|
|
227
|
+
the SHA into `error_tasks.resolution_commit_sha TEXT` (new column).
|
|
228
|
+
- Portal handler `POST /bugs/{token}/approve`:
|
|
229
|
+
1. Look up `resolution_commit_sha` on the row.
|
|
230
|
+
2. `git push origin HEAD:refs/heads/staging-<etid>` from the worker's repo
|
|
231
|
+
clone (engine-side helper: `push_resolution_to_staging(etid)`).
|
|
232
|
+
3. Optionally open a PR via `gh pr create` against the project's main.
|
|
233
|
+
- New `error_tasks.staging_status TEXT` column to track
|
|
234
|
+
`unpushed | pushed | pr_open | merged | rejected`.
|
|
235
|
+
|
|
236
|
+
**Acceptance:**
|
|
237
|
+
- Approval pushes exactly the resolution commit (single-commit branch) to
|
|
238
|
+
staging.
|
|
239
|
+
- Rejection leaves the commit local and flips
|
|
240
|
+
`quality_status='awaiting_quality_review'` so a fresh analyst pass can
|
|
241
|
+
iterate.
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Anchors quick-reference
|
|
246
|
+
|
|
247
|
+
- Engine DAG entrypoint: `src/devflow_engine/errors/error_solver_dag.py`
|
|
248
|
+
- `BuildObservabilityNode.process` — observation + RepoQualityJudge
|
|
249
|
+
- `ResolveNode.process` — red-before-fix invariant + commit
|
|
250
|
+
- `_commit_resolution` — atomic per-error commit (existing)
|
|
251
|
+
- Schema migrations: `src/devflow_engine/stores/execution_store.py`
|
|
252
|
+
`_ensure_error_tasks_schema` (~ line 611)
|
|
253
|
+
- Runner: `ExecutionStore.run_error_solver_dag` (~ line 1953); add new
|
|
254
|
+
`repo_quality_judge_fn` kwarg already present.
|
|
255
|
+
- Judge: `src/devflow_engine/errors/repo_quality_judge.py`
|
|
256
|
+
- Tests: `tests/area8_errors/test_us85_error_solver_repo_quality.py`
|