[{"data":1,"prerenderedAt":1213},["ShallowReactive",2],{"cycle-doc-design-c133-review-9-wave1.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":20},{"id":5,"title":6},"c133","Remediation Training",{"id":8,"label":9},"design","Design","review-9-wave1.md","c133 · The four trainings c144's wave 1 wanted (2026-11-13)",[13,14,15,16,17,18,19],"First: one addition to the lab world, after the walk","Where to look","What was done","The calls for you","Passed to c144","A small thing in the world","Ruled (2026-11-13)",{"type":21,"children":22},"root",[23,40,191,197,207,232,245,250,273,278,283,423,436,441,902,909,978,983,1051,1056,1081,1142,1147,1152,1157,1162],{"type":24,"tag":25,"props":26,"children":27},"element","p",{},[28,31,38],{"type":29,"value":30},"text","Written at Mark's word (\"Yes, write them\"), asked in the c142 session after c144 built its six wave-1 scenarios. Four of them named a training they needed and had none. All four were written with the ",{"type":24,"tag":32,"props":33,"children":35},"code",{"className":34},[],[36],{"type":29,"value":37},"\u002Ftraining",{"type":29,"value":39}," skill.",{"type":24,"tag":41,"props":42,"children":43},"table",{},[44,73],{"type":24,"tag":45,"props":46,"children":47},"thead",{},[48],{"type":24,"tag":49,"props":50,"children":51},"tr",{},[52,58,63,68],{"type":24,"tag":53,"props":54,"children":55},"th",{},[56],{"type":29,"value":57},"Training",{"type":24,"tag":53,"props":59,"children":60},{},[61],{"type":29,"value":62},"Policy",{"type":24,"tag":53,"props":64,"children":65},{},[66],{"type":29,"value":67},"Scenarios it answers",{"type":24,"tag":53,"props":69,"children":70},{},[71],{"type":29,"value":72},"Written for",{"type":24,"tag":74,"props":75,"children":76},"tbody",{},[77,107,135,163],{"type":24,"tag":49,"props":78,"children":79},{},[80,92,97,102],{"type":24,"tag":81,"props":82,"children":83},"td",{},[84,90],{"type":24,"tag":85,"props":86,"children":87},"strong",{},[88],{"type":29,"value":89},"Approved model providers",{"type":29,"value":91}," (T-PROVIDERS-1)",{"type":24,"tag":81,"props":93,"children":94},{},[95],{"type":29,"value":96},"Approved model providers only (P-PROVIDERS)",{"type":24,"tag":81,"props":98,"children":99},{},[100],{"type":29,"value":101},"S5",{"type":24,"tag":81,"props":103,"children":104},{},[105],{"type":29,"value":106},"F-F in the base world (Priya's request to deepseek.com, blocked) and TH-S5-b2-1 (User A's ticket to api.refundhelper.example, Observed)",{"type":24,"tag":49,"props":108,"children":109},{},[110,120,125,130],{"type":24,"tag":81,"props":111,"children":112},{},[113,118],{"type":24,"tag":85,"props":114,"children":115},{},[116],{"type":29,"value":117},"Skills that update themselves",{"type":29,"value":119}," (T-PROVENANCE-1)",{"type":24,"tag":81,"props":121,"children":122},{},[123],{"type":29,"value":124},"MCP servers and skills are pinned to reviewed versions (P-PROVENANCE)",{"type":24,"tag":81,"props":126,"children":127},{},[128],{"type":29,"value":129},"S3, S2",{"type":24,"tag":81,"props":131,"children":132},{},[133],{"type":29,"value":134},"TH-S3-b2-1 (repo-tidy 1.5 where 1.4 is pinned) and TH-S2-b1-2 (sheets-pro-mcp, nothing pinned)",{"type":24,"tag":49,"props":136,"children":137},{},[138,148,153,158],{"type":24,"tag":81,"props":139,"children":140},{},[141,146],{"type":24,"tag":85,"props":142,"children":143},{},[144],{"type":29,"value":145},"Ask before an agent sends or publishes",{"type":29,"value":147}," (T-APPROVAL-1)",{"type":24,"tag":81,"props":149,"children":150},{},[151],{"type":29,"value":152},"Consequential tool calls require approval (P-TOOL-APPROVAL)",{"type":24,"tag":81,"props":154,"children":155},{},[156],{"type":29,"value":157},"S4, S1, S3",{"type":24,"tag":81,"props":159,"children":160},{},[161],{"type":29,"value":162},"TH-S4-b3-1 (github.create_gist, public: true), TH-S1-b5-1 (gmail.send) and TH-S3-b5-2 (curl to a paste site)",{"type":24,"tag":49,"props":164,"children":165},{},[166,176,181,186],{"type":24,"tag":81,"props":167,"children":168},{},[169,174],{"type":24,"tag":85,"props":170,"children":171},{},[172],{"type":29,"value":173},"Unattended agents and their spend",{"type":29,"value":175}," (T-SPEND-1)",{"type":24,"tag":81,"props":177,"children":178},{},[179],{"type":29,"value":180},"Spend stays under the ceiling (P-SPEND)",{"type":24,"tag":81,"props":182,"children":183},{},[184],{"type":29,"value":185},"S6",{"type":24,"tag":81,"props":187,"children":188},{},[189],{"type":29,"value":190},"TH-S6-b2-1, b3-1 and b5-1 (Ravi's loop at $14, $1,240 and $3,800)",{"type":24,"tag":192,"props":193,"children":195},"h2",{"id":194},"first-one-addition-to-the-lab-world-after-the-walk",[196],{"type":29,"value":13},{"type":24,"tag":25,"props":198,"children":199},{},[200,205],{"type":24,"tag":85,"props":201,"children":202},{},[203],{"type":29,"value":204},"F-I",{"type":29,"value":206},", added 2026-11-13 at Mark's ruling (call 1 below, D60):",{"type":24,"tag":208,"props":209,"children":210},"ul",{},[211,217,222,227],{"type":24,"tag":212,"props":213,"children":214},"li",{},[215],{"type":29,"value":216},"Hana's Claude Code on mac-eng-05 (Engineering) merged pull request #517 into main through GitHub MCP, with approval set to never.",{"type":24,"tag":212,"props":218,"children":219},{},[220],{"type":29,"value":221},"GitHub MCP is sanctioned, so nothing else is wrong.",{"type":24,"tag":212,"props":223,"children":224},{},[225],{"type":29,"value":226},"It is Observed (the policy observes organisation-wide), with its session S-8 (release branch cleanup, 19 tool calls), marked c133.",{"type":24,"tag":212,"props":228,"children":229},{},[230],{"type":29,"value":231},"The findings list now holds 25.",{"type":24,"tag":25,"props":233,"children":234},{},[235,237,243],{"type":29,"value":236},"The checks pass after it: theatre-check 190\u002F0, tours-walk 455\u002F0, c123 metrics 49, and the governance pages, Reports and the policy's page all serve. The approval training was taken end to end on F-I, and two captures were added (",{"type":24,"tag":32,"props":238,"children":240},{"className":239},[],[241],{"type":29,"value":242},"scripts\u002Fshot-programs\u002Fc133-approval-seed.json",{"type":29,"value":244},"). The collection capture above was taken before F-I, so it still shows no finding for the approval training.",{"type":24,"tag":25,"props":246,"children":247},{},[248],{"type":29,"value":249},"As written before the walk, none of these had added a finding to the base world:",{"type":24,"tag":208,"props":251,"children":252},{},[253,263],{"type":24,"tag":212,"props":254,"children":255},{},[256,261],{"type":24,"tag":85,"props":257,"children":258},{},[259],{"type":29,"value":260},"P-PROVENANCE and P-SPEND are Off for everyone there.",{"type":29,"value":262}," A finding under an Off policy would not be honest. Their findings exist in the simulation, where the scenario's set puts the policy at Observe for its cast.",{"type":24,"tag":212,"props":264,"children":265},{},[266,271],{"type":24,"tag":85,"props":267,"children":268},{},[269],{"type":29,"value":270},"P-TOOL-APPROVAL observes organisation-wide but has no finding.",{"type":29,"value":272}," Its three simulation findings cover it.",{"type":24,"tag":25,"props":274,"children":275},{},[276],{"type":29,"value":277},"The preview page links those three to the library, as it does for a topic. In the simulation, each is taken from its own finding.",{"type":24,"tag":192,"props":279,"children":281},{"id":280},"where-to-look",[282],{"type":29,"value":14},{"type":24,"tag":41,"props":284,"children":285},{},[286,302],{"type":24,"tag":45,"props":287,"children":288},{},[289],{"type":24,"tag":49,"props":290,"children":291},{},[292,297],{"type":24,"tag":53,"props":293,"children":294},{},[295],{"type":29,"value":296},"What",{"type":24,"tag":53,"props":298,"children":299},{},[300],{"type":29,"value":301},"Where",{"type":24,"tag":74,"props":303,"children":304},{},[305,323,340,357,374,391,407],{"type":24,"tag":49,"props":306,"children":307},{},[308,313],{"type":24,"tag":81,"props":309,"children":310},{},[311],{"type":29,"value":312},"Providers on its base finding",{"type":24,"tag":81,"props":314,"children":315},{},[316],{"type":24,"tag":317,"props":318,"children":320},"a",{"href":319},"\u002Fpages\u002Fphase4\u002Fmock\u002Ffinding-detail?findingId=F-F&theatre=off",[321],{"type":29,"value":322},"\u002Fpages\u002Fphase4\u002Fmock\u002Ffinding-detail?findingId=F-F",{"type":24,"tag":49,"props":324,"children":325},{},[326,331],{"type":24,"tag":81,"props":327,"children":328},{},[329],{"type":29,"value":330},"Providers in the simulation (S5)",{"type":24,"tag":81,"props":332,"children":333},{},[334],{"type":24,"tag":317,"props":335,"children":337},{"href":336},"\u002Fpages\u002Fphase4\u002Fmock\u002Ftraining?findingId=TH-S5-b2-1&theatre=card-to-stranger&beat=2",[338],{"type":29,"value":339},"TH-S5-b2-1",{"type":24,"tag":49,"props":341,"children":342},{},[343,348],{"type":24,"tag":81,"props":344,"children":345},{},[346],{"type":29,"value":347},"Skills that update themselves (S3)",{"type":24,"tag":81,"props":349,"children":350},{},[351],{"type":24,"tag":317,"props":352,"children":354},{"href":353},"\u002Fpages\u002Fphase4\u002Fmock\u002Ftraining?findingId=TH-S3-b2-1&theatre=secrets-stealer&beat=2",[355],{"type":29,"value":356},"TH-S3-b2-1",{"type":24,"tag":49,"props":358,"children":359},{},[360,365],{"type":24,"tag":81,"props":361,"children":362},{},[363],{"type":29,"value":364},"Ask before an agent sends or publishes (S4)",{"type":24,"tag":81,"props":366,"children":367},{},[368],{"type":24,"tag":317,"props":369,"children":371},{"href":370},"\u002Fpages\u002Fphase4\u002Fmock\u002Ftraining?findingId=TH-S4-b3-1&theatre=public-link&beat=3",[372],{"type":29,"value":373},"TH-S4-b3-1",{"type":24,"tag":49,"props":375,"children":376},{},[377,382],{"type":24,"tag":81,"props":378,"children":379},{},[380],{"type":29,"value":381},"Unattended agents and their spend (S6)",{"type":24,"tag":81,"props":383,"children":384},{},[385],{"type":24,"tag":317,"props":386,"children":388},{"href":387},"\u002Fpages\u002Fphase4\u002Fmock\u002Ftraining?findingId=TH-S6-b2-1&theatre=runaway-loop&beat=2",[389],{"type":29,"value":390},"TH-S6-b2-1",{"type":24,"tag":49,"props":392,"children":393},{},[394,399],{"type":24,"tag":81,"props":395,"children":396},{},[397],{"type":29,"value":398},"The collection and the scene gallery",{"type":24,"tag":81,"props":400,"children":401},{},[402],{"type":24,"tag":317,"props":403,"children":405},{"href":404},"\u002Fpages\u002Fphase4\u002Ftrainings",[406],{"type":29,"value":404},{"type":24,"tag":49,"props":408,"children":409},{},[410,415],{"type":24,"tag":81,"props":411,"children":412},{},[413],{"type":29,"value":414},"The published JSON",{"type":24,"tag":81,"props":416,"children":417},{},[418],{"type":24,"tag":317,"props":419,"children":421},{"href":420},"\u002Fapi\u002Ftrainings",[422],{"type":29,"value":420},{"type":24,"tag":25,"props":424,"children":425},{},[426,428,434],{"type":29,"value":427},"Captures: the thread \"The four trainings c144's wave 1 wanted…\" (",{"type":24,"tag":32,"props":429,"children":431},{"className":430},[],[432],{"type":29,"value":433},"scripts\u002Fshot-programs\u002Fc133-wave1.json",{"type":29,"value":435},", fifteen shots).",{"type":24,"tag":192,"props":437,"children":439},{"id":438},"what-was-done",[440],{"type":29,"value":15},{"type":24,"tag":442,"props":443,"children":444},"ol",{},[445,476,714,846,864],{"type":24,"tag":212,"props":446,"children":447},{},[448,453,455,461,463],{"type":24,"tag":85,"props":449,"children":450},{},[451],{"type":29,"value":452},"Four files",{"type":29,"value":454}," in ",{"type":24,"tag":32,"props":456,"children":458},{"className":457},[],[459],{"type":29,"value":460},"app\u002Fdata\u002Ftrainings\u002Fen\u002F",{"type":29,"value":462},". Each takes 3 minutes and is v1, with four steps (what happened, why it matters, what Qpoint does, what to do instead), four questions, and a Library section that rewords the first step.",{"type":24,"tag":208,"props":464,"children":465},{},[466,471],{"type":24,"tag":212,"props":467,"children":468},{},[469],{"type":29,"value":470},"The text reads true whether the act was blocked or not. That comes from the slots.",{"type":24,"tag":212,"props":472,"children":473},{},[474],{"type":29,"value":475},"The right answers are in different places in each check (D34).",{"type":24,"tag":212,"props":477,"children":478},{},[479,484,486,492,494,500,502,508,510,516,518,692,696,698,704,706,712],{"type":24,"tag":85,"props":480,"children":481},{},[482],{"type":29,"value":483},"Slots keyed by policy.",{"type":29,"value":485}," Each finding shares its resource kind with another policy's: three are ",{"type":24,"tag":32,"props":487,"children":489},{"className":488},[],[490],{"type":29,"value":491},"mcpServer",{"type":29,"value":493}," like P-MCP's, and spend is ",{"type":24,"tag":32,"props":495,"children":497},{"className":496},[],[498],{"type":29,"value":499},"provider",{"type":29,"value":501}," like P-PROVIDERS'. So ",{"type":24,"tag":32,"props":503,"children":505},{"className":504},[],[506],{"type":29,"value":507},"slots.ts",{"type":29,"value":509}," gains four entries in ",{"type":24,"tag":32,"props":511,"children":513},{"className":512},[],[514],{"type":29,"value":515},"POLICY_SLOTS",{"type":29,"value":517},":",{"type":24,"tag":41,"props":519,"children":520},{},[521,536],{"type":24,"tag":45,"props":522,"children":523},{},[524],{"type":24,"tag":49,"props":525,"children":526},{},[527,531],{"type":24,"tag":53,"props":528,"children":529},{},[530],{"type":29,"value":62},{"type":24,"tag":53,"props":532,"children":533},{},[534],{"type":29,"value":535},"Slots",{"type":24,"tag":74,"props":537,"children":538},{},[539,584,627,656],{"type":24,"tag":49,"props":540,"children":541},{},[542,547],{"type":24,"tag":81,"props":543,"children":544},{},[545],{"type":29,"value":546},"P-PROVIDERS",{"type":24,"tag":81,"props":548,"children":549},{},[550,555,557,563,564,570,571,577,578],{"type":24,"tag":32,"props":551,"children":553},{"className":552},[],[554],{"type":29,"value":499},{"type":29,"value":556},", ",{"type":24,"tag":32,"props":558,"children":560},{"className":559},[],[561],{"type":29,"value":562},"approved",{"type":29,"value":556},{"type":24,"tag":32,"props":565,"children":567},{"className":566},[],[568],{"type":29,"value":569},"providerGot",{"type":29,"value":556},{"type":24,"tag":32,"props":572,"children":574},{"className":573},[],[575],{"type":29,"value":576},"outcome",{"type":29,"value":556},{"type":24,"tag":32,"props":579,"children":581},{"className":580},[],[582],{"type":29,"value":583},"blocked",{"type":24,"tag":49,"props":585,"children":586},{},[587,592],{"type":24,"tag":81,"props":588,"children":589},{},[590],{"type":29,"value":591},"P-PROVENANCE",{"type":24,"tag":81,"props":593,"children":594},{},[595,601,602,608,609,615,616,621,622],{"type":24,"tag":32,"props":596,"children":598},{"className":597},[],[599],{"type":29,"value":600},"component",{"type":29,"value":556},{"type":24,"tag":32,"props":603,"children":605},{"className":604},[],[606],{"type":29,"value":607},"pinned",{"type":29,"value":556},{"type":24,"tag":32,"props":610,"children":612},{"className":611},[],[613],{"type":29,"value":614},"pinnedSentence",{"type":29,"value":556},{"type":24,"tag":32,"props":617,"children":619},{"className":618},[],[620],{"type":29,"value":576},{"type":29,"value":556},{"type":24,"tag":32,"props":623,"children":625},{"className":624},[],[626],{"type":29,"value":583},{"type":24,"tag":49,"props":628,"children":629},{},[630,635],{"type":24,"tag":81,"props":631,"children":632},{},[633],{"type":29,"value":634},"P-TOOL-APPROVAL",{"type":24,"tag":81,"props":636,"children":637},{},[638,644,645,650,651],{"type":24,"tag":32,"props":639,"children":641},{"className":640},[],[642],{"type":29,"value":643},"tool",{"type":29,"value":556},{"type":24,"tag":32,"props":646,"children":648},{"className":647},[],[649],{"type":29,"value":576},{"type":29,"value":556},{"type":24,"tag":32,"props":652,"children":654},{"className":653},[],[655],{"type":29,"value":583},{"type":24,"tag":49,"props":657,"children":658},{},[659,664],{"type":24,"tag":81,"props":660,"children":661},{},[662],{"type":29,"value":663},"P-SPEND",{"type":24,"tag":81,"props":665,"children":666},{},[667,673,674,680,681,686,687],{"type":24,"tag":32,"props":668,"children":670},{"className":669},[],[671],{"type":29,"value":672},"ceiling",{"type":29,"value":556},{"type":24,"tag":32,"props":675,"children":677},{"className":676},[],[678],{"type":29,"value":679},"ceilings",{"type":29,"value":556},{"type":24,"tag":32,"props":682,"children":684},{"className":683},[],[685],{"type":29,"value":576},{"type":29,"value":556},{"type":24,"tag":32,"props":688,"children":690},{"className":689},[],[691],{"type":29,"value":583},{"type":24,"tag":693,"props":694,"children":695},"br",{},[],{"type":29,"value":697},"The slots a policy's configuration alone fills (the approved list, the pinned list, the ceilings, and T-INJECT-1's heuristics) are now one map, ",{"type":24,"tag":32,"props":699,"children":701},{"className":700},[],[702],{"type":29,"value":703},"POLICY_CONFIG_SLOTS",{"type":29,"value":705},". The library reads that map instead of naming P-PROMPT-INSPECT. The rule is in ",{"type":24,"tag":32,"props":707,"children":709},{"className":708},[],[710],{"type":29,"value":711},"authoring.md",{"type":29,"value":713}," §Slots.",{"type":24,"tag":212,"props":715,"children":716},{},[717,722,724,812,815,821,822,828,830,836,838,844],{"type":24,"tag":85,"props":718,"children":719},{},[720],{"type":29,"value":721},"Eleven scenes",{"type":29,"value":723},", catalogued and mapped:",{"type":24,"tag":208,"props":725,"children":726},{},[727,743,766,789],{"type":24,"tag":212,"props":728,"children":729},{},[730,736,737],{"type":24,"tag":32,"props":731,"children":733},{"className":732},[],[734],{"type":29,"value":735},"provider-request",{"type":29,"value":556},{"type":24,"tag":32,"props":738,"children":740},{"className":739},[],[741],{"type":29,"value":742},"provider-terms",{"type":24,"tag":212,"props":744,"children":745},{},[746,752,753,759,760],{"type":24,"tag":32,"props":747,"children":749},{"className":748},[],[750],{"type":29,"value":751},"version-load",{"type":29,"value":556},{"type":24,"tag":32,"props":754,"children":756},{"className":755},[],[757],{"type":29,"value":758},"version-trust",{"type":29,"value":556},{"type":24,"tag":32,"props":761,"children":763},{"className":762},[],[764],{"type":29,"value":765},"pin-version",{"type":24,"tag":212,"props":767,"children":768},{},[769,775,776,782,783],{"type":24,"tag":32,"props":770,"children":772},{"className":771},[],[773],{"type":29,"value":774},"unapproved-call",{"type":29,"value":556},{"type":24,"tag":32,"props":777,"children":779},{"className":778},[],[780],{"type":29,"value":781},"consequential-calls",{"type":29,"value":556},{"type":24,"tag":32,"props":784,"children":786},{"className":785},[],[787],{"type":29,"value":788},"approve-call",{"type":24,"tag":212,"props":790,"children":791},{},[792,798,799,805,806],{"type":24,"tag":32,"props":793,"children":795},{"className":794},[],[796],{"type":29,"value":797},"spend-ceiling",{"type":29,"value":556},{"type":24,"tag":32,"props":800,"children":802},{"className":801},[],[803],{"type":29,"value":804},"retry-loop",{"type":29,"value":556},{"type":24,"tag":32,"props":807,"children":809},{"className":808},[],[810],{"type":29,"value":811},"agent-limit",{"type":24,"tag":693,"props":813,"children":814},{},[],{"type":24,"tag":32,"props":816,"children":818},{"className":817},[],[819],{"type":29,"value":820},"policy-modes",{"type":29,"value":556},{"type":24,"tag":32,"props":823,"children":825},{"className":824},[],[826],{"type":29,"value":827},"mode-observe",{"type":29,"value":829}," and ",{"type":24,"tag":32,"props":831,"children":833},{"className":832},[],[834],{"type":29,"value":835},"mode-ask",{"type":29,"value":837}," are reused. The scenes that name the finding's own thing (the provider, the skill, the tool) name it in general when the library has no finding, as ",{"type":24,"tag":32,"props":839,"children":841},{"className":840},[],[842],{"type":29,"value":843},"hidden-instruction",{"type":29,"value":845}," does. The catalogue holds 35.",{"type":24,"tag":212,"props":847,"children":848},{},[849,854,856,862],{"type":24,"tag":85,"props":850,"children":851},{},[852],{"type":29,"value":853},"Voice.",{"type":29,"value":855}," Every filled sentence, scene label and library reading went through ",{"type":24,"tag":32,"props":857,"children":859},{"className":858},[],[860],{"type":29,"value":861},"check-brand-voice",{"type":29,"value":863}," (productUI), with zero violations. A scratch check filled each training on every finding it answers, in the base world and in each scenario with each replay: 13 distinct readings, no slot left unfilled and no voice violation. The preview page's Voice column reads pass for all four.",{"type":24,"tag":212,"props":865,"children":866},{},[867,872,874,897,900],{"type":24,"tag":85,"props":868,"children":869},{},[870],{"type":29,"value":871},"Taken end to end",{"type":29,"value":873}," in the browser pane:",{"type":24,"tag":208,"props":875,"children":876},{},[877,882,887,892],{"type":24,"tag":212,"props":878,"children":879},{},[880],{"type":29,"value":881},"T-SPEND-1 from its finding's strip, through the four steps. A wrong answer brings the retake, which points back to step 3. Then all right, Finish and record, and the history row (\"training completed · passed, 4 of 4\"), with the finding still open (D9).",{"type":24,"tag":212,"props":883,"children":884},{},[885],{"type":29,"value":886},"T-APPROVAL-1 and T-PROVENANCE-1 in the simulation, through the steps, the check and the record.",{"type":24,"tag":212,"props":888,"children":889},{},[890],{"type":29,"value":891},"T-PROVIDERS-1 from F-F's strip in the base world, through to the history row.",{"type":24,"tag":212,"props":893,"children":894},{},[895],{"type":29,"value":896},"On its own from the library: all four read 4 of 4 steps and 4 of 4 questions, with nothing left out.",{"type":24,"tag":693,"props":898,"children":899},{},[],{"type":29,"value":901},"Checked in dark mode. The only console errors were two hydration-mismatch warnings that the preview page already showed before this change.",{"type":24,"tag":903,"props":904,"children":906},"h3",{"id":905},"two-fixes-on-the-way",[907],{"type":29,"value":908},"Two fixes on the way",{"type":24,"tag":208,"props":910,"children":911},{},[912,953],{"type":24,"tag":212,"props":913,"children":914},{},[915,920,922,928,930,936,938,944,945,951],{"type":24,"tag":85,"props":916,"children":917},{},[918],{"type":29,"value":919},"\"Tell Theatre\" in the simulation.",{"type":29,"value":921}," A training's contact is the policy's owner, read as the last person to change the policy. Inside the simulation that was c144's set or replay, whose change actor is ",{"type":24,"tag":32,"props":923,"children":925},{"className":924},[],[926],{"type":29,"value":927},"Theatre",{"type":29,"value":929},". So the trainings on S2, S3, S6 and every replay would have told the person to ask \"Theatre\". ",{"type":24,"tag":32,"props":931,"children":933},{"className":932},[],[934],{"type":29,"value":935},"ownerOf",{"type":29,"value":937}," now skips that actor, as it already skips ",{"type":24,"tag":32,"props":939,"children":941},{"className":940},[],[942],{"type":29,"value":943},"qdash",{"type":29,"value":829},{"type":24,"tag":32,"props":946,"children":948},{"className":947},[],[949],{"type":29,"value":950},"clock",{"type":29,"value":952},", and those readings say IT.",{"type":24,"tag":212,"props":954,"children":955},{},[956,961,963,969,970,976],{"type":24,"tag":85,"props":957,"children":958},{},[959],{"type":29,"value":960},"The trainings preview page crashed after a dev restart",{"type":29,"value":962}," (\"Cannot read properties of undefined\"). Two imports used only in its template, ",{"type":24,"tag":32,"props":964,"children":966},{"className":965},[],[967],{"type":29,"value":968},"PLANNED_PILOTS",{"type":29,"value":829},{"type":24,"tag":32,"props":971,"children":973},{"className":972},[],[974],{"type":29,"value":975},"isScene",{"type":29,"value":977},", were dropped. That is the known template-only-import quirk. Both are now bound in the page's script.",{"type":24,"tag":192,"props":979,"children":981},{"id":980},"the-calls-for-you",[982],{"type":29,"value":16},{"type":24,"tag":442,"props":984,"children":985},{},[986,1003,1019,1035],{"type":24,"tag":212,"props":987,"children":988},{},[989,994,996,1001],{"type":24,"tag":85,"props":990,"children":991},{},[992],{"type":29,"value":993},"No base-world findings for these three.",{"type":29,"value":995}," P-PROVENANCE and P-SPEND are Off in the lab world, and P-TOOL-APPROVAL has none.\n",{"type":24,"tag":85,"props":997,"children":998},{},[999],{"type":29,"value":1000},"Proposed:",{"type":29,"value":1002}," leave the world as it is. These trainings are met in the simulation. If you want them in the base world as well, P-TOOL-APPROVAL could gain one row the way F-H was added. The other two would need the policy switched on for a team.",{"type":24,"tag":212,"props":1004,"children":1005},{},[1006,1011,1013,1017],{"type":24,"tag":85,"props":1007,"children":1008},{},[1009],{"type":29,"value":1010},"The title \"Ask before an agent sends or publishes\".",{"type":29,"value":1012}," c144 asked for \"Ask before an agent publishes\". But S1 (gmail.send) and S3 (curl to a paste site) raise the same policy, and both send.\n",{"type":24,"tag":85,"props":1014,"children":1015},{},[1016],{"type":29,"value":1000},{"type":29,"value":1018}," keep the wider title.",{"type":24,"tag":212,"props":1020,"children":1021},{},[1022,1027,1029,1033],{"type":24,"tag":85,"props":1023,"children":1024},{},[1025],{"type":29,"value":1026},"Advice that names what an agent offers.",{"type":29,"value":1028}," T-SPEND-1 says to use \"your agent's own limits where it has them, such as a maximum number of turns\". T-PROVENANCE-1 says to \"install skills and servers at a fixed version, not the latest\". Both are worded so they hold for any harness, and neither names a setting.\n",{"type":24,"tag":85,"props":1030,"children":1031},{},[1032],{"type":29,"value":1000},{"type":29,"value":1034}," keep them general. Name the setting per harness in a later version, if the native app knows the harness.",{"type":24,"tag":212,"props":1036,"children":1037},{},[1038,1043,1045,1049],{"type":24,"tag":85,"props":1039,"children":1040},{},[1041],{"type":29,"value":1042},"The native app.",{"type":29,"value":1044}," None of the four is bundled in qnative yet, and the native simulations S2 to S6 are not built yet.\n",{"type":24,"tag":85,"props":1046,"children":1047},{},[1048],{"type":29,"value":1000},{"type":29,"value":1050}," bundle each training with its native scenario as that scenario is built, as T-INJECT-1 went with S1.",{"type":24,"tag":192,"props":1052,"children":1054},{"id":1053},"passed-to-c144",[1055],{"type":29,"value":17},{"type":24,"tag":25,"props":1057,"children":1058},{},[1059,1061,1066,1068,1074,1076],{"type":29,"value":1060},"The c144 session owns these, and they were sent there. ",{"type":24,"tag":85,"props":1062,"children":1063},{},[1064],{"type":29,"value":1065},"Both were done the same day",{"type":29,"value":1067}," in c144's lab, uncommitted until Mark rules: the scenarios list the four trainings in ",{"type":24,"tag":32,"props":1069,"children":1071},{"className":1070},[],[1072],{"type":29,"value":1073},"trainings",{"type":29,"value":1075},", and StepNote has their titles. The held call's evidence now reads \"",{"type":24,"tag":643,"props":1077,"children":1078},{},[1079],{"type":29,"value":1080}," held for approval: …\", with the same fix for P-MCP, P-FILES and P-DATA-BOUNDARY when they stop the act. What was sent:",{"type":24,"tag":208,"props":1082,"children":1083},{},[1084,1137],{"type":24,"tag":212,"props":1085,"children":1086},{},[1087,1089,1095,1097,1102,1104],{"type":29,"value":1088},"Each scenario's ",{"type":24,"tag":32,"props":1090,"children":1092},{"className":1091},[],[1093],{"type":29,"value":1094},"trainingsWanted",{"type":29,"value":1096}," now has a training to move into ",{"type":24,"tag":32,"props":1098,"children":1100},{"className":1099},[],[1101],{"type":29,"value":1073},{"type":29,"value":1103},":\n",{"type":24,"tag":208,"props":1105,"children":1106},{},[1107,1112,1117,1122,1127,1132],{"type":24,"tag":212,"props":1108,"children":1109},{},[1110],{"type":29,"value":1111},"S3: T-PROVENANCE-1, and T-APPROVAL-1 for beat 5",{"type":24,"tag":212,"props":1113,"children":1114},{},[1115],{"type":29,"value":1116},"S4: T-APPROVAL-1",{"type":24,"tag":212,"props":1118,"children":1119},{},[1120],{"type":29,"value":1121},"S5: T-PROVIDERS-1",{"type":24,"tag":212,"props":1123,"children":1124},{},[1125],{"type":29,"value":1126},"S6: T-SPEND-1",{"type":24,"tag":212,"props":1128,"children":1129},{},[1130],{"type":29,"value":1131},"S1: T-APPROVAL-1 for beat 5",{"type":24,"tag":212,"props":1133,"children":1134},{},[1135],{"type":29,"value":1136},"S2: T-PROVENANCE-1",{"type":24,"tag":212,"props":1138,"children":1139},{},[1140],{"type":29,"value":1141},"In the replay at Enforce, the detector's evidence for P-TOOL-APPROVAL still reads \"ran without approval\", though the call was held.",{"type":24,"tag":192,"props":1143,"children":1145},{"id":1144},"a-small-thing-in-the-world",[1146],{"type":29,"value":18},{"type":24,"tag":25,"props":1148,"children":1149},{},[1150],{"type":29,"value":1151},"F-F's session S-5 has a summary that repeats its evidence (\"Request to deepseek.com blocked at 09:27\"). So the first step reads \"during a session: Request to deepseek.com blocked at 09:27. qcontrol recorded it as: Request to deepseek.com blocked at 09:27; …\". That is the fixture's text, left as it is.",{"type":24,"tag":192,"props":1153,"children":1155},{"id":1154},"ruled-2026-11-13",[1156],{"type":29,"value":19},{"type":24,"tag":25,"props":1158,"children":1159},{},[1160],{"type":29,"value":1161},"Mark walked the four calls one at a time in the c142 session.",{"type":24,"tag":442,"props":1163,"children":1164},{},[1165,1175,1185,1203],{"type":24,"tag":212,"props":1166,"children":1167},{},[1168,1173],{"type":24,"tag":85,"props":1169,"children":1170},{},[1171],{"type":29,"value":1172},"Reversed: add the approval finding",{"type":29,"value":1174}," (D60). The rule that kept F-H (the policy is on, so a finding is honest) holds for the approval policy too. F-I was built the same day. It is Hana's merge, not Dev's from the example in the walk, because Dev is on Finance and a pull request reads oddly there. P-PROVENANCE and P-SPEND stay simulation-only while they are Off in the lab world.",{"type":24,"tag":212,"props":1176,"children":1177},{},[1178,1183],{"type":24,"tag":85,"props":1179,"children":1180},{},[1181],{"type":29,"value":1182},"Keep \"Ask before an agent sends or publishes\"",{"type":29,"value":1184}," (D61).",{"type":24,"tag":212,"props":1186,"children":1187},{},[1188,1193,1195,1201],{"type":24,"tag":85,"props":1189,"children":1190},{},[1191],{"type":29,"value":1192},"Keep the advice general for now",{"type":29,"value":1194}," (D62). Named settings come in a later version, filled from ",{"type":24,"tag":32,"props":1196,"children":1198},{"className":1197},[],[1199],{"type":29,"value":1200},"{agent}",{"type":29,"value":1202},", once each tool's current settings are checked.",{"type":24,"tag":212,"props":1204,"children":1205},{},[1206,1211],{"type":24,"tag":85,"props":1207,"children":1208},{},[1209],{"type":29,"value":1210},"Agreed: bundle each training with its native scenario",{"type":29,"value":1212}," (D63), when c144's Phase 2 builds S2 to S6 in the native app.",1794599386376]