Record the recall measurement and the two subsystem contracts (V-719)
docs/evals/2026-08-15-locative-answerability-verifier.md rules the resident model out as a recall answerability verifier. Its constrained output was syntactically reliable and neither semantically reliable nor isolated from instructions inside stored memory: five false accepts out of 32 held-out cases, two of them prompt injections carried in the memory text, all five identical across three fixed-seed repeats. design.md carries the reminder row as it now is, one-shot or recurring, with the outbox and the cancellation invariants. routing.md carries the new stage 0 frames and the cancellation rung. deployment.md carries the /reminders contract. The assistant_workday scenario exercises the turn sequence end to end. --no-verify: master is the working branch this session by the owner's call. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+17
-1
@@ -97,7 +97,7 @@ Text-to-speech has not moved. piper on homesrv is the only synthesizer.
|
||||
| Binary | Role |
|
||||
|---|---|
|
||||
| `mavend` | **Core.** Router, phraser, memory, reminders, digestion tick. Owns the DB and IPC socket. |
|
||||
| `mavweb` | HTTP UI and PWA (`/dash`, `/history`, `/trace`, `/notifications`, `/tools`), WebAuthn auth. |
|
||||
| `mavweb` | HTTP UI and PWA (`/dash`, `/chat`, `/history`, `/trace`, `/notifications`, `/reminders`, `/tasks`, `/events`, `/tools`, `/ecosystem`, `/morning`), WebAuthn auth. |
|
||||
| `mavsttd` | Speech-to-text (whisper.cpp, CGO). |
|
||||
| `mavttsd` | Text-to-speech (piper subprocess). |
|
||||
| `mavwaked` | Wake-word and VAD gate. Runs on workpc. |
|
||||
@@ -233,3 +233,19 @@ lives in Go, and the sidebar is data (`sidebarSections`, `pageIcon`) the templat
|
||||
renders. No per-page `<style>` beyond true one-offs. Wrap every table in
|
||||
`<div class=scroll>` so wide data pans on a phone. Local preview and headless
|
||||
screenshot recipes are in `AGENTS.md`.
|
||||
|
||||
`/reminders` is both the complete cancellation surface and recent history.
|
||||
`GET` merges every pending reminder (ordered by next fire) with the latest 50
|
||||
rows without duplicates, so old pending work cannot fall off a history window.
|
||||
Recurring rows show `next_fire_ts` and their cron expression. A pending row has
|
||||
an inline `POST action=cancel`; success uses a 303 redirect so refresh cannot
|
||||
repeat the mutation. Missing IDs return 404, terminal or in-flight rows return
|
||||
409, malformed IDs/actions return 400, and transport failures return the normal
|
||||
sanitized 502 problem response.
|
||||
|
||||
The page calls `ListPendingReminders` and `CancelReminder` over `ipc.CoreAPI`.
|
||||
Listing is read authority. Cancellation is ordinary authenticated write
|
||||
authority and deliberately has no separate step-up: it prevents a future send
|
||||
but cannot create one. `MarkReminder` remains delivery-only and accepts
|
||||
`fired`; no web or legacy IPC caller can bypass cancellation's outbox check by
|
||||
writing `cancelled` directly.
|
||||
|
||||
Reference in New Issue
Block a user