design.md 2.2 KB

Context

dragon/v2 already has RC1 golden guardrails, layered reason metadata, and weak-family predicate isolation. The remaining governance gaps are:

  • runtime loop is still monolithic inside the compatibility facade,
  • rollout health requires manually reading several files instead of one explicit decision state.

Goals / Non-Goals

Goals

  • Decouple runtime execution loop from dragon_strategy.py without changing behavior.
  • Produce explicit rollout decision artifacts from existing monitor sources.
  • Keep RC1 compatibility outputs and schemas stable.

Non-Goals

  • Retune RC1 thresholds.
  • Change branch trade paths in this change.
  • Replace existing monitor metrics or thresholds.

Decisions

1. Runtime extraction without behavior rewrite

Move execution-loop mechanics (event/trade payload assembly and reason-metadata enrichment) into a dedicated module, and keep DragonRuleEngine decision hooks intact.

2. Gate-based rollout decision model

Rollout decision uses deterministic gates across:

  • latest data freshness alignment,
  • monitor hard/warning conditions and streaks,
  • divergence level and refined-control alignment.

3. Branch fallback policy

When rollout decision is ROLLBACK_REVIEW_REQUIRED, recommended active branch becomes alpha_first_selective_veto; otherwise keep candidate branch from the daily manifest.

Risks / Trade-offs

  • [Runtime extraction drift] -> covered by RC1 golden regression and no-silent-path checks.
  • [Over-strict governance gates] -> start with warning-tier HOLD path before hard rollback.
  • [Artifact dependency missing] -> missing monitor health artifact is a hard-fail gate.

Migration Plan

  1. Add compatibility runtime module and delegate DragonRuleEngine.run(...).
  2. Add rollout governance evaluation module and checker script.
  3. Integrate rollout checker into forward pipeline.
  4. Add tests for gate evaluation logic.
  5. Re-run golden, full tests, daily pipeline smoke, and forward pipeline smoke.

Rollback Plan

  • If golden hash or no-silent-path checks fail, revert runtime extraction commit.
  • If governance checker causes pipeline regression, disable checker integration and keep standalone execution.