PINK: HOLD_DC_CONTRADICTED enum + trace log (104/104 green)
- contracts.py: DecisionAction.HOLD_DC_CONTRADICTED = "HOLD_DC_CONTRADICTED" Interim policy-gate veto enum. Comment marks CRITICAL TODO: KernelPolicyGate hook system (downstream-registered hooks; see memory). - pink_direct.py: dc_contradicts() now sets HOLD_DC_CONTRADICTED (was plain HOLD) + logger.info trace with vel_div / scan_number / symbol — observable in logs, CH persistence, and Hz engine_snapshot. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -849,7 +849,9 @@ class PinkDirectRuntime:
|
||||
decision = self.decision_engine.decide(snapshot, context, legacy_position)
|
||||
if dc_blocked and decision.action == DecisionAction.ENTER:
|
||||
import dataclasses
|
||||
decision = dataclasses.replace(decision, action=DecisionAction.HOLD, reason="DC_CONTRADICT")
|
||||
decision = dataclasses.replace(decision, action=DecisionAction.HOLD_DC_CONTRADICTED, reason="DC_CONTRADICT")
|
||||
self.logger.info("DC CONTRADICT: ENTER blocked (vel_div=%.4f scan=%d symbol=%s)",
|
||||
self._last_vel_div, self._last_scan_number, getattr(snapshot, "symbol", "?"))
|
||||
self._emit("decision", decision=decision)
|
||||
|
||||
intent_context = IntentContext(
|
||||
|
||||
Reference in New Issue
Block a user