design.md 2.5 KB

Context

RC1 currently uses buy_block_glued_high_weak_rebound as a quality-preserving hard veto. Historical evidence does not support globally relaxing this block, especially for ql_rebound_weak_followthrough.

The requirement is to add a minimal, isolated, reversible research path:

  • day-0 remains blocked
  • selected subtype can be queued as pending in a probe branch
  • delayed reentry is allowed only after explicit confirmation

Goals / Non-Goals

Goals

  • Preserve RC1 default branch behavior exactly.
  • Keep buy_block_glued_high_weak_rebound hard block in default path.
  • Keep ql_rebound_weak_followthrough hard-blocked by default.
  • Add a branch-gated pending scaffold for followthrough research.
  • Make behavior locally testable.

Non-Goals

  • Promote probe behavior to formal alpha.
  • Relax global veto in RC1.
  • Rework sell families in this phase.
  • Introduce a broad scoring framework.

Decisions

1. Base path hard-veto remains unchanged

Blocked signals still return buy_block_glued_high_weak_rebound on the current bar. Pending only records a candidate in probe branch.

2. Phase-1 pending subtype scope is narrow

Only mid_zone_very_weak_b1 is enabled in the probe branch by default.
high_zone_weak_b1 and ql_rebound_weak_followthrough remain disabled.

3. Confirmation requires explicit repair

Probe reentry requires all of:

  • at least one bar waited
  • no sell cross
  • ql_buy=True
  • close > signal_close
  • b1 - signal_b1 >= threshold

4. Keep pending implementation isolated

New glued pending logic is isolated in a dedicated module and dedicated strategy-context fields; no merge with deep-oversold module.

Risks / Trade-offs

  • [No immediate performance gain] acceptable; this phase targets structure and observability first.
  • [Default-path drift] mitigated by hash regression and golden regression tests.
  • [Probe path overreach] mitigated by strict branch-level config gating.

Migration Plan

  1. Add config flags + probe branch config.
  2. Add glued followthrough confirmation module.
  3. Wire pending lifecycle in strategy facade (queue/confirm/clear).
  4. Register new reason family mapping.
  5. Add shadow branch to daily pipeline list.
  6. Add tests and run full validation.

Rollback Plan

If any RC1 default regression appears, revert:

  • probe branch config entry
  • glued pending fields and strategy hooks
  • glued followthrough module
  • daily pipeline shadow branch registration

RC1 default behavior must remain unchanged after rollback.