feat(core-B): 운영자 sync/verify CLI + cold-start onboarding (BAT-051, REQ-105/106, PR #32)
dcy-034 마지막 조각. sync(슬롯 qty←브로커+warning해제+OQ-A 전이엣지+FR-7 평단seed)/verify(C 재대조·강제해제없음). core-A QC minor 2건 정리 동봉. QC(opus) PASS, 683 passed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VHtM5Ws1HKCKQ4JGi6GRb5
This commit is contained in:
@@ -185,23 +185,6 @@ class IntentService:
|
||||
return IntentDecision(intent_id, "rejected", None, "duplicate_in_flight")
|
||||
return IntentDecision(intent_id, rec.status, rec.slot_id, rec.reason)
|
||||
|
||||
def _check_reconcile_warned(self, slot_id) -> Optional[IntentDecision]:
|
||||
"""BAT-050 / REQ-104: return rejected decision if slot is reconcile-warned.
|
||||
|
||||
Returns None if not warned (gate passes). The warn_store check is best-effort:
|
||||
if the store raises, we allow the intent through (fail-open for resilience).
|
||||
Safety-sell / kill-switch / watchdog bypass this gate — they call
|
||||
SlotService.sell() directly without going through IntentService (OQ-B).
|
||||
"""
|
||||
if self._warn_store is None:
|
||||
return None
|
||||
try:
|
||||
if self._warn_store.is_warned(str(slot_id)):
|
||||
return None # placeholder — intent_id unknown here; caller provides it
|
||||
except Exception: # noqa: BLE001 - fail-open
|
||||
pass
|
||||
return None # not warned (or store error — fail-open)
|
||||
|
||||
def _admit_buy(self, intent: BuyIntent) -> IntentDecision:
|
||||
"""dcy-020 / REQ-059·REQ-061 + dcy-021/REQ-066: activate or size up the
|
||||
asset's permanent slot.
|
||||
|
||||
Reference in New Issue
Block a user