Files
aditya 218c1c248b
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 18s
CI / helm (pull_request) Successful in 34s
CI / typecheck (pull_request) Successful in 52s
CI / security (pull_request) Successful in 55s
CI / lint (pull_request) Successful in 3m16s
CI / quality (pull_request) Successful in 3m44s
CI / unit_tests (pull_request) Failing after 6m14s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 12m49s
CI / e2e_tests (pull_request) Failing after 16m8s
CI / integration_tests (pull_request) Successful in 24m13s
CI / status-check (pull_request) Failing after 1s
CI / benchmark-regression (pull_request) Successful in 55m1s
feat(estimation): implement EstimationReport domain model and estimation_produced decision type
Add the spec-aligned EstimationReport Pydantic domain model with
multi-dimensional estimation output: cost range (min/max USD),
expected steps and child plans, rollback risk (0.0-1.0), estimated
duration in minutes, confidence score (0.0-1.0), rationale, and
optional historical basis (plan IDs).

Add estimation_produced to the DecisionType enum and STRATEGIZE_TYPES
frozenset for recording estimation results in the decision tree.

Add Alembic migration m6_006 that adds the estimation_report TEXT
column to v3_plans and updates the ck_decisions_type CHECK constraint
to include the new decision type.

Update Plan domain model and database ORM layer (models.py and
repositories.py) to serialize/deserialize EstimationReport via JSON.

Update existing consolidated_decision.feature and decision model
Robot helper to expect 12 decision types (was 11).

Add comprehensive BDD tests (20 scenarios in estimation_report.feature)
and Robot Framework integration tests (6 test cases) covering creation,
serialization round-trip, validation constraints, immutability, and
DecisionType membership.

ISSUES CLOSED: #649
2026-04-02 10:22:49 +00:00
..