Make mutations confirm themselves, and seed the evidence trail
CI / verify (push) Successful in 2m51s
CI / verify (push) Successful in 2m51s
Two demo gaps, both of which made working features look like they were not there. **Toasts fired into nothing.** RecordSheets already called toast.success on every save, but <Toaster /> was never mounted, so nothing appeared. It could not be mounted, either: the shadcn original imports next-themes, which PIG does not use — it has its own provider so a chosen theme is persisted server-side and follows a user between devices. Rewired to PIG's useTheme, mounted inside ThemeProvider, and offset clear of the phone tab bar and the home indicator. Feedback added where the interface otherwise gives none: allocation and hold report the GPU-hours actually written, because the sheet closes on success and the only other evidence is a number moving off-screen; releasing a hold says the capacity is sellable again; fact decisions say what the decision meant, and that approving evidence is not the same as writing it to a record; the profile form confirms rather than just clearing itself, which otherwise reads as the input being discarded. **The fact table was empty**, so the review queue and every provenance tooltip had nothing to show — the mechanism that makes an agent-written CRM trustworthy, invisible. Six agent-derived facts seeded with a deliberate mix: two applied, showing what a confident agent writes unprompted, and four proposed, including one weak claim that a reviewer should reject, so the queue is not a row of obvious approvals. Each carries a score, a band, evidence and where available a source. Idempotent on subject+field+value; verified over two runs. Verified: toast confirmed firing in a real browser on a 393px viewport, 135 unit tests and e2e green, typecheck clean, CSP hash unchanged, 0px horizontal overflow across 12 routes at both breakpoints. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -140,6 +140,13 @@ conflict on, do an existence check instead.
|
||||
flag set to false was silently on. Use the `envBoolean` helper in
|
||||
`apps/api/src/lib/config.ts`.
|
||||
|
||||
**Mutations must confirm themselves.** `<Toaster />` is mounted in `App.tsx`
|
||||
inside `ThemeProvider`; use `toast.success` / `toast.error` in every mutation's
|
||||
`onSuccess` / `onError`. The shadcn Toaster ships wired to `next-themes`, which
|
||||
PIG does not use — it was rewired to PIG's `useTheme`. Before that it was never
|
||||
mounted, so toasts already written in RecordSheets fired into nothing and every
|
||||
save completed in silence.
|
||||
|
||||
**shadcn's `accent` is a SUBTLE surface, not the brand.** shadcn uses
|
||||
`bg-accent` for hover, focus and selected states — dropdown items, command
|
||||
rows, ghost buttons. The brand is `primary`. In `tailwind.config.js`, `accent`
|
||||
|
||||
Reference in New Issue
Block a user