Skip to content

feat: improved plan quality contract#71

Open
robertotru wants to merge 1 commit into
mainfrom
067-plan-quality-contract
Open

feat: improved plan quality contract#71
robertotru wants to merge 1 commit into
mainfrom
067-plan-quality-contract

Conversation

@robertotru
Copy link
Copy Markdown
Contributor

What

Added the first plan-quality gate so Boundline can stop unsafe execution handoff when a plan is missing a credible validation strategy. The release also persists and projects plan-quality state, findings, and accepted assumptions through status, inspect, trace, and assistant planning surfaces.

Why

This change closes the gap between planning and execution: a plan should not advance unless it has enough validation detail to prove the work can be verified. It also makes the runtime decision visible and recoverable so operators can inspect why a plan was blocked and resume cleanly after clarification.

How

  • Introduced typed plan-quality state and finding/assumption models in the runtime domain.
  • Evaluated plan quality only after goal quality is satisfied and before execution handoff.
  • Emitted exactly one actionable clarification request when validation strategy is missing.
  • Persisted additive plan-quality fields through session state, status, orchestration, inspect, and trace projections.
  • Updated assistant planning assets and release-facing docs/metadata to match the new planning-readiness contract.

Validation

  • cargo fmt --check
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test
  • cargo llvm-cov --workspace --all-features --lcov --output-path lcov.info
  • scripts/common/coverage/intersect_patch_coverage.py against the changed implementation files

Checklist

  • The change is scoped to one real problem and avoids unrelated cleanup.
  • I updated docs, specs, or release-facing surfaces when behavior changed.
  • I ran the relevant validation for the surfaces I touched.
  • If I touched install, packaging, or release behavior, I kept those surfaces aligned.
  • If I touched assistant command packs or compatibility guidance, I validated those paths too.

@robertotru robertotru self-assigned this Jun 3, 2026
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Jun 3, 2026

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 3, 2026

Codecov Report

❌ Patch coverage is 97.28682% with 7 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/cli/orchestrate.rs 94.11% 3 Missing ⚠️
...c/orchestrator/session_runtime_native_goal_plan.rs 91.66% 2 Missing ⚠️
...c/orchestrator/session_runtime_planning_runtime.rs 98.07% 2 Missing ⚠️

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant