Remediation Training
Next: The next topic trainings from the guide's list (D50, D53): Finding and Severity, Sanctioned, Exception and Scope, Endpoint and Harness, then the operator terms, each through the /training skill's topic section; c134 and c131 take handoff.md (the training page, the record, the library, topics and the operator's send); Tyler to validate D22–D27 with training.completed.self and D55; Peterson on personnel data and the self-report.
When a laptop blocks something risky, the person sees a block and no explanation.
A finding becomes a short lesson, sent as a message to the small app and recorded as proof. The shape is drawn, the model is data, and the first lesson, about an unapproved MCP server on one real finding, can be taken end to end in the lab. The trainings are now files the design site publishes, and all three pilots (unapproved MCP servers, personal accounts, secrets in prompts) run end to end from real findings. The hand-off to the web app and the native app is written, and a library lets a person take any of them on their own; the brief is still in flight.
Summary of work
problem → resolution, with what was tried on the way- A block on a laptop explains nothing→→ A three-minute lesson on that finding, a check, a record
- A new hazard would need a new screen→→ A lesson is data; one page shows any of them
- Where completion lives, and who sees the name→→ One audit event; the name on the finding and in the audit log, counts in Reports
- Writing a lesson took a developer→→ One markdown file per language, one parser for the lab and the API, a preview pageTried: files under content/: the lab missed an edit until a restart
- New art for every lesson→→ Scenes drawn as components from the pawns and the sketch kitTried: every scene inside Scene.vue
- A miss would mean starting over→→ The retake keeps what was right and names the step to reread
- One pilot proves little→→ Three pilots: MCP servers, personal accounts, secrets in prompts
- Corrections read 0 for a record written at the cutoff→→ The window runs to the cutoffTried: the window ended on the reports' last day of data
- No way to take a lesson before a finding→→ A library: any training on your own, recorded under your name
- The builders need one place to start→→ One hand-off for the web app and the native app
- A lesson taken on its own lost the steps about a finding→→ Each file's own words for the library; every step readsTried: dropping what needs a finding (2 of 4 steps for secrets)
- A lesson taken on its own had nowhere to show→→ A line on the person's finding; it answers none
- Learning ahead of a finding went uncounted→→ A count in the Compliance report, read as a strength
- Some ideas confuse people with no finding behind them→→ A training on a topic: Observe and Enforce, in the library
- No page showed the illustrations together→→ A gallery, each scene drawn on a real finding
- One scene overflowed its frame at mid-width screens→→ It wraps by its frame's widthTried: columns that switched at the screen's breakpoint
Documents
With file names, on their own page →Start here
Documents
Reviews
- Phase 1 review stop (2026-11-11)
- Phase 2 review stop (2026-11-11)
- Phase 3 review note: the authoring pipeline (2026-11-11)
- Phase 4 review note, pilot 2: Personal accounts for work (2026-11-11)
- Phase 4 review note, pilot 3: Secrets in prompts (2026-11-11)
- Phase 5 review stop: the hand-off and the library (2026-11-12)
- Phase 6 review stop: the library's own words, the self-taken record, the count in Posture (2026-11-12)
- Phase 7 review stop: the first training on a topic (2026-11-12)
- Instructions hidden in content: c144 S1's training (2026-11-12)
- The four trainings c144's wave 1 wanted (2026-11-13)
Pages
- /pages/phase4/mock/training29 states
- /pages/phase4/mock/finding-detail12 states
- /pages/phase4/mock/training-library10 states
- /pages/phase4/mock/reports/findings2 states
- /pages/phase4/mock/reports/compliance2 states
- /pages/phase4/trainings2 states
- /cycles/design/sketches/c133-record
- /cycles/design/sketches/c133-training
What changed
The 12 changes that matter most, in plain words. Open any one to see it.
- 1
A person whose laptop flagged something can now read a three-minute lesson about that exact thing, answer four questions, and have the pass written down.
One training, end to end · came from Mark Parsonopen →
- 2
A new lesson is a file of sentences and questions, not a new screen; the same page shows any of them.
A training is data · came from Mark Parsonopen →
- 3
The block on the laptop turns into a line in the record that says the person learned, visible where the finding is reviewed.
The record, on the finding and in the log · came from Mark Parsonopen →
- 4
A completed lesson now shows up as a number in the security report and, once the engineers agree the format, as its own block on the finding; the person's name stays where the finding is, not in the report.
The record's homes · came from Mark Parsonopen →
- 5
A new lesson is now a text file someone can write and review; the lab shows how it reads on every real case, and the apps fetch the same text from one address.
Trainings as files, published · came from Mark Parsonopen →
- 6
Someone who did work-related AI tasks on a personal account gets three minutes on where that work went and how to switch, written about their own session.
Pilot 2: personal accounts for work · came from Mark Parsonopen →
- 7
Someone who pasted a key into an AI tool learns in three minutes that it now counts as leaked, how to make it useless, and how to give a tool a secret without pasting it.
Pilot 3: secrets in prompts · came from Mark Parsonopen →
- 8
Someone can take a lesson before anything goes wrong, and finishing it is written down the same way, under their name.
The library: a training on your own · came from Mark Parsonopen →
- 9
The engineers building the web app and the laptop app get one document that says what to build from the lab, what is decided and what still waits on whom.
The hand-off to the web app and the native app · came from Mark Parsonopen →
- 10
A block on a laptop becomes a short lesson, and finishing it is written down as proof.
A training is four things · came from Mark Peterson and Mark Parsonopen →
- 11
Someone whose agent read a hidden instruction in an email or an issue learns in three minutes why the agent might follow it, what Qpoint can and cannot do about it, and to decline a step they did not ask for.
Instructions hidden in content, for theatre's first scenario · came from Mark Parsonopen →
- 12
Each simulation that ends in a finding now hands the person three minutes on that hazard: where a prompt goes, what a new version of a skill can do, which calls should wait for them, and how to leave an agent running with a limit.
The four trainings the simulations wanted · came from Mark Parsonopen →
- The lesson names what actually happened on this laptop and who to ask, instead of a generic security reminder. Early → final
- The questions test whether the idea landed; a miss means reread one step and try again, with nothing held against you. Early → final
- The engineer who owns the plane can see in one picture where a finished lesson is written, who reads it, and which six assumptions he is asked to confirm. New in this cycle
- The problem is written up with who said it and who has not. In words
- Every picture a lesson can use is on one page, drawn the way a person sees it, with a link to the lesson it belongs to. In words
- Someone who takes a lesson before anything goes wrong gets the whole lesson, and the security report counts it as a sign of a careful team. In words
- Anyone can learn how a policy treats their work before it ever stops them, in two minutes, and it counts as part of a careful team. In words
How we got here
Each change, traced back to the conversation it came from. A solid mark means the record names the source; a dashed one was matched by the draft and waits for review.
“If the local queue control can give end user feedback about. So, like, when policies are enforced, so it's just not, like, such a complete whiplash in vacuum of information, that. I think that would be actually really useful.”
market-analyst /calls/1b21a3ce… (local)c133-D1 A training runs on the web app, opened from the native app's notice; inline in the native app later if the content model is small enough. — Mark Parson
c133-D3 The pass rule: all check questions right, retake allowed; the record keeps the final result only. — Mark Parson
c133-D6 Three pilots, matched to the lab's top policies: secrets in prompts, personal accounts for work, unapproved MCP servers. — Mark Parson
c133-D7 Video is out for the pilots; illustrations and short animations are in, with pixel pawns and the existing illustration briefs as the asset base. — Mark Parson
c133-D8 The assignment is a c137 message of type training-assignment with a start-training action; completion goes back as training-completed. No channel of its own. — Mark Parson
c133-D12 The exception's reason in the lesson: the operator's words, as written, shown to the person. — Mark Parson
c133-D14 The Finish step stays: the person sees what will be written before it is. — Mark Parson
A person whose laptop flagged something can now read a three-minute lesson about that exact thing, answer four questions, and have the pass written down.
From the record: no recorded conversation behind this one.
c133-D2 Policies assign first (a training field on a policy, c121's model), operators second, HQ notices third. — Mark Parson
c133-D3 The pass rule: all check questions right, retake allowed; the record keeps the final result only. — Mark Parson
c133-D4 The design site is the studio: trainings as a markdown content collection with illustration and animation assets, previewed in the lab, published as data the apps read. — Mark Parson
c133-D7 Video is out for the pilots; illustrations and short animations are in, with pixel pawns and the existing illustration briefs as the asset base. — Mark Parson
A new lesson is a file of sentences and questions, not a new screen; the same page shows any of them.
From the record: no recorded conversation behind this one.
c133-D8 The assignment is a c137 message of type training-assignment with a start-training action; completion goes back as training-completed. No channel of its own. — Mark Parson
c133-D9 A training can in theory block access (no model access until taken); by default it does not: completion is recorded, not enforced. — Mark Parson
c133-D10 The record: the person's name on the finding and in the audit log; counts only in Reports. The first question for Peterson: does a completed training count as personnel data in the organisations he knows? — Mark Parson
c133-D13 Between assignment and record the plane learns nothing: Assigned, then Recorded, nothing in between. Confirmed as the product. — Mark Parson
c133-D16 The record's home: the finding's history row now; a Corrections block on the finding when Phase 2 agrees the event shape with Tyler. — Mark Parson
The block on the laptop turns into a line in the record that says the person learned, visible where the finding is reviewed.
From the record: no recorded conversation behind this one.
c133-D10 The record: the person's name on the finding and in the audit log; counts only in Reports. The first question for Peterson: does a completed training count as personnel data in the organisations he knows? — Mark Parson
c133-D16 The record's home: the finding's history row now; a Corrections block on the finding when Phase 2 agrees the event shape with Tyler. — Mark Parson
c133-D17 Corrections in Reports reads as a state, as of the data cutoff, with "in this window" beside Completed; counts only. — Mark Parson
c133-D18 Every finding under a policy with a training counts as assigned on detection, so Waiting can read high where nobody has taken it yet; that is the point of the section. — Mark Parson
c133-D19 The Corrections block sits under History on the finding, before Details. — Mark Parson
c133-D20 Once Tyler agrees the event shape, the Corrections block is shown by default and the history row stays as the same event. — Mark Parson
c133-D22 Assumed, to validate with Tyler: the record lives in the plane's audit log, one row per completion; the finding reads it by finding id, Reports sum it; a table only if a read needs it. — Mark Parson
c133-D23 Assumed, to validate with Tyler: the existing event pattern as the base (a tagged enum, type and payload, dotted names); the event stays small and the plane's richer record object consumes it and adds the metadata. Which crate declares it is Tyler's to say. — Mark Parson
c133-D24 Assumed, to validate with Tyler: assignment and completion are both audit log rows; a completion links to the finding that triggered it and is associated with the person's earlier findings under the same policy, to show the remediation and to drive what comes next. — Mark Parson
c133-D25 Every completion is a row, grouped as one object (type, completed, the training's id and name, proof of understanding), never one row per action; Reports count a finding as answered once. — Mark Parson
c133-D26 A published training carries its integer version and a hash of its published JSON; the record names both; the publish step computes the hash and the API serves both. — Mark Parson
c133-D27 A completion after a policy's, an operator's or HQ's assignment is its own event type, so the audit log reads who asked without opening the message; the naming is Tyler's to adjust. — Mark Parson
A completed lesson now shows up as a number in the security report and, once the engineers agree the format, as its own block on the finding; the person's name stays where the finding is, not in the report.
From the record: no recorded conversation behind this one.
c133-D4 The design site is the studio: trainings as a markdown content collection with illustration and animation assets, previewed in the lab, published as data the apps read. — Mark Parson
c133-D11 Languages: English for the pilots; lang with one file per language when the authoring pipeline exists (Phase 3); operator text shown as written, never translated by us. — Mark Parson
c133-D21 Published trainings are served by the design site's API, /api/trainings and /api/trainings/<id>, like the brand API; the content collection is the source. — Mark Parson
c133-D25 Every completion is a row, grouped as one object (type, completed, the training's id and name, proof of understanding), never one row per action; Reports count a finding as answered once. — Mark Parson
c133-D26 A published training carries its integer version and a hash of its published JSON; the record names both; the publish step computes the hash and the API serves both. — Mark Parson
c133-D27 A completion after a policy's, an operator's or HQ's assignment is its own event type, so the audit log reads who asked without opening the message; the naming is Tyler's to adjust. — Mark Parson
A new lesson is now a text file someone can write and review; the lab shows how it reads on every real case, and the apps fetch the same text from one address.
From the record: no recorded conversation behind this one.
c133-D6 Three pilots, matched to the lab's top policies: secrets in prompts, personal accounts for work, unapproved MCP servers. — Mark Parson
c133-D9 A training can in theory block access (no model access until taken); by default it does not: completion is recorded, not enforced. — Mark Parson
c133-D12 The exception's reason in the lesson: the operator's words, as written, shown to the person. — Mark Parson
Someone who did work-related AI tasks on a personal account gets three minutes on where that work went and how to switch, written about their own session.
From the record: no recorded conversation behind this one.
c133-D6 Three pilots, matched to the lab's top policies: secrets in prompts, personal accounts for work, unapproved MCP servers. — Mark Parson
c133-D7 Video is out for the pilots; illustrations and short animations are in, with pixel pawns and the existing illustration briefs as the asset base. — Mark Parson
c133-D9 A training can in theory block access (no model access until taken); by default it does not: completion is recorded, not enforced. — Mark Parson
c133-D10 The record: the person's name on the finding and in the audit log; counts only in Reports. The first question for Peterson: does a completed training count as personnel data in the organisations he knows? — Mark Parson
Someone who pasted a key into an AI tool learns in three minutes that it now counts as leaked, how to make it useless, and how to give a tool a secret without pasting it.
From the record: no recorded conversation behind this one.
c133-D2 Policies assign first (a training field on a policy, c121's model), operators second, HQ notices third. — Mark Parson
c133-D3 The pass rule: all check questions right, retake allowed; the record keeps the final result only. — Mark Parson
c133-D10 The record: the person's name on the finding and in the audit log; counts only in Reports. The first question for Peterson: does a completed training count as personnel data in the organisations he knows? — Mark Parson
c133-D14 The Finish step stays: the person sees what will be written before it is. — Mark Parson
c133-D25 Every completion is a row, grouped as one object (type, completed, the training's id and name, proof of understanding), never one row per action; Reports count a finding as answered once. — Mark Parson
c133-D27 A completion after a policy's, an operator's or HQ's assignment is its own event type, so the audit log reads who asked without opening the message; the naming is Tyler's to adjust. — Mark Parson
Someone can take a lesson before anything goes wrong, and finishing it is written down the same way, under their name.
From the record: no recorded conversation behind this one.
c133-D16 The record's home: the finding's history row now; a Corrections block on the finding when Phase 2 agrees the event shape with Tyler. — Mark Parson
c133-D17 Corrections in Reports reads as a state, as of the data cutoff, with "in this window" beside Completed; counts only. — Mark Parson
c133-D18 Every finding under a policy with a training counts as assigned on detection, so Waiting can read high where nobody has taken it yet; that is the point of the section. — Mark Parson
c133-D22 Assumed, to validate with Tyler: the record lives in the plane's audit log, one row per completion; the finding reads it by finding id, Reports sum it; a table only if a read needs it. — Mark Parson
c133-D24 Assumed, to validate with Tyler: assignment and completion are both audit log rows; a completion links to the finding that triggered it and is associated with the person's earlier findings under the same policy, to show the remediation and to drive what comes next. — Mark Parson
c133-D26 A published training carries its integer version and a hash of its published JSON; the record names both; the publish step computes the hash and the API serves both. — Mark Parson
c133-D27 A completion after a policy's, an operator's or HQ's assignment is its own event type, so the audit log reads who asked without opening the message; the naming is Tyler's to adjust. — Mark Parson
c133-D29 The publish step's JSON is copied into the plane's repository at release; no live dependency on the design site behind Access. — Mark Parson
c133-D31 The version moves on a change of meaning; a typo fix does not bump it, though the content hash moves with any change. — Mark Parson
c133-D34 The right answer's position is varied in the file, not shuffled at render; reordering changes no meaning, so no new version. — Mark Parson
The engineers building the web app and the laptop app get one document that says what to build from the lab, what is decided and what still waits on whom.
“If the local queue control can give end user feedback about. So, like, when policies are enforced, so it's just not, like, such a complete whiplash in vacuum of information, that. I think that would be actually really useful.”
market-analyst /calls/1b21a3ce… (local)c133-D1 A training runs on the web app, opened from the native app's notice; inline in the native app later if the content model is small enough. — Mark Parson
c133-D2 Policies assign first (a training field on a policy, c121's model), operators second, HQ notices third. — Mark Parson
c133-D3 The pass rule: all check questions right, retake allowed; the record keeps the final result only. — Mark Parson
c133-D8 The assignment is a c137 message of type training-assignment with a start-training action; completion goes back as training-completed. No channel of its own. — Mark Parson
c133-D9 A training can in theory block access (no model access until taken); by default it does not: completion is recorded, not enforced. — Mark Parson
A block on a laptop becomes a short lesson, and finishing it is written down as proof.
From the record: no recorded conversation behind this one.
c133-D7 Video is out for the pilots; illustrations and short animations are in, with pixel pawns and the existing illustration briefs as the asset base. — Mark Parson
c133-D9 A training can in theory block access (no model access until taken); by default it does not: completion is recorded, not enforced. — Mark Parson
c133-D38 Each training file gets its own words for a reading with no finding (the library), instead of dropping the steps about a machine. — Mark Parson
c133-D57 F-H stays in the lab world: the one row the injection training answers outside a simulation. — Mark Parson
c133-D58 A policy whose finding kind is shared keys its own slots; no new resource kinds in the detector. — Mark Parson
c133-D59 The injection training's approval stays general: the agent's own permission prompt. — Mark Parson
Someone whose agent read a hidden instruction in an email or an issue learns in three minutes why the agent might follow it, what Qpoint can and cannot do about it, and to decline a step they did not ask for.
From the record: no recorded conversation behind this one.
c133-D7 Video is out for the pilots; illustrations and short animations are in, with pixel pawns and the existing illustration briefs as the asset base. — Mark Parson
c133-D9 A training can in theory block access (no model access until taken); by default it does not: completion is recorded, not enforced. — Mark Parson
c133-D38 Each training file gets its own words for a reading with no finding (the library), instead of dropping the steps about a machine. — Mark Parson
c133-D60 A seed finding where the policy is on and has none: F-I for the approval policy; Off policies stay simulation-only. — Mark Parson
c133-D61 The approval training is titled Ask before an agent sends or publishes. — Mark Parson
c133-D62 Advice that names an agent's setting stays general for now. — Mark Parson
c133-D63 A simulation's training is bundled in the native app with the native scenario that opens it. — Mark Parson
Each simulation that ends in a finding now hands the person three minutes on that hazard: where a prompt goes, what a new version of a skill can do, which calls should wait for them, and how to leave an agent running with a limit.
Thanks to
People outside Qpoint first. Every thank-you points at something they said or made.
Asked for local feedback when a policy is enforced
On the roadmap session he asked that the person at the keyboard get an explanation and a path to IT when qcontrol enforces, so it is not a whiplash in a vacuum of information. The ask became the promoted problem this cycle cites.
“If the local queue control can give end user feedback about. So, like, when policies are enforced, so it's just not, like, such a complete whiplash in vacuum of information, that. I think that would be actually really useful.” first-hand
Drew the look the training scenes follow
His informational drawings in two Qpoint blog posts, The Hidden Agent Surface (qpoint.io/blog/the-hidden-agent-surface, 2026-11-09) and Your Agents Need a Dynamic Sandbox (qpoint.io/blog/your-agents-need-a-dynamic-sandbox, 2026-10-15), make one idea per drawing: flat, labelled, the pixel agent pawn, each attempt an arrow ending in what happened. Mark named them on 2026-11-12 as the inspiration for the scenes; the site credits both posts to the Qpoint Team.
Turned the finding into a teaching moment
His prompt went one step past the ask: we are the only party who sees both the violation and the person, so the finding becomes a short lesson with proof of correction in the audit log. Confirmed the defaults D1–D8 and ruled D9 (no blocking by default) on 2026-11-09; cites his own safety-training background as a note only. Ruled on 2026-11-11 that Phase 1 starts before the brief lands, and that evening ruled the review stop's seven calls (D10–D16).
All images
Every picture from this cycle. Click any one to step through them all.
The pairs
Everything captured · 29
The full record 56 decisions · 14 key-change entries · 19,900 words · 47 captures
The record stays as written, for agents and for audit: Key Changes, every decision, the artifacts and the visual record.
Open the record for c133 →