[{"data":1,"prerenderedAt":1730},["ShallowReactive",2],{"cycle-doc-design-c128-plan.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":21},{"id":5,"title":6},"c128","Reports",{"id":8,"label":9},"design","Design","plan.md","c128 plan: Reports",[13,14,15,16,17,18,19,20],"The shape","The three reports","Rules","Decisions (ruled by Mark 2026-11-03)","Clarifying questions: Mark's answers (2026-11-03)","Board report: what folds in","Patterns you may not be considering","Phases",{"type":22,"children":23},"root",[24,56,71,114,122,169,175,180,192,197,206,211,221,226,264,269,279,283,316,326,330,368,382,387,545,550,569,886,893,898,1109,1114,1185,1190,1210,1306,1311,1422,1427],{"type":25,"tag":26,"props":27,"children":28},"element","blockquote",{},[29],{"type":25,"tag":30,"props":31,"children":32},"p",{},[33,40,42,54],{"type":25,"tag":34,"props":35,"children":36},"strong",{},[37],{"type":38,"value":39},"text","Changed 2026-11-05 (Mark):",{"type":38,"value":41}," the three reports below gave way to intents PR 6's four, as living pages: Inventory, Findings, Compliance, Executive Summary. Findings is no longer a section of Posture, the Board no longer folds into the catalog, and exports are a PDF only. The window, R1–R6 and the chassis stand. See c123's ",{"type":25,"tag":43,"props":44,"children":46},"a",{"href":45},"\u002Fcycles\u002Fdesign\u002Fc123\u002Fdoc\u002Fintents-pr5-plan",[47],{"type":25,"tag":48,"props":49,"children":51},"code",{"className":50},[],[52],{"type":38,"value":53},"intents-pr5-plan.md",{"type":38,"value":55},", Phase 6.",{"type":25,"tag":30,"props":57,"children":58},{},[59,64,66],{"type":25,"tag":34,"props":60,"children":61},{},[62],{"type":38,"value":63},"Reader:",{"type":38,"value":65}," people who aren't operators: security leads reporting upward, GRC and auditors, IT. They read and don't change anything.\n",{"type":25,"tag":34,"props":67,"children":68},{},[69],{"type":38,"value":70},"Problems:",{"type":25,"tag":72,"props":73,"children":74},"ul",{},[75,87,96,105],{"type":25,"tag":76,"props":77,"children":78},"li",{},[79,85],{"type":25,"tag":48,"props":80,"children":82},{"className":81},[],[83],{"type":38,"value":84},"problem:prove-posture-over-time",{"type":38,"value":86}," (recurring: Moto, Tiled), the main one",{"type":25,"tag":76,"props":88,"children":89},{},[90],{"type":25,"tag":48,"props":91,"children":93},{"className":92},[],[94],{"type":38,"value":95},"problem:fleet-scale-compliance-state",{"type":25,"tag":76,"props":97,"children":98},{},[99],{"type":25,"tag":48,"props":100,"children":102},{"className":101},[],[103],{"type":38,"value":104},"problem:sensor-coverage-gap",{"type":25,"tag":76,"props":106,"children":107},{},[108],{"type":25,"tag":48,"props":109,"children":111},{"className":110},[],[112],{"type":38,"value":113},"problem:unknown-agent-fleet",{"type":25,"tag":30,"props":115,"children":116},{},[117],{"type":25,"tag":34,"props":118,"children":119},{},[120],{"type":38,"value":121},"Prior art:",{"type":25,"tag":72,"props":123,"children":124},{},[125,153],{"type":25,"tag":76,"props":126,"children":127},{},[128,130,136,138,144,145,151],{"type":38,"value":129},"c78 built a report chassis and four report mocks: ",{"type":25,"tag":48,"props":131,"children":133},{"className":132},[],[134],{"type":38,"value":135},"\u002Fpages\u002Freport-*-v1",{"type":38,"value":137},", ",{"type":25,"tag":48,"props":139,"children":141},{"className":140},[],[142],{"type":38,"value":143},"app\u002Fcomponents\u002Freport\u002F",{"type":38,"value":137},{"type":25,"tag":48,"props":146,"children":148},{"className":147},[],[149],{"type":38,"value":150},"report-fixtures.ts",{"type":38,"value":152},".",{"type":25,"tag":76,"props":154,"children":155},{},[156,158,168],{"type":38,"value":157},"The data map is in ",{"type":25,"tag":43,"props":159,"children":161},{"href":160},"\u002Fcycles\u002Fdesign\u002Fc128\u002Fdoc\u002Fdata-inventory",[162],{"type":25,"tag":48,"props":163,"children":165},{"className":164},[],[166],{"type":38,"value":167},"data-inventory.md",{"type":38,"value":152},{"type":25,"tag":170,"props":171,"children":173},"h2",{"id":172},"the-shape",[174],{"type":38,"value":13},{"type":25,"tag":30,"props":176,"children":177},{},[178],{"type":38,"value":179},"Reports is a catalog and a reader. Every report has the same header, and the time window lives in that header.",{"type":25,"tag":181,"props":182,"children":186},"pre",{"className":183,"code":185,"language":38},[184],"language-text","Reports                                                     \u002Freports\n┌ Security ───────────────────────┐ ┌ IT ──────────────────────────────────┐\n│ Posture                          │ │ Inventory          Deployment status │\n│ 78 ▲4 · 3 critical · 2 past SLA  │ │ 212 endpoints · 9  91% covered ▼2   │\n│                         Open →   │ │ new harnesses      14 shadow installs│\n└──────────────────────────────────┘ └──────────────────────────────────────┘\n\nSecurity · Posture                                    [Export ▾] [Print]\n┌ Window ────────────────────────────────────────────────────────────────┐\n│ ( Last 30 days ▾ )  Oct 4 – Nov 2, 2026 · compared with Sep 4 – Oct 3   │\n└────────────────────────────────────────────────────────────────────────┘\n Verdict    score 78, up 4 · spark over the window · start → end\n Sections   each one tagged: in window · over window · as of Nov 2\n Footer     generated \u003Cts> · data through \u003Cfleet_anchor> · sources\n",[187],{"type":25,"tag":48,"props":188,"children":190},{"__ignoreMap":189},"",[191],{"type":38,"value":185},{"type":25,"tag":30,"props":193,"children":194},{},[195],{"type":38,"value":196},"The window picker opens a single panel:",{"type":25,"tag":181,"props":198,"children":201},{"className":199,"code":200,"language":38},[184],"┌──────────────────────────────────────────────────────────┐\n│ Rolling        Last 7 days · Last 30 days · Last 90 days  │\n│ Calendar       This month · Last month · This quarter ·   │\n│                Last quarter · Year to date                │\n│ Custom         [ Oct 1, 2026 ] → [ Oct 31, 2026 ]         │\n│                ┌ Oct 2026 ┐ ┌ Nov 2026 ┐  two-month cal.   │\n│ Compare with   ( Previous period · Same period last yr ·  │\n│                  None )                                    │\n│ Data available Aug 5 – Nov 2 (90 days) ░░░ hatched beyond │\n└──────────────────────────────────────────────────────────┘\n",[202],{"type":25,"tag":48,"props":203,"children":204},{"__ignoreMap":189},[205],{"type":38,"value":200},{"type":25,"tag":170,"props":207,"children":209},{"id":208},"the-three-reports",[210],{"type":38,"value":14},{"type":25,"tag":30,"props":212,"children":213},{},[214,219],{"type":25,"tag":34,"props":215,"children":216},{},[217],{"type":38,"value":218},"Security · Posture.",{"type":38,"value":220}," Is our AI risk going down, and what is left?",{"type":25,"tag":30,"props":222,"children":223},{},[224],{"type":38,"value":225},"The report answers that question with these sections:",{"type":25,"tag":72,"props":227,"children":228},{},[229,234,239,244,249,254,259],{"type":25,"tag":76,"props":230,"children":231},{},[232],{"type":38,"value":233},"The posture score over the window, with its start, end and change.",{"type":25,"tag":76,"props":235,"children":236},{},[237],{"type":38,"value":238},"What lowers the score.",{"type":25,"tag":76,"props":240,"children":241},{},[242],{"type":38,"value":243},"Critical and at-risk harnesses.",{"type":25,"tag":76,"props":245,"children":246},{},[247],{"type":38,"value":248},"Findings opened, resolved, still open and past SLA, by severity.",{"type":25,"tag":76,"props":250,"children":251},{},[252],{"type":38,"value":253},"Data protection.",{"type":25,"tag":76,"props":255,"children":256},{},[257],{"type":38,"value":258},"Egress decisions.",{"type":25,"tag":76,"props":260,"children":261},{},[262],{"type":38,"value":263},"Policies in force, with mode changes in the window.",{"type":25,"tag":30,"props":265,"children":266},{},[267],{"type":38,"value":268},"The framework evidence summary links to c123's framework pages and isn't rebuilt here.",{"type":25,"tag":30,"props":270,"children":271},{},[272,277],{"type":25,"tag":34,"props":273,"children":274},{},[275],{"type":38,"value":276},"IT · Inventory.",{"type":38,"value":278}," What AI is in use, on which machines, by whom, and what's new?",{"type":25,"tag":30,"props":280,"children":281},{},[282],{"type":38,"value":225},{"type":25,"tag":72,"props":284,"children":285},{},[286,291,296,301,311],{"type":25,"tag":76,"props":287,"children":288},{},[289],{"type":38,"value":290},"Endpoints, people and teams.",{"type":25,"tag":76,"props":292,"children":293},{},[294],{"type":38,"value":295},"Harnesses, models, providers and accounts, split into personal and enterprise.",{"type":25,"tag":76,"props":297,"children":298},{},[299],{"type":38,"value":300},"MCP servers, skills, tools and workspaces.",{"type":25,"tag":76,"props":302,"children":303},{},[304,309],{"type":25,"tag":34,"props":305,"children":306},{},[307],{"type":38,"value":308},"New in window",{"type":38,"value":310}," (first seen).",{"type":25,"tag":76,"props":312,"children":313},{},[314],{"type":38,"value":315},"Spend.",{"type":25,"tag":30,"props":317,"children":318},{},[319,324],{"type":25,"tag":34,"props":320,"children":321},{},[322],{"type":38,"value":323},"IT · Deployment status.",{"type":38,"value":325}," Where is the sensor, and where isn't it?",{"type":25,"tag":30,"props":327,"children":328},{},[329],{"type":38,"value":225},{"type":25,"tag":72,"props":331,"children":332},{},[333,338,343,348,353,358,363],{"type":25,"tag":76,"props":334,"children":335},{},[336],{"type":38,"value":337},"Coverage % over the window.",{"type":25,"tag":76,"props":339,"children":340},{},[341],{"type":38,"value":342},"Endpoints by monitoring state.",{"type":25,"tag":76,"props":344,"children":345},{},[346],{"type":38,"value":347},"Shadow installs.",{"type":25,"tag":76,"props":349,"children":350},{},[351],{"type":38,"value":352},"Users not covered.",{"type":25,"tag":76,"props":354,"children":355},{},[356],{"type":38,"value":357},"Stale endpoints.",{"type":25,"tag":76,"props":359,"children":360},{},[361],{"type":38,"value":362},"Harness version spread.",{"type":25,"tag":76,"props":364,"children":365},{},[366],{"type":38,"value":367},"Sensor version and health. qdash doesn't have this data yet, so it's drawn as staged.",{"type":25,"tag":30,"props":369,"children":370},{},[371,373,381],{"type":38,"value":372},"The source and time basis for every section is in ",{"type":25,"tag":43,"props":374,"children":375},{"href":160},[376],{"type":25,"tag":48,"props":377,"children":379},{"className":378},[],[380],{"type":38,"value":167},{"type":38,"value":152},{"type":25,"tag":170,"props":383,"children":385},{"id":384},"rules",[386],{"type":38,"value":15},{"type":25,"tag":72,"props":388,"children":389},{},[390,400,454,472,482,508],{"type":25,"tag":76,"props":391,"children":392},{},[393,398],{"type":25,"tag":34,"props":394,"children":395},{},[396],{"type":38,"value":397},"R1. One window per report, in the header.",{"type":38,"value":399}," Every section reads it. A section that can't follow the window says what it shows instead.",{"type":25,"tag":76,"props":401,"children":402},{},[403,408],{"type":25,"tag":34,"props":404,"children":405},{},[406],{"type":38,"value":407},"R2. Every section states its time basis.",{"type":25,"tag":72,"props":409,"children":410},{},[411,422,432,442],{"type":25,"tag":76,"props":412,"children":413},{},[414,420],{"type":25,"tag":415,"props":416,"children":417},"em",{},[418],{"type":38,"value":419},"in window",{"type":38,"value":421},": counts and sums.",{"type":25,"tag":76,"props":423,"children":424},{},[425,430],{"type":25,"tag":415,"props":426,"children":427},{},[428],{"type":38,"value":429},"over window",{"type":38,"value":431},": the window's days.",{"type":25,"tag":76,"props":433,"children":434},{},[435,440],{"type":25,"tag":415,"props":436,"children":437},{},[438],{"type":38,"value":439},"as of \u003Cdate>",{"type":38,"value":441},": state at the window's end.",{"type":25,"tag":76,"props":443,"children":444},{},[445,447,452],{"type":38,"value":446},"Until snapshots exist, ",{"type":25,"tag":415,"props":448,"children":449},{},[450],{"type":38,"value":451},"as of",{"type":38,"value":453}," in the past falls back to a trend series, or says it shows current state (c108).",{"type":25,"tag":76,"props":455,"children":456},{},[457,462,464,470],{"type":25,"tag":34,"props":458,"children":459},{},[460],{"type":38,"value":461},"R3. Same numbers as the operator pages.",{"type":38,"value":463}," Reports read the same ",{"type":25,"tag":48,"props":465,"children":467},{"className":466},[],[468],{"type":38,"value":469},"lib\u002F*-rollups.ts",{"type":38,"value":471}," that the pages do (c78's derivation ethic), and every section links to its page with the window carried over.",{"type":25,"tag":76,"props":473,"children":474},{},[475,480],{"type":25,"tag":34,"props":476,"children":477},{},[478],{"type":38,"value":479},"R4. Read-only.",{"type":38,"value":481}," No adjudicate, stage or mode controls. A report is something you can hand to someone.",{"type":25,"tag":76,"props":483,"children":484},{},[485,490,492,498,500,506],{"type":25,"tag":34,"props":486,"children":487},{},[488],{"type":38,"value":489},"R5. The window is in the URL.",{"type":38,"value":491}," For example ",{"type":25,"tag":48,"props":493,"children":495},{"className":494},[],[496],{"type":38,"value":497},"?window=last-quarter&compare=previous",{"type":38,"value":499}," or ",{"type":25,"tag":48,"props":501,"children":503},{"className":502},[],[504],{"type":38,"value":505},"?from=2026-10-01&to=2026-10-31",{"type":38,"value":507},", so a link reproduces the report exactly.",{"type":25,"tag":76,"props":509,"children":510},{},[511,516],{"type":25,"tag":34,"props":512,"children":513},{},[514],{"type":38,"value":515},"R6. The data's edges are visible.",{"type":25,"tag":72,"props":517,"children":518},{},[519,532],{"type":25,"tag":76,"props":520,"children":521},{},[522,524,530],{"type":38,"value":523},"The footer shows \"data through\" (",{"type":25,"tag":48,"props":525,"children":527},{"className":526},[],[528],{"type":38,"value":529},"fleet_anchor",{"type":38,"value":531},"), and the picker shows how far back data goes.",{"type":25,"tag":76,"props":533,"children":534},{},[535,537,543],{"type":38,"value":536},"A window that runs past the available history hatches the missing days (as ",{"type":25,"tag":48,"props":538,"children":540},{"className":539},[],[541],{"type":38,"value":542},"DataHistoryGraph",{"type":38,"value":544}," already does) rather than drawing zeros.",{"type":25,"tag":170,"props":546,"children":548},{"id":547},"decisions-ruled-by-mark-2026-11-03",[549],{"type":38,"value":16},{"type":25,"tag":30,"props":551,"children":552},{},[553,555,560,562,567],{"type":38,"value":554},"All ten were ruled the same day. D1–D4 and D6–D10 went with the defaults below. ",{"type":25,"tag":34,"props":556,"children":557},{},[558],{"type":38,"value":559},"D5 went the other way: the window is shared",{"type":38,"value":561}," (see ",{"type":25,"tag":415,"props":563,"children":564},{},[565],{"type":38,"value":566},"D5 ruling",{"type":38,"value":568}," after the table).",{"type":25,"tag":570,"props":571,"children":572},"table",{},[573,597],{"type":25,"tag":574,"props":575,"children":576},"thead",{},[577],{"type":25,"tag":578,"props":579,"children":580},"tr",{},[581,587,592],{"type":25,"tag":582,"props":583,"children":584},"th",{},[585],{"type":38,"value":586},"#",{"type":25,"tag":582,"props":588,"children":589},{},[590],{"type":38,"value":591},"Question",{"type":25,"tag":582,"props":593,"children":594},{},[595],{"type":38,"value":596},"Default",{"type":25,"tag":598,"props":599,"children":600},"tbody",{},[601,641,664,687,710,749,772,795,818,856],{"type":25,"tag":578,"props":602,"children":603},{},[604,610,615],{"type":25,"tag":605,"props":606,"children":607},"td",{},[608],{"type":38,"value":609},"D1",{"type":25,"tag":605,"props":611,"children":612},{},[613],{"type":38,"value":614},"Where it's built first",{"type":25,"tag":605,"props":616,"children":617},{},[618,623,625,631,633,639],{"type":25,"tag":34,"props":619,"children":620},{},[621],{"type":38,"value":622},"A design-site mock in the phase-4 lab",{"type":38,"value":624}," (",{"type":25,"tag":48,"props":626,"children":628},{"className":627},[],[629],{"type":38,"value":630},"\u002Fpages\u002Fphase4\u002Fmock\u002Freports",{"type":38,"value":632},", in the lab shell, which already has a Reports rail entry), on the lab's shared world plus a daily history extension. It is ported to qdash ",{"type":25,"tag":48,"props":634,"children":636},{"className":635},[],[637],{"type":38,"value":638},"\u002Freports",{"type":38,"value":640}," after review.",{"type":25,"tag":578,"props":642,"children":643},{},[644,649,654],{"type":25,"tag":605,"props":645,"children":646},{},[647],{"type":38,"value":648},"D2",{"type":25,"tag":605,"props":650,"children":651},{},[652],{"type":38,"value":653},"Kinds of window",{"type":25,"tag":605,"props":655,"children":656},{},[657,662],{"type":25,"tag":34,"props":658,"children":659},{},[660],{"type":38,"value":661},"Rolling (7, 30, 90 days), calendar (this or last month, this or last quarter, year to date) and custom from–to.",{"type":38,"value":663}," Auditors ask \"for Q3\", which a rolling window can't answer.",{"type":25,"tag":578,"props":665,"children":666},{},[667,672,677],{"type":25,"tag":605,"props":668,"children":669},{},[670],{"type":38,"value":671},"D3",{"type":25,"tag":605,"props":673,"children":674},{},[675],{"type":38,"value":676},"Default window",{"type":25,"tag":605,"props":678,"children":679},{},[680,685],{"type":25,"tag":34,"props":681,"children":682},{},[683],{"type":38,"value":684},"Last 30 days",{"type":38,"value":686}," compared with the previous 30. The global pill defaults to 7d, which is an operator rhythm; reports run monthly and quarterly.",{"type":25,"tag":578,"props":688,"children":689},{},[690,695,700],{"type":25,"tag":605,"props":691,"children":692},{},[693],{"type":38,"value":694},"D4",{"type":25,"tag":605,"props":696,"children":697},{},[698],{"type":38,"value":699},"Compare",{"type":25,"tag":605,"props":701,"children":702},{},[703,708],{"type":25,"tag":34,"props":704,"children":705},{},[706],{"type":38,"value":707},"Previous period",{"type":38,"value":709}," by default. Same period last year is shown disabled until there's a year of history.",{"type":25,"tag":578,"props":711,"children":712},{},[713,718,731],{"type":25,"tag":605,"props":714,"children":715},{},[716],{"type":38,"value":717},"D5",{"type":25,"tag":605,"props":719,"children":720},{},[721,723,729],{"type":38,"value":722},"Window vs the global ",{"type":25,"tag":48,"props":724,"children":726},{"className":725},[],[727],{"type":38,"value":728},"when:",{"type":38,"value":730}," pill",{"type":25,"tag":605,"props":732,"children":733},{},[734,740,742,747],{"type":25,"tag":735,"props":736,"children":737},"del",{},[738],{"type":38,"value":739},"Separate",{"type":38,"value":741}," → ",{"type":25,"tag":34,"props":743,"children":744},{},[745],{"type":38,"value":746},"Shared",{"type":38,"value":748}," (Mark). Reports read and write the same global window as the operator pages, so moving between a report and the page behind a section keeps one window.",{"type":25,"tag":578,"props":750,"children":751},{},[752,757,762],{"type":25,"tag":605,"props":753,"children":754},{},[755],{"type":38,"value":756},"D6",{"type":25,"tag":605,"props":758,"children":759},{},[760],{"type":38,"value":761},"Scope filter",{"type":25,"tag":605,"props":763,"children":764},{},[765,770],{"type":25,"tag":34,"props":766,"children":767},{},[768],{"type":38,"value":769},"All of the org",{"type":38,"value":771},", with an optional Team scope. Other filters (harness, provider) stay on the operator pages.",{"type":25,"tag":578,"props":773,"children":774},{},[775,780,785],{"type":25,"tag":605,"props":776,"children":777},{},[778],{"type":38,"value":779},"D7",{"type":25,"tag":605,"props":781,"children":782},{},[783],{"type":38,"value":784},"Export in this cycle",{"type":25,"tag":605,"props":786,"children":787},{},[788,793],{"type":25,"tag":34,"props":789,"children":790},{},[791],{"type":38,"value":792},"Print \u002F PDF via a print stylesheet, plus CSV per table and JSON per report.",{"type":38,"value":794}," Scheduled delivery and retained snapshots are recorded as follow-ons (c78's snapshot shelf).",{"type":25,"tag":578,"props":796,"children":797},{},[798,803,808],{"type":25,"tag":605,"props":799,"children":800},{},[801],{"type":38,"value":802},"D8",{"type":25,"tag":605,"props":804,"children":805},{},[806],{"type":38,"value":807},"c78",{"type":25,"tag":605,"props":809,"children":810},{},[811,816],{"type":25,"tag":34,"props":812,"children":813},{},[814],{"type":38,"value":815},"c78 closes into c128",{"type":38,"value":817},", as c66 did into c105. Its chassis, fixtures and open threads (card treatment, snapshot diff, layer extraction) carry over. Its Compliance, SLA and Board reports stay as reference, and Compliance stays with c123.",{"type":25,"tag":578,"props":819,"children":820},{},[821,826,831],{"type":25,"tag":605,"props":822,"children":823},{},[824],{"type":38,"value":825},"D9",{"type":25,"tag":605,"props":827,"children":828},{},[829],{"type":38,"value":830},"The window component",{"type":25,"tag":605,"props":832,"children":833},{},[834,839,841,847,849,854],{"type":25,"tag":34,"props":835,"children":836},{},[837],{"type":38,"value":838},"Built design-local, then extracted to the layer",{"type":38,"value":840}," as one picker (working name ",{"type":25,"tag":48,"props":842,"children":844},{"className":843},[],[845],{"type":38,"value":846},"UxTimeWindow",{"type":38,"value":848},") once the mock is ruled. The demo covers rolling, calendar, custom, compare, out-of-range and empty states. Because of D5, this picker becomes the panel behind the global ",{"type":25,"tag":48,"props":850,"children":852},{"className":851},[],[853],{"type":38,"value":728},{"type":38,"value":855}," pill (see below).",{"type":25,"tag":578,"props":857,"children":858},{},[859,864,869],{"type":25,"tag":605,"props":860,"children":861},{},[862],{"type":38,"value":863},"D10",{"type":25,"tag":605,"props":865,"children":866},{},[867],{"type":38,"value":868},"Timezone",{"type":25,"tag":605,"props":870,"children":871},{},[872,877,879,884],{"type":25,"tag":34,"props":873,"children":874},{},[875],{"type":38,"value":876},"The org's timezone",{"type":38,"value":878},", shown once in the window line. The seed backend's windows are UTC from ",{"type":25,"tag":48,"props":880,"children":882},{"className":881},[],[883],{"type":38,"value":529},{"type":38,"value":885},"; ask Tyler.",{"type":25,"tag":887,"props":888,"children":890},"h3",{"id":889},"d5-ruling-one-shared-window",[891],{"type":38,"value":892},"D5 ruling: one shared window",{"type":25,"tag":30,"props":894,"children":895},{},[896],{"type":38,"value":897},"The window is now the product's single time control, not just the reports'. The consequences are below; Phase 1 and Phase 6 grow to cover them.",{"type":25,"tag":72,"props":899,"children":900},{},[901,988,1022,1048,1058,1075],{"type":25,"tag":76,"props":902,"children":903},{},[904,916],{"type":25,"tag":34,"props":905,"children":906},{},[907,909,914],{"type":38,"value":908},"The picker is the ",{"type":25,"tag":48,"props":910,"children":912},{"className":911},[],[913],{"type":38,"value":728},{"type":38,"value":915}," pill's panel.",{"type":25,"tag":72,"props":917,"children":918},{},[919,956],{"type":25,"tag":76,"props":920,"children":921},{},[922,924,930,932,938,940,946,948,954],{"type":38,"value":923},"The layer's ",{"type":25,"tag":48,"props":925,"children":927},{"className":926},[],[928],{"type":38,"value":929},"Filter",{"type":38,"value":931}," timeframe pill (",{"type":25,"tag":48,"props":933,"children":935},{"className":934},[],[936],{"type":38,"value":937},"timeframeOptions",{"type":38,"value":939},") and qdash's ",{"type":25,"tag":48,"props":941,"children":943},{"className":942},[],[944],{"type":38,"value":945},"useGlobalFilter",{"type":38,"value":947}," \u002F ",{"type":25,"tag":48,"props":949,"children":951},{"className":950},[],[952],{"type":38,"value":953},"PERIOD_OPTIONS",{"type":38,"value":955}," learn calendar and custom windows, plus compare.",{"type":25,"tag":76,"props":957,"children":958},{},[959,965,967,973,974,980,981,987],{"type":25,"tag":48,"props":960,"children":962},{"className":961},[],[963],{"type":38,"value":964},"?period=",{"type":38,"value":966}," grows into a window encoding that every page reads, e.g. ",{"type":25,"tag":48,"props":968,"children":970},{"className":969},[],[971],{"type":38,"value":972},"?period=last-quarter",{"type":38,"value":137},{"type":25,"tag":48,"props":975,"children":977},{"className":976},[],[978],{"type":38,"value":979},"?from=…&to=…",{"type":38,"value":137},{"type":25,"tag":48,"props":982,"children":984},{"className":983},[],[985],{"type":38,"value":986},"&compare=previous",{"type":38,"value":152},{"type":25,"tag":76,"props":989,"children":990},{},[991,996,998,1004,1006,1012,1014,1020],{"type":25,"tag":34,"props":992,"children":993},{},[994],{"type":38,"value":995},"Every operator page must take any window.",{"type":38,"value":997}," The pages that ignore the window today (posture, compliance, policies, alerts, identity, all details except users and teams) must follow it or say they don't (R2). The backend's ",{"type":25,"tag":48,"props":999,"children":1001},{"className":1000},[],[1002],{"type":38,"value":1003},"period_span",{"type":38,"value":1005}," needs ",{"type":25,"tag":48,"props":1007,"children":1009},{"className":1008},[],[1010],{"type":38,"value":1011},"from",{"type":38,"value":1013},"\u002F",{"type":25,"tag":48,"props":1015,"children":1017},{"className":1016},[],[1018],{"type":38,"value":1019},"to",{"type":38,"value":1021}," for every page, not only reports. This closes data-inventory gap 5 instead of working around it.",{"type":25,"tag":76,"props":1023,"children":1024},{},[1025,1030,1032,1038,1040,1046],{"type":25,"tag":34,"props":1026,"children":1027},{},[1028],{"type":38,"value":1029},"Compare spreads too.",{"type":38,"value":1031}," A delta on an operator page reads against the same compare basis, so ",{"type":25,"tag":48,"props":1033,"children":1035},{"className":1034},[],[1036],{"type":38,"value":1037},"DataMachine",{"type":38,"value":1039},"'s bare ",{"type":25,"tag":48,"props":1041,"children":1043},{"className":1042},[],[1044],{"type":38,"value":1045},"delta",{"type":38,"value":1047}," needs its basis said once, on the window line, not on each card.",{"type":25,"tag":76,"props":1049,"children":1050},{},[1051,1056],{"type":25,"tag":34,"props":1052,"children":1053},{},[1054],{"type":38,"value":1055},"The pill stays compact.",{"type":38,"value":1057}," On operator pages the pill shows its label (\"Last 30 days\"). On a report the same window shows in full in the header (\"Oct 4 – Nov 2, 2026 · compared with Sep 4 – Oct 3\").",{"type":25,"tag":76,"props":1059,"children":1060},{},[1061,1066,1068,1073],{"type":25,"tag":34,"props":1062,"children":1063},{},[1064],{"type":38,"value":1065},"The c113 bake.",{"type":38,"value":1067}," A shared window multiplies the demo crawl, so the baked demo offers named windows only (see ",{"type":25,"tag":415,"props":1069,"children":1070},{},[1071],{"type":38,"value":1072},"Patterns",{"type":38,"value":1074},").",{"type":25,"tag":76,"props":1076,"children":1077},{},[1078,1083,1085,1091,1093,1099,1101,1107],{"type":25,"tag":34,"props":1079,"children":1080},{},[1081],{"type":38,"value":1082},"The default: 30 days everywhere",{"type":38,"value":1084}," (Mark, 2026-11-03). The last 30 days, compared with the previous 30, is the default for reports and operator pages alike. In qdash, ",{"type":25,"tag":48,"props":1086,"children":1088},{"className":1087},[],[1089],{"type":38,"value":1090},"DEFAULT_PERIOD",{"type":38,"value":1092}," moves from ",{"type":25,"tag":48,"props":1094,"children":1096},{"className":1095},[],[1097],{"type":38,"value":1098},"7d",{"type":38,"value":1100}," to ",{"type":25,"tag":48,"props":1102,"children":1104},{"className":1103},[],[1105],{"type":38,"value":1106},"30d",{"type":38,"value":1108}," at the port (Phase 6). The default stays out of the URL, so links that carry no period open on 30 days. Operator pages that show 7d counts today will show larger numbers by default after the port.",{"type":25,"tag":170,"props":1110,"children":1112},{"id":1111},"clarifying-questions-marks-answers-2026-11-03",[1113],{"type":38,"value":17},{"type":25,"tag":1115,"props":1116,"children":1117},"ol",{},[1118,1135,1152,1168],{"type":25,"tag":76,"props":1119,"children":1120},{},[1121,1126,1128,1133],{"type":25,"tag":34,"props":1122,"children":1123},{},[1124],{"type":38,"value":1125},"Who opens Reports?",{"type":38,"value":1127}," \"Non-operator\" is not a role. It's a word for C-level people and others who should see the data but shouldn't have access to the controls, which can do damage. So there's no role or permission design in this cycle, and R4 is stricter: ",{"type":25,"tag":34,"props":1129,"children":1130},{},[1131],{"type":38,"value":1132},"a report holds no controls, and it makes sense on its own.",{"type":38,"value":1134}," Section links to operator pages are a convenience. A reader who can't open those pages loses nothing they need.",{"type":25,"tag":76,"props":1136,"children":1137},{},[1138,1143,1145,1150],{"type":25,"tag":34,"props":1139,"children":1140},{},[1141],{"type":38,"value":1142},"Two categories or three reports?",{"type":38,"value":1144}," Findings\u002FSLA is ",{"type":25,"tag":34,"props":1146,"children":1147},{},[1148],{"type":38,"value":1149},"a section of Posture",{"type":38,"value":1151},", not its own report.",{"type":25,"tag":76,"props":1153,"children":1154},{},[1155,1160,1162,1166],{"type":25,"tag":34,"props":1156,"children":1157},{},[1158],{"type":38,"value":1159},"c78's Board report?",{"type":38,"value":1161}," \"Possibly, we could fold it in.\" The answer to \"anything useful there?\" is in ",{"type":25,"tag":415,"props":1163,"children":1164},{},[1165],{"type":38,"value":18},{"type":38,"value":1167}," below.",{"type":25,"tag":76,"props":1169,"children":1170},{},[1171,1176,1178,1183],{"type":25,"tag":34,"props":1172,"children":1173},{},[1174],{"type":38,"value":1175},"How far back?",{"type":38,"value":1177}," ",{"type":25,"tag":34,"props":1179,"children":1180},{},[1181],{"type":38,"value":1182},"3–12 months",{"type":38,"value":1184},", once the backend is connected. The mock's history runs for 12 months, so the picker and the reports are designed for the full range. The 90-day limit is a qdash-port problem, handled by hatching days without data (R6), not a design limit.",{"type":25,"tag":170,"props":1186,"children":1188},{"id":1187},"board-report-what-folds-in",[1189],{"type":38,"value":18},{"type":25,"tag":30,"props":1191,"children":1192},{},[1193,1195,1201,1202,1208],{"type":38,"value":1194},"c78's Board report (",{"type":25,"tag":48,"props":1196,"children":1198},{"className":1197},[],[1199],{"type":38,"value":1200},"\u002Fpages\u002Freport-board-v1",{"type":38,"value":137},{"type":25,"tag":48,"props":1203,"children":1205},{"className":1204},[],[1206],{"type":38,"value":1207},"deriveBoardReport()",{"type":38,"value":1209},") has three ideas worth keeping and one to drop.",{"type":25,"tag":72,"props":1211,"children":1212},{},[1213,1230,1270,1286,1296],{"type":25,"tag":76,"props":1214,"children":1215},{},[1216,1221,1223,1228],{"type":25,"tag":34,"props":1217,"children":1218},{},[1219],{"type":38,"value":1220},"Keep: one sentence for the period.",{"type":38,"value":1222}," The page leads with a headline built from the data, e.g. ",{"type":25,"tag":415,"props":1224,"children":1225},{},[1226],{"type":38,"value":1227},"\"3 open high findings · 87% of the agent estate monitored\"",{"type":38,"value":1229},". Each report gets one at its top, for the C-level reader who reads only that line.",{"type":25,"tag":76,"props":1231,"children":1232},{},[1233,1238,1240,1245,1247,1252],{"type":25,"tag":34,"props":1234,"children":1235},{},[1236],{"type":38,"value":1237},"Keep: highlights, one per report, each linking into it.",{"type":38,"value":1239}," The Board report is a summary of the other reports. That is what the ",{"type":25,"tag":48,"props":1241,"children":1243},{"className":1242},[],[1244],{"type":38,"value":638},{"type":38,"value":1246}," catalog already is. ",{"type":25,"tag":34,"props":1248,"children":1249},{},[1250],{"type":38,"value":1251},"The Board folds in as the catalog's top band:",{"type":25,"tag":72,"props":1253,"children":1254},{},[1255,1260,1265],{"type":25,"tag":76,"props":1256,"children":1257},{},[1258],{"type":38,"value":1259},"the sentence for the window across all three reports",{"type":25,"tag":76,"props":1261,"children":1262},{},[1263],{"type":38,"value":1264},"three highlights (posture, coverage, new in inventory)",{"type":25,"tag":76,"props":1266,"children":1267},{},[1268],{"type":38,"value":1269},"all of it reading the catalog's window",{"type":25,"tag":76,"props":1271,"children":1272},{},[1273,1278,1279,1284],{"type":25,"tag":34,"props":1274,"children":1275},{},[1276],{"type":38,"value":1277},"Keep: the trend in words.",{"type":38,"value":1177},{"type":25,"tag":415,"props":1280,"children":1281},{},[1282],{"type":38,"value":1283},"\"Improving, 84 → 90 (May to Aug).\"",{"type":38,"value":1285}," That line is accessible, and it prints well.",{"type":25,"tag":76,"props":1287,"children":1288},{},[1289,1294],{"type":25,"tag":34,"props":1290,"children":1291},{},[1292],{"type":38,"value":1293},"Keep: the document face.",{"type":38,"value":1295}," It is a white sheet of paper in both themes, and it's the starting point for the print\u002FPDF design in Phase 4.",{"type":25,"tag":76,"props":1297,"children":1298},{},[1299,1304],{"type":25,"tag":34,"props":1300,"children":1301},{},[1302],{"type":38,"value":1303},"Drop: the composite score.",{"type":38,"value":1305}," It's the mean of compliance %, SLA % and coverage %, three different units averaged into a number that means nothing. It also breaks c123's rule of counts by state, no %.",{"type":25,"tag":170,"props":1307,"children":1309},{"id":1308},"patterns-you-may-not-be-considering",[1310],{"type":38,"value":19},{"type":25,"tag":72,"props":1312,"children":1313},{},[1314,1324,1334,1344,1354,1371,1388,1412],{"type":25,"tag":76,"props":1315,"children":1316},{},[1317,1322],{"type":25,"tag":34,"props":1318,"children":1319},{},[1320],{"type":38,"value":1321},"Period-closed reports.",{"type":38,"value":1323}," A calendar period that has ended (October, Q3) can be generated once and kept. That gives the auditor a fixed artifact instead of a live query whose numbers drift as late data arrives. It is c78's snapshot shelf, keyed by period.",{"type":25,"tag":76,"props":1325,"children":1326},{},[1327,1332],{"type":25,"tag":34,"props":1328,"children":1329},{},[1330],{"type":38,"value":1331},"Named periods bake; custom ranges don't.",{"type":38,"value":1333}," The c113 demo is a crawl of every URL the UI can request. Rolling and calendar windows form a finite set and can be baked; custom from–to can't. So the demo offers custom only where the backend is live, or snaps it to days already baked.",{"type":25,"tag":76,"props":1335,"children":1336},{},[1337,1342],{"type":25,"tag":34,"props":1338,"children":1339},{},[1340],{"type":38,"value":1341},"The landing page summarises the reports",{"type":38,"value":1343}," (Tyler's c78 idea). The Reports catalog cards are c78's mini-docs. Later, the same cards can sit on Home.",{"type":25,"tag":76,"props":1345,"children":1346},{},[1347,1352],{"type":25,"tag":34,"props":1348,"children":1349},{},[1350],{"type":38,"value":1351},"The window as a cursor, not a filter",{"type":38,"value":1353}," (c78 ruling). Moving the window slides the whole document along, and the verdict reads start → end.",{"type":25,"tag":76,"props":1355,"children":1356},{},[1357,1362,1363,1369],{"type":25,"tag":34,"props":1358,"children":1359},{},[1360],{"type":38,"value":1361},"Coverage history already exists and goes unused.",{"type":38,"value":1177},{"type":25,"tag":48,"props":1364,"children":1366},{"className":1365},[],[1367],{"type":38,"value":1368},"\u002Fapi\u002Ftrends.coverage",{"type":38,"value":1370}," is a 90-day daily series; only Campaigns reads it. It's the backbone of Deployment status for free.",{"type":25,"tag":76,"props":1372,"children":1373},{},[1374,1379,1380,1386],{"type":25,"tag":34,"props":1375,"children":1376},{},[1377],{"type":38,"value":1378},"\"New in window\" is the inventory's most useful line.",{"type":38,"value":1177},{"type":25,"tag":48,"props":1381,"children":1383},{"className":1382},[],[1384],{"type":38,"value":1385},"first_seen",{"type":38,"value":1387}," is everywhere, so \"9 harnesses, 3 MCP servers and 1 personal account appeared this month\" costs nothing.",{"type":25,"tag":76,"props":1389,"children":1390},{},[1391,1396,1397,1402,1404,1410],{"type":25,"tag":34,"props":1392,"children":1393},{},[1394],{"type":38,"value":1395},"Auditor packet = report + evidence.",{"type":38,"value":1177},{"type":25,"tag":34,"props":1398,"children":1399},{},[1400],{"type":38,"value":1401},"Ruled (Mark, 2026-11-03): downloads and reports are handled in Reports.",{"type":38,"value":1403}," The findings JSON\u002FCSV, the server-side evidence pack and c123's merged export (X4) all land in Phase 4. The Compliance page's \"Forensic why-trail & evidence export\" panel is already gone from both the lab and qdash ",{"type":25,"tag":48,"props":1405,"children":1407},{"className":1406},[],[1408],{"type":38,"value":1409},"\u002Fcompliance",{"type":38,"value":1411},". The Policies evidence packet (c126 C5) comes out at the port.",{"type":25,"tag":76,"props":1413,"children":1414},{},[1415,1420],{"type":25,"tag":34,"props":1416,"children":1417},{},[1418],{"type":38,"value":1419},"Report links as share artifacts.",{"type":38,"value":1421}," A copy-link button that captures the window (R5) does a lot of the work of scheduled delivery before scheduling exists.",{"type":25,"tag":170,"props":1423,"children":1425},{"id":1424},"phases",[1426],{"type":38,"value":20},{"type":25,"tag":1115,"props":1428,"children":1430},{"start":1429},0,[1431,1462,1502,1569,1584,1617,1647,1703],{"type":25,"tag":76,"props":1432,"children":1433},{},[1434,1439],{"type":25,"tag":34,"props":1435,"children":1436},{},[1437],{"type":38,"value":1438},"Spec.",{"type":25,"tag":72,"props":1440,"children":1441},{},[1442,1452,1457],{"type":25,"tag":76,"props":1443,"children":1444},{},[1445,1450],{"type":25,"tag":48,"props":1446,"children":1448},{"className":1447},[],[1449],{"type":38,"value":167},{"type":38,"value":1451}," (done).",{"type":25,"tag":76,"props":1453,"children":1454},{},[1455],{"type":38,"value":1456},"Mark rules on D1–D10 and the four questions.",{"type":25,"tag":76,"props":1458,"children":1459},{},[1460],{"type":38,"value":1461},"For each report, a section list with its source, time basis and staged\u002Flive status. This is the contract Phase 3 builds against.",{"type":25,"tag":76,"props":1463,"children":1464},{},[1465,1470,1471,1484],{"type":25,"tag":34,"props":1466,"children":1467},{},[1468],{"type":38,"value":1469},"Window component.",{"type":38,"value":1177},{"type":25,"tag":415,"props":1472,"children":1473},{},[1474,1476,1482],{"type":38,"value":1475},"Built 2026-11-03: ",{"type":25,"tag":48,"props":1477,"children":1479},{"className":1478},[],[1480],{"type":38,"value":1481},"\u002Fpages\u002Fphase4\u002Ftime-window",{"type":38,"value":1483},". See CYCLE.md.",{"type":25,"tag":72,"props":1485,"children":1486},{},[1487,1492,1497],{"type":25,"tag":76,"props":1488,"children":1489},{},[1490],{"type":38,"value":1491},"A design-local picker with rolling, calendar and custom presets, compare, data-range hatching and URL sync.",{"type":25,"tag":76,"props":1493,"children":1494},{},[1495],{"type":38,"value":1496},"A full demo page with the empty, minimal, typical, overflow and error scenarios: no history, a window past the data, a custom range across a year boundary, phone width.",{"type":25,"tag":76,"props":1498,"children":1499},{},[1500],{"type":38,"value":1501},"Through Illustrator if Mark wants a hand pass.",{"type":25,"tag":76,"props":1503,"children":1504},{},[1505,1510,1511,1529],{"type":25,"tag":34,"props":1506,"children":1507},{},[1508],{"type":38,"value":1509},"Chassis and catalog.",{"type":38,"value":1177},{"type":25,"tag":415,"props":1512,"children":1513},{},[1514,1515,1520,1522,1528],{"type":38,"value":1475},{"type":25,"tag":48,"props":1516,"children":1518},{"className":1517},[],[1519],{"type":38,"value":630},{"type":38,"value":1521}," and ",{"type":25,"tag":48,"props":1523,"children":1525},{"className":1524},[],[1526],{"type":38,"value":1527},"\u002Freports\u002F\u003Ckind>",{"type":38,"value":1483},{"type":25,"tag":72,"props":1530,"children":1531},{},[1532,1545,1557],{"type":25,"tag":76,"props":1533,"children":1534},{},[1535,1537,1543],{"type":38,"value":1536},"Rework c78's ",{"type":25,"tag":48,"props":1538,"children":1540},{"className":1539},[],[1541],{"type":38,"value":1542},"Report*",{"type":38,"value":1544}," header, verdict and export bar around the new window and the R2 basis tags.",{"type":25,"tag":76,"props":1546,"children":1547},{},[1548,1550,1555],{"type":38,"value":1549},"Build the ",{"type":25,"tag":48,"props":1551,"children":1553},{"className":1552},[],[1554],{"type":38,"value":638},{"type":38,"value":1556}," catalog with the two categories and three cards.",{"type":25,"tag":76,"props":1558,"children":1559},{},[1560,1562,1567],{"type":38,"value":1561},"Extend the lab world with daily history (posture, coverage, findings, spend) and ",{"type":25,"tag":48,"props":1563,"children":1565},{"className":1564},[],[1566],{"type":38,"value":1385},{"type":38,"value":1568}," dates.",{"type":25,"tag":76,"props":1570,"children":1571},{},[1572,1576,1577,1582],{"type":25,"tag":34,"props":1573,"children":1574},{},[1575],{"type":38,"value":14},{"type":38,"value":1177},{"type":25,"tag":415,"props":1578,"children":1579},{},[1580],{"type":38,"value":1581},"(Posture drawn 2026-11-03; Deployment status and Inventory next)",{"type":38,"value":1583},", reviewed one at a time with a preview, then the build, then Mark's review (the \u002Ftodos rhythm): Posture first, then Deployment status, then Inventory.",{"type":25,"tag":76,"props":1585,"children":1586},{},[1587,1592],{"type":25,"tag":34,"props":1588,"children":1589},{},[1590],{"type":38,"value":1591},"Export.",{"type":25,"tag":72,"props":1593,"children":1594},{},[1595,1600,1612],{"type":25,"tag":76,"props":1596,"children":1597},{},[1598],{"type":38,"value":1599},"A print stylesheet (white paper in both themes, as with c78's document face).",{"type":25,"tag":76,"props":1601,"children":1602},{},[1603,1605,1611],{"type":38,"value":1604},"CSV per table and JSON per report with a versioned schema (",{"type":25,"tag":48,"props":1606,"children":1608},{"className":1607},[],[1609],{"type":38,"value":1610},"qdash.report.\u003Ckind>.v1",{"type":38,"value":1074},{"type":25,"tag":76,"props":1613,"children":1614},{},[1615],{"type":38,"value":1616},"Check with c123 about folding in the evidence export.",{"type":25,"tag":76,"props":1618,"children":1619},{},[1620,1625],{"type":25,"tag":34,"props":1621,"children":1622},{},[1623],{"type":38,"value":1624},"Layer.",{"type":25,"tag":72,"props":1626,"children":1627},{},[1628],{"type":25,"tag":76,"props":1629,"children":1630},{},[1631,1633,1639,1640,1646],{"type":38,"value":1632},"Extract the window picker, plus the basis tag and report header if they're stable, then ",{"type":25,"tag":48,"props":1634,"children":1636},{"className":1635},[],[1637],{"type":38,"value":1638},"\u002Fdocument-components",{"type":38,"value":1521},{"type":25,"tag":48,"props":1641,"children":1643},{"className":1642},[],[1644],{"type":38,"value":1645},"\u002Frelease-layer",{"type":38,"value":152},{"type":25,"tag":76,"props":1648,"children":1649},{},[1650,1655],{"type":25,"tag":34,"props":1651,"children":1652},{},[1653],{"type":38,"value":1654},"Backend asks + qdash port.",{"type":25,"tag":72,"props":1656,"children":1657},{},[1658,1676],{"type":25,"tag":76,"props":1659,"children":1660},{},[1661,1663,1668,1669,1674],{"type":38,"value":1662},"Take the data-inventory gaps to Tyler: ",{"type":25,"tag":48,"props":1664,"children":1666},{"className":1665},[],[1667],{"type":38,"value":1011},{"type":38,"value":1013},{"type":25,"tag":48,"props":1670,"children":1672},{"className":1671},[],[1673],{"type":38,"value":1019},{"type":38,"value":1675},", history beyond 90 days, snapshots, sensor version and health.",{"type":25,"tag":76,"props":1677,"children":1678},{},[1679,1681,1686,1688,1694,1696,1702],{"type":38,"value":1680},"Port to qdash ",{"type":25,"tag":48,"props":1682,"children":1684},{"className":1683},[],[1685],{"type":38,"value":638},{"type":38,"value":1687}," on ",{"type":25,"tag":48,"props":1689,"children":1691},{"className":1690},[],[1692],{"type":38,"value":1693},"feat\u002Fnew-pages",{"type":38,"value":1695},". Sections whose backend isn't ready are marked staged through ",{"type":25,"tag":48,"props":1697,"children":1699},{"className":1698},[],[1700],{"type":38,"value":1701},"lib\u002Fprojected\u002F*",{"type":38,"value":152},{"type":25,"tag":76,"props":1704,"children":1705},{},[1706,1711],{"type":25,"tag":34,"props":1707,"children":1708},{},[1709],{"type":38,"value":1710},"Close.",{"type":25,"tag":72,"props":1712,"children":1713},{},[1714,1725],{"type":25,"tag":76,"props":1715,"children":1716},{},[1717,1723],{"type":25,"tag":48,"props":1718,"children":1720},{"className":1719},[],[1721],{"type":38,"value":1722},"\u002Fdocument-cycle",{"type":38,"value":1724},": captures, story, history.",{"type":25,"tag":76,"props":1726,"children":1727},{},[1728],{"type":38,"value":1729},"Close c78 with it if D8 holds.",1794599380969]