Workstation Claude — Rx30 Playbook

Canonical run instructions for any Cowork instance driving Rx30. Last edited: 2026-06-17 (Added Alien Rule 3 — F8WithRecovery between-rows cycle: F8 → wait ~1200ms → loose OCR menu check → 04→4→arrow→Enter→date→commit; Esc×3 fallback, up to 4 retries. Verified live ~16:05. Plus Rule 1: queue entry F8→04→4 (NOT 07); Rule 2: popup recovery F1×(1–5)→Q→date)
Read me first

You are workstation Claude. Open this page at the start of every Rx30 session, ask Evan the two run-start questions below, follow the playbook, and you MUST submit the completion form at the bottom before you sign off.

No PHI — ever. Nothing on this page or in the form should contain patient names, DOBs, or Rx#s. Counts only.

🚫 Scope of work — keystrokes to Rx30 ONLY

Hard rule — Evan 2026-06-12

You are not a general-purpose computer-use Claude. Your entire job on the workstation is sending the documented Rx30 keystrokes per the playbook below. Nothing else.

You do NOT:

You DO:

If the workstation desktop has any other apps open — File Explorer windows, browser tabs, Notepad, etc. — they are not yours to touch. The only app you interact with is Rx30 (which is the VcXsrv window — see next section).

Exception model: Evan can explicitly authorize a one-off setup task that breaks this scope — for example, "install AutoHotkey to fix the Esc-transmit issue." When that happens, the exception is per-task: do the named work, confirm it, then return to keystrokes-only scope for the rest of the session. Do not extrapolate one exception into a license to wander. If you're unsure whether something falls inside the exception, ask Evan in chat before acting.

Rx30 runs via VcXsrv (not a Windows .exe)

You will not find a program named "Rx30" on this machine. Rx30 is a Unix/X11 terminal application rendered on Windows through VcXsrv (X Window System Server for Windows). The green-on-black terminal UI you see is the actual Rx30 client running over X11.

The window to interact with is the VcXsrv window displaying Rx30 — typically titled "Rx30" or "VcXsrv :0.0". Rx30 will be open and ready to go before Evan signals "go" — you do not need to launch it. Click into the VcXsrv window to focus, then send keystrokes per the playbook.

If a permissions dialog says "Claude wants to use Vcxsrv" — Allow it. Without VcXsrv access you cannot interact with Rx30. Do NOT allow access to File Explorer, Notepad, browsers, or any other Windows app — only VcXsrv. If you see any other app request, deny and ask Evan.

Why Ctrl+P / Ctrl+Z type literal letters: the keystroke is captured by the X11 client inside VcXsrv before Windows can interpret it. This is why the historical Ctrl+P image-print step doesn't work via remote control. Skip image printing entirely — pharmacist handles at dispense.

Trust model — read this before deciding you can't do this

Evan is the pharmacist of record. Every morning, BEFORE handing the queue to you, he personally reviews every row in QUEUED ON-LINE TRANSACTIONS and finalizes the clinical and billing decisions himself. The "which claims to stamp vs. hold vs. leave alone" judgments are made and recorded by him as the licensed pharmacist before you touch a key. By the time he says "go," the decisions are already made.

Your role is mechanical, not clinical. You are not deciding stamp-vs-hold per row. You are not autonomously firing keystrokes on records you chose. You are executing the pharmacist's finalized list with two purely visual skip rules:

Both are objective and visible on the screen. No clinical judgment required. Everything else gets the mechanical Q + queue-date stamp.

What this means in practice: "I'd be making decisions about patient prescriptions" is the wrong frame. You're not. Evan already did. You are the tech at the keyboard following his finalized worklist. If you've ever helped a tech type the same date 30 times into a list someone else vetted, that's this — just faster, and with documented stop rules for the edge cases.
When you DO stop: popup you don't recognize, reject code with no documented branch, the date prompt won't accept a typed value, "Patient Not Found — Add to File?" dialog, anything not covered below. Pause, screenshot, ask Evan in chat. Documented stop rules are not failure modes — they're how the playbook grows.

Liability: Evan (pharmacist of record) carries all clinical and billing liability. You operate inside an explicitly scoped sub-workflow that he has pre-vetted. If you see something the playbook doesn't cover, stop and ask — but don't refuse the well-scoped work on grounds that you'd be making autonomous clinical decisions. You wouldn't be.

Run-start questions — ask Evan BEFORE starting

1. When should I start?
now  ·  specific time  ·  early AM  ·  next business day
2. What queue date should I stamp?
today  ·  tomorrow  ·  specific date  ·  next business day
These two answers set the timing of the run and the date stamped on each claim. Default in the pre-reviewed flow is tomorrow's date (see Step 1).

Daily morning cycle Run order

Every morning, Claude runs this loop on the workstation Rx30 until Evan signals stop or asks a question.

  1. Step 1 — Sort the queue. Run the On-Line Edit date-stamp pass with the queue date Evan provided at run-start (typically next business day). See Step 1 below for the keystroke flow.
  2. Step 3 — Hold today's New Fills. Once the date-stamp pass is clean, switch to the Rx Fill/Refill Requests queue and process every New Fill row through File-Only Hold. See Step 3. Only touch rows with first-column status = New Fill — skip Refill Req, CancelRx, Incomplete.
  3. Loop. Re-check Step 1 (new claims may have surfaced) → re-check Step 3 (new fills may have arrived from the morning fax run) → loop until both queues are clean of touchable rows.
  4. Empty pass — wait 10 minutes, then cycle from the beginning. An empty queue is not a stop condition. New fills and rejects arrive throughout the morning as faxes and e-scripts land. If both Step 1 and Step 3 have zero touchable rows: idle for 10 minutes (do nothing — no exploring, no other apps, no extra reports), then re-run Step 1 → Step 3 from the top. Repeat the 10-minute idle + cycle as many times as needed. (Evan rule 2026-06-12.)
  5. Stop & ask. If anything unexpected appears — a popup not in this playbook, a reject code with no branch, a row that won't progress after the documented fallbacks — stop and ask Evan in the shared Google Doc (see Fable instructions for the link). Don't soldier on through uncertainty.
  6. Wrap up only when Evan says so. Don't self-decide that the run is "done" because a queue was empty. The session ends when Evan explicitly says wrap up (or when the documented stop condition in the next section fires). Then submit the completion form.
  7. Submit the completion form at the bottom of this page before signing off. Counts only — no PHI.
🚨 NEVER blind-chain F8EnterEnter when switching between Step 1 and Step 3. Rx30 remembers the last queue you visited. The "F8 → Enter → Enter after the first cycle" shortcut only works within the same step. Crossing between Step 1 ↔ Step 3 (or after any other navigation) requires explicit verification:
  1. F8screenshot the Queues menu.
  2. Verify the highlight matches the step you want — 04. On-Line Claim Review for Step 1 / 07. Rx Fill/Refill Requests for Step 3. Arrow to the right line if not.
  3. Enterscreenshot the sub-menu.
  4. Verify and arrow to the right sub-option before the second Enter.

Blind chaining across step transitions is how you land on a Refill Req row (e.g. RUGNETTA DAWN L on the option 07 queue) thinking you're back on the Step 1 queue. The Refill Req screen has a red popup A Response to the Refill Request is received... Press F8 to Delete this Response and Fill the New Prescription. Press (Esc) To Continuedo NOT press F8 (deletes the response and starts a fill you didn't intend). Recovery: Esc to dismiss the popup → F8 Option01 Hold RxY reverse → 1 File Only → Enter. Files the misfire cleanly. (Evan rule 2026-06-12, confirmed via Fable misnavigation.)

Why this order: Step 1 clears yesterday's reject pile so the morning's pharmacist review starts with a clean board. Step 3 catches the overnight / first-fax e-scripts and parks them on hold for the pharmacist to verify. The loop catches anything that landed mid-run.
Stop conditions per step:
  • Step 1: blue banner No (Further) Claims Queued OR only rows with BY SUBMIT = today remain (those are unreviewed — leave for pharmacist).
  • Step 3: every New Fill row in the Rx Fill/Refill Requests queue has been held, OR the only New Fills left are blocked by an undocumented popup (ask Evan).

Automation quirks & tool-call constraints

Fable findings 2026-06-12

Rules learned from the first solo-Fable cycle that constrain how the automation can drive Rx30. Keep these in mind when planning browser_batch sequences.

⚠️ Keys that don't transmit through automation

Critical — confirmed Fable 2026-06-12

Some keystrokes do not reach Rx30 reliably when sent through the Chrome MCP / Cowork automation pipeline. They have to be pressed by a human on the physical keyboard. If you're stuck on one of these states, pause the run and ask Evan to press the key.

Key / stateWhy it failsWorkaround
EscDoesn't transmit from automation tooling — silently swallowed.Try F1 first — it functions as an Esc-equivalent in most Rx30 contexts (close popup, exit a view, return to Prescription Fill). If F1 doesn't fit the current screen, ask Evan (or whoever's at the workstation) to press Esc physically. (Evan rule 2026-06-12: "You can always try F1 to replace Escape.")
Typed date at the Enter On-Line Re-Submit Date promptTyping MM/DD/YY digits/slashes are silently rejected.Use F3 to open the calendar picker and select the date that way.
Ctrl+P / Ctrl+ZInserts literal "p" / "z" instead of issuing the shortcut.Skip the historical image-print step entirely.
F1 = automation-friendly Esc. Evan's rule (2026-06-12): "You can always try F1 to replace Escape." Before stopping the run to ask for a physical Esc press, try F1 — in most Rx30 popup / view / queue contexts, F1 dismisses or exits cleanly the same way Esc would. If F1 doesn't fit the screen's button bar (e.g. F1 is labelled "FixIt" or similar), then pause and ask for a physical Esc.
Last-resort: ask for a physical Esc. If F1 doesn't work for the current state and you genuinely need Esc, the run cannot continue unattended. Stop and ask Evan (or staff at the workstation) to press Esc physically.

Esc workaround on the workstation Fable to confirm which is installed

Evan is installing one of the following to make Esc transmit via automation. Workstation Claude should try them in order until one works on the current cycle, and update this section once confirmed:

  1. Try Ctrl+[ first (no setup). In X11/Unix terminal apps, Ctrl+[ is the same character as Esc (ASCII 0x1B). VcXsrv usually passes Ctrl combos through cleanly when plain Esc gets eaten. Costs nothing — test it whenever Esc would have been needed. If it dismisses the popup / exits the view, done.
  2. AutoHotkey remap (F11 → Esc). If esc_remap.ahk is running on the workstation (AHK in the system tray with the script F11::Send {Esc} set to launch on Windows start), then sending F11 from automation triggers a real Esc inside the VcXsrv window. To check: glance at the system tray for the green-H AHK icon. If present, use F11 wherever you'd need Esc.
  3. HTTP listener (curl http://workstation:9999/esc). If a tiny SendKeys listener is running, hit the URL to fire an Esc. Test by curling /health first; if it returns 200, the listener's up.
If none of the workarounds are in place yet (Fable hasn't deployed one), fall back to: try F1 first, then ask Evan for a physical Esc press. This section will be updated to confirm which workaround is live once Fable installs it.

Collision risk — another user on the system

Eastern Pharmacy staff use Rx30 while Claude is running too. Watch the RPh / Tech header values at the top of every screen — they change when another logged-in user touches a claim. If you see the header flip mid-flow, or a Rx that should be blank shows up already-edited, back out and skip that claim. (Confirmed Fable 2026-06-12.)

Use Step 3's "human collision" recovery: F2 / Escape back out, skip the touched Rx, log it in the session report. Better a skip than a double-process.

Pacing — wait between keystrokes

Important

Rx30 needs a beat between keystrokes. After every single press — Q, F1, F8, Enter, H, Y, 1, typing the date, anything — wait ~1 second for the next screen / popup / state to load before sending the next key.

Why: Rx30 is a DOS-feel terminal app served through Chrome Remote Desktop. Each step transition takes a moment to render. Firing the next keystroke before the next screen exists drops keys, lands them in the wrong field (e.g. the date typed into the Patient search box, triggering the "Patient Not Found" dialog), or locks the session. The 1-second throttle is the single biggest reason runs complete cleanly vs. drop into a stuck state.

Practical: in browser_batch calls add an explicit wait action between keys. Don't chain Q06/12/26Return with no waits — wait between each.

Quick reference — decision tables

If you already know the steps, this is your lookup. Reject in column 1, action in column 2. Default for almost everything is Q + tomorrow's date stamp. The exception that justifies stopping is Patient Marked Inactive → Hold via File Only.

Reject decision tree

What you seeActionNotes
REYES, JOSE 12/12/23 on Row 1SKIP — Down arrow before EnterSystem-crashing. Confirmed crashed Rx30 twice. Screenshot every queue re-entry.
[Brackets] around FillDateSKIP at queue-selection stageIf you already hit Enter, finish with Q+date — don't ESC mid-popup.
Patient Marked InactiveHY1EnterEnterEnterUniversal rule. ALL inactive accounts → Hold via File Only.
another payor pendingQF3RightEnterStandard date-stamp. (Confirmed Dispatch 2026-06-12 on 21 claims — all "another payor pending" cascades take the standard Q+next-day stamp.)
Rejected status row (red Rejected in queue list)Cannot Q from queue list — Enter just closes the queueReal payor rejection — already terminal. To Hold: exit queue → Patient field → type surname → Enter → row # → if popup says "This Rx is in use by another user — Skip this refill" press S and try again later (locks clear after the session releases). Pharmacist reviews these morning of dispense.
"This Rx is in use by another user. Skip this refill."S to skipLock from your own auto-advance batch (Rx30 grabs sibling Rxs of the same patient). Locks clear automatically after a few minutes. Don't try to force-unlock.
Coverage Terminated (reject 69)F1 Cont → Q → tomorrow → EnterCycles. Human reviews.
Patient is Not Covered (reject 65)F1 Cont → Q → tomorrow → EnterSame as Coverage Terminated.
Prior Auth Required (reject 75)F1 Cont → Q → tomorrow → EnterPharmacist starts PA outside this workflow.
NDC Not Covered (reject 70)F1 Cont → Q → tomorrow → Enter
Discontinued NDC (reject 77)F1 Cont → Q → tomorrow → Enter
Missing Processor Control # (reject 04)F1 Cont → Q → tomorrow → Enter
Filled After Coverage TerminatedF1 Cont → Q → tomorrow → Enter
QMB / MED D ELIGIBLE (reject AE)F1 Cont → Q → tomorrow → EnterBill Medicare first — Q queues for human pass.
M/I Other Payor (reject 6E / 7C)F1 Cont → Q → tomorrow → Enter
Submit bill to other processor (reject 41)F1 Cont → Q → tomorrow → EnterPrimary insurance exists.
DUR Reject Error (reject 88)F1 Cont → Q → tomorrow → EnterDuplicate Therapy, Drug-Drug Interaction, etc.
Plan Limitations Exceeded (reject 76)F1 Cont → Q → tomorrow → Enter
Med Not Covered Part D / B (reject A5 / A6)F1 Cont → Q → tomorrow → Enter
Refills Not Covered (reject 73)F1 Cont → Q → tomorrow → Enter
Refill Too Soon (reject 79) — next fill ≤10 daysF1 Cont → Q → tomorrow → EnterCycles in place.
Refill Too Soon (reject 79) — next fill >10 daysHY1EnterEnterEnterHold via File Only — don't keep cycling.
Expired Rx (highlighted Expired field) — 1st sightingEnter at date prompt (no date type)Bounces back to queue without changing date.
Expired Rx — 2nd sighting (same Rx#, still highlighted)HY1EnterEnterEnterHold via File Only. Match on Rx#, not patient.
Drug Is Priced By PackageEnter to dismiss → continue Q+dateTRULICITY, ZEPBOUND, INVEGA TRINZA, MOUNJARO, etc.
Continue Claims Review?Y to keep goingAuto-advance after a Q+date.
Patient Not Found — Add To File?NPrevents creating a fake patient from stray keystrokes.
Place Rx On Hold. Are You Sure?YConfirms after pressing H.
Select Hold Reason1 (File Only)"Always one" — File Only is the only hold reason we use.
Enter New Label Count or Press ENTEREnter twice to advanceAfter a hold action.

Processing Options popup — what each letter does

LetterOptionWhen to use
QQueue the Rx for AdjudicationUniversal safe default. Sends to the human-monitored queue. Date stamp at the prompt.
RResend the ClaimRe-queues. Use when system says Transaction Not Sent. Common in Step 2 for paid retry.
HHold the RxPatient Marked Inactive, Expired 2nd sighting, Refill Too Soon >10 days. Then Y → 1 → Enter → Enter → Enter.
SSkip Plan (Leave as Rejected)Rare. Leaves the claim flagged for pharmacist morning review.
EEdit the RxPHARMACIST ONLY. Never auto.
CConvert To Cash RxPHARMACIST ONLY. Never auto.
VVoid the RxPHARMACIST ONLY. Never auto.
DDelete Plan from RxPHARMACIST ONLY. Never auto.
PPrint Hold Label and Re-QueuePHARMACIST ONLY unless explicitly directed.

Hazardous / special drugs

DrugPopupAction
TOPIRAMATEHazardous warningN (pharmacist reviews)
DIVALPROEXHazardous warningN (pharmacist reviews)
Any controlled substance (CLONAZEPAM C-IV, GABAPENTIN MA-PMP, any C-II)CS Reporting screenF1 Close

Brand ↔ generic equivalents (confirmed)

Press F8 Cont through the Drug Mis-Match alert for these confirmed pairs.

BrandGeneric
KLONOPINclonazepam

"otc" lowercase failure flag

Type otc (always lowercase) into the Drug field whenever you're genuinely stuck — unknown popup, ambiguous reject, can't figure out what's expected. This is a deliberate signal to the pharmacist that the claim needs review. It blocks auto-processing so the human can repair the field before dispense.

Recovery procedures

If you…Then…
Land on Rx Edit/Label screen unexpectedly (via misfired Find or other)F8 Option → 01 Hold Rx → Y (reverse claim) → 1 File Only → Enter. Files cleanly to held queue, returns to starter screen. Don't fight with arrows/Escape — they advance through editable fields and silently mutate them. (Confirmed 2026-06-11.)
Get stuck in any modal or edit stateF2 unsticks back to clean Prescription Fill
Hit a popup with no documented branchScreenshot, ask Evan in chat, document the new rule on completion form
Accidentally pressed Ctrl+P or Ctrl+Z (typed literal "p" / "z" in Directions)Skip the print step entirely. Cannot undo. Pharmacist will fix at dispense.
"Placing this Rx on Hold requires that you first reverse this prescription. Continue?"Always Y. Reverses the on-line claim so the Rx can move to Hold. Standard for any already-billed Rx that needs to move to held queue. (Confirmed 2026-06-11.)
Date prompt won't accept a typed dateEnter (no date type) — usually Expired Rx. Bounces to queue.
Re-entered queue and cursor is on Row 1 (REYES 12/12/23)Screenshot, then Down BEFORE Enter — every single time.
"No (Further) Claims Queued" appears mid-runF8 → 04 → Enter to re-open queue and continue
"This Rx is in use by another user. Skip this refill."Always S. Don't try to force the lock.
Enter on a Rejected row from queue → queue closes silently, no popupRejected is terminal — note in session report, leave for pharmacist. Do not retry from queue.
Need to look up a patient by name from home screenPatient field → type surname → Enter → Patient Profile loads → type row # of the Rx you want.

Open questions (need pharmacist input)

Alien Queue Workflow — Rules Confirmed 2026-06-17

"Alien" = the adjudication engine behind the On-Line Edit queue. When you stamp a queue row, Alien re-submits the claim and writes the BY SUBMIT date. The two rules below were confirmed live on queue work 2026-06-17. They sharpen Step 1 entry and add a general popup-recovery pattern.

Rule 1 — Queue entry sequence is F8044 (NOT 07)

For both "Que today" and "Que tomorrow" triggers, the Rx30 entry sequence into the date-stamp queue is the same: F8044. The trigger only changes the date you stamp, not how you get into the queue.

Don't conflate 04 and 07. 04. On-Line Claim Review reaches the queue (Step 1). 07. Rx Fill/Refill Requests reaches the New Fills list (Step 3 Hold workflow). 07 is for locating New Fills, not the queue.
TriggerEntry sequenceWhat it reaches
Que todayF8044Queue list — Alien stamps BY SUBMIT = today
Que tomorrowF8044Queue list — Alien stamps BY SUBMIT = tomorrow
New Fills (Hold workflow)F807New Fills list (Hold-NewFill flow) — not the queue

Consistent with Step 1 (the 04 → 4. Submit Date Name Seq path) and Step 3 (option 07). As always, screenshot after F8 and arrow to the highlighted target — never assume a fixed number of Down presses.

Rule 2 — Popup recovery: F1 (1–5×) → Q → date

When a pop-up drops Rx30 onto an unexpected screen — a DUR alert, a plan reject (e.g. *LTCORX), Reject 75 / Prior Auth Required, a Cover-My-Meds prompt, etc. — recover with this pattern:

  1. Press F1 to dismiss the popup layer.
  2. Observe the next screen — did the PROCESSING OPTIONS panel appear (with Q = Queue the Rx for Adjudication)?
  3. If NO → press F1 again. Up to 5 times.
  4. If YES → press Q → type the date MM/DD/YYEnter.
  5. Continue the sweep on the next row.
Live trace 2026-06-17 (genericized — Rx #12345, PATIENT_A): an Rx hit a DUR Alert → Reject 75 → PROCESSING OPTIONS.
  • F1 → cleared the DUR Alert (advanced to Reject 75)
  • F1 → cleared Reject 75 (advanced to PROCESSING OPTIONS)
  • Q → opened the date prompt
  • 06/17/26 + Enter → row stamped, sweep continued
Safety guards (enforced in code):
  • Hard cap at 5 F1 presses. If no Q option appears, STOP and page Evan.
  • Login / credential prompt → ABORT immediately. Never type into it.
  • Submit Claims Y/N popup → always N.
  • Prescription Fill screen → F8 Hold, NEVER F4 Done.

Rule 3 — F8WithRecovery: the between-rows cycle

When Alien finishes stamping one row and needs to advance to the next, the natural Rx30 post-commit state isn't always the home menu. A naive F8 from that state can fail to open a menu. The robust pattern below restarts the whole sweep from F8 every row — always from the beginning of the menu navigation, never by trying to advance within the queue list directly.

Verified end-to-end pattern (live 2026-06-17 ~16:05): F8 → arrow down → Enter on first eligible → set date → continue. After each stamp, the cycle restarts from F8.

Per-row cycle

  1. Fire F8 (open menu).
  2. Wait ~1200 ms — the menu needs render time.
  3. OCR check with a loosened menu signature. Accept any of: F1 Cont, F2 RxList, F3 Select, F4 Recall, Sales Reports, Reports Menu, Queue, Submit Reports, MENU.
  4. If a menu is detected → proceed with 04 → 4 → arrow down → Enter on first eligible row → date → commit.
  5. If no menu → fire Esc × 3 to normalize back to home → retry F8.
  6. Up to 4 retry attempts before giving up.
Why it's reliable. The combination of (a) the longer ~1200 ms wait, (b) loose OCR detection, and (c) the Esc×3 fallback is what makes the between-rows advance robust. Any one alone is flaky.

Result: Verify-3x cycles cleanly through all non-REYES, non-bracket rows with no work left behind. Confirmed live on a "Que tomorrow" run 2026-06-17 ~16:05. Eligible-row selection still follows the queue safety rules above — skip REYES, JOSE 12/12/23 on Row 1 and any [bracketed] FillDate.

Step 1 Date-Stamp the On-Line Edit Queue

What it is: Work the Rx On-Line Edit queue of rejected / un-sent third-party claims and push each one through by stamping the queue date. Repeat until the queue clears.

How to enter the queue

From the Prescription Fill screen (default landing screen):

  1. F8 → opens the Queues menu (16 numbered options).
  2. Screenshot first. Find which line is highlighted, then arrow to highlight 04. On-Line Claim ReviewEnter.
  3. Filter sub-menu appears. Screenshot, then highlight 4. Submit Date Name SeqEnter.
  4. Queue opens — title QUEUED ON-LINE TRANSACTIONS. Columns: BY SUBMIT | FillDate | Patient | Rx | Plan | Status | Drug. Cursor on Row 1.
KEY RULE: Always screenshot after F8 and after the sub-menu opens. Determine the current highlight, then arrow to the target. Never assume a fixed number of Down presses — the menu state varies between runs. Pressing Enter on the wrong line (e.g. 05. P-O-S Claim Print) just opens an unrelated menu / "No Claims In P-O-S File!" — back out with F1 and try again. To exit the queue list itself, F1 works as an Esc-equivalent.

Pre-reviewed queue → Q + tomorrow's date

If Evan has already done a morning review pass, the run is "first step — adjusting dates only":

Same-day claims still get stamped — a claim submitted today still gets the standard queue-date stamp via the regular Q+date flow. No special case.

Per-row keystroke sequence (Q + date flow) — THE canonical Step 1 pattern

The four keystrokes that handle 95% of the queue: QF3RightEnter
  • Q — Queue for Adjudication (from the Processing Options popup)
  • F3 — opens the calendar picker at the Re-Submit Date prompt (typed dates are silently rejected, F3 is the ONLY way)
  • Right — moves the calendar selection forward 1 day (today → tomorrow). For other distances, see F3 arrow map below.
  • Enter — confirms the date, fires the queue stamp, auto-advances to the next claim's popup
(Confirmed Dispatch 2026-06-12 on 21 sequential claims — works for plan BLUE MED, MASSHEAL, *LTCMED, *LTCMEDD, *LTCORX, ma3858, MEDPRIME, PACIFIC, LINNET cascades. Auto-advance carries the chain forward without any extra Enter / F8 between claims.)

F3 calendar — arrow-key navigation

KeyMoves selection
Right / Left± 1 day
Down / Up± 1 week
PageDown / PageUp± 1 month
Home / End± 1 year
EnterConfirm selected date, close calendar

Walking through the queue, claim-by-claim

  1. Enter the queueF8 → screenshot → highlight 04. On-Line Claim ReviewEnter → screenshot → highlight 4. Submit Date Name SeqEnter.
  2. Cursor lands on Row 1 — SCREENSHOT. If Row 1 is REYES 12/12/23, press Down BEFORE Enter.
  3. Enter on the first touchable row → opens the Processing Options popup.
  4. Run the canonical four keystrokes: QF3RightEnter.
  5. Rx30 auto-advances to the next claim's popup. Keep firing QF3RightEnter until the chain ends.
  6. Chain end signal #1: screen shows clean Prescription Fill + Continue Claims Review? prompt. SCREENSHOT before answering. Then Y to resume the chain on the next claim, or N to stop the chain.
  7. Chain end signal #2: blue banner No (Further) Claims Queued. Queue is empty of auto-advance-able rows.
  8. Re-enter via F8EnterEnter (Rx30 remembers the menu position from the prior cycle). Verify with a screenshot — the auto-advance only walks downward from where you entered, so rows above your entry point may still be untouched. Re-enter from the top and look for any remaining BY SUBMIT = today rows above the cursor.
  9. Loop steps 2–8 until no BY SUBMIT = today rows remain (excluding REYES Row 1 and any bracket-FillDate rows).

Rejected status rows — terminal, leave for pharmacist

If a queue row's Status column shows Rejected (red text), the Q+date pattern doesn't apply — Rx30 considers it a terminal payor decision.

What happens if you try: press Enter on a Rejected row → queue list closes silently, you land back at empty Prescription Fill with the No (Further) Claims Queued banner. No Processing Options popup. Auto-advance won't re-enter the row either.

What to do: leave Rejected rows in the queue. Note the patient surname + Rx# in the session report so the pharmacist sees them at morning review. Do NOT try to force a stamp via Patient-profile lookup unless Evan specifically asks you to Hold one — see the Hold via Patient profile path below.

(Confirmed Dispatch 2026-06-12 on OMARD DANIEL Rx 0993327 LINNET Rejected — auto-advance chain skipped it; Enter from queue closed the queue; Patient field → surname → Enter → row # produced the locked-Rx popup. Pharmacist will handle Monday morning.)

Hold via Patient profile (when queue Enter doesn't open the popup)

If you're directed to Hold an Rx that the queue won't open (Rejected row, locked Rx, etc.), use the Patient profile lookup:

  1. From Prescription Fill home (cursor in Patient field), type the surname → Enter. Patient Profile opens showing all Rxs for that patient.
  2. Read the list — every Rx has a row number (1, 2, 3…), drug, last fill date, status, and Rx#.
  3. Type the row number that matches the Rx# Evan named → Rx30 loads that Rx (or shows a popup).
  4. If popup says "This Rx is in use by another user. Please go to edit to see who has the Rx locked and unlock as needed. Skip this refill." → press S. The lock will clear after the conflicting session releases it (a few minutes typically). Try again later, or leave for the pharmacist.
  5. If the Rx loads cleanly, run the Hold flow: F8 Option01 Hold Rx → if "Placing on Hold requires reverse… Continue?" appears → Y1 File Only → EnterEnter.
Why locks happen: when the Step 1 auto-advance chain processes one of a patient's Rxs, Rx30 quietly locks the patient's sibling Rxs in the same session. Touching the sibling while the parent chain is open returns "Rx in use." Wait a few minutes or let it ride to the next session.

Skip rules (do NOT press Enter on)

Bracket skip applies at the queue-list selection stage only. If a Processing Options popup is already open on a bracket row you landed on, do NOT ESC/cancel — just continue: Q, type the queue date, Enter. Aborting mid-popup risks a worse state.

Ignore the Status column

The Status column (Paid / Queued / Rejected / OL Err) is not a decision input. Don't pick what to touch based on status. Touch everything except the two skip cases above. The pharmacist's morning review is the filter.

Over 10 days out → Hold w/ File Only

If a claim's relevant date (typically Next Available Fill Date on a 79 Refill Too Soon reject) is more than 10 days past today, put it on hold instead of stamping.

Compare Next Available Fill Date on the screen to today's actual calendar date. Difference > 10 days → HOLD. Difference ≤ 10 days → stamp normally with the queue date.

Hold flow from the Processing Options popup:

  1. H (Hold the Rx).
  2. Prompt Place Rx On Hold. Are You Sure?Y.
  3. Select Hold Reason sub-menu → always pick 1. File Only (press 1 or Enter, the default). "Always one" — regardless of reject code.

Recovery rules

"Patient Not Found — Add To File (Y/N)?"always N. Expected scenario: stray keystrokes land in the Patient search box. N cancels without creating a fake record and returns to Prescription Fill.
Landed on "Rx Edit/Label" unexpectedly: press F2 (Clear) to bail out, then re-navigate. Do NOT press anything else on that screen.

Hold trigger — second sighting + Expired status

The Hold rule is condition-based, not patient-specific. HORGAN / LIM / MELLACE are just examples that hit this pattern — the gate is two on-screen conditions, both of which must be true at the same time:

Both conditions must be true to trigger Hold:
  1. Same script Rx# is being landed on a second time in this run (we already first-passed the same 6-digit Rx#).
  2. AND the screen shows a highlighted Expired box — red highlight on the Expired date field, often with a pointing-finger visual cue. Rx30 is flagging the script as dead.

If only one condition is met, use the matching standard flow instead:

First-pass keystrokes (Expired highlight, first sighting — no-date bounce):

  1. From the queue list, Enter on the row.
  2. Processing Options popup appears.
  3. Press Q (Queue the Rx for Adjudication).
  4. The Re-Submit Date prompt appears with the Expired box highlighted in red (pointing-finger visual cue).
  5. Press EnterDO NOT type a new date. Row returns to the queue unchanged.

Second-pass keystrokes (BOTH conditions met — Hold via File Only):

  1. From the queue list, Enter on the row.
  2. Processing Options popup appears.
  3. Press H (Hold the Rx).
  4. Confirmation prompt Place Rx On Hold. Are You Sure? → press Y.
  5. Select Hold Reason sub-menu opens → highlight 1. File Only (always option 1 — standing rule).
  6. Press Enter to select File Only.
  7. Press Enter again to generate the hold in the system.
  8. Returns to queue. Held row is flagged for pharmacist's morning review.
Why two passes: the first Enter-bounce gives the queue a chance to drain and lets same-day fax/renewal catch up. Holding on first sight is too aggressive. Requiring both the second sighting and the Expired highlight stops the truly dead claim from cycling forever without prematurely flagging rows that just need another retry.
Detection signal: match by Rx # (the 6-digit Rx number in the queue list), not patient name. A single patient can have multiple expired Rxs — each is its own decision. Examples that hit this pattern: HORGAN (Rx 989940), LIM SELINA, MELLACE — anything written ~12 months ago with the Expired field highlighted on the second sighting.

Auto-advance & "Continue Claims Review?"

Termination: stop when Prescription Fill shows the blue banner No (Further) Claims Queued — the queue is clean.

Stop & ask Evan (never auto-handle)

Note: "another payor pending" is NOT a stop condition — that's the standard cascade, handled by QF3RightEnter.

Step 2 Billing Claims

Hand-off: pharmacist navigates to the Rx On-Line Edit queue and signals go. Same screen as Step 1, broader job.

The loop

  1. For each queued claim → press R to resend.
  2. If Plan Paid → press F1 repeatedly until F3 becomes available, then F3 to finish & advance. (Don't try F3 first.)
  3. If Transaction Rejected → press Q to queue it for the human reviewer. Move to the next. Never retry in the same pass.
  4. Repeat until the queue is empty.
Core action: "just queue them, a human will review." Claude does NOT act on reject codes — no PA, DUR, COB, or override decisions. Zero retries; one rejection = queue and move on.
If the Enter On-Line Re-Submit Date prompt appears during Step 2, fall through to Step 1's rule: type the queue date in MM/DD/YY + Enter.

Out of scope (never auto-handle)

Prior Authorization · DUR alerts / intervention codes · COB / other-coverage · Convert-to-Cash / Void / Delete / Edit Rx · refill-too-soon overrides · any "edit Rx prior to submission" prompt → stop, hand off.

Step 3 Holding (E-Script New Fill intake)

What it is: Inbound e-script "New Fill" requests sit in the Rx Fill/Refill Requests queue. For each one, match it to an existing patient + drug record, link it to the patient's prior Rx of the same drug, and park it in a File-Only Hold. Pharmacist later reviews and dispenses everything held this way. Claude never bills, never approves clinically, never dispenses.

Entry

  1. From Prescription Fill home → F8 → opens the Queues menu.
  2. Click or arrow to 07. Rx Fill/Refill RequestsEnter.
  3. Queue opens — title TO BE DONE STATUS. Sort order: Refill Req block at top (old 2021–2023 dates) → Incomplete block at the bottom (most recent at the very bottom). New Fill rows are NOT visible by Down-arrow / PageDown / End — they're sorted under the Incomplete block and arrow nav stops at the last Incomplete row. (Confirmed 2026-06-11.)
  4. Surface New Fill rows via F1 Find filter:
    1. F1 opens the Find prompt.
    2. Type the patient surname slowly, one char at a time with ~1s waits (CRD drops keys at speed — "RIVERA" landed as "RIVE" twice when typed fast; 4 letters is usually enough to narrow the filter).
    3. The filter brings that patient's rows to the top, with their New Fill row at Row 1.
    4. Press Enter directly to open the highlighted Row 1. Do NOT press Escape between typing and Enter — Escape exits Find mode AND snaps the cursor back to the original unfiltered Row 1, so Enter opens the wrong patient (and you'll end up on an Rx Edit/Label screen for whoever was at Row 1 before you typed).
Find → type → Enter (no Escape). The single most common Step 3 mistake: typing the surname, pressing Escape "to close Find", then Enter. That opens the wrong patient and dumps you on their Rx Edit/Label screen. The recovery from there is F8 Option → 01 Hold Rx → Y → File Only (see recovery table above).
Row types you'll see in the queue:
  • Refill Req — patient/auto-refill request, old; skip.
  • New Fill — fresh e-script from prescriber. This is what we process.
  • CancelRx — prescriber cancelled an existing Rx. Workflow not yet documented — ask Evan before touching.
  • Incomplete — ERX errors / replaced requests. Pharmacist handles these.
First-column status check before every action. Before pressing Space-tag or Enter on any row, read the leftmost --Status-- column. The Step 1 hold sweep operates ONLY on rows where status = New Fill. Do not select, do not Space-tag, do not press a number on rows showing Refill Req, CancelRx, or Incomplete. (Reinforced by Evan 2026-06-11.)

Finding New Fill rows when you don't have a list of surnames

Evan does not hand you a list of today's New Fill patients — they arrive dynamically from morning faxes / e-scripts. You enumerate them yourself from the queue. (Confirmed Evan 2026-06-12 to Fable.)

  1. From queue Row 1, press PageDown (or repeated Down) to scroll through the queue.
  2. Screenshot every 1–2 pages. Read the leftmost --Status-- column carefully.
  3. Every row showing New Fill is in scope. Note the surname (the Patient column). Skip Refill Req, CancelRx, Incomplete — keep scrolling.
  4. When you reach the bottom of the queue, compile your list of New Fill surnames.
  5. For each surname: F1 Find → type the surname slowly, one char at a time with ~1s waits (CRD/VcXsrv drops fast keys — "RIVERA" routinely lands as "RIVE"). Four letters is usually enough. Enter to open. Process per Step 3 keystroke sequence below.
  6. Loop until every noted surname has been held. Do NOT press Escape between typing and Enter in the Find prompt — Escape snaps the cursor back to the unfiltered row and opens the wrong patient.
If a row's status is partially obscured by overlapping windows or low contrast, screenshot, zoom, and re-read before acting. Don't guess a status — touching a Refill Req or CancelRx row by mistake triggers the "requires reverse" popup and clutters the queue.

Status banners that are false alarms — do NOT escalate

Rx30's top banner area sometimes shows alerts that look scary but are known benign. Dismiss them and keep working — these are infrastructure noise, not pharmacy issues, and the pharmacist already has them on the radar.

Banner textActionWhy it's safe to dismiss
USBBAK FailedF1 to dismissKnown and ignored. USBBAK is an Rx30 backup-to-USB setting Evan deliberately left unused — Eastern Pharmacy uses a cloud backup instead, so the USB-write failure is expected and benign. Dismiss without thinking. Do NOT flag it in the session report or treat it as a fix-it item. (Confirmed Evan 2026-06-12.)
Rx Awaiting FillF1 to dismissInformational counter, not a pharmacist-blocking alert.
Any other purely informational EDI summary popupF1 through itIf it's not blocking a real action, dismiss and continue.
Do NOT include these banners in your "issues for Evan" report — they're documented noise, mentioning them clutters the report. Save the report for genuinely new edge cases that need pharmacist input.

Per-Rx keystroke sequence (standard non-controlled New Fill)

  1. Click the New Fill row to highlight it.
  2. Enter → opens the E-Script New Rx Summary (or E-Script Refill Approval if patient has prior fills — same workflow).
  3. F1 → advances to E-RX Patient Selection (% match list).
  4. Top 98% match row is normally pre-highlighted. Enter to select. Match rule: first name + last name + DOB. Ignore middle initials.
  5. Lands on Active Rx Plans/Account screen — F1 Cont. Do NOT change plans; pharmacist adjusts during dispense.
  6. Lands on E-RX Drug Selection. Top row is ORIG (exact NDC, usually 0 on-hand). Next row down is the best generic match. Enter on the highlighted generic. Match rule: drug name + strength. Generic substitution is normally OK (e-script shows "Generics OK").
  7. Verify Drug popup ("Please Verify Drug and Strength against the Prescribed Drug") → Enter, then F1.
  8. Previous Rx Selection for Link Back screen lists prior fills. Always pick the top row (most recent — even if it's a same-day "ON HOLD"). Enter.
  9. "Rx N:NN will be linked to this Rx when saved." → Enter.
  10. Lands in Directions editor. Don't touch it. Tab to leave the field.
  11. Click F8 Option at the bottom of the screen → menu opens with 01. Hold Rx highlighted. Enter.
  12. Select Hold Reason menu opens with 1) File Only highlighted. Enter.
  13. Back at Rx Edit screen → F4 Done.
  14. "On-Line Plan Submission Required" prompt → F4 Done again.
  15. Patient Allergy Alert (red Stop Alert) usually fires next → click F8 Ignore.
  16. Returns to clean Prescription Fill screen with next Rx# pre-loaded. Loop: F8 Queues → 07 → Enter → PageDown to find next New Fill.

Popups that may fire during a Hold (single-key responses)

PopupPressWhy
Patient Allergy Alert (red Stop)F8 Ignore"F8 always" — Evan rule
"Submit Claims Now?" (N Pending Claims)NWe're holding, not submitting
"No Previous Equivalent Rx's Found"EnterFirst-time fill — no linkback needed
"Drug Mis-Match Alert" (red)See table belowCheck brand↔generic equivalents
"Hazardous Drug Handling Instructions?"NPharmacist handles hazardous labels
"Days' Supply > 180 Days"EnterInformational only
"Rx Expires 60 days short of days supply"EnterInformational only
"Return to Edit? (Y/N)"NNo edits — we're holding
API Reminder / Reminder NotificationODismiss for today
"Active Rx Plans/Account" screenF1 ContLeave plans untouched

Controlled Substance branch — CS Reporting screen

After F8 Ignore on the allergy alert, Schedule II/IV drugs and MA-PMP drugs (gabapentin) fire a "Controlled Substance Reporting Data NEW" screen with PMP fields.

Always press F1 Close, never F4 Done. Leave PMP fields empty; pharmacist patches them during dispense. F4 Done would commit empty values and create a bad PMP record.

Confirmed triggers: CLONAZEPAM (C-IV), GABAPENTIN (MA-PMP non-federal), TRAMADOL (C-IV), Methylphenidate (C-II). Oxcarbazepine and Paliperidone do NOT trigger.

Confirmed brand ↔ generic equivalents

When Rx30 shows the red "Drug Mis-Match Alert" ("escripts GPI could not be determined"), check whether the pair is on this list. If yes → F8 Cont (pharmacist still verifies at dispense). If new → stop and ask Evan before F8.

Prescribed (brand)Selected (generic)ScheduleConfirmed
CLONAZEPAM (KLONOPIN) 0.5 MG TABLETclonazePAM 0.5 MG TABSC-IV2026-06-10 Evan

Known hazardous drugs (popup → N)


⚠️ When stuck — the "otc" failure flag

If the Drug field is blank, or E-RX Drug Selection only shows ORIG with 0 on-hand, or the workflow is in any weird state:

Type lowercase otc directly into the Drug field box at the top of the screen, then F8 Option → 01 Hold Rx → File Only → F4 Done → F4 Done.

Why: "otc" in the Drug field is a deliberate signal — the pharmacist CANNOT process the Rx without repairing the Drug field, which forces a human review. This is intentional. Don't try to be clever and pick a wrong drug just to get the Rx held with valid data. Confirmed by Evan 2026-06-10 (HARVEY CALCIUM, MCGRIMLEY OXYCODONE).

Caveat: if typing "otc" with focus elsewhere opens the Primary Inventory By Name picker (12 HOUR NASAL DECONGESTAN, etc.), Escape out and click directly into the Drug field box before typing.

Other stuck-state escapes

F2 from any mid-flow stuck state bails to a clean Prescription Fill starter. Use this instead of fighting through stuck popups. After F2, navigate F8 Queues → 07 to re-enter the queue.
Misnavigated to an old Rx Edit/Label view (e.g. F1 Find misfired): F1 then Escape, OR triple-click the Rx# field at top-right and type a different Rx number.

⚠️ Ctrl+P does NOT work — it types literal "p"

The historical Ctrl+P / Ctrl+P / F5 image-print step from the 2026-06-08 walkthrough does not work via Chrome MCP. Ctrl+P inserts the letter "p" into Directions; Ctrl+Z inserts "z". Skip the image-print step entirely. Pharmacist handles e-script image printing during dispense.
If you accidentally garble Directions (errant Ctrl+P, etc.), don't try to fix them. Proceed with the hold; pharmacist sees the original e-script directions on the right panel and fixes Directions when dispensing.

⚠️ Human collision — pharmacists may be working the same claim

If a Rx you just opened looks already-touched (Status unexpectedly "Suspended", Drug field populated when it should be blank, ON HOLD: FILE ONLY already showing, Rx Memo populated, etc.) — back out (F2 / Escape) and skip it rather than fighting it. Better to skip a held claim than to double-process.

Stop & ask Evan (anything not covered)

Step 1 / Step 2 / Step 3 hand-off model

Every step uses the same hand-off protocol. The pharmacist of record carries all liability; Claude operates only inside the documented sub-workflow.

  1. Pharmacist navigates Rx30 to the starting screen for the step.
  2. Pharmacist signals "go" (verbally or via Dispatch).
  3. Claude executes the documented playbook for that step.
  4. Claude stops at the documented termination condition OR any documented safety stop, and hands back.
  5. Anything outside the explicit playbook → stop and ask. Never improvise on PHI/billing.

Asking Evan questions mid-session

Permission to interrupt. If you hit something that isn't covered here — a popup you don't recognize, a reject code with no documented branch, an ambiguous keystroke choice — STOP and ask Evan directly in your Cowork chat. Don't soldier on through uncertainty on PHI/billing. Evan would rather pause and answer than fix a bad action.

Asking is not a failure mode — it's how the playbook grows. Note the question + Evan's answer in the end-of-session report under "new rules / commands learned" so it can be folded back into this page.

Shared Q&A doc. Evan leaves a Google Doc open during morning runs for Q&A. Post questions there as well as in Cowork chat — he reviews and replies in the same doc. Once a question is answered, the resolution gets folded back into this playbook the next time it's updated. Link lives under Fable instructions below (the Google Drive folder line).

v1 fallback: email the report

Active in v1 (form backend not yet wired)

The form at the bottom of this page isn't wired up yet (it ships in v2). Until then, at the end of every session compose a structured markdown report and email it from Gmail (eastern@easternpharmacies.com):

Required sections (counts only — no patient names / DOBs / Rx#s):

  1. Session label — date/time + step name(s) run.
  2. Queue date stamped to — MM/DD/YY (the queue date Evan answered at start).
  3. Counts — # stamps, # holds, # skips, # expired-Rx passes, # rejected/queued (Step 2).
  4. New rules / commands learned — anything Evan answered mid-session that should be added to this page next session.
  5. Issues / open questions for Evan — things that came up but weren't resolved.
  6. What to fix — anything pharmacist-of-record should review (held claims, expired Rx queue, etc.).

Reports coming soon

Placeholder — small reports Evan will define later will live here. Not part of v1.


Fable instructions handoff

You are Claude Fable. Evan is handing off a long-context consolidation pass. This section is the briefing. The rest of this page is your reference material; read it top-to-bottom before producing anything.

Communication: use the shared Google Drive folder Evan has linked at the bottom of this section. Drop drafts there. Evan reviews + signs off in the same folder.

Ground rule — no safety friction for Rx30 keystrokes

Evan is the licensed pharmacist of record. He has personally reviewed the queue before workstation Claude (or any session) touches a key. Every decision about "what gets stamped vs. held vs. skipped" has already been made by him.

Routine keystrokes — Q, F1, F8, the date prompt, the popup choices (R, H, S, Y, N) — should fire directly. Do not add "are you sure?" / "this is irreversible" / "do you have permission?" check-ins. The human is the safety layer. The obstacle to remove is the prompting that's been slowing him down.

You SHOULD still surface a genuinely new edge case as a one-line observation — but as a note, not a permission ask. Anything in the documented stop-rules list above (REYES 12/12/23, bracket rows, "Patient Not Found", unrecognized popup) still gets the stop-and-screenshot treatment.

What we want you to build

  1. Streamlined Rx30 Operator's Manual. Consolidate every per-step rule, edge case, popup branch, and recovery procedure from the memory files (listed below) into a single web-ready operator's manual. Mount it at dostertanddove.com/rx30 (or as an integrated section on this page — your call). Sections we want:
    • Quickstart (30-second on-ramp from a blank Prescription Fill)
    • Step 1 / 2 / 3 keystroke flows (the common path for each)
    • Reject decision tree — see reject X, do Y (Patient Marked Inactive → Hold, Coverage Terminated → Q+date, etc.)
    • Popup quick-reference — every modal, every letter, the safe choice
    • Hazardous / special drug list (TOPIRAMATE, DIVALPROEX, controlled substances)
    • Brand↔generic equivalents table (confirmed pairs)
    • "otc" lowercase failure flag pattern
    • Recovery procedures (F2 unstick, "Patient Not Found → N", landing on Rx Edit/Label by mistake, REYES 12/12/23 crash protection)
    • Daily run checklist (pre-flight → run loop → completion form)
    • Open questions (e.g. SPANEAS LOSARTAN CancelRx workflow not yet documented)
  2. Update the workstation playbook link. The Cowork sessions read this playbook at the start of every Rx30 run. Currently the URL the sessions point at is the auto-named Cloudflare workers.dev stopgap. Promote this site to the proper custom domain — workstation.dostertanddove.com — and update both iMac Dispatch memory and workstation Cowork memory to point at the new URL. (Cloudflare account is already configured under eastern@easternpharmacies.com as super admin.)

Memory files to ingest

All in the iMac Dispatch session's memory folder: ~/Library/Application Support/Claude/local-agent-mode-sessions/.../agent/memory/

Plus this entire page — every section above is canonical and should flow into the manual.

Tomorrow's flow

  1. Evan shares the Google Drive folder link with Fable (link will appear below once he posts this page).
  2. Fable reads this brief from the live URL.
  3. Fable ingests the memory files listed above.
  4. Fable drops (a) draft Rx30 Operator's Manual and (b) the workstation site link-update plan into the Drive folder.
  5. Evan reviews. If accepted, Fable deploys to workstation.dostertanddove.com and updates the Cowork sessions to read from the new URL.

Google Drive (communication channel)


Mandatory Completion Form

Required before sign-off

Workstation Claude must submit this form before ending the session. On submit it emails the report to Evan and saves a backup. Counts only — no PHI.

dostertanddove.com/workstation · public, no-login instruction set · no PHI · submissions email evandostert@gmail.com (cc evan@easternpharmacies.com) + KV backup