intents-pr5-review.md
Thread `intents-pr5`: the review list (2026-11-05)
Mark asked to review everything at the end, so the calls that would have waited on him were made with a default and collected here. Rulings are in intents-pr5-plan.md.
Everything is in the lab. It's committed locally on main, not pushed, and not deployed. qdash is untouched.
Where to look
| Page | Route |
|---|---|
| Compliance listing | /pages/phase4/mock/compliance |
| Framework detail, tracked | /pages/phase4/mock/compliance/detail?frameworkId=owasp-llm |
| Framework detail, untracked | /pages/phase4/mock/compliance/detail?frameworkId=nist-ai-rmf |
| Policies | /pages/phase4/mock/policies |
| Reports | /pages/phase4/mock/reports, then /inventory, /findings, /compliance, /executive |
| The same, with a pilot running | add ?stage=adoption |
Settled in the first pass (2026-11-05)
- Over time shows the score line above the modes.
- Reports read the lab's own findings: 7 open of 22, the same as the pages.
- Data protection and Egress are in the Findings report. Spend, shadow installs, versions and the fleet posture score stay out.
- Compliance Score is option A, and B–F are gone.
- The 100% example is untracked: press Track on Compliance to see it.
- A framework's bar goes red only when all of it is Off.
- The numbers read published state, not the draft.
- Policy pills read Off (layer, not yet released).
- The band's findings box counts the same as Compliance Score.
- Enforce-pilot thresholds stay placeholders: at most 2 observed violations, at least 200 monitored sessions, at least 90% coverage. Worth asking Peterson.
Calls made, to confirm or change
Enforcement Posture
- Over time shows all available history, not the shared window (c128 D5). At the 30-day default the line is usually flat. The Compliance report shows both.
Compliance Score
- Its base is seeded. It needs a real count of checks before any qdash port.
Reports
- Download PDF is the browser's print, with the lab's chrome hidden. No generating queue or history list.
- The window keeps calendar presets and compare. PR 6 lists 7, 30, 90 days and custom. Reports share the operator pages' picker (c128 D5).
- The Team filter is partly seeded. Findings use their real team. Endpoints, sessions, data protection and egress split by fixed shares. Coverage over time stays organization-wide, and says so.
- Reports are thin before September: the lab's findings begin Sep 20, and a longer window says so. Inventory, Data protection and Egress still run the full year.
- Old links still work:
/reports/postureshows Findings, and/reports/deploymentshows Inventory. - The Board band is gone from the catalog, replaced by the Executive Summary.
Data the lab invented, and says so
- SOC 2's mappings: 11 criteria, 10 mapped, from our dossier. Nobody has reviewed them, and PR 5 leaves the scope open.
- Rows left out as barely relevant: LLM04, LLM08, ASI06 and ASI09, from notes reading "Mostly out of scope". It's a judgment, so it should have an owner.
- History: policy modes before October, and mapping revisions, including the one that moves OWASP LLM from 22 to 25 mappings on Jun 1.
Policies
- Still on the page, for c126: the "Control Center" title, Custom controls, and the Evidence packet (c128 says it comes out at the port). "Observe all" stays, because it goes through the draft.
To raise with Peterson
Nothing has been sent. Both intents are merged, so these are differences to reconcile, by updating the intents or the lab.
| Topic | The intents | The lab |
|---|---|---|
| The measure | Off / Observe / Enforce counts over every mapped policy | One % of work toward ideal, with counts beside it |
| Observe-only policies | Count like any other, so they cap the ratio | At ideal when observing |
| Barely relevant controls | Counted if mapped | Listed, not counted |
| Terms | Source terms preserved: risks, outcomes, criteria | Controls everywhere |
| Compliance score | Out of scope (PR 5); the report "isn't a compliance score" (PR 6) | Compliance Score kept on framework pages, seeded, and out of Reports |
| Report contents | Four reports, as specified | Data protection and Egress added to Findings |
| Disclosure | Unsupported requirements disclosed; other evidence described | Controls with no policy counted in an explainer, not listed; no evidence section |
| Staging | Links to policies | Also a separate button to stage Off policies at Observe |
| Report form | On-demand PDFs; live browser reports out of scope | Living pages, with a PDF as a snapshot |
| Catalog | Three frameworks proposed | Five listed |
Also: PR 6 still says "enabled framework" and "disabled periods"; PR 5 keeps "framework toggles"; the app is "Qplane" in PR 6, and nowhere on the design side; and the older framework intents are still on main beside the new ones.
Known issues, left alone
- Dark mode:
PolicyTagnames can't be read, because the ink flips while the pill stays light. It's in the layer, and c123 already listed it. - Hydration warning: the layer's
DataDonutChartrounds one arc's last digit differently on server and client. Harmless. - Sticky header: while scrolling framework detail, the pinned title overlaps the table's header row. Not checked against the earlier version.
- Narrow widths: the lab's rail doesn't collapse, so pages scroll sideways below about 900px, and Compliance's Kind column shrinks to its icon.
- Records behind: c128's
data-inventory.mdstill maps the three old reports. Itsplan.mdcarries a note at the top rather than a rewrite.
How it was checked
| Check | Result |
|---|---|
scripts/c123-track-walk.mjs: tracking, listing, detail, Policies, Reports in a browser | 130 passed |
scripts/c123-metrics-check.mts: Enforcement Posture, Exceptions, history, Score | 47 passed |
scripts/tours-walk.mjs: all five tours | 455 passed |
scripts/c128-time-window-check.mts | 9 passed |
| Adoption stage on every changed page | No errors, read by eye |
| Dark mode at 1400px, light at 800px | Looked at; issues above |
Captures: c123-after-* and c128-after-* in public/cycles/design/, from scripts/shot-programs/intents-pr5-after.json.