Skip to content

Show live staff case progress and announce real acceptance - #41

Merged
aryanorastar merged 4 commits into
mainfrom
feat/live-staff-case-status
Oct 11, 2026
Merged

aryanorastar merged 4 commits into
mainfrom
feat/live-staff-case-status

Conversation

@aryanorastar

@aryanorastar aryanorastar commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Customer failure prevented

The staff card stays at Needs a human after a real acceptance, and the customer never sees who picked up the case. If the acceptance notice cannot be confirmed, staff must receive an actionable private instruction rather than a log-only warning.

Change

  • Project the existing durable case into private staff cards: awaiting acceptance, accepted/not started, in progress, waiting for customer, resolved and closed. Staff explicitly start work; delivery is not acceptance.
  • Persist only card references and synchronization metadata, serialize cross-copy edits, repair missed updates at Discord ready and every 30 seconds, and never recreate deleted cards.
  • Post one localized customer-thread acceptance notice naming the actual acceptor, with no pings, ETA or private intake. Repeated clicks retain the first owner and do not repeat the notice; reopened cases start a new acceptance cycle.
  • Every unconfirmed notification result, including a thrown notification, tells the accepting staff member ephemerally: "The customer notice was not confirmed. Please reply in their thread yourself." Do not undo acceptance or blindly resend an uncertain notice.
  • Merge released Phase 2 main into the branch without a rebase; update architecture, runbook and checklist to distinguish current production from this draft.

Phase 3 commits

  • 551e48e: merge released main 8321439 into live case status (two-parent merge commit).
  • e5cff9e: explicit private follow-up instruction and notification/boot/timer/stale-card regressions.

Validation

  • npm test: 661 pass, zero failures, rerun before push.
  • Offline customer evaluation: 8/8.
  • New wording regression failed before the correction, then passed. Covers send_unconfirmed, claim_failed, stale_acceptance, notice_unconfirmed, unavailable and thrown notification; acceptance remains saved and the response remains ephemeral/mention-free.
  • Direct Discord-ready handler test verifies initial syncPending, the 30-second timer and no new sweep while stopping.
  • Stale-card test starts with a synchronized delivered card, fails its edit after acceptance/work changes, then verifies the next pending sweep updates it and a subsequent sweep has nothing left to repair.
  • Hosted CI passes on e5cff9e: Node 20, Node 24 and the real Postgres integration job, including old-schema upgrade and exact microsecond watermark checks. Run: https://github.com/BasedHardware/omi-vector-bot/actions/runs/38140211182.
  • Known-local-secret scan and diff whitespace checks pass.

Production and release gates

Report 1 was graded PASS. The six separately approved contributor fixes are now live as main 8321439, deployment 5b25759b-d01e-4645-ade1-c869a482b323; Report 2 is awaiting grading. The actual combined production suite was 638 tests and offline 8/8.

This PR remains draft: no PR #41 merge/deploy, Railway variable changes, protected-file reads or protected rerun. The latest staged order is Phase 2 → reviewed #41 → routing comparison → reviewed/private-preflight #28 → reviewed #29 → reviewed #30. #28's audience validation is not claimed as integrated here; no competing validator is added. Required wording/release gates and Discord accept/double-accept/start/wait/refresh/restart/close smoke remain before enablement. Existing cards can be adopted through an authorized Refresh or Accept action. A crash between the durable notice claim and Discord delivery may leave that optional notice unconfirmed; staff follow-up remains the fallback, not an exactly-once guarantee.

#28–#30 are unchanged by this update. N12 credential rotation remains deferred by Aryan (Oct 9), accepted risk.

@aryanorastar
aryanorastar marked this pull request as ready for review October 11, 2026 13:50
@aryanorastar
aryanorastar merged commit b9eeb16 into main Oct 11, 2026
3 checks passed
@aryanorastar
aryanorastar deleted the feat/live-staff-case-status branch October 11, 2026 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant