← Cycles
design · c133activestarted Nov 9

Remediation Training

Waiting to be picked uplast activity Nov 12· waiting on Tyler on D22–D27 and D55; c134's person frame, the plane repo, the copy at release and the operator's send; Peterson

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.

Why we did this

When a laptop blocks something risky, the person sees a block and no explanation.

What happened

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.

Early → finalA 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.

Summary of work

problem → resolution, with what was tried on the way
  1. A block on a laptop explains nothing→ A three-minute lesson on that finding, a check, a record
  2. A new hazard would need a new screen→ A lesson is data; one page shows any of them
  3. Where completion lives, and who sees the name→ One audit event; the name on the finding and in the audit log, counts in Reports
  4. 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
  5. New art for every lesson→ Scenes drawn as components from the pawns and the sketch kitTried: every scene inside Scene.vue
  6. A miss would mean starting over→ The retake keeps what was right and names the step to reread
  7. One pilot proves little→ Three pilots: MCP servers, personal accounts, secrets in prompts
  8. 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
  9. No way to take a lesson before a finding→ A library: any training on your own, recorded under your name
  10. The builders need one place to start→ One hand-off for the web app and the native app
  11. 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)
  12. A lesson taken on its own had nowhere to show→ A line on the person's finding; it answers none
  13. Learning ahead of a finding went uncounted→ A count in the Compliance report, read as a strength
  14. Some ideas confuse people with no finding behind them→ A training on a topic: Observe and Enforce, in the library
  15. No page showed the illustrations together→ A gallery, each scene drawn on a real finding
  16. One scene overflowed its frame at mid-width screens→ It wraps by its frame's widthTried: columns that switched at the screen's breakpoint
At a glance
19
changes
1
conversation
56
decisions
1
outside helpers

What changed

The 12 changes that matter most, in plain words. Open any one to see it.

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 →

Also in this cycle
  • 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.

Someone said
MPMark PetersonNov 5matched · 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)
We decided

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

So now

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.

Someone said

From the record: no recorded conversation behind this one.

We decided

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

So now

A new lesson is a file of sentences and questions, not a new screen; the same page shows any of them.

Someone said

From the record: no recorded conversation behind this one.

We decided

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

So now

The block on the laptop turns into a line in the record that says the person learned, visible where the finding is reviewed.

Someone said

From the record: no recorded conversation behind this one.

We decided

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

So now

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.

Someone said

From the record: no recorded conversation behind this one.

We decided

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

So now

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.

Someone said

From the record: no recorded conversation behind this one.

We decided

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

So now

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.

Someone said

From the record: no recorded conversation behind this one.

We decided

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

So now

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.

Someone said

From the record: no recorded conversation behind this one.

We decided

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

So now

Someone can take a lesson before anything goes wrong, and finishing it is written down the same way, under their name.

Someone said

From the record: no recorded conversation behind this one.

We decided

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

So now

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.

Someone said
MPMark PetersonNov 5matched · 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)
We decided

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

So now

A block on a laptop becomes a short lesson, and finishing it is written down as proof.

Someone said

From the record: no recorded conversation behind this one.

We decided

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

So now

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.

Someone said

From the record: no recorded conversation behind this one.

We decided

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

So now

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.

MP
Mark Peterson
Advisor · Moto

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
RG
Rob Genova
Qpoint team

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.

MP
Mark Parson
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

One training, end to endEarly → final
→
The record, on the finding and in the logEarly → final
→
The record's homesEarly → final
→
The lesson, about this machineEarly → final
→
The check and the retakeEarly → final
→
Trainings as files, publishedEarly → final
→
Pilot 2: personal accounts for workEarly → final
→
Pilot 3: secrets in promptsEarly → final
→
The library: a training on your ownEarly → final
→
A training is four thingsNew in this cycle
The record: one event, three readsNew in this cycle
Instructions hidden in content, for theatre's first scenarioEarly → final
→
The four trainings the simulations wantedEarly → final
→

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 →

Qpoint Brand Style Guide