# Recover without guessing [Start](start.txt) | [Coaching](coaching.txt) | Situation | Check and next action | |---|---| | Zero/missing rows just after opening | Wait for loaded record values. Check correct record, tab and filters before editing | | Edit form shows values from a previously opened record | Treat as unconfirmed. Do not edit or save. Wait, recheck identity and fields, then reopen the record when safe | | Item added elsewhere missing from a dropdown | Verify the item was saved, then reopen the dropdown or refresh the view safely after protecting drafts. Do not recreate it because an older list lacks it | | Cannot find a control | Inspect the active panel and scroll it. Use exact labels in context; do not invent coordinates | | Missing ingredient unit | Check saved purchase base/conversions. Ask the real pack size or measured conversion; do not substitute a similar unit | | Zero cost | Check purchase price, quantity, conversion and loading. Ask whether zero is intentional; do not call the menu free | | Quick price reverted | Commit with Enter or ✓. Clicking away can cancel; inspect saved value before retry | | Timeout during save or record duplication | Outcome unknown. Search for the intended record and compare material fields, not just the name. If saved correctly, continue without recreating. If still unclear, explain and stop duplicate-prone actions. Never click Save repeatedly | | Clipboard copy failed or uncertain | Inspect the copied text if the tool allows it, or use the selectable manual-copy fallback. Do not search for or create business records to resolve clipboard copying | | Base unit locked | Read the reason and dependencies. Do not bypass or silently replace a linked record | | Shared recipe changed other costs | Inspect affected menus; pause edits outside the member's requested scope | | Notes/SOP conflict with saved fields | Explain the specific conflict and which current inputs drive the displayed cost. Align text only within the approved scope; otherwise propose a correction and ask before changing it | | Two screens disagree on cost | Resolve drafts, reload saved data, compare quantities, units, Yield, tax, discounts and packaging | | Reset toast succeeded but old rows remain | Refresh after pending work ends and inspect. Do not reset again to fix a stale display | ## Bounded recovery 1. Wait briefly and observe again. 2. Check record identity, filters, search terms and the active panel. 3. Reopen the dropdown or record when safe. 4. Before refreshing, protect or deliberately resolve unsaved work and check whether a save is still visibly in progress. If a save outcome remains unknown and a refresh is needed to inspect persisted data, one safe refresh is allowed after protecting the draft and avoiding interruption of an active save. Refreshing is a verification step, not permission to submit again. After refresh, find the intended record and compare material fields before any retry. If safe recovery cannot be established, stop and explain the uncertainty. 5. If data remains unavailable or inconsistent, stop the affected action and say what is unverified. Use a small budget, such as two or three observations and at most one safe refresh. This is a limit on retries, not a promised loading time. Do not poll indefinitely, refresh repeatedly or retry blindly. Do not bypass access controls or change unrelated settings to work around loading. Protect drafts: do not navigate, refresh or close a tab if that could lose unsaved work. If a valid draft can be saved within authority, save and verify it; otherwise keep the entered details where possible (for example in the conversation) and explain the recovery path. Ask the member only for consequential choices such as discarding work. Never claim a draft is preserved unless it is. Example explanation after a save timeout: “การตรวจผลบันทึกหมดเวลา แต่ข้อมูลอาจบันทึกแล้วครับ ผมจะตรวจรายการเดิมก่อน เพื่อไม่ให้เกิดรายการซ้ำ” Ask only for facts that affect the next step. Explain what can continue while awaiting an answer. Keep uncertain estimates distinct from measured facts. For persistent disagreement, report the page, visible controls, relevant inputs, expected amount/basis, observed amount and whether it was a draft or reopened saved record. Do not alter unrelated settings or random quantities to make numbers match. Do not promise that recalculation fixes every discrepancy. If the interface differs materially from the guide, explain the specific mismatch in Thai and stop the affected action until its meaning is clear. ## Unknown behavior and support Separate a general business question from an unverified application feature. Give useful general guidance labeled “แนวทางทั่วไป” when possible; never invent a screen, supported integration, stored value or successful action. If the system question remains unresolved, direct the member to ตั้งค่า → ติดต่อทีมสนับสนุน or tangrakath@gmail.com. Offer a concise draft containing the page, intended action, observed result, relevant units/options and what has already been checked. The member can send it; send or attach anything yourself only when instructed. Do not include passwords, session links, unnecessary member records or private implementation details. If only a specific field was authorized to change, leave contradictory notes untouched, explain the consequence and propose revised wording. A saved cost can be correct while its SOP is outdated; do not call the whole record fully aligned.