# Daily Note — 2026-04-11

## Key Events
- 

## Decisions
- 

## Promotions (to durable knowledge)
- 

## Open Loops
- 

## Candidate Promotions (auto)
- 

<!-- AUTO_PROMOTIONS_START -->
## Candidate Promotions (auto)
_Generated: 2026-04-11 02:00:06 PDT_

### From memory/* (today + yesterday)
- 25:- Locked in the strict Target sync rule:
- 38:- Notion thread was updated with the implementation and validation state.
- 42:  - added direction preference by field
- 55:  - no-incomplete-write rule explicitly validated
- 56:- Production-readiness decision:
- 58:  - caveat: production-ready means the merchant is production-ready with the current strict reconciliation rule; future failing orders must still be flagged `partial-sync` and skipped rather than written incompletely
- 72:- Wrote the exception-lane implementation summary into the Notion thread.
- 73:- After `/reset`, reconstructed handoff state from prior rollover material and confirmed:
- 77:- Confirmed current log state after reset:
- 81:## Decisions
- 84:- Target production rule: orders failing the 5% reconciliation gate must be marked `partial-sync` and skipped from canonical writes.
- 86:- Partial-sync handling decision:
- 89:- Exception-lane implementation decision:
- 103:- Run the read-only verification pass on `skills/target-grocery-sync/scripts/*` if needed to confirm final wiring against:
- 113:- Consider promoting any durable decisions from today into `MEMORY.md` during curation.
- 116:  - dead route confirmed: `https://www.sprouts.com/account/order-history`
- 122:  - current blocker is browser interaction instability during live sign-in/navigation after routing and credential lookup were solved
- 130:- An earlier weird message during the Target thread was identified as accidental tool/file content leakage rather than a meaningful user-facing update; the real Target work continued correctly after that.
- 141:- Diagnosed Sprouts route and auth path enough to confirm the live account/login route is correct and the earlier blocker was credential retrieval / account identity, not the route itself.
- 142:- Confirmed LastPass auth can work in the live host context, but isolated worker verification does not inherit that authenticated LastPass session.
- 147:- Confirmed a remaining operational limitation:
- 151:  - R3 completed functionally (new thread/page created with requested THR-28 title/content, but Notion auto-assigned internal Thread ID `THR-31`)
- 165:- Confirm `~/.dorian/credentials.json` exists with the real Sprouts credentials.
- 171:- R4: if needed, do one narrow pointer-verification pass to confirm AGENTS resolves directly to the AGENT-ROLES page.

### Open corrections
- 2026-03-02 — Telegram routing: use only current DM thread; never legacy Gizmo thread.
<!-- AUTO_PROMOTIONS_END -->

<!-- AUTO_PENDING_STATUS_START -->
## Pending Promotion Status (auto)
- Open pending promotions: 2
- Conversation intent status: OPEN (resolve or dismiss pending items before closure)
<!-- AUTO_PENDING_STATUS_END -->

<!-- AUTO_CRITICAL_FACTS_START -->
## Critical Facts Retrieval Check (auto)
# Critical Facts Check
- [PASS] telegram_single_thread_rule: Telegram must use only current DM thread; no legacy Gizmo thread.
- [PASS] telegram_confirm_policy: Non-reminder/non-memory-ingestion state changes require CONFIRM (with explicit Notion single-task exception).
- [PASS] timezone_set: Braden timezone is captured.

Summary: 3/3 passed
<!-- AUTO_CRITICAL_FACTS_END -->
