[{"data":1,"prerenderedAt":1128},["ShallowReactive",2],{"$fOt6qdJBAKRbjzv1YBlrR4Pd4WIuKgKNjYgp6dis8Zzw":3},{"newThing":4,"project":5,"cycle":9,"sections":24,"threads":1073,"otherDocs":1076,"documents":1077,"images":1092,"archiveItems":1125,"links":1126},"The message channel's ports and bones",{"id":6,"label":7,"liveBase":8},"design","Design",null,{"id":10,"num":11,"dir":12,"name":13,"title":14,"focus":15,"status":16,"statusNote":8,"created":17,"completed":8,"mode":18,"report":8,"recordless":19,"thumbnail":20,"imageCount":21,"artifactCount":21,"lastActivity":22,"hasPickup":19,"hasInitialPrompt":23},"c137",137,"c137.app-messaging","app-messaging","App Messaging, Overseer and Citizen","The ports and bones of every message between the overseer (the control plane and the people who run it) and the citizen (the employee at the endpoint): one schema, the channels (inbox, tray, OS notification, web app), the inventory of message types the roadmap implies, and the citizen's control over what reaches them. Simple, and never a bombardment.","archived","2026-11-09","rebellion → formula.",false,"\u002Fcycles\u002Fdesign\u002Fc137-messaging-bones.png",7,"2026-11-13",true,[25,62,89,168,805,890],{"key":26,"title":27,"empty":19,"ast":28},"why","Why",{"type":29,"children":30},"root",[31,39],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36],{"type":37,"value":38},"text","When qcontrol enforces a policy, the person at the keyboard sees a disruption and nothing else. Mark Peterson asked for local feedback with a path to IT. Mark Parson's prompt adds notices from HQ, confirmations of identity, censures, new responsibilities and training. Each is a message, and if each is built where it is needed the person is bombarded on the one surface an employee actually sees. The brand promises \"invisible when working, visible when needed\" and \"we are not noisy\"; this cycle is where that promise is designed. Mark ruled on 2026-11-09 that the channel's ports and bones ship in V1 even though only Connect confirmations flow at first.",{"type":32,"tag":33,"props":40,"children":41},{},[42,48],{"type":32,"tag":43,"props":44,"children":47},"img",{"alt":45,"src":46},"Overseer, ports, citizen","\u002Fcycles\u002Fdesign\u002Fc137-sketch-channel.png",[],{"type":32,"tag":49,"props":50,"children":51},"em",{},[52,54,60],{"type":37,"value":53},"Sketch: ",{"type":32,"tag":55,"props":56,"children":58},"a",{"href":57},"\u002Fcycles\u002Fdesign\u002Fsketches\u002Fc137-channel",[59],{"type":37,"value":45},{"type":37,"value":61},", drawn 2026-11-10 in the design system; Mark's own drawings may replace it.",{"key":63,"title":64,"empty":19,"ast":65},"objective","Objective",{"type":29,"children":66},[67],{"type":32,"tag":33,"props":68,"children":69},{},[70,72,79,81,87],{"type":37,"value":71},"Done means: the message inventory with a 5-question pass per type; the schema (the bones) as a document and a ",{"type":32,"tag":73,"props":74,"children":76},"code",{"className":75},[],[77],{"type":37,"value":78},"types",{"type":37,"value":80}," entry in ",{"type":32,"tag":73,"props":82,"children":84},{"className":83},[],[85],{"type":37,"value":86},"..\u002Fqnative",{"type":37,"value":88},"; ten example messages in brand voice; the citizen's inbox and controls and the operator's send side mocked and reviewed; the V1 slice (schema, inbox store, OS plumbing, per-type controls, tray count, Connect confirmation) built with c131; the plane side agreed with c134; the training and grant message types handed to c133 and c136.",{"key":90,"title":91,"empty":19,"ast":92},"scope","Scope",{"type":29,"children":93},[94],{"type":32,"tag":95,"props":96,"children":97},"ul",{},[98,126,136,158],{"type":32,"tag":99,"props":100,"children":101},"li",{},[102,108,110,116,118,124],{"type":32,"tag":103,"props":104,"children":105},"strong",{},[106],{"type":37,"value":107},"Cycle docs:",{"type":37,"value":109}," ",{"type":32,"tag":73,"props":111,"children":113},{"className":112},[],[114],{"type":37,"value":115},"cycles\u002Fc137.app-messaging\u002F",{"type":37,"value":117}," (",{"type":32,"tag":73,"props":119,"children":121},{"className":120},[],[122],{"type":37,"value":123},"plan.md",{"type":37,"value":125},", the inventory, the example messages, thread prompt\u002Fplan pairs)",{"type":32,"tag":99,"props":127,"children":128},{},[129,134],{"type":32,"tag":103,"props":130,"children":131},{},[132],{"type":37,"value":133},"Design site:",{"type":37,"value":135}," the web side in the phase-4 lab; the native side in c132's medium",{"type":32,"tag":99,"props":137,"children":138},{},[139,144,145,150,151,156],{"type":32,"tag":103,"props":140,"children":141},{},[142],{"type":37,"value":143},"Sister projects:",{"type":37,"value":109},{"type":32,"tag":73,"props":146,"children":148},{"className":147},[],[149],{"type":37,"value":86},{"type":37,"value":117},{"type":32,"tag":73,"props":152,"children":154},{"className":153},[],[155],{"type":37,"value":78},{"type":37,"value":157},", inbox, plumbing), the control-plane repo via c134",{"type":32,"tag":99,"props":159,"children":160},{},[161,166],{"type":32,"tag":103,"props":162,"children":163},{},[164],{"type":37,"value":165},"Out:",{"type":37,"value":167}," email and Slack delivery to the citizen (later, through integrations); the product words for the two roles (c0); the content of trainings (c133) and grants (c136)",{"key":169,"title":170,"empty":19,"ast":171},"key-changes","Key Changes",{"type":29,"children":172},[173],{"type":32,"tag":95,"props":174,"children":175},{},[176,201,249,333,390,493,540,558,568,629,646,732,795],{"type":32,"tag":99,"props":177,"children":178},{},[179,184,186,192,194,199],{"type":32,"tag":103,"props":180,"children":181},{},[182],{"type":37,"value":183},"stage 1 (2026-11-09):",{"type":37,"value":185}," created from Mark's ruling on c130 D9 during the decisions walk: \"ports and bones\" in V1, the design as its own cycle, exquisite control for the user. ",{"type":32,"tag":73,"props":187,"children":189},{"className":188},[],[190],{"type":37,"value":191},"initial-prompt.md",{"type":37,"value":193}," quotes his words; ",{"type":32,"tag":73,"props":195,"children":197},{"className":196},[],[198],{"type":37,"value":123},{"type":37,"value":200}," proposes the parties, ports, bones, the type inventory, the citizen's controls, seven rules and eight defaults. CYCLE.md written before kick-off at Mark's request (c130 clarifying question 6).",{"type":32,"tag":99,"props":202,"children":203},{},[204,209,211,217,219,225,227,233,235,240,242,247],{"type":32,"tag":103,"props":205,"children":206},{},[207],{"type":37,"value":208},"kick-off (2026-11-09):",{"type":37,"value":210}," Mark confirmed D1–D8 and started the cycle: Phases 0–2 in their own session (",{"type":32,"tag":73,"props":212,"children":214},{"className":213},[],[215],{"type":37,"value":216},"inventory.md",{"type":37,"value":218},", ",{"type":32,"tag":73,"props":220,"children":222},{"className":221},[],[223],{"type":37,"value":224},"bones.md",{"type":37,"value":226}," with ten example messages, ",{"type":32,"tag":73,"props":228,"children":230},{"className":229},[],[231],{"type":37,"value":232},"ports.md",{"type":37,"value":234}," and the lab mocks), review stop after. The ",{"type":32,"tag":73,"props":236,"children":238},{"className":237},[],[239],{"type":37,"value":78},{"type":37,"value":241}," entry for ",{"type":32,"tag":73,"props":243,"children":245},{"className":244},[],[246],{"type":37,"value":86},{"type":37,"value":248}," waits for c131 Phase 1; the spike owns that repo meanwhile. Committed the same day.",{"type":32,"tag":99,"props":250,"children":251},{},[252,257,258,267,269,275,277,283,285,291,293,299,301,307,309,315,317,323,325,331],{"type":32,"tag":103,"props":253,"children":254},{},[255],{"type":37,"value":256},"Phase 0 (2026-11-09):",{"type":37,"value":109},{"type":32,"tag":55,"props":259,"children":261},{"href":260},"\u002Fcycles\u002Fdesign\u002Fc137\u002Fdoc\u002Finventory",[262],{"type":32,"tag":73,"props":263,"children":265},{"className":264},[],[266],{"type":37,"value":216},{"type":37,"value":268},": 24 rows considered, 16 kept (15 distinct types; ",{"type":32,"tag":73,"props":270,"children":272},{"className":271},[],[273],{"type":37,"value":274},"enforcement-notice",{"type":37,"value":276}," from the plane and from qcontrol locally), 8 dropped by the five questions (",{"type":32,"tag":73,"props":278,"children":280},{"className":279},[],[281],{"type":37,"value":282},"config-change",{"type":37,"value":284},", the mechanic-access notice to the citizen, the observe-mode nudge, endpoint-connected, reminder, digest, welcome, app-update; three of them survive as rules or port behaviours). Each row carries its source (",{"type":32,"tag":73,"props":286,"children":288},{"className":287},[],[289],{"type":37,"value":290},"1b21a3ce",{"type":37,"value":292},", Mark's prompt, c133, c136, c131 Connect, the plan), the default delivery (off · inbox · tray · notify) and whether ",{"type":32,"tag":73,"props":294,"children":296},{"className":295},[],[297],{"type":37,"value":298},"required",{"type":37,"value":300}," may apply (enforcement and censure by default, ",{"type":32,"tag":73,"props":302,"children":304},{"className":303},[],[305],{"type":37,"value":306},"hq-notice",{"type":37,"value":308}," only when the plane allows it; always counted). V1 set: ",{"type":32,"tag":73,"props":310,"children":312},{"className":311},[],[313],{"type":37,"value":314},"identity-confirmation",{"type":37,"value":316}," flows; enforcement notices and ",{"type":32,"tag":73,"props":318,"children":320},{"className":319},[],[321],{"type":37,"value":322},"contact-it",{"type":37,"value":324}," if Tyler rules them in at G2. Four questions raised, with defaults (local mode's IT contact from qcontrol's config; approval planes; the sensor-state threshold; whether the overseer sees ",{"type":32,"tag":73,"props":326,"children":328},{"className":327},[],[329],{"type":37,"value":330},"seen",{"type":37,"value":332},").",{"type":32,"tag":99,"props":334,"children":335},{},[336,341,342,351,353,359,361,366,368,374,376,381,383,388],{"type":32,"tag":103,"props":337,"children":338},{},[339],{"type":37,"value":340},"Phase 1 (2026-11-09):",{"type":37,"value":109},{"type":32,"tag":55,"props":343,"children":345},{"href":344},"\u002Fcycles\u002Fdesign\u002Fc137\u002Fdoc\u002Fbones",[346],{"type":32,"tag":73,"props":347,"children":349},{"className":348},[],[350],{"type":37,"value":224},{"type":37,"value":352},": the schema as a specification in the wire shape (fields and types; severities info · attention · required; states new · seen · acknowledged · done · expired with their transitions, terminal states and ",{"type":32,"tag":73,"props":354,"children":356},{"className":355},[],[357],{"type":37,"value":358},"expires_at",{"type":37,"value":360}," defaults; the ",{"type":32,"tag":73,"props":362,"children":364},{"className":363},[],[365],{"type":37,"value":298},{"type":37,"value":367}," rule as the one override, counted per recipient per month with a soft ceiling of three and a reason line above it; the sender label as a plane-set string, default \"HQ\"; threads, mute keys, the send side for c134; what the plane records under R6). Ten example messages, one per important type, each body in the brand's three sentences, plus two for the operator's inbox; all twelve checked with the brand MCP's ",{"type":32,"tag":73,"props":369,"children":371},{"className":370},[],[372],{"type":37,"value":373},"check-brand-voice",{"type":37,"value":375}," tool, zero violations. No Rust and nothing in ",{"type":32,"tag":73,"props":377,"children":379},{"className":378},[],[380],{"type":37,"value":86},{"type":37,"value":382},": the ",{"type":32,"tag":73,"props":384,"children":386},{"className":385},[],[387],{"type":37,"value":78},{"type":37,"value":389}," entry lands with c131 Phase 1.",{"type":32,"tag":99,"props":391,"children":392},{},[393,398,399,408,410,415,417,422,424,430,432,438,440,446,448,454,456,462,464,470,472,478,480,486,488],{"type":32,"tag":103,"props":394,"children":395},{},[396],{"type":37,"value":397},"Phase 2 (2026-11-09):",{"type":37,"value":109},{"type":32,"tag":55,"props":400,"children":402},{"href":401},"\u002Fcycles\u002Fdesign\u002Fc137\u002Fdoc\u002Fports",[403],{"type":32,"tag":73,"props":404,"children":406},{"className":405},[],[407],{"type":37,"value":232},{"type":37,"value":409},": the four ports (inbox, tray, OS notification, web app; email and Slack out of V1) with the inbox's honesty line, the tray's count and one line, the OS notification per platform and what c131's spike must confirm (",{"type":32,"tag":73,"props":411,"children":413},{"className":412},[],[414],{"type":37,"value":298},{"type":37,"value":416}," as the OS's break-through level only where the entitlement exists); the citizen's controls (per kind off · inbox · tray · notify with the inventory's defaults, quiet hours in front of the OS's Focus, mutes for a day, the single ",{"type":32,"tag":73,"props":418,"children":420},{"className":419},[],[421],{"type":37,"value":298},{"type":37,"value":423}," override with its monthly count and the plane's soft ceiling, \"why am I seeing this\" on every card, nothing hidden); the operator's send side for c134 (the inbox with states per recipient and Recall, Send with the three-sentence fields, the required count, the preview and the voice lint; three plane settings; the audit events). Mocked in the phase-4 lab: ",{"type":32,"tag":73,"props":425,"children":427},{"className":426},[],[428],{"type":37,"value":429},"\u002Fpages\u002Fphase4\u002Fmessaging-bones",{"type":37,"value":431}," (the one message component over the ten examples and the two operator-side ones across the five states, with the OS notification and the tray line each becomes), ",{"type":32,"tag":73,"props":433,"children":435},{"className":434},[],[436],{"type":37,"value":437},"\u002Fpages\u002Fphase4\u002Fmessaging-inbox",{"type":37,"value":439}," (the person's inbox and settings as a web rendering standing in for the native app until c132, the tray and the newest notification beside it, connected and local worlds), ",{"type":32,"tag":73,"props":441,"children":443},{"className":442},[],[444],{"type":37,"value":445},"\u002Fpages\u002Fphase4\u002Fmock\u002Fmessages",{"type":37,"value":447}," (the operator's side in the lab's qdash shell, not on the rail). One visit state (",{"type":32,"tag":73,"props":449,"children":451},{"className":450},[],[452],{"type":37,"value":453},"useMessagingMock",{"type":37,"value":455},"): a message sent from the operator's page lands in the person's inbox. Layer components first (UxPageTitle, UxTabGroup, UxFilterGroup, UxPill, UxToggle, UxButton, UxPopover, UxSelect, DataTable); the card, the notification and the tray line are design-local (",{"type":32,"tag":73,"props":457,"children":459},{"className":458},[],[460],{"type":37,"value":461},"app\u002Fcomponents\u002Fmessaging\u002F",{"type":37,"value":463},"). Registered in ",{"type":32,"tag":73,"props":465,"children":467},{"className":466},[],[468],{"type":37,"value":469},"page-registry.ts",{"type":37,"value":471}," (collapse ",{"type":32,"tag":73,"props":473,"children":475},{"className":474},[],[476],{"type":37,"value":477},"c137-messaging",{"type":37,"value":479},") and on the phase-4 index. Verified on :3000 with curl and in the browser (no console errors; acknowledge, settings, send and the lint exercised); captured to ",{"type":32,"tag":73,"props":481,"children":483},{"className":482},[],[484],{"type":37,"value":485},"public\u002Fcycles\u002Fdesign\u002Fc137-*.png",{"type":37,"value":487},". Ten questions for Mark in ports.md §5. ",{"type":32,"tag":103,"props":489,"children":490},{},[491],{"type":37,"value":492},"Review stop.",{"type":32,"tag":99,"props":494,"children":495},{},[496,501,503,507,509,515,517,523,525,531,533,538],{"type":32,"tag":103,"props":497,"children":498},{},[499],{"type":37,"value":500},"sketch and story (2026-11-10):",{"type":37,"value":502}," the channel drawn as ",{"type":32,"tag":55,"props":504,"children":505},{"href":57},[506],{"type":37,"value":45},{"type":37,"value":508}," in the design system (the three columns, the four ports, what flows first, the bones, the citizen's controls; captured as ",{"type":32,"tag":73,"props":510,"children":512},{"className":511},[],[513],{"type":37,"value":514},"c137-sketch-channel.png",{"type":37,"value":516}," for the Why and the story's hero), the story module ",{"type":32,"tag":73,"props":518,"children":520},{"className":519},[],[521],{"type":37,"value":522},"app\u002Fdata\u002Fstories\u002Fc137.ts",{"type":37,"value":524}," (nine decisions, five outcomes, four shots; pickup: Mark's review of the ten questions, then Phase 3 with c131), and ",{"type":32,"tag":73,"props":526,"children":528},{"className":527},[],[529],{"type":37,"value":530},"## The shape",{"type":37,"value":532}," above. Nothing in ",{"type":32,"tag":73,"props":534,"children":536},{"className":535},[],[537],{"type":37,"value":86},{"type":37,"value":539},".",{"type":32,"tag":99,"props":541,"children":542},{},[543,548,550,556],{"type":32,"tag":103,"props":544,"children":545},{},[546],{"type":37,"value":547},"2026-11-11:",{"type":37,"value":549}," the first native tour ruled in c131 (D15; ",{"type":32,"tag":55,"props":551,"children":553},{"href":552},"\u002Fcycles\u002Fdesign\u002Fc131\u002Fdoc\u002Fsynthetic-data",[554],{"type":37,"value":555},"synthetic data",{"type":37,"value":557}," §Rulings): switch to priya's world, simulate a bad event, watch the local enforcement notice and tune the controls; it is this cycle's Phase 3 slice seen from the person's chair. Plan: a paragraph under Phase 3 and clarifying question 5 (which arc event the drill injects).",{"type":32,"tag":99,"props":559,"children":560},{},[561,566],{"type":32,"tag":103,"props":562,"children":563},{},[564],{"type":37,"value":565},"2026-11-11, later:",{"type":37,"value":567}," the drill ruled: all three arc events (an egress notice, a sensitive-file notice, the incident's), as one tour or three (question 5 answered); the IT-contact half stays with question 1.",{"type":32,"tag":99,"props":569,"children":570},{},[571,576,578,584,586,591,593,598,600,606,608,613,615,620,622,627],{"type":32,"tag":103,"props":572,"children":573},{},[574],{"type":37,"value":575},"2026-11-11, evening:",{"type":37,"value":577}," the ten questions of ports.md §5 walked with Mark and answered there (§Answered); the plan gains D9–D13: three delivery modes per kind (quiet · normal · priority, each an OS interruption level, ",{"type":32,"tag":73,"props":579,"children":581},{"className":580},[],[582],{"type":37,"value":583},"priority",{"type":37,"value":585}," only for ",{"type":32,"tag":73,"props":587,"children":589},{"className":588},[],[590],{"type":37,"value":298},{"type":37,"value":592},"), alert permission asked at Connect, open ",{"type":32,"tag":73,"props":594,"children":596},{"className":595},[],[597],{"type":37,"value":298},{"type":37,"value":599}," and ",{"type":32,"tag":73,"props":601,"children":603},{"className":602},[],[604],{"type":37,"value":605},"new",{"type":37,"value":607}," lifted above ",{"type":32,"tag":73,"props":609,"children":611},{"className":610},[],[612],{"type":37,"value":330},{"type":37,"value":614},", the voice lint's strictness a plane setting, a toast after an action, and the six V1 answers (no floor, ",{"type":32,"tag":73,"props":616,"children":618},{"className":617},[],[619],{"type":37,"value":298},{"type":37,"value":621}," without the entitlement, no acknowledge from the notification, one sender label, Admin › Messages, one-way Contact IT in local mode). The lab mock follows in Phase 3. ",{"type":32,"tag":103,"props":623,"children":624},{},[625],{"type":37,"value":626},"Review stop cleared;",{"type":37,"value":628}," Phase 3 waits for c131 Phase 1 in qnative.",{"type":32,"tag":99,"props":630,"children":631},{},[632,637,639,644],{"type":32,"tag":103,"props":633,"children":634},{},[635],{"type":37,"value":636},"Phase 3 kicked off (2026-11-11, evening):",{"type":37,"value":638}," Mark ruled the V1 slice starts now as qnative cycle c4 in a fresh session (the schema in ",{"type":32,"tag":73,"props":640,"children":642},{"className":641},[],[643],{"type":37,"value":78},{"type":37,"value":645},", the SQLite inbox, the OS plumbing with the three modes, the tray count, the identity confirmation flowing, a story per state), since c2 had built what c131 Phase 1 planned. The violation tour (c131 D15) follows it.",{"type":32,"tag":99,"props":647,"children":648},{},[649,654,655,661,663,669,671,677,679,684,686,691,693,699,701,706,708,714,716,722,724,730],{"type":32,"tag":103,"props":650,"children":651},{},[652],{"type":37,"value":653},"Phase 3 (2026-11-11): started as qnative c4",{"type":37,"value":117},{"type":32,"tag":73,"props":656,"children":658},{"className":657},[],[659],{"type":37,"value":660},"..\u002Fqnative\u002Fcycles\u002Fc4.messaging\u002F",{"type":37,"value":662},", review stop 1 in its ",{"type":32,"tag":73,"props":664,"children":666},{"className":665},[],[667],{"type":37,"value":668},"review-1.md",{"type":37,"value":670},"). Built in five steps on the pipes c2 made: the bones as ",{"type":32,"tag":73,"props":672,"children":674},{"className":673},[],[675],{"type":37,"value":676},"types::messages",{"type":37,"value":678}," written from ",{"type":32,"tag":73,"props":680,"children":682},{"className":681},[],[683],{"type":37,"value":224},{"type":37,"value":685}," with the ten examples as a fixture and a drift test that reads this file; the SQLite inbox beside the app's settings (D1) with §5's transitions, expiry, the ",{"type":32,"tag":73,"props":687,"children":689},{"className":688},[],[690],{"type":37,"value":298},{"type":37,"value":692}," count and a delivery record per message; the inbox page with the lift (D10), the card with \"why am I seeing this\", Acknowledge and the toast through the Root's host (D12), the honesty line; the tray's count and one line; the OS notification behind one trait with the macOS port (",{"type":32,"tag":73,"props":694,"children":696},{"className":695},[],[697],{"type":37,"value":698},"UNUserNotificationCenter",{"type":37,"value":700},", the interruption level per post from the mode, D9; the time-sensitive entitlement read from the signature, so ",{"type":32,"tag":73,"props":702,"children":704},{"className":703},[],[705],{"type":37,"value":583},{"type":37,"value":707}," is honest only on a signed build), Windows and Linux saying \"not available here\"; the Messages settings page (four positions per kind, the tray switch, quiet hours in front of Focus, mutes, the required override and its count, what the build can post, what the app records); messages as a resource of the nozzle (D2: ",{"type":32,"tag":73,"props":709,"children":711},{"className":710},[],[712],{"type":37,"value":713},"\u002Fapi\u002Fmessages",{"type":37,"value":715},", answered by the synthetic world and the fixture plane from the ten) with the inbox syncing from it; the identity confirmation composed and delivered on a plane connect (the V1 flow) and the local enforcement notice delivered by a drill in synthetic worlds. Thirteen captures in the qnative atlas (thread ",{"type":32,"tag":73,"props":717,"children":719},{"className":718},[],[720],{"type":37,"value":721},"c4-messaging",{"type":37,"value":723},"). Findings for the bones: ",{"type":32,"tag":73,"props":725,"children":727},{"className":726},[],[728],{"type":37,"value":729},"required_reason",{"type":37,"value":731}," (§6 needs it, §1 lacks it), Reply (E6 names it, §4 has no kind), the ten speak of Acme and MBP-2291 while the worlds are Meridian's; and the five delivery words of D9 against the inventory's four, for Mark.",{"type":32,"tag":99,"props":733,"children":734},{},[735,740,742,748,750,760,762,772,774,779,781,787,789,794],{"type":32,"tag":103,"props":736,"children":737},{},[738],{"type":37,"value":739},"inbox rename thread (2026-11-13):",{"type":37,"value":741}," after the Qpoint Product session ",{"type":32,"tag":73,"props":743,"children":745},{"className":744},[],[746],{"type":37,"value":747},"f8d58bc9",{"type":37,"value":749}," (2026-11-12: Rob, \"another thing to check\", the \"no changes for end users\" promise; Mark, \"I don't think it should really be an inbox\"; the adopted \"how noisy do you want me to be\"), Mark asked to rename the section and reword it so a correction never feels like prison (",{"type":32,"tag":55,"props":751,"children":753},{"href":752},"\u002Fcycles\u002Fdesign\u002Fc137\u002Fdoc\u002Finbox-rename-prompt",[754],{"type":32,"tag":73,"props":755,"children":757},{"className":756},[],[758],{"type":37,"value":759},"inbox-rename-prompt.md",{"type":37,"value":761},"). ",{"type":32,"tag":55,"props":763,"children":765},{"href":764},"\u002Fcycles\u002Fdesign\u002Fc137\u002Fdoc\u002Finbox-rename-plan",[766],{"type":32,"tag":73,"props":767,"children":769},{"className":768},[],[770],{"type":37,"value":771},"inbox-rename-plan.md",{"type":37,"value":773}," proposes ",{"type":32,"tag":103,"props":775,"children":776},{},[777],{"type":37,"value":778},"Safety",{"type":37,"value":780},": one noise control (Quietly by default · When it matters · Teach me), two sources in three groups mapped to the finding's ",{"type":32,"tag":73,"props":782,"children":784},{"className":783},[],[785],{"type":37,"value":786},"outcome",{"type":37,"value":788}," (Stopped in time · Noticed · From HQ), the words to retire (censure, enforcement notice, overseer and citizen), voice-checked help text, the audit log's softer stance for prevented moments, and seven calls for Mark, three of them for Mark Peterson. Nothing built. The same day Mark ruled call 1: the section is ",{"type":32,"tag":103,"props":790,"children":791},{},[792],{"type":37,"value":793},"Safety & Security",{"type":37,"value":539},{"type":32,"tag":99,"props":796,"children":797},{},[798,803],{"type":32,"tag":103,"props":799,"children":800},{},[801],{"type":37,"value":802},"reframe and close (2026-11-13, later):",{"type":37,"value":804}," Mark: \"there is already the notion of findings, should we start by replicating that as a way to note and communicate violations to policy?\", a question about the cycle's purpose. Design's phase-4 Findings (c114 → c121 → c133, lab only) already models the prompt's two sources: the outcome Enforced or Observed is before and after, and the Qplane's remediation is events on the finding (plan §10). Mark: findings bubble up to a company plane when connected, trainings bubble down, \"so they speak a common tongue\". His four answers: close c137 into a new cycle; prevented is softest (revisits c121 D3); all findings bubble up, prevented ones softer; Findings replaces qnative c4's inbox and keeps its plumbing. c147 opened at Stage 1 with his words; c137 closed into it.",{"key":786,"title":806,"empty":19,"ast":807},"Outcome",{"type":29,"children":808},[809,834],{"type":32,"tag":33,"props":810,"children":811},{},[812,817,819,824,826,832],{"type":32,"tag":103,"props":813,"children":814},{},[815],{"type":37,"value":816},"Closed 2026-11-13 into c147 (Findings, a Common Tongue).",{"type":37,"value":818}," The channel was designed and its V1 slice built, then the 2026-11-12 Product session (",{"type":32,"tag":73,"props":820,"children":822},{"className":821},[],[823],{"type":37,"value":747},{"type":37,"value":825},") and Mark's own realization the next day showed that the problem never asked for a channel. ",{"type":32,"tag":73,"props":827,"children":829},{"className":828},[],[830],{"type":37,"value":831},"enforcement-without-local-context",{"type":37,"value":833}," asks whether the person can see what qcontrol detected or blocked, why, and how to reach IT: a finding, seen from the machine where it happened.",{"type":32,"tag":95,"props":835,"children":836},{},[837,847,857,867],{"type":32,"tag":99,"props":838,"children":839},{},[840,845],{"type":32,"tag":103,"props":841,"children":842},{},[843],{"type":37,"value":844},"What was made:",{"type":37,"value":846}," the inventory (24 rows, 16 kept, 15 types), the bones (one schema, ten voice-checked examples), the ports (four channels and the person's controls), three lab pages, the channel sketch, D1–D13; qnative c4 built the V1 slice (the types, the SQLite inbox, the Inbox and Messages settings pages, the tray count, the macOS OS notification behind one trait, the identity confirmation on Connect, the drill).",{"type":32,"tag":99,"props":848,"children":849},{},[850,855],{"type":32,"tag":103,"props":851,"children":852},{},[853],{"type":37,"value":854},"Why it closes:",{"type":37,"value":856}," an inbox is \"another thing to check\" against the homepage's \"no changes for end users\" (Rob); \"I don't think it should really be an inbox\" (Mark); and the notion already exists, as design's findings. The lesson is the methodology's own: c137 ran in rebellion and built the channel before one use proved itself, where assemblage would have started from what existed.",{"type":32,"tag":99,"props":858,"children":859},{},[860,865],{"type":32,"tag":103,"props":861,"children":862},{},[863],{"type":37,"value":864},"Carried into c147:",{"type":37,"value":866}," the section's name, Safety & Security; the voice rules and the words to retire (violation, censure, enforcement notice, overseer and citizen); the noise control (Quietly · When it matters · Teach me, from the session's adopted \"how noisy do you want me to be\"); \"why am I seeing this\" and nothing hidden; c4's OS notification plumbing, the tray and the noise settings, announcing findings once the Findings view replaces the message store and the Inbox page.",{"type":32,"tag":99,"props":868,"children":869},{},[870,875,877,882,884,889],{"type":32,"tag":103,"props":871,"children":872},{},[873],{"type":37,"value":874},"Shelved, on file:",{"type":37,"value":876}," HQ's letters, censures, responsibilities, diagnostics requests, replies and the operator's Send form with the ",{"type":32,"tag":73,"props":878,"children":880},{"className":879},[],[881],{"type":37,"value":298},{"type":37,"value":883}," count. The session sent HQ's messages to the channels people already have (email, Slack); the identity confirmation is answered by Status saying whether the machine is standalone or connected (",{"type":32,"tag":73,"props":885,"children":887},{"className":886},[],[888],{"type":37,"value":747},{"type":37,"value":332},{"key":891,"title":892,"empty":19,"ast":893},"extra","The shape",{"type":29,"children":894},[895,936,971,988,1005,1036,1046],{"type":32,"tag":33,"props":896,"children":897},{},[898,903,904,910,912,918,919,924,925,930,931],{"type":32,"tag":103,"props":899,"children":900},{},[901],{"type":37,"value":902},"Documents:",{"type":37,"value":109},{"type":32,"tag":55,"props":905,"children":907},{"href":906},"\u002Fcycles\u002Fdesign\u002Fc137\u002Fdoc\u002Fplan",[908],{"type":37,"value":909},"the plan",{"type":37,"value":911}," · ",{"type":32,"tag":55,"props":913,"children":915},{"href":914},"\u002Fcycles\u002Fdesign\u002Fc137\u002Fdoc\u002Finitial-prompt",[916],{"type":37,"value":917},"Mark's prompt",{"type":37,"value":911},{"type":32,"tag":55,"props":920,"children":921},{"href":260},[922],{"type":37,"value":923},"the inventory",{"type":37,"value":911},{"type":32,"tag":55,"props":926,"children":927},{"href":344},[928],{"type":37,"value":929},"the bones",{"type":37,"value":911},{"type":32,"tag":55,"props":932,"children":933},{"href":401},[934],{"type":37,"value":935},"the ports",{"type":32,"tag":33,"props":937,"children":938},{},[939,941,945,947,952,953,958,959,964,965,970],{"type":37,"value":940},"Drawn as ",{"type":32,"tag":55,"props":942,"children":943},{"href":57},[944],{"type":37,"value":45},{"type":37,"value":946}," on 2026-11-10; the records behind it are ",{"type":32,"tag":73,"props":948,"children":950},{"className":949},[],[951],{"type":37,"value":123},{"type":37,"value":218},{"type":32,"tag":73,"props":954,"children":956},{"className":955},[],[957],{"type":37,"value":216},{"type":37,"value":218},{"type":32,"tag":73,"props":960,"children":962},{"className":961},[],[963],{"type":37,"value":224},{"type":37,"value":599},{"type":32,"tag":73,"props":966,"children":968},{"className":967},[],[969],{"type":37,"value":232},{"type":37,"value":539},{"type":32,"tag":33,"props":972,"children":973},{},[974,979,981,986],{"type":32,"tag":103,"props":975,"children":976},{},[977],{"type":37,"value":978},"The problem.",{"type":37,"value":980}," When qcontrol enforces a policy, the person at the keyboard sees a disruption and nothing else (Mark Peterson, ",{"type":32,"tag":73,"props":982,"children":984},{"className":983},[],[985],{"type":37,"value":290},{"type":37,"value":987},"). Mark's prompt adds notices from HQ, confirmations of identity, censures, responsibilities and training. Built where each is needed, they bombard the one surface an employee actually sees, and the brand's \"we are not noisy\" breaks there.",{"type":32,"tag":33,"props":989,"children":990},{},[991,996,998,1003],{"type":32,"tag":103,"props":992,"children":993},{},[994],{"type":37,"value":995},"The core idea.",{"type":37,"value":997}," Design the channel once and ship its plumbing in V1 (c130 D9). Two parties: the overseer (the plane and the people who run it; \"HQ\" as the default sender label) and the citizen (the person at the keyboard; \"you\" in the UI). One schema for every message. The citizen controls delivery, the overseer controls content; ",{"type":32,"tag":73,"props":999,"children":1001},{"className":1000},[],[1002],{"type":37,"value":298},{"type":37,"value":1004}," is the single override, and it is counted in both directions. Nothing is hidden: the inbox says what the settings held back.",{"type":32,"tag":33,"props":1006,"children":1007},{},[1008,1013,1015,1020,1022,1027,1029,1034],{"type":32,"tag":103,"props":1009,"children":1010},{},[1011],{"type":37,"value":1012},"The pieces.",{"type":37,"value":1014}," Four ports: the inbox in the native app (always on), the tray (on · off), the OS notification (per type, with quiet hours; the OS's Focus honoured), the web app (the operator's inbox and Send; c134). The bones: type, severity (info · attention · required), from, to, subject, a three-sentence body, actions, links, why, requires_ack, expires_at, state (new · seen · acknowledged · done · expired), thread. Sixteen rows kept of twenty-four: ",{"type":32,"tag":73,"props":1016,"children":1018},{"className":1017},[],[1019],{"type":37,"value":314},{"type":37,"value":1021}," flows in V1, enforcement notices and ",{"type":32,"tag":73,"props":1023,"children":1025},{"className":1024},[],[1026],{"type":37,"value":322},{"type":37,"value":1028}," if Tyler rules them in at G2, the rest later. The citizen's controls: per type off · inbox · tray · notify, quiet hours, mutes for a day, the ",{"type":32,"tag":73,"props":1030,"children":1032},{"className":1031},[],[1033],{"type":37,"value":298},{"type":37,"value":1035}," count, \"why am I seeing this\" on every card, the withheld count.",{"type":32,"tag":33,"props":1037,"children":1038},{},[1039,1044],{"type":32,"tag":103,"props":1040,"children":1041},{},[1042],{"type":37,"value":1043},"The pattern we follow.",{"type":37,"value":1045}," A message is a module: its type the purpose, its bones the protocol, its internals free (a censure, a training assignment and a grant notice ride the same shape). The channel is the protocol between two modules: the citizen controls delivery, the overseer controls content. \"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":32,"tag":33,"props":1047,"children":1048},{},[1049,1054,1056,1064,1066,1071],{"type":32,"tag":103,"props":1050,"children":1051},{},[1052],{"type":37,"value":1053},"What stays open.",{"type":37,"value":1055}," The ten questions in ",{"type":32,"tag":55,"props":1057,"children":1058},{"href":401},[1059],{"type":32,"tag":73,"props":1060,"children":1062},{"className":1061},[],[1063],{"type":37,"value":232},{"type":37,"value":1065}," §5, for Mark at the review stop: enforcement notices lowered to inbox only; provisional delivery on macOS as the first run; the ",{"type":32,"tag":73,"props":1067,"children":1069},{"className":1068},[],[1070],{"type":37,"value":298},{"type":37,"value":1072}," entitlement; Acknowledge from the notification; one sender label per plane; the operator's inbox place; local mode's one-way Contact IT; inbox order; the lint advising, never blocking; the toast when a message ends. Beyond them: which messages flow beyond Connect (Tyler, G2 Q12) and the plane side (c134).",[1074],{"name":1075,"prompt":759,"plan":771},"inbox-rename",[224,191,216,123,232],[1078,1080,1082,1084,1086,1088,1090],{"file":224,"title":1079},"Phase 1: the bones",{"file":771,"title":1081},"Thread: inbox rename — the plan",{"file":759,"title":1083},"Thread: inbox rename — Mark's prompt (2026-11-13, verbatim)",{"file":191,"title":1085},"App Messaging: Overseer and Citizen",{"file":216,"title":1087},"Phase 0: the message inventory",{"file":123,"title":1089},"plan: App Messaging, Overseer and Citizen (draft, before kick-off)",{"file":232,"title":1091},"Phase 2: the ports and the citizen's controls",[1093,1103,1107,1111,1115,1119,1121],{"src":46,"kind":1094,"order":1095,"caption":1096,"thread":1097,"capturedAt":1101,"subject":1102,"route":57},"hero",9,"Two parties, four ports between them, one schema for every message, and the citizen's hand on the delivery.",{"id":1098,"label":1099,"date":1100},"sketches","Sketches — the structures, drawn in the design system","2026-11-10","2026-11-10T15:42:55.947Z","sketch\u002Fc137-channel",{"src":20,"kind":1094,"order":1104,"capturedAt":1105,"subject":1106,"route":429},4999,"2026-11-09T22:07:14.592Z","page\u002Fphase4-messaging-bones",{"src":1108,"kind":1094,"order":1104,"capturedAt":1109,"subject":1110,"route":437},"\u002Fcycles\u002Fdesign\u002Fc137-messaging-inbox.png","2026-11-09T22:08:33.131Z","page\u002Fphase4-messaging-inbox",{"src":1112,"kind":1094,"order":1104,"capturedAt":1113,"subject":1114,"route":445},"\u002Fcycles\u002Fdesign\u002Fc137-mock-messages.png","2026-11-09T22:07:25.310Z","page\u002Fphase4-mock-messages",{"src":1116,"kind":1117,"order":1118,"capturedAt":1105,"subject":1106,"route":429},"\u002Fcycles\u002Fdesign\u002Fc137-messaging-bones-full.png","full",9000,{"src":1120,"kind":1117,"order":1118,"capturedAt":1113,"subject":1114,"route":445},"\u002Fcycles\u002Fdesign\u002Fc137-mock-messages-full.png",{"src":1122,"kind":1117,"order":1123,"thread":1124,"capturedAt":1101,"subject":1102,"route":57},"\u002Fcycles\u002Fdesign\u002Fc137-sketch-channel-full.png",9009,{"id":1098,"label":1099,"date":1100},[],[1127],{"route":57,"href":57},1794599331454]