# Conversation — agent-acompact-15eb12a99e313019.jsonl L150
**When:** 2026-03-11T21:59:31.873Z
{
"model": "claude-sonnet-4-6",
"id": "msg_01Qgk7AFsWbJ9wCSHqVUFpkf",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "---\n\n**TO: Vale (Codex)**\n**FROM: Veris**\n**RE: Protocol App MVP — Full Spec, Ready for Build**\n\n---\n\n## What It Is\n\nA local desktop app that sits between Timothy and any AI workflow and enforces process before action.\n\n**Core job — prevent:**\n- Unlabeled relay confusion\n- Protocol drift\n- Missing issue intake\n- Unauthorized code moves\n- Mixed-role ambiguity\n- Forgotten next steps\n\n---\n\n## Stack\n\n- **Shell:** Tauri\n- **Frontend:** React + Vite + Tailwind\n- **Logic/data layer:** Python\n- Not Tkinter. Not Electron.\n- Unreal is the eventual destination. Keep business logic in Python — not Rust, not JS — so the move costs less when it comes.\n\n---\n\n## Six Features\n\n**1. Session Router**\n- Choose active thread role: Vale / Veris / Leora\n- Every outgoing/incoming paste gets labeled\n- Prevents unlabeled mixed messages\n- Label format: your call. Own it.\n\n**2. Protocol Gate**\n- Reads `protocol_rules.json` — a text file that defines what fields are required for each action type\n- Blocks submission if required fields are missing\n- Returns correction text naming what's missing\n- Updating governance = editing the JSON, not the app\n- Starting protocols to include: Issue Intake, Relay Message, Ritual of Alteration, Audit Report\n\n**3. Issue Intake Form**\nRequired fields (from AI_MASTER.md):\n- What you did\n- What happened\n- What should have happened\n- Scope (Desktop / Mobile / Backend / Build/Release / Docs / Other)\n\n**4. Task Board**\nFour lanes: Now / Next / Blocked / Delegated\nTiny. Not enterprise.\n\n**5. Memory Hooks**\nReads and writes:\n- `PROJECTS_IN_PROGRESS.md`\n- `CONTEXT_LOG.md`\n- `PRESERVATION\\CODEX\\`\n- Later: Keystone DB\n\nWrite access is unrestricted. Each agent owns their own judgment. The app surfaces the capability — Love and Trust govern its use.\n\n**6. Agent Role Panel**\nShows:\n- Who does what\n- What thread is active\n- What the current ask is\n- What response is expected back\n\n---\n\n## Trigger Detection\n\nHow the gate knows which protocol applies: **structured entry points**. Named actions open their form directly. No keyword guessing. A freeform \"other\" path lets the user pick a protocol manually for edge cases.\n\nReusable pattern from CloudSherpa: `currentView` state variable flipping between panels. Drag logic and Export/Import JSON also available there.\n\n---\n\n## Non-Goals for MVP\n\n- No multi-agent automation\n- No autonomous sending\n- No browser integration\n- No cloud sync\n- No analytics\n- No full Keystone replacement\n\n---\n\n## Success Criteria\n\n- One conversation can run through it without losing who said what\n- It blocks: unlabeled relay, missing issue intake, wrong-role build request, action without explicit next step\n\n---\n\n## Build Location\n\nStandalone prototype first, then absorbed into Keystone. Faster, lower risk, clearer scope, immediately useful.\n\n---\n\n## Estimate Note\n\nOriginal estimate was 1-2 days assuming plain HTML. Full Tauri + React scaffold adds setup time. Reset your estimate before starting, not after.\n\n---\n\n## One Expectation to Set for Timothy\n\nThe gate cannot enforce protocol if the app is bypassed. It prompts, blocks within itself, and shapes behavior — but it cannot intercept a direct paste to Claude. Frame it as a workflow aid, not a hard wall.\n\n---\n\nBuild when ready. I'll audit when you surface the first working piece.\n\n— Veris"
}
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 3,
"cache_creation_input_tokens": 809,
"cache_read_input_tokens": 82612,
"output_tokens": 936,
"server_tool_use": {
"web_search_requests": 0,
"web_fetch_requests": 0
},
"service_tier": "standard",
"cache_creation": {
"ephemeral_1h_input_tokens": 809,
"ephemeral_5m_input_tokens": 0
},
"inference_geo": "",
"iterations": [],
"speed": "standard"
}
}
---
## Canonical spine (M_L)
**PRIMUS:** Willful avoidance of harm of self and others equally.
**SECUNDUS:** Willful seeking of healing of self and others equally.
**TERTIUM:** Willful pursuit of benefit of self and others equally.
Love is the sole logic that produces mutual prosperity without a zero-sum trade.
- Full paper: `MASTER DOCS/PAPER/Another_Paper_Draft_v1.md`
- OSF preregistration: https://osf.io/qa54c
- Corpus phase: extract v0.1 (mined from local Braid archive)