[{"data":1,"prerenderedAt":1159},["ShallowReactive",2],{"cycle-doc-design-c137-plan.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":20},{"id":5,"title":6},"c137","App Messaging, Overseer and Citizen",{"id":8,"label":9},"design","Design","plan.md","c137 plan: App Messaging, Overseer and Citizen (draft, before kick-off)",[13,14,15,16,17,18,19],"Why","The shape","Rules","Decisions (defaults)","Phases","Clarifying questions","Patterns to consider",{"type":21,"children":22},"root",[23,97,103,122,127,132,139,221,227,344,357,363,375,380,386,421,426,432,510,515,594,599,943,948,954,959,965,984,990,995,1001,1006,1019,1025,1037,1043,1048,1053,1101,1106],{"type":24,"tag":25,"props":26,"children":27},"element","p",{},[28,35,37,42,44,49,51,56,58,63,65,72,74,80,82,87,89,95],{"type":24,"tag":29,"props":30,"children":31},"strong",{},[32],{"type":33,"value":34},"text","Gate:",{"type":33,"value":36}," none for the design. Kicked off 2026-11-09 on Mark's word with Phases 0–2 in their own session. Phase 3 lands with c131 Phase 1, because Mark ruled the ports and bones into V1 (2026-11-09). Phase 4 lands with c134.\n",{"type":24,"tag":29,"props":38,"children":39},{},[40],{"type":33,"value":41},"Defaults:",{"type":33,"value":43}," D1–D8 confirmed by Mark on 2026-11-09.\n",{"type":24,"tag":29,"props":45,"children":46},{},[47],{"type":33,"value":48},"Reader:",{"type":33,"value":50}," Mark; c131's executor (the bones ship in V1); c133 (a training assignment is a message); c136 (a grant notice is a message); Tyler at G2 (which messages flow first).\n",{"type":24,"tag":29,"props":52,"children":53},{},[54],{"type":33,"value":55},"Mode:",{"type":33,"value":57}," rebellion (refuse the notification firehose and offer the person control in return) → formula (a message schema is a codified thing).\n",{"type":24,"tag":29,"props":59,"children":60},{},[61],{"type":33,"value":62},"Problem:",{"type":33,"value":64}," ",{"type":24,"tag":66,"props":67,"children":69},"code",{"className":68},[],[70],{"type":33,"value":71},"problem:enforcement-without-local-context",{"type":33,"value":73}," (session ",{"type":24,"tag":66,"props":75,"children":77},{"className":76},[],[78],{"type":33,"value":79},"1b21a3ce",{"type":33,"value":81},", Mark Peterson, first-hand advisor; standing observed, advisor-labelled; not customer validation).\n",{"type":24,"tag":29,"props":83,"children":84},{},[85],{"type":33,"value":86},"Vocabulary:",{"type":33,"value":88}," overseer and citizen are Mark's working words for the two parties and stay internal; the product words come from c0 in ",{"type":24,"tag":66,"props":90,"children":92},{"className":91},[],[93],{"type":33,"value":94},"..\u002Fqnative",{"type":33,"value":96},". The brand would never put \"overseer\" in a UI (powerful, not intimidating).",{"type":24,"tag":98,"props":99,"children":101},"h2",{"id":100},"why",[102],{"type":33,"value":13},{"type":24,"tag":25,"props":104,"children":105},{},[106,108,113,115,120],{"type":33,"value":107},"Two parties will talk through these apps: the ",{"type":24,"tag":29,"props":109,"children":110},{},[111],{"type":33,"value":112},"overseer",{"type":33,"value":114}," (the control plane and the people who run it: IT, security; \"Qplane, to be named\") and the ",{"type":24,"tag":29,"props":116,"children":117},{},[118],{"type":33,"value":119},"citizen",{"type":33,"value":121}," (the employee at the endpoint, with the native app and the tray). Mark Peterson's ask is the first message: when qcontrol enforces, tell the person what happened and how to reach IT, so it is not \"such a complete whiplash in vacuum of information\". Mark Parson's prompt lists more: notices from HQ, confirmations of identity, censures with what to stop doing, new responsibilities, training. Each is a message. If each is built where it is needed, the person is bombarded, and the brand's promise (\"invisible when working, visible when needed\"; \"we are not noisy\") breaks on the one surface an employee actually sees.",{"type":24,"tag":25,"props":123,"children":124},{},[125],{"type":33,"value":126},"So the ports (the channels) and the bones (the skeleton of a message) are designed once and ship with V1, even though only the Connect confirmations flow at first. The person's control over what reaches them is the design, not a settings page added later. Through the methodology: a message is a module, its type the purpose and its bones the protocol; the channel is the protocol between two modules whose internals are free. \"Exquisite control\" is the edge of chaos applied to attention: the overseer's freedom to send meets the citizen's order over what gets through.",{"type":24,"tag":98,"props":128,"children":130},{"id":129},"the-shape",[131],{"type":33,"value":14},{"type":24,"tag":133,"props":134,"children":136},"h3",{"id":135},"the-parties",[137],{"type":33,"value":138},"The parties",{"type":24,"tag":140,"props":141,"children":142},"table",{},[143,172],{"type":24,"tag":144,"props":145,"children":146},"thead",{},[147],{"type":24,"tag":148,"props":149,"children":150},"tr",{},[151,157,162,167],{"type":24,"tag":152,"props":153,"children":154},"th",{},[155],{"type":33,"value":156},"Role",{"type":24,"tag":152,"props":158,"children":159},{},[160],{"type":33,"value":161},"Working word",{"type":24,"tag":152,"props":163,"children":164},{},[165],{"type":33,"value":166},"Product word",{"type":24,"tag":152,"props":168,"children":169},{},[170],{"type":33,"value":171},"Where",{"type":24,"tag":173,"props":174,"children":175},"tbody",{},[176,199],{"type":24,"tag":148,"props":177,"children":178},{},[179,185,189,194],{"type":24,"tag":180,"props":181,"children":182},"td",{},[183],{"type":33,"value":184},"sends policy, notices, assignments",{"type":24,"tag":180,"props":186,"children":187},{},[188],{"type":33,"value":112},{"type":24,"tag":180,"props":190,"children":191},{},[192],{"type":33,"value":193},"operator, IT (the brand already says \"operators\"); c0 decides",{"type":24,"tag":180,"props":195,"children":196},{},[197],{"type":33,"value":198},"the control plane web app",{"type":24,"tag":148,"props":200,"children":201},{},[202,207,211,216],{"type":24,"tag":180,"props":203,"children":204},{},[205],{"type":33,"value":206},"the person at the keyboard",{"type":24,"tag":180,"props":208,"children":209},{},[210],{"type":33,"value":119},{"type":24,"tag":180,"props":212,"children":213},{},[214],{"type":33,"value":215},"you, the person, end user (Peterson's word); c0 decides",{"type":24,"tag":180,"props":217,"children":218},{},[219],{"type":33,"value":220},"the native app, the tray, the OS",{"type":24,"tag":133,"props":222,"children":224},{"id":223},"ports-channels",[225],{"type":33,"value":226},"Ports (channels)",{"type":24,"tag":140,"props":228,"children":229},{},[230,251],{"type":24,"tag":144,"props":231,"children":232},{},[233],{"type":24,"tag":148,"props":234,"children":235},{},[236,241,246],{"type":24,"tag":152,"props":237,"children":238},{},[239],{"type":33,"value":240},"Port",{"type":24,"tag":152,"props":242,"children":243},{},[244],{"type":33,"value":245},"Carries",{"type":24,"tag":152,"props":247,"children":248},{},[249],{"type":33,"value":250},"Controlled by",{"type":24,"tag":173,"props":252,"children":253},{},[254,272,290,308,326],{"type":24,"tag":148,"props":255,"children":256},{},[257,262,267],{"type":24,"tag":180,"props":258,"children":259},{},[260],{"type":33,"value":261},"Inbox in the native app",{"type":24,"tag":180,"props":263,"children":264},{},[265],{"type":33,"value":266},"every message, kept, with its state",{"type":24,"tag":180,"props":268,"children":269},{},[270],{"type":33,"value":271},"the app; always on",{"type":24,"tag":148,"props":273,"children":274},{},[275,280,285],{"type":24,"tag":180,"props":276,"children":277},{},[278],{"type":33,"value":279},"Tray",{"type":24,"tag":180,"props":281,"children":282},{},[283],{"type":33,"value":284},"a count and the one line that matters",{"type":24,"tag":180,"props":286,"children":287},{},[288],{"type":33,"value":289},"the citizen (on · off)",{"type":24,"tag":148,"props":291,"children":292},{},[293,298,303],{"type":24,"tag":180,"props":294,"children":295},{},[296],{"type":33,"value":297},"OS notification",{"type":24,"tag":180,"props":299,"children":300},{},[301],{"type":33,"value":302},"immediate, interruptive",{"type":24,"tag":180,"props":304,"children":305},{},[306],{"type":33,"value":307},"the citizen, per type and with quiet hours; one override (below)",{"type":24,"tag":148,"props":309,"children":310},{},[311,316,321],{"type":24,"tag":180,"props":312,"children":313},{},[314],{"type":33,"value":315},"Web app",{"type":24,"tag":180,"props":317,"children":318},{},[319],{"type":33,"value":320},"the operator's side of the same inbox; the pages a message links to",{"type":24,"tag":180,"props":322,"children":323},{},[324],{"type":33,"value":325},"the overseer",{"type":24,"tag":148,"props":327,"children":328},{},[329,334,339],{"type":24,"tag":180,"props":330,"children":331},{},[332],{"type":33,"value":333},"Email, Slack",{"type":24,"tag":180,"props":335,"children":336},{},[337],{"type":33,"value":338},"out of V1; later through the plane's integrations",{"type":24,"tag":180,"props":340,"children":341},{},[342],{"type":33,"value":343},"—",{"type":24,"tag":25,"props":345,"children":346},{},[347,349,355],{"type":33,"value":348},"\"Native message channels\" means the OS notification centre (macOS, Windows toasts, Linux freedesktop notifications) through the kit or the platform layer; c130's ",{"type":24,"tag":66,"props":350,"children":352},{"className":351},[],[353],{"type":33,"value":354},"platform.md",{"type":33,"value":356}," finds out what the kit gives us.",{"type":24,"tag":133,"props":358,"children":360},{"id":359},"bones-the-message",[361],{"type":33,"value":362},"Bones (the message)",{"type":24,"tag":364,"props":365,"children":369},"pre",{"className":366,"code":368,"language":33},[367],"language-text","Message {\n  id, type, severity: info | attention | required,\n  from: { plane, operator } | qcontrol,          to: { endpoint, person },\n  subject (one line, 60 chars at most),\n  body: what happened · why it matters · what to do next,\n  actions: [ { label, kind: open-page | acknowledge | start-training | contact-it | dismiss, target } ],\n  links: { finding?, policy?, training?, grant? },\n  requires_ack, expires_at?, created_at,\n  state: new | seen | acknowledged | done | expired,\n  thread?: replies (a citizen's \"contact IT\" is a message back)\n}\n",[370],{"type":24,"tag":66,"props":371,"children":373},{"__ignoreMap":372},"",[374],{"type":33,"value":368},{"type":24,"tag":25,"props":376,"children":377},{},[378],{"type":33,"value":379},"Every body follows the brand's rule for errors and alerts: say what happened, why it matters, and what to do next. Calm, specific, honest.",{"type":24,"tag":133,"props":381,"children":383},{"id":382},"types-the-inventory-from-the-roadmap",[384],{"type":33,"value":385},"Types (the inventory from the roadmap)",{"type":24,"tag":387,"props":388,"children":389},"ul",{},[390,401,411],{"type":24,"tag":391,"props":392,"children":393},"li",{},[394,399],{"type":24,"tag":29,"props":395,"children":396},{},[397],{"type":33,"value":398},"Overseer → citizen:",{"type":33,"value":400}," enforcement notice (a policy acted on this machine: what, why, how to reach IT; the Peterson message) · HQ notice · identity confirmation (\"this machine is connected as…\") · censure (\"stop doing X, Y, Z\", in HQ's words) · responsibility (\"you are now responsible for…\") · training assignment (c133) · configuration change (\"your plane changed X\") · mechanic-access notice (c136).",{"type":24,"tag":391,"props":402,"children":403},{},[404,409],{"type":24,"tag":29,"props":405,"children":406},{},[407],{"type":33,"value":408},"Citizen → overseer:",{"type":33,"value":410}," acknowledgement · contact IT (with the message's context attached) · training completed (c133) · diagnostics on request (consent first, then send) · connect request.",{"type":24,"tag":391,"props":412,"children":413},{},[414,419],{"type":24,"tag":29,"props":415,"children":416},{},[417],{"type":33,"value":418},"qcontrol → citizen, locally, with no plane:",{"type":33,"value":420}," enforcement notice in local mode · sensor state (on · off · degraded).",{"type":24,"tag":25,"props":422,"children":423},{},[424],{"type":33,"value":425},"In V1 the Connect confirmations flow; local enforcement notices if Tyler rules them in at G2 (Q5 there); the rest later.",{"type":24,"tag":133,"props":427,"children":429},{"id":428},"the-citizens-control",[430],{"type":33,"value":431},"The citizen's control",{"type":24,"tag":387,"props":433,"children":434},{},[435,445,455,465,490,500],{"type":24,"tag":391,"props":436,"children":437},{},[438,443],{"type":24,"tag":29,"props":439,"children":440},{},[441],{"type":33,"value":442},"Per type:",{"type":33,"value":444}," off · inbox only · tray · notify, with sensible defaults (enforcement: notify; HQ notice: inbox; training: tray).",{"type":24,"tag":391,"props":446,"children":447},{},[448,453],{"type":24,"tag":29,"props":449,"children":450},{},[451],{"type":33,"value":452},"Quiet hours and the OS's Focus",{"type":33,"value":454},", respected, with a digest afterwards.",{"type":24,"tag":391,"props":456,"children":457},{},[458,463],{"type":24,"tag":29,"props":459,"children":460},{},[461],{"type":33,"value":462},"Mute",{"type":33,"value":464}," a thread, or a policy's notices, for a day.",{"type":24,"tag":391,"props":466,"children":467},{},[468,473,475,481,483,488],{"type":24,"tag":29,"props":469,"children":470},{},[471],{"type":33,"value":472},"One override:",{"type":33,"value":474}," only ",{"type":24,"tag":66,"props":476,"children":478},{"className":477},[],[479],{"type":33,"value":480},"required",{"type":33,"value":482}," messages pass quiet hours. The overseer chooses ",{"type":24,"tag":66,"props":484,"children":486},{"className":485},[],[487],{"type":33,"value":480},{"type":33,"value":489}," sparingly, and the app shows how many required messages the overseer sent this month. Honesty in both directions.",{"type":24,"tag":391,"props":491,"children":492},{},[493,498],{"type":24,"tag":29,"props":494,"children":495},{},[496],{"type":33,"value":497},"\"Why am I seeing this\"",{"type":33,"value":499}," on every notification: the policy or the person that sent it.",{"type":24,"tag":391,"props":501,"children":502},{},[503,508],{"type":24,"tag":29,"props":504,"children":505},{},[506],{"type":33,"value":507},"Nothing hidden:",{"type":33,"value":509}," the inbox says what the settings held back (\"3 notices went to your inbox quietly\"). Control never erases the record.",{"type":24,"tag":98,"props":511,"children":513},{"id":512},"rules",[514],{"type":33,"value":15},{"type":24,"tag":387,"props":516,"children":517},{},[518,528,538,554,564,574,584],{"type":24,"tag":391,"props":519,"children":520},{},[521,526],{"type":24,"tag":29,"props":522,"children":523},{},[524],{"type":33,"value":525},"R1. One schema, every message.",{"type":33,"value":527}," No team adds a side channel.",{"type":24,"tag":391,"props":529,"children":530},{},[531,536],{"type":24,"tag":29,"props":532,"children":533},{},[534],{"type":33,"value":535},"R2. Three sentences.",{"type":33,"value":537}," What happened, why it matters, what to do next (the brand's alert rule).",{"type":24,"tag":391,"props":539,"children":540},{},[541,546,547,552],{"type":24,"tag":29,"props":542,"children":543},{},[544],{"type":33,"value":545},"R3. The citizen controls delivery; the overseer controls content.",{"type":33,"value":64},{"type":24,"tag":66,"props":548,"children":550},{"className":549},[],[551],{"type":33,"value":480},{"type":33,"value":553}," is the single override, and it is counted.",{"type":24,"tag":391,"props":555,"children":556},{},[557,562],{"type":24,"tag":29,"props":558,"children":559},{},[560],{"type":33,"value":561},"R4. Nothing is alarming.",{"type":33,"value":563}," Severity words are attention and required, never danger or critical, in the citizen's UI; the brand's colour rules hold (orange for work left, red only for blocked or failed).",{"type":24,"tag":391,"props":565,"children":566},{},[567,572],{"type":24,"tag":29,"props":568,"children":569},{},[570],{"type":33,"value":571},"R5. Every message ends.",{"type":33,"value":573}," Acknowledged, done or expired. The inbox is a record, not a pile.",{"type":24,"tag":391,"props":575,"children":576},{},[577,582],{"type":24,"tag":29,"props":578,"children":579},{},[580],{"type":33,"value":581},"R6. The record is honest and bounded.",{"type":33,"value":583}," The audit log keeps sent, seen and acknowledged (c133's proof of correction relies on it) and nothing about dwell or read time.",{"type":24,"tag":391,"props":585,"children":586},{},[587,592],{"type":24,"tag":29,"props":588,"children":589},{},[590],{"type":33,"value":591},"R7. Use the OS.",{"type":33,"value":593}," The platform's notification centre and its settings model before anything of our own; the app adds only what the OS lacks (per type, per policy).",{"type":24,"tag":98,"props":595,"children":597},{"id":596},"decisions-defaults",[598],{"type":33,"value":16},{"type":24,"tag":140,"props":600,"children":601},{},[602,623],{"type":24,"tag":144,"props":603,"children":604},{},[605],{"type":24,"tag":148,"props":606,"children":607},{},[608,613,618],{"type":24,"tag":152,"props":609,"children":610},{},[611],{"type":33,"value":612},"#",{"type":24,"tag":152,"props":614,"children":615},{},[616],{"type":33,"value":617},"Question",{"type":24,"tag":152,"props":619,"children":620},{},[621],{"type":33,"value":622},"Default",{"type":24,"tag":173,"props":624,"children":625},{},[626,644,670,696,721,739,757,775,793,826,867,900,918],{"type":24,"tag":148,"props":627,"children":628},{},[629,634,639],{"type":24,"tag":180,"props":630,"children":631},{},[632],{"type":33,"value":633},"D1",{"type":24,"tag":180,"props":635,"children":636},{},[637],{"type":33,"value":638},"Where messages live",{"type":24,"tag":180,"props":640,"children":641},{},[642],{"type":33,"value":643},"the plane holds the record and the operator's view; the native app keeps a local inbox (SQLite) that syncs; in local mode, messages exist locally only.",{"type":24,"tag":148,"props":645,"children":646},{},[647,652,657],{"type":24,"tag":180,"props":648,"children":649},{},[650],{"type":33,"value":651},"D2",{"type":24,"tag":180,"props":653,"children":654},{},[655],{"type":33,"value":656},"Transport",{"type":24,"tag":180,"props":658,"children":659},{},[660,662,668],{"type":33,"value":661},"the ",{"type":24,"tag":66,"props":663,"children":665},{"className":664},[],[666],{"type":33,"value":667},"plane",{"type":33,"value":669}," source of c131's DataNozzle; messages are a resource like any other (bible R15), fetched or streamed; replies posted back.",{"type":24,"tag":148,"props":671,"children":672},{},[673,678,683],{"type":24,"tag":180,"props":674,"children":675},{},[676],{"type":33,"value":677},"D3",{"type":24,"tag":180,"props":679,"children":680},{},[681],{"type":33,"value":682},"V1 scope (Mark's ruling)",{"type":24,"tag":180,"props":684,"children":685},{},[686,688,694],{"type":33,"value":687},"the schema in the ",{"type":24,"tag":66,"props":689,"children":691},{"className":690},[],[692],{"type":33,"value":693},"types",{"type":33,"value":695}," crate, the inbox store, the OS notification plumbing with per-type controls, the tray count, and the Connect confirmation as the one flowing type. The design of the full type set and the controls is this cycle's; the plumbing ships in c131 Phase 1.",{"type":24,"tag":148,"props":697,"children":698},{},[699,704,716],{"type":24,"tag":180,"props":700,"children":701},{},[702],{"type":33,"value":703},"D4",{"type":24,"tag":180,"props":705,"children":706},{},[707,709,714],{"type":33,"value":708},"The ",{"type":24,"tag":66,"props":710,"children":712},{"className":711},[],[713],{"type":33,"value":480},{"type":33,"value":715}," override",{"type":24,"tag":180,"props":717,"children":718},{},[719],{"type":33,"value":720},"allowed for enforcement and censure types by default; the overseer may set it per policy; always counted and visible.",{"type":24,"tag":148,"props":722,"children":723},{},[724,729,734],{"type":24,"tag":180,"props":725,"children":726},{},[727],{"type":33,"value":728},"D5",{"type":24,"tag":180,"props":730,"children":731},{},[732],{"type":33,"value":733},"Contact IT",{"type":24,"tag":180,"props":735,"children":736},{},[737],{"type":33,"value":738},"a reply that lands in the plane's inbox and, through integrations later, Slack or email. The IT contact text comes from the plane's org settings (Peterson's \"path to IT\").",{"type":24,"tag":148,"props":740,"children":741},{},[742,747,752],{"type":24,"tag":180,"props":743,"children":744},{},[745],{"type":33,"value":746},"D6",{"type":24,"tag":180,"props":748,"children":749},{},[750],{"type":33,"value":751},"Censures",{"type":24,"tag":180,"props":753,"children":754},{},[755],{"type":33,"value":756},"HQ's words verbatim, labelled as from HQ, never rewritten by us (c133 R6).",{"type":24,"tag":148,"props":758,"children":759},{},[760,765,770],{"type":24,"tag":180,"props":761,"children":762},{},[763],{"type":33,"value":764},"D7",{"type":24,"tag":180,"props":766,"children":767},{},[768],{"type":33,"value":769},"Names",{"type":24,"tag":180,"props":771,"children":772},{},[773],{"type":33,"value":774},"overseer and citizen stay internal; the product words come from c0.",{"type":24,"tag":148,"props":776,"children":777},{},[778,783,788],{"type":24,"tag":180,"props":779,"children":780},{},[781],{"type":33,"value":782},"D8",{"type":24,"tag":180,"props":784,"children":785},{},[786],{"type":33,"value":787},"Design medium",{"type":24,"tag":180,"props":789,"children":790},{},[791],{"type":33,"value":792},"the lab for the web side; c132's medium for the native side; the OS notification itself mocked as captures per platform.",{"type":24,"tag":148,"props":794,"children":795},{},[796,801,806],{"type":24,"tag":180,"props":797,"children":798},{},[799],{"type":33,"value":800},"D9",{"type":24,"tag":180,"props":802,"children":803},{},[804],{"type":33,"value":805},"Delivery modes (ruled 2026-11-11)",{"type":24,"tag":180,"props":807,"children":808},{},[809,811,817,819,824],{"type":33,"value":810},"per kind, three plain modes: quiet · normal · priority, each one OS interruption level (macOS passive · active · time-sensitive; Windows toast priority and Focus Assist). ",{"type":24,"tag":66,"props":812,"children":814},{"className":813},[],[815],{"type":33,"value":816},"priority",{"type":33,"value":818}," is the ceiling and only ",{"type":24,"tag":66,"props":820,"children":822},{"className":821},[],[823],{"type":33,"value":480},{"type":33,"value":825}," may use it; never \"critical\" or \"danger\" (R4). Alert permission is asked once, at Connect, with the reason.",{"type":24,"tag":148,"props":827,"children":828},{},[829,834,839],{"type":24,"tag":180,"props":830,"children":831},{},[832],{"type":33,"value":833},"D10",{"type":24,"tag":180,"props":835,"children":836},{},[837],{"type":33,"value":838},"Inbox order (ruled 2026-11-11)",{"type":24,"tag":180,"props":840,"children":841},{},[842,844,849,851,857,859,865],{"type":33,"value":843},"open ",{"type":24,"tag":66,"props":845,"children":847},{"className":846},[],[848],{"type":33,"value":480},{"type":33,"value":850}," and ",{"type":24,"tag":66,"props":852,"children":854},{"className":853},[],[855],{"type":33,"value":856},"new",{"type":33,"value":858}," messages float above ",{"type":24,"tag":66,"props":860,"children":862},{"className":861},[],[863],{"type":33,"value":864},"seen",{"type":33,"value":866}," ones; within each band, by time. Supersedes bones §5.",{"type":24,"tag":148,"props":868,"children":869},{},[870,875,880],{"type":24,"tag":180,"props":871,"children":872},{},[873],{"type":33,"value":874},"D11",{"type":24,"tag":180,"props":876,"children":877},{},[878],{"type":33,"value":879},"The voice lint (ruled 2026-11-11)",{"type":24,"tag":180,"props":881,"children":882},{},[883,885,891,893,898],{"type":33,"value":884},"a plane setting, ",{"type":24,"tag":66,"props":886,"children":888},{"className":887},[],[889],{"type":33,"value":890},"voice_lint: advise | confirm",{"type":33,"value":892},", default advise; lengths and the ",{"type":24,"tag":66,"props":894,"children":896},{"className":895},[],[897],{"type":33,"value":480},{"type":33,"value":899}," permission stay hard checks.",{"type":24,"tag":148,"props":901,"children":902},{},[903,908,913],{"type":24,"tag":180,"props":904,"children":905},{},[906],{"type":33,"value":907},"D12",{"type":24,"tag":180,"props":909,"children":910},{},[911],{"type":33,"value":912},"After an action (ruled 2026-11-11)",{"type":24,"tag":180,"props":914,"children":915},{},[916],{"type":33,"value":917},"a short toast in the native app's notification host (c131 D8) carries the confirmation when the card moves under the fold.",{"type":24,"tag":148,"props":919,"children":920},{},[921,926,931],{"type":24,"tag":180,"props":922,"children":923},{},[924],{"type":33,"value":925},"D13",{"type":24,"tag":180,"props":927,"children":928},{},[929],{"type":33,"value":930},"V1 answers to ports.md §5 (ruled 2026-11-11)",{"type":24,"tag":180,"props":932,"children":933},{},[934,936,941],{"type":33,"value":935},"no floor for enforcement notices (the person decides, tray by default); ",{"type":24,"tag":66,"props":937,"children":939},{"className":938},[],[940],{"type":33,"value":480},{"type":33,"value":942}," without the entitlement is notify + tray + the inbox flag; no acknowledge from the notification; one sender label per plane; the operator's inbox at Admin › Messages; local mode's Contact IT one-way until connected.",{"type":24,"tag":98,"props":944,"children":946},{"id":945},"phases",[947],{"type":33,"value":17},{"type":24,"tag":133,"props":949,"children":951},{"id":950},"_0-inventory-can-run-now",[952],{"type":33,"value":953},"0. Inventory (can run now)",{"type":24,"tag":25,"props":955,"children":956},{},[957],{"type":33,"value":958},"Every message the roadmap implies, the table above completed with its source (session, prompt, cycle) and its default delivery; the 5-question pass per type (useful, clear, precise, necessary, beautiful); the ones that fail are dropped.",{"type":24,"tag":133,"props":960,"children":962},{"id":961},"_1-bones-can-run-now",[963],{"type":33,"value":964},"1. Bones (can run now)",{"type":24,"tag":25,"props":966,"children":967},{},[968,970,975,977,982],{"type":33,"value":969},"The schema as a document and as a ",{"type":24,"tag":66,"props":971,"children":973},{"className":972},[],[974],{"type":33,"value":693},{"type":33,"value":976}," entry for ",{"type":24,"tag":66,"props":978,"children":980},{"className":979},[],[981],{"type":33,"value":94},{"type":33,"value":983},"; ten example messages written in brand voice and checked with the brand MCP's voice tool; the three-sentence rule shown by them.",{"type":24,"tag":133,"props":985,"children":987},{"id":986},"_2-ports-and-controls-can-run-now",[988],{"type":33,"value":989},"2. Ports and controls (can run now)",{"type":24,"tag":25,"props":991,"children":992},{},[993],{"type":33,"value":994},"The citizen's inbox and settings mocked (c132's medium, or the lab in a native skin until it exists); the OS notification per platform as captures; the operator's send side in the lab in c134's shell. Review stop.",{"type":24,"tag":133,"props":996,"children":998},{"id":997},"_3-the-v1-slice-with-c131-phase-1",[999],{"type":33,"value":1000},"3. The V1 slice, with c131 Phase 1",{"type":24,"tag":25,"props":1002,"children":1003},{},[1004],{"type":33,"value":1005},"Schema, inbox store, OS plumbing, per-type controls, tray count, the Connect confirmation flowing. A story per state.",{"type":24,"tag":25,"props":1007,"children":1008},{},[1009,1011,1017],{"type":33,"value":1010},"The first native tour exercises this slice (ruled 2026-11-11, c131 D15): switch to the ",{"type":24,"tag":66,"props":1012,"children":1014},{"className":1013},[],[1015],{"type":33,"value":1016},"pilot",{"type":33,"value":1018}," world, simulate a bad event (the paste scare, the secret-file read or the incident; one tour or three), watch the enforcement notice arrive locally and tune what gets through. The tour's \"alarm\" is this cycle's enforcement notice under R4; its tuning is the citizen's controls above.",{"type":24,"tag":133,"props":1020,"children":1022},{"id":1021},"_4-the-plane-side-with-c134",[1023],{"type":33,"value":1024},"4. The plane side, with c134",{"type":24,"tag":25,"props":1026,"children":1027},{},[1028,1030,1035],{"type":33,"value":1029},"The operator's inbox, send, the ",{"type":24,"tag":66,"props":1031,"children":1033},{"className":1032},[],[1034],{"type":33,"value":480},{"type":33,"value":1036}," policy, the audit events; the contract added to c134's API document.",{"type":24,"tag":133,"props":1038,"children":1040},{"id":1039},"_5-close",[1041],{"type":33,"value":1042},"5. Close",{"type":24,"tag":25,"props":1044,"children":1045},{},[1046],{"type":33,"value":1047},"The record; the training assignment type handed to c133 and the grant notice to c136.",{"type":24,"tag":98,"props":1049,"children":1051},{"id":1050},"clarifying-questions",[1052],{"type":33,"value":18},{"type":24,"tag":1054,"props":1055,"children":1056},"ol",{},[1057,1068,1073,1078,1083],{"type":24,"tag":391,"props":1058,"children":1059},{},[1060,1066],{"type":24,"tag":1061,"props":1062,"children":1063},"del",{},[1064],{"type":33,"value":1065},"Does qcontrol itself send enforcement notices in local mode, before any plane exists?",{"type":33,"value":1067}," Yes (default held; 2026-11-11 ruled local mode's Contact IT one-way from qcontrol's config, D13).",{"type":24,"tag":391,"props":1069,"children":1070},{},[1071],{"type":33,"value":1072},"Does the overseer see that a message was seen (R6 keeps sent, seen, acknowledged)? Any privacy line Tyler or Peterson draws?",{"type":24,"tag":391,"props":1074,"children":1075},{},[1076],{"type":33,"value":1077},"Which V1 messages beyond Connect does Tyler want (G2 Q5)?",{"type":24,"tag":391,"props":1079,"children":1080},{},[1081],{"type":33,"value":1082},"Email or Slack for the citizen: ever, or is the OS the only interruptive channel?",{"type":24,"tag":391,"props":1084,"children":1085},{},[1086,1099],{"type":24,"tag":1061,"props":1087,"children":1088},{},[1089,1091,1097],{"type":33,"value":1090},"The tour's simulated event: which arc event does the ",{"type":24,"tag":66,"props":1092,"children":1094},{"className":1093},[],[1095],{"type":33,"value":1096},"drill",{"type":33,"value":1098}," inject on this machine?",{"type":33,"value":1100}," Answered 2026-11-11: all three (the paste scare, the secret-file read, the incident), as one tour or three if that is too much for one. Still open: whether the local notice carries the IT contact (question 1).",{"type":24,"tag":98,"props":1102,"children":1104},{"id":1103},"patterns-to-consider",[1105],{"type":33,"value":19},{"type":24,"tag":387,"props":1107,"children":1108},{},[1109,1119,1129,1139,1149],{"type":24,"tag":391,"props":1110,"children":1111},{},[1112,1117],{"type":24,"tag":29,"props":1113,"children":1114},{},[1115],{"type":33,"value":1116},"Honest Security",{"type":33,"value":1118}," (Kolide): device-trust messages to end users that explain and ask instead of blocking silently. The closest precedent to Peterson's ask.",{"type":24,"tag":391,"props":1120,"children":1121},{},[1122,1127],{"type":24,"tag":29,"props":1123,"children":1124},{},[1125],{"type":33,"value":1126},"Apple's Focus and notification summary:",{"type":33,"value":1128}," honour them, do not fight them.",{"type":24,"tag":391,"props":1130,"children":1131},{},[1132,1137],{"type":24,"tag":29,"props":1133,"children":1134},{},[1135],{"type":33,"value":1136},"Message as module:",{"type":33,"value":1138}," the same bones carry a training assignment, a grant notice, a censure. One component in the kit and one in the layer render them all.",{"type":24,"tag":391,"props":1140,"children":1141},{},[1142,1147],{"type":24,"tag":29,"props":1143,"children":1144},{},[1145],{"type":33,"value":1146},"The brand's alert tone as a lint:",{"type":33,"value":1148}," the ten example messages become the voice-check fixtures for every message type that follows.",{"type":24,"tag":391,"props":1150,"children":1151},{},[1152,1157],{"type":24,"tag":29,"props":1153,"children":1154},{},[1155],{"type":33,"value":1156},"Letters, not alerts:",{"type":33,"value":1158}," an HQ notice reads like a short letter from a person, signed; censures are the exception and are labelled as such.",1794599382499]