[{"data":1,"prerenderedAt":1484},["ShallowReactive",2],{"cycle-doc-design-c147-plan.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":20},{"id":5,"title":6},"c147","Findings, a Common Tongue",{"id":8,"label":9},"design","Design","plan.md","c147 plan: Findings, a Common Tongue",[13,14,15,16,17,18,19],"1. The idea","2. What exists (assemblage: the pieces)","3. Rulings this plan starts from (Mark, 2026-11-13)","4. Phases","5. Clarifying questions, answered (Mark, 2026-11-13)","6. Patterns you may not be considering","7. Out of scope",{"type":21,"children":22},"root",[23,108,114,126,131,507,512,599,604,609,616,734,740,745,827,833,912,918,935,988,994,1033,1038,1131,1137,1186,1191,1399,1404,1474,1479],{"type":24,"tag":25,"props":26,"children":27},"element","p",{},[28,35,37,49,51,61,63,68,70,75,77,83,85,91,93,99,100,106],{"type":24,"tag":29,"props":30,"children":31},"strong",{},[32],{"type":33,"value":34},"text","Written:",{"type":33,"value":36}," 2026-11-13, at kick-off, from ",{"type":24,"tag":38,"props":39,"children":41},"a",{"href":40},"\u002Fcycles\u002Fdesign\u002Fc147\u002Fdoc\u002Finitial-prompt",[42],{"type":24,"tag":43,"props":44,"children":46},"code",{"className":45},[],[47],{"type":33,"value":48},"initial-prompt.md",{"type":33,"value":50}," and the closed c137's thread (",{"type":24,"tag":38,"props":52,"children":54},{"href":53},"\u002Fcycles\u002Fdesign\u002Fc137\u002Fdoc\u002Finbox-rename-plan",[55],{"type":24,"tag":43,"props":56,"children":58},{"className":57},[],[59],{"type":33,"value":60},"inbox-rename-plan.md",{"type":33,"value":62}," §3, §5, §6, §10). ",{"type":24,"tag":29,"props":64,"children":65},{},[66],{"type":33,"value":67},"Reader:",{"type":33,"value":69}," Mark; Tyler for one question in Phase 4 (local mode); Mark Peterson before review stop 3; the qnative executor for Phase 5.\n",{"type":24,"tag":29,"props":71,"children":72},{},[73],{"type":33,"value":74},"Problems:",{"type":33,"value":76}," ",{"type":24,"tag":43,"props":78,"children":80},{"className":79},[],[81],{"type":33,"value":82},"problem:enforcement-without-local-context",{"type":33,"value":84}," (",{"type":24,"tag":43,"props":86,"children":88},{"className":87},[],[89],{"type":33,"value":90},"1b21a3ce",{"type":33,"value":92},"), ",{"type":24,"tag":43,"props":94,"children":96},{"className":95},[],[97],{"type":33,"value":98},"problem:findings-resolution-workflow",{"type":33,"value":84},{"type":24,"tag":43,"props":101,"children":103},{"className":102},[],[104],{"type":33,"value":105},"f8d58bc9",{"type":33,"value":107},").",{"type":24,"tag":109,"props":110,"children":112},"h2",{"id":111},"_1-the-idea",[113],{"type":33,"value":13},{"type":24,"tag":25,"props":115,"children":116},{},[117,119,124],{"type":33,"value":118},"A finding is the one shape a policy moment takes, on the person's machine and on the company's plane. The native app's ",{"type":24,"tag":29,"props":120,"children":121},{},[122],{"type":33,"value":123},"Safety & Security",{"type":33,"value":125}," section shows this machine's findings, copied from design's phase-4 Findings before anything is redesigned. When the machine is connected, its findings bubble up to the plane and the plane's events (a training, a follow-up, a resolution) bubble down onto the same finding. Nothing new is invented for the channel: c137's message types become event kinds on a finding, and the person's view softens the words, not the record.",{"type":24,"tag":109,"props":127,"children":129},{"id":128},"_2-what-exists-assemblage-the-pieces",[130],{"type":33,"value":14},{"type":24,"tag":132,"props":133,"children":134},"table",{},[135,159],{"type":24,"tag":136,"props":137,"children":138},"thead",{},[139],{"type":24,"tag":140,"props":141,"children":142},"tr",{},[143,149,154],{"type":24,"tag":144,"props":145,"children":146},"th",{},[147],{"type":33,"value":148},"Piece",{"type":24,"tag":144,"props":150,"children":151},{},[152],{"type":33,"value":153},"Where",{"type":24,"tag":144,"props":155,"children":156},{},[157],{"type":33,"value":158},"State",{"type":24,"tag":160,"props":161,"children":162},"tbody",{},[163,217,246,274,314,344,374,403,439,482],{"type":24,"tag":140,"props":164,"children":165},{},[166,172,212],{"type":24,"tag":167,"props":168,"children":169},"td",{},[170],{"type":33,"value":171},"The finding model: immutable finding, outcome Enforced\u002FObserved stamped at detection (c121 D16), append-only events, derived status",{"type":24,"tag":167,"props":173,"children":174},{},[175,181,182,188,190,196,197,203,204,210],{"type":24,"tag":43,"props":176,"children":178},{"className":177},[],[179],{"type":33,"value":180},"app\u002Fdata\u002Fgovernance-fixture.ts",{"type":33,"value":84},{"type":24,"tag":43,"props":183,"children":185},{"className":184},[],[186],{"type":33,"value":187},"Finding",{"type":33,"value":189},", ",{"type":24,"tag":43,"props":191,"children":193},{"className":192},[],[194],{"type":33,"value":195},"FindingEvent",{"type":33,"value":189},{"type":24,"tag":43,"props":198,"children":200},{"className":199},[],[201],{"type":33,"value":202},"EventKind",{"type":33,"value":189},{"type":24,"tag":43,"props":205,"children":207},{"className":206},[],[208],{"type":33,"value":209},"Resolution",{"type":33,"value":211},")",{"type":24,"tag":167,"props":213,"children":214},{},[215],{"type":33,"value":216},"lab only",{"type":24,"tag":140,"props":218,"children":219},{},[220,225,242],{"type":24,"tag":167,"props":221,"children":222},{},[223],{"type":33,"value":224},"S2 Findings, grouped by policy, Grouped ⇄ Individual, Outcome · Severity · Status · Framework, Observed hidden by default (c121 D3)",{"type":24,"tag":167,"props":226,"children":227},{},[228,234,236],{"type":24,"tag":43,"props":229,"children":231},{"className":230},[],[232],{"type":33,"value":233},"\u002Fpages\u002Fphase4\u002Ffindings",{"type":33,"value":235},", composed at ",{"type":24,"tag":43,"props":237,"children":239},{"className":238},[],[240],{"type":33,"value":241},"\u002Fpages\u002Fphase4\u002Fmock\u002Ffindings-design",{"type":24,"tag":167,"props":243,"children":244},{},[245],{"type":33,"value":216},{"type":24,"tag":140,"props":247,"children":248},{},[249,254,270],{"type":24,"tag":167,"props":250,"children":251},{},[252],{"type":33,"value":253},"S1 Finding detail: What happened, Why it violates, the lifecycle rows, related findings, Respond",{"type":24,"tag":167,"props":255,"children":256},{},[257,263,264],{"type":24,"tag":43,"props":258,"children":260},{"className":259},[],[261],{"type":33,"value":262},"\u002Fpages\u002Fphase4\u002Ffinding-detail",{"type":33,"value":189},{"type":24,"tag":43,"props":265,"children":267},{"className":266},[],[268],{"type":33,"value":269},"\u002Fpages\u002Fphase4\u002Fmock\u002Ffinding-detail",{"type":24,"tag":167,"props":271,"children":272},{},[273],{"type":33,"value":216},{"type":24,"tag":140,"props":275,"children":276},{},[277,290,309],{"type":24,"tag":167,"props":278,"children":279},{},[280,282,288],{"type":33,"value":281},"The training on a finding: ",{"type":24,"tag":43,"props":283,"children":285},{"className":284},[],[286],{"type":33,"value":287},"training-completed",{"type":33,"value":289}," event (D9: no status change), Corrections block, the event shape for Tyler",{"type":24,"tag":167,"props":291,"children":292},{},[293,295,301,302,308],{"type":33,"value":294},"c133 (",{"type":24,"tag":43,"props":296,"children":298},{"className":297},[],[299],{"type":33,"value":300},"event-shape.md",{"type":33,"value":189},{"type":24,"tag":43,"props":303,"children":305},{"className":304},[],[306],{"type":33,"value":307},"app\u002Fdata\u002Ftrainings\u002F",{"type":33,"value":211},{"type":24,"tag":167,"props":310,"children":311},{},[312],{"type":33,"value":313},"lab; the shape waits on Tyler",{"type":24,"tag":140,"props":315,"children":316},{},[317,322,340],{"type":24,"tag":167,"props":318,"children":319},{},[320],{"type":33,"value":321},"A detector: one sensor event in, the policies it raises out, the policy's mode decides finding and stop",{"type":24,"tag":167,"props":323,"children":324},{},[325,331,332,338],{"type":24,"tag":43,"props":326,"children":328},{"className":327},[],[329],{"type":33,"value":330},"app\u002Fdata\u002Fscenarios\u002Fdetect.ts",{"type":33,"value":189},{"type":24,"tag":43,"props":333,"children":335},{"className":334},[],[336],{"type":33,"value":337},"play.ts",{"type":33,"value":339}," (c144)",{"type":24,"tag":167,"props":341,"children":342},{},[343],{"type":33,"value":216},{"type":24,"tag":140,"props":345,"children":346},{},[347,360,369],{"type":24,"tag":167,"props":348,"children":349},{},[350,352,358],{"type":33,"value":351},"qdash's live Findings: the control grain (",{"type":24,"tag":43,"props":353,"children":355},{"className":354},[],[356],{"type":33,"value":357},"\u002Fapi\u002Fsecurity",{"type":33,"value":359},"), adjudication",{"type":24,"tag":167,"props":361,"children":362},{},[363],{"type":24,"tag":43,"props":364,"children":366},{"className":365},[],[367],{"type":33,"value":368},"..\u002Fqcontrol\u002Fcrates\u002Fqdash\u002Fui\u002Fapp\u002Fpages\u002Ffindings.vue",{"type":24,"tag":167,"props":370,"children":371},{},[372],{"type":33,"value":373},"live; a different grain",{"type":24,"tag":140,"props":375,"children":376},{},[377,382,398],{"type":24,"tag":167,"props":378,"children":379},{},[380],{"type":33,"value":381},"The native app: no policy engine (\"This app has no policy engine yet\"); the sensor's raw policy events per session (denied calls, sensitive opens, DLP hits, egress off the list)",{"type":24,"tag":167,"props":383,"children":384},{},[385,391,392],{"type":24,"tag":43,"props":386,"children":388},{"className":387},[],[389],{"type":33,"value":390},"..\u002Fqnative\u002Fcrates\u002Fapp\u002Fsrc\u002Fpages\u002Fsession.rs",{"type":33,"value":189},{"type":24,"tag":43,"props":393,"children":395},{"className":394},[],[396],{"type":33,"value":397},"activity.rs",{"type":24,"tag":167,"props":399,"children":400},{},[401],{"type":33,"value":402},"live",{"type":24,"tag":140,"props":404,"children":405},{},[406,411,435],{"type":24,"tag":167,"props":407,"children":408},{},[409],{"type":33,"value":410},"The native worlds: 16 routes cut from the qdash seed, no policies, no findings",{"type":24,"tag":167,"props":412,"children":413},{},[414,420,421,427,429],{"type":24,"tag":43,"props":415,"children":417},{"className":416},[],[418],{"type":33,"value":419},"..\u002Fqnative\u002Fcrates\u002Ffixtures\u002Fworld\u002F",{"type":33,"value":84},{"type":24,"tag":43,"props":422,"children":424},{"className":423},[],[425],{"type":33,"value":426},"meridian-day90",{"type":33,"value":428}," default), copied to ",{"type":24,"tag":43,"props":430,"children":432},{"className":431},[],[433],{"type":33,"value":434},"app\u002Fdata\u002Fworlds\u002F",{"type":24,"tag":167,"props":436,"children":437},{},[438],{"type":33,"value":402},{"type":24,"tag":140,"props":440,"children":441},{},[442,447,477],{"type":24,"tag":167,"props":443,"children":444},{},[445],{"type":33,"value":446},"c4's plumbing: the OS notification behind one trait (macOS), the tray count, the noise settings; and the message store and Inbox page, which retire",{"type":24,"tag":167,"props":448,"children":449},{},[450,456,457,463,464,470,471],{"type":24,"tag":43,"props":451,"children":453},{"className":452},[],[454],{"type":33,"value":455},"..\u002Fqnative\u002Fcrates\u002Fapp\u002Fsrc\u002Fmessaging.rs",{"type":33,"value":189},{"type":24,"tag":43,"props":458,"children":460},{"className":459},[],[461],{"type":33,"value":462},"pages\u002Finbox.rs",{"type":33,"value":189},{"type":24,"tag":43,"props":465,"children":467},{"className":466},[],[468],{"type":33,"value":469},"pages\u002Fmessages_settings.rs",{"type":33,"value":189},{"type":24,"tag":43,"props":472,"children":474},{"className":473},[],[475],{"type":33,"value":476},"tray.rs",{"type":24,"tag":167,"props":478,"children":479},{},[480],{"type":33,"value":481},"built",{"type":24,"tag":140,"props":483,"children":484},{},[485,490,502],{"type":24,"tag":167,"props":486,"children":487},{},[488],{"type":33,"value":489},"The voice: words to retire, help text, the noise control (Quietly · When it matters · Teach me)",{"type":24,"tag":167,"props":491,"children":492},{},[493,495,500],{"type":33,"value":494},"c137 ",{"type":24,"tag":43,"props":496,"children":498},{"className":497},[],[499],{"type":33,"value":60},{"type":33,"value":501}," §3, §5, §6",{"type":24,"tag":167,"props":503,"children":504},{},[505],{"type":33,"value":506},"proposed, voice-checked",{"type":24,"tag":109,"props":508,"children":510},{"id":509},"_3-rulings-this-plan-starts-from-mark-2026-11-13",[511],{"type":33,"value":15},{"type":24,"tag":513,"props":514,"children":515},"ul",{},[516,533,543,553,563,573,583],{"type":24,"tag":517,"props":518,"children":519},"li",{},[520,525,527,531],{"type":24,"tag":29,"props":521,"children":522},{},[523],{"type":33,"value":524},"R1",{"type":33,"value":526}," The section is ",{"type":24,"tag":29,"props":528,"children":529},{},[530],{"type":33,"value":123},{"type":33,"value":532},".",{"type":24,"tag":517,"props":534,"children":535},{},[536,541],{"type":24,"tag":29,"props":537,"children":538},{},[539],{"type":33,"value":540},"R2",{"type":33,"value":542}," Start by copying design's phase-4 Findings as this machine's view; redesign after the copy exists (replicate first).",{"type":24,"tag":517,"props":544,"children":545},{},[546,551],{"type":24,"tag":29,"props":547,"children":548},{},[549],{"type":33,"value":550},"R3",{"type":33,"value":552}," One finding shape on both sides: findings bubble up to a connected plane, trainings bubble down.",{"type":24,"tag":517,"props":554,"children":555},{},[556,561],{"type":24,"tag":29,"props":557,"children":558},{},[559],{"type":33,"value":560},"R4",{"type":33,"value":562}," Prevented is softest. This revisits c121 D3 (Observed hidden by default) and D16's open-at-birth for Enforced.",{"type":24,"tag":517,"props":564,"children":565},{},[566,571],{"type":24,"tag":29,"props":567,"children":568},{},[569],{"type":33,"value":570},"R5",{"type":33,"value":572}," Every finding bubbles up; prevented ones arrive softer.",{"type":24,"tag":517,"props":574,"children":575},{},[576,581],{"type":24,"tag":29,"props":577,"children":578},{},[579],{"type":33,"value":580},"R6",{"type":33,"value":582}," Findings replaces c4's message store and Inbox page; the notification plumbing, the tray and the noise settings stay and announce findings.",{"type":24,"tag":517,"props":584,"children":585},{},[586,591,593,598],{"type":24,"tag":29,"props":587,"children":588},{},[589],{"type":33,"value":590},"R7",{"type":33,"value":592}," c137 is closed into this cycle; HQ's letters, censures and the Send form are shelved (HQ uses email and Slack, ",{"type":24,"tag":43,"props":594,"children":596},{"className":595},[],[597],{"type":33,"value":105},{"type":33,"value":107},{"type":24,"tag":109,"props":600,"children":602},{"id":601},"_4-phases",[603],{"type":33,"value":16},{"type":24,"tag":25,"props":605,"children":606},{},[607],{"type":33,"value":608},"Each phase ends at a review stop unless Mark says to review at the end.",{"type":24,"tag":610,"props":611,"children":613},"h3",{"id":612},"phase-0-the-shape-design",[614],{"type":33,"value":615},"Phase 0 · The shape (design)",{"type":24,"tag":513,"props":617,"children":618},{},[619,648,706],{"type":24,"tag":517,"props":620,"children":621},{},[622,624,630,632,638,640,646],{"type":33,"value":623},"The sketch ",{"type":24,"tag":43,"props":625,"children":627},{"className":626},[],[628],{"type":33,"value":629},"app\u002Fpages\u002Fcycles\u002Fdesign\u002Fsketches\u002Fc147-common-tongue.vue",{"type":33,"value":631}," from the kit: one finding in the middle; the endpoint on the left (the sensor raises it; the person's events), the plane on the right (the operator's events; trainings and follow-ups); the arrows up and down carry events, never a second object. Registered in ",{"type":24,"tag":43,"props":633,"children":635},{"className":634},[],[636],{"type":33,"value":637},"program-sketches.ts",{"type":33,"value":639},", captured by a c130 shot program, placed under ",{"type":24,"tag":43,"props":641,"children":643},{"className":642},[],[644],{"type":33,"value":645},"## The shape",{"type":33,"value":647}," in CYCLE.md.",{"type":24,"tag":517,"props":649,"children":650},{},[651,657,659,665,667,673,675,681,683,689,690,696,698,704],{"type":24,"tag":43,"props":652,"children":654},{"className":653},[],[655],{"type":33,"value":656},"finding-shape.md",{"type":33,"value":658},": the finding and its events as the wire shape, written from ",{"type":24,"tag":43,"props":660,"children":662},{"className":661},[],[663],{"type":33,"value":664},"governance-fixture.ts",{"type":33,"value":666},", plus what this cycle adds: an ",{"type":24,"tag":43,"props":668,"children":670},{"className":669},[],[671],{"type":33,"value":672},"origin",{"type":33,"value":674}," per event (",{"type":24,"tag":43,"props":676,"children":678},{"className":677},[],[679],{"type":33,"value":680},"endpoint",{"type":33,"value":682}," · ",{"type":24,"tag":43,"props":684,"children":686},{"className":685},[],[687],{"type":33,"value":688},"person",{"type":33,"value":682},{"type":24,"tag":43,"props":691,"children":693},{"className":692},[],[694],{"type":33,"value":695},"plane",{"type":33,"value":697},"), the person's event kinds, the plane's bubble-down kinds, and R4's ",{"type":24,"tag":43,"props":699,"children":701},{"className":700},[],[702],{"type":33,"value":703},"prevented",{"type":33,"value":705},". c137's types mapped onto it, one table (which become events, which are shelved, which Status answers).",{"type":24,"tag":517,"props":707,"children":708},{},[709,711,717,719,725,727,732],{"type":33,"value":710},"The c133 re-homing: its assignment travels as a ",{"type":24,"tag":43,"props":712,"children":714},{"className":713},[],[715],{"type":33,"value":716},"training-assigned",{"type":33,"value":718}," event on the finding instead of c137's ",{"type":24,"tag":43,"props":720,"children":722},{"className":721},[],[723],{"type":33,"value":724},"training-assignment",{"type":33,"value":726}," message; ",{"type":24,"tag":43,"props":728,"children":730},{"className":729},[],[731],{"type":33,"value":300},{"type":33,"value":733}," §1 steps 1 and 3 read against it. A note in c133's record, not a rewrite.",{"type":24,"tag":610,"props":735,"children":737},{"id":736},"phase-1-findings-in-the-worlds-data-before-pages",[738],{"type":33,"value":739},"Phase 1 · Findings in the worlds (data before pages)",{"type":24,"tag":25,"props":741,"children":742},{},[743],{"type":33,"value":744},"No mock invents a row (c132 D6), so the worlds must carry findings before any page draws one.",{"type":24,"tag":513,"props":746,"children":747},{},[748,777,801],{"type":24,"tag":517,"props":749,"children":750},{},[751,753,759,761,767,769,775],{"type":33,"value":752},"Policies and findings enter each native world as a nozzle resource, the way c4 added ",{"type":24,"tag":43,"props":754,"children":756},{"className":755},[],[757],{"type":33,"value":758},"\u002Fapi\u002Fmessages",{"type":33,"value":760},": ",{"type":24,"tag":43,"props":762,"children":764},{"className":763},[],[765],{"type":33,"value":766},"\u002Fapi\u002Fpolicies",{"type":33,"value":768}," (this machine's applicable policies and modes) and ",{"type":24,"tag":43,"props":770,"children":772},{"className":771},[],[773],{"type":33,"value":774},"\u002Fapi\u002Ffindings",{"type":33,"value":776}," (this endpoint's findings with their events), in the Phase 0 shape.",{"type":24,"tag":517,"props":778,"children":779},{},[780,785,787,793,794,799],{"type":24,"tag":29,"props":781,"children":782},{},[783],{"type":33,"value":784},"Derived, not seeded:",{"type":33,"value":786}," run the lab's detector (",{"type":24,"tag":43,"props":788,"children":790},{"className":789},[],[791],{"type":33,"value":792},"detect.ts",{"type":33,"value":189},{"type":24,"tag":43,"props":795,"children":797},{"className":796},[],[798],{"type":33,"value":337},{"type":33,"value":800},") over each world's sessions and their policy events, so a world's findings follow from its own activity; a seeded row only where the world has no event to derive it from, named as seeded.",{"type":24,"tag":517,"props":802,"children":803},{},[804,810,812,817,819,825],{"type":24,"tag":43,"props":805,"children":807},{"className":806},[],[808],{"type":33,"value":809},"scripts\u002Fsync-worlds.sh",{"type":33,"value":811}," carries the result to ",{"type":24,"tag":43,"props":813,"children":815},{"className":814},[],[816],{"type":33,"value":434},{"type":33,"value":818},"; ",{"type":24,"tag":43,"props":820,"children":822},{"className":821},[],[823],{"type":33,"value":824},"useNativeWorld(name)",{"type":33,"value":826}," answers it in the lab.",{"type":24,"tag":610,"props":828,"children":830},{"id":829},"phase-2-the-copy-replicate-first",[831],{"type":33,"value":832},"Phase 2 · The copy (replicate first)",{"type":24,"tag":513,"props":834,"children":835},{},[836,878,890,902],{"type":24,"tag":517,"props":837,"children":838},{},[839,844,846,852,854,860,862,868,870,876],{"type":24,"tag":29,"props":840,"children":841},{},[842],{"type":33,"value":843},"Medium A",{"type":33,"value":845},", the native skin on the design site: S2 and S1 copied into ",{"type":24,"tag":43,"props":847,"children":849},{"className":848},[],[850],{"type":33,"value":851},"app\u002Fpages\u002Fpages\u002Fnative\u002Ffindings.vue",{"type":33,"value":853}," and ",{"type":24,"tag":43,"props":855,"children":857},{"className":856},[],[858],{"type":33,"value":859},"finding-detail.vue",{"type":33,"value":861}," (phase ",{"type":24,"tag":43,"props":863,"children":865},{"className":864},[],[866],{"type":33,"value":867},"native",{"type":33,"value":869}," in ",{"type":24,"tag":43,"props":871,"children":873},{"className":872},[],[874],{"type":33,"value":875},"page-registry.ts",{"type":33,"value":877},"), reading a native world, under the six fleet → personal rules (people and places leave the rows; the header says once whose machine). The operator's words stay in this step, on purpose: the copy is the baseline the person's view is measured against.",{"type":24,"tag":517,"props":879,"children":880},{},[881,883,888],{"type":33,"value":882},"The rail in the skin: ",{"type":24,"tag":29,"props":884,"children":885},{},[886],{"type":33,"value":887},"Safety & Security → Findings · Settings",{"type":33,"value":889},". The item takes the web's word, so one word means one thing on both surfaces.",{"type":24,"tag":517,"props":891,"children":892},{},[893,895,901],{"type":33,"value":894},"Captures: the copy beside the lab's S2\u002FS1 (",{"type":24,"tag":43,"props":896,"children":898},{"className":897},[],[899],{"type":33,"value":900},"UxImageCompare",{"type":33,"value":107},{"type":24,"tag":517,"props":903,"children":904},{},[905,910],{"type":24,"tag":29,"props":906,"children":907},{},[908],{"type":33,"value":909},"Review stop 1:",{"type":33,"value":911}," the copy and what the fleet → personal rules removed.",{"type":24,"tag":610,"props":913,"children":915},{"id":914},"phase-3-the-persons-view",[916],{"type":33,"value":917},"Phase 3 · The person's view",{"type":24,"tag":25,"props":919,"children":920},{},[921],{"type":24,"tag":922,"props":923,"children":924},"em",{},[925,927,933],{"type":33,"value":926},"Review stop 1 ruled (2026-11-13, the defaults; ",{"type":24,"tag":43,"props":928,"children":930},{"className":929},[],[931],{"type":33,"value":932},"review-1.md",{"type":33,"value":934}," 9–12): open on Open with Observed shown; prevented as one quiet group with a count, never a row per finding; the SLA clock and deadlines leave the person's view (the shape keeps them); the member table is severity, the finding, the harness, when, status.",{"type":24,"tag":513,"props":936,"children":937},{},[938,950,955,975,980],{"type":24,"tag":517,"props":939,"children":940},{},[941,943,948],{"type":33,"value":942},"R4 in the model: an Enforced finding is born with a system resolution ",{"type":24,"tag":43,"props":944,"children":946},{"className":945},[],[947],{"type":33,"value":703},{"type":33,"value":949}," (Resolved: prevented); D16's stamp stands; the default list shows Open; prevented findings sit in their own quiet group or a count line, never against the person.",{"type":24,"tag":517,"props":951,"children":952},{},[953],{"type":33,"value":954},"The words: c137 §5's table and §6's help text applied to the copy; \"Why it violates\" becomes the person's \"Why your company's policy covers this\"; the group names (c137's call 2) decided on the copy, not in the abstract.",{"type":24,"tag":517,"props":956,"children":957},{},[958,960,966,968,974],{"type":33,"value":959},"The person's verbs as events: ask IT (local: qcontrol's ",{"type":24,"tag":43,"props":961,"children":963},{"className":962},[],[964],{"type":33,"value":965},"it_contact",{"type":33,"value":967},", c4), ask for access (an exception request the operator sees), mark a follow-up done, open a training. Each is an event with ",{"type":24,"tag":43,"props":969,"children":971},{"className":970},[],[972],{"type":33,"value":973},"origin: person",{"type":33,"value":532},{"type":24,"tag":517,"props":976,"children":977},{},[978],{"type":33,"value":979},"The noise control (Quietly by default · When it matters · Teach me) on the Findings page and at first run, driving c4's notification plumbing; the tray counts only what needs the person.",{"type":24,"tag":517,"props":981,"children":982},{},[983],{"type":24,"tag":29,"props":984,"children":985},{},[986],{"type":33,"value":987},"Review stop 2.",{"type":24,"tag":610,"props":989,"children":991},{"id":990},"phase-4-up-and-down-in-the-prototypes-shape-no-plane-work",[992],{"type":33,"value":993},"Phase 4 · Up and down, in the prototype's shape (no plane work)",{"type":24,"tag":25,"props":995,"children":996},{},[997],{"type":24,"tag":922,"props":998,"children":999},{},[1000,1002,1008,1010,1015,1017,1023,1025,1031],{"type":33,"value":1001},"Review stop 2 ruled (2026-11-13, walked; ",{"type":24,"tag":43,"props":1003,"children":1005},{"className":1004},[],[1006],{"type":33,"value":1007},"review-2.md",{"type":33,"value":1009}," §Answered), and these land here: Q4 becomes the prototype's default (the lab's model gains the ",{"type":24,"tag":43,"props":1011,"children":1013},{"className":1012},[],[1014],{"type":33,"value":703},{"type":33,"value":1016}," event, S2 opens on every outcome, c121 D3 superseded everywhere; re-run the tours and the theatre check); the \"Also under\" hint on a finding page; ",{"type":24,"tag":43,"props":1018,"children":1020},{"className":1019},[],[1021],{"type":33,"value":1022},"why_plain",{"type":33,"value":1024}," on the policy in the shape (Qpoint's default, HQ may rewrite); the noise default set by the plane per team, the person still free to change it; the person's third verb \"This was a mistake\" (a ",{"type":24,"tag":43,"props":1026,"children":1028},{"className":1027},[],[1029],{"type":33,"value":1030},"reported-mistake",{"type":33,"value":1032}," event, the plane resolving with False positive or not); one follow-up and one training assignment on Priya's findings in the prototype's events, flowing down. Recapture Phases 2 and 3 on the widened allow list.",{"type":24,"tag":25,"props":1034,"children":1035},{},[1036],{"type":33,"value":1037},"The plane's findings already exist in the design prototype (S1 and S2 on the lab's model), so nothing is built on the plane (Q6). This phase makes the native side speak that shape in both directions.",{"type":24,"tag":513,"props":1039,"children":1040},{},[1041,1061,1096,1108,1113,1123],{"type":24,"tag":517,"props":1042,"children":1043},{},[1044,1046,1051,1053,1059],{"type":33,"value":1045},"Bubble up (R5), as ",{"type":24,"tag":43,"props":1047,"children":1049},{"className":1048},[],[1050],{"type":33,"value":656},{"type":33,"value":1052}," writes it: every finding with its events, prevented ones resolved at birth, ids minted on the endpoint from a fingerprint (policy · resource · subject · window, as qdash's ",{"type":24,"tag":43,"props":1054,"children":1056},{"className":1055},[],[1057],{"type":33,"value":1058},"finding_key",{"type":33,"value":1060}," is), so a finding never arrives twice.",{"type":24,"tag":517,"props":1062,"children":1063},{},[1064,1066,1071,1073,1079,1081,1087,1088,1094],{"type":33,"value":1065},"Bubble down (R3): ",{"type":24,"tag":43,"props":1067,"children":1069},{"className":1068},[],[1070],{"type":33,"value":716},{"type":33,"value":1072}," (the event and the record only, Q5), HQ's ",{"type":24,"tag":43,"props":1074,"children":1076},{"className":1075},[],[1077],{"type":33,"value":1078},"follow-up",{"type":33,"value":1080}," (HQ's words, shown as sent), ",{"type":24,"tag":43,"props":1082,"children":1084},{"className":1083},[],[1085],{"type":33,"value":1086},"resolve",{"type":33,"value":189},{"type":24,"tag":43,"props":1089,"children":1091},{"className":1090},[],[1092],{"type":33,"value":1093},"exception-granted",{"type":33,"value":1095},", read from the prototype's events.",{"type":24,"tag":517,"props":1097,"children":1098},{},[1099,1101,1106],{"type":33,"value":1100},"The nozzle's ",{"type":24,"tag":43,"props":1102,"children":1104},{"className":1103},[],[1105],{"type":33,"value":695},{"type":33,"value":1107}," source answers from the lab's world in the same shape, so a connected native world and the lab's S2 show the same finding.",{"type":24,"tag":517,"props":1109,"children":1110},{},[1111],{"type":33,"value":1112},"Local mode: who raises findings on a standalone machine (the app from the sensor's events, or qcontrol); one question for Tyler, nothing built for it here.",{"type":24,"tag":517,"props":1114,"children":1115},{},[1116,1121],{"type":24,"tag":29,"props":1117,"children":1118},{},[1119],{"type":33,"value":1120},"Peterson",{"type":33,"value":1122},", before the stop: what an auditor needs from a prevented finding, how gentle a correction can stay, whether \"it does not count against you\" holds.",{"type":24,"tag":517,"props":1124,"children":1125},{},[1126],{"type":24,"tag":29,"props":1127,"children":1128},{},[1129],{"type":33,"value":1130},"Review stop 3.",{"type":24,"tag":610,"props":1132,"children":1134},{"id":1133},"phase-5-qnative-medium-b",[1135],{"type":33,"value":1136},"Phase 5 · qnative (medium B)",{"type":24,"tag":25,"props":1138,"children":1139},{},[1140,1142,1148,1150,1155,1157,1162,1163,1168,1170,1176,1178,1184],{"type":33,"value":1141},"A qnative cycle in its own session, briefed from Phases 0–4: ",{"type":24,"tag":43,"props":1143,"children":1145},{"className":1144},[],[1146],{"type":33,"value":1147},"types::findings",{"type":33,"value":1149}," from ",{"type":24,"tag":43,"props":1151,"children":1153},{"className":1152},[],[1154],{"type":33,"value":656},{"type":33,"value":1156}," with a drift test; the nozzle's ",{"type":24,"tag":43,"props":1158,"children":1160},{"className":1159},[],[1161],{"type":33,"value":774},{"type":33,"value":853},{"type":24,"tag":43,"props":1164,"children":1166},{"className":1165},[],[1167],{"type":33,"value":766},{"type":33,"value":1169}," across synthetic, local and plane; the Findings page and detail ported with ",{"type":24,"tag":43,"props":1171,"children":1173},{"className":1172},[],[1174],{"type":33,"value":1175},"\u002Fnative-port",{"type":33,"value":1177}," (spec measured from the lab with ",{"type":24,"tag":43,"props":1179,"children":1181},{"className":1180},[],[1182],{"type":33,"value":1183},"--base http:\u002F\u002Flocalhost:3000",{"type":33,"value":1185},"); R6 (the message store and the Inbox page retire; the plumbing stays); a story per state; captures wiped against medium A (c132 D7).",{"type":24,"tag":109,"props":1187,"children":1189},{"id":1188},"_5-clarifying-questions-answered-mark-2026-11-13",[1190],{"type":33,"value":17},{"type":24,"tag":132,"props":1192,"children":1193},{},[1194,1215],{"type":24,"tag":136,"props":1195,"children":1196},{},[1197],{"type":24,"tag":140,"props":1198,"children":1199},{},[1200,1205,1210],{"type":24,"tag":144,"props":1201,"children":1202},{},[1203],{"type":33,"value":1204},"#",{"type":24,"tag":144,"props":1206,"children":1207},{},[1208],{"type":33,"value":1209},"Question",{"type":24,"tag":144,"props":1211,"children":1212},{},[1213],{"type":33,"value":1214},"Answer",{"type":24,"tag":160,"props":1216,"children":1217},{},[1218,1241,1270,1293,1316,1351,1376],{"type":24,"tag":140,"props":1219,"children":1220},{},[1221,1226,1231],{"type":24,"tag":167,"props":1222,"children":1223},{},[1224],{"type":33,"value":1225},"Q1",{"type":24,"tag":167,"props":1227,"children":1228},{},[1229],{"type":33,"value":1230},"The rail",{"type":24,"tag":167,"props":1232,"children":1233},{},[1234,1239],{"type":24,"tag":29,"props":1235,"children":1236},{},[1237],{"type":33,"value":1238},"Safety & Security → Findings · Settings.",{"type":33,"value":1240}," The item takes the web's word for the same object.",{"type":24,"tag":140,"props":1242,"children":1243},{},[1244,1249,1254],{"type":24,"tag":167,"props":1245,"children":1246},{},[1247],{"type":33,"value":1248},"Q2",{"type":24,"tag":167,"props":1250,"children":1251},{},[1252],{"type":33,"value":1253},"The first world",{"type":24,"tag":167,"props":1255,"children":1256},{},[1257,1262,1263,1268],{"type":24,"tag":29,"props":1258,"children":1259},{},[1260],{"type":33,"value":1261},"Meridian first",{"type":33,"value":84},{"type":24,"tag":43,"props":1264,"children":1266},{"className":1265},[],[1267],{"type":33,"value":426},{"type":33,"value":1269},", nina-mbp, the native default), then every world through the same derivation.",{"type":24,"tag":140,"props":1271,"children":1272},{},[1273,1278,1283],{"type":24,"tag":167,"props":1274,"children":1275},{},[1276],{"type":33,"value":1277},"Q3",{"type":24,"tag":167,"props":1279,"children":1280},{},[1281],{"type":33,"value":1282},"Where a world's findings come from",{"type":24,"tag":167,"props":1284,"children":1285},{},[1286,1291],{"type":24,"tag":29,"props":1287,"children":1288},{},[1289],{"type":33,"value":1290},"Derived:",{"type":33,"value":1292}," the lab's detector over each world's sessions and policy events; a seeded row only where no event exists, labelled as seeded.",{"type":24,"tag":140,"props":1294,"children":1295},{},[1296,1301,1306],{"type":24,"tag":167,"props":1297,"children":1298},{},[1299],{"type":33,"value":1300},"Q4",{"type":24,"tag":167,"props":1302,"children":1303},{},[1304],{"type":33,"value":1305},"Prevented in the model",{"type":24,"tag":167,"props":1307,"children":1308},{},[1309,1314],{"type":24,"tag":29,"props":1310,"children":1311},{},[1312],{"type":33,"value":1313},"Born Resolved: prevented.",{"type":33,"value":1315}," Detected and resolved by the system in one moment; c121 D16's outcome stamp stands; c121 D3 is superseded (the default list shows Open; prevented findings sit in a quiet group or a count line, never against the person). Because the shape is shared, the prototype's S2 follows it: the one place this cycle moves the plane's side, shown at review stop 2.",{"type":24,"tag":140,"props":1317,"children":1318},{},[1319,1324,1329],{"type":24,"tag":167,"props":1320,"children":1321},{},[1322],{"type":33,"value":1323},"Q5",{"type":24,"tag":167,"props":1325,"children":1326},{},[1327],{"type":33,"value":1328},"Trainings in the native V1",{"type":24,"tag":167,"props":1330,"children":1331},{},[1332,1337,1338,1343,1344,1349],{"type":24,"tag":29,"props":1333,"children":1334},{},[1335],{"type":33,"value":1336},"The event and the record only:",{"type":33,"value":76},{"type":24,"tag":43,"props":1339,"children":1341},{"className":1340},[],[1342],{"type":33,"value":716},{"type":33,"value":853},{"type":24,"tag":43,"props":1345,"children":1347},{"className":1346},[],[1348],{"type":33,"value":287},{"type":33,"value":1350}," in the shape; the lesson and quiz screens stay c133's and out of the native V1 until the Peterson conversation.",{"type":24,"tag":140,"props":1352,"children":1353},{},[1354,1359,1364],{"type":24,"tag":167,"props":1355,"children":1356},{},[1357],{"type":33,"value":1358},"Q6",{"type":24,"tag":167,"props":1360,"children":1361},{},[1362],{"type":33,"value":1363},"The operator's side",{"type":24,"tag":167,"props":1365,"children":1366},{},[1367,1369,1374],{"type":33,"value":1368},"\"findings already exist in the design\u002Fprototype for the plane, I don't think anything is needed in plane for this work other than replicating the shape found in the web here in qnative\". ",{"type":24,"tag":29,"props":1370,"children":1371},{},[1372],{"type":33,"value":1373},"No plane work;",{"type":33,"value":1375}," Phase 4 rescoped.",{"type":24,"tag":140,"props":1377,"children":1378},{},[1379,1384,1389],{"type":24,"tag":167,"props":1380,"children":1381},{},[1382],{"type":33,"value":1383},"Q7",{"type":24,"tag":167,"props":1385,"children":1386},{},[1387],{"type":33,"value":1388},"Review rhythm",{"type":24,"tag":167,"props":1390,"children":1391},{},[1392,1397],{"type":24,"tag":29,"props":1393,"children":1394},{},[1395],{"type":33,"value":1396},"Three stops:",{"type":33,"value":1398}," after Phases 2, 3 and 4.",{"type":24,"tag":109,"props":1400,"children":1402},{"id":1401},"_6-patterns-you-may-not-be-considering",[1403],{"type":33,"value":18},{"type":24,"tag":513,"props":1405,"children":1406},{},[1407,1417,1434,1444,1454,1464],{"type":24,"tag":517,"props":1408,"children":1409},{},[1410,1415],{"type":24,"tag":29,"props":1411,"children":1412},{},[1413],{"type":33,"value":1414},"The finding as the protocol.",{"type":33,"value":1416}," Modularity is purpose plus protocol: the endpoint and the plane are two modules, the finding and its events are the interface, and each side's internals stay free. c137's fifteen message types collapse into event kinds on one object.",{"type":24,"tag":517,"props":1418,"children":1419},{},[1420,1425,1427,1432],{"type":24,"tag":29,"props":1421,"children":1422},{},[1423],{"type":33,"value":1424},"Event sourcing, already half-built.",{"type":33,"value":1426}," The lab's findings are an append-only log with derived status. Bubbling up and down is replicating events with an ",{"type":24,"tag":43,"props":1428,"children":1430},{"className":1429},[],[1431],{"type":33,"value":672},{"type":33,"value":1433},"; because nothing is edited, the two sides never disagree about the past, only about what has arrived.",{"type":24,"tag":517,"props":1435,"children":1436},{},[1437,1442],{"type":24,"tag":29,"props":1438,"children":1439},{},[1440],{"type":33,"value":1441},"Just culture.",{"type":33,"value":1443}," Aviation and industrial safety separate error, at-risk behaviour and recklessness, and answer them with console, coach and, rarely, sanction. Prevented maps to console (a near miss, a learning signal, never a mark), Observed to coach (a training, one small change), and only a repeated, knowing pattern to HQ's follow-up. It names your not-a-prison stance in a vocabulary security leaders already trust.",{"type":24,"tag":517,"props":1445,"children":1446},{},[1447,1452],{"type":24,"tag":29,"props":1448,"children":1449},{},[1450],{"type":33,"value":1451},"Near-miss reporting.",{"type":33,"value":1453}," In those fields near misses are counted as the system working and celebrated; Reports can do the same with prevented findings (R4, c128).",{"type":24,"tag":517,"props":1455,"children":1456},{},[1457,1462],{"type":24,"tag":29,"props":1458,"children":1459},{},[1460],{"type":33,"value":1461},"Honest security.",{"type":33,"value":1463}," Kolide's end-user remediation (in c0's brief) explains and asks rather than blocking silently; the person's verbs in Phase 3 are that pattern.",{"type":24,"tag":517,"props":1465,"children":1466},{},[1467,1472],{"type":24,"tag":29,"props":1468,"children":1469},{},[1470],{"type":33,"value":1471},"One card per policy and resource.",{"type":33,"value":1473}," S2's grouping is also the person's volume control: an agent that hits a policy a thousand times is one finding.",{"type":24,"tag":109,"props":1475,"children":1477},{"id":1476},"_7-out-of-scope",[1478],{"type":33,"value":19},{"type":24,"tag":25,"props":1480,"children":1481},{},[1482],{"type":33,"value":1483},"HQ's letters, censures, responsibilities, diagnostics requests and the operator's Send form (shelved with c137); email and Slack delivery (HQ's own channels); the training content (c133); the plane's build (c134); the naming of the app itself (qnative c0).",1794599393127]