review-3.md
c147 review stop 3: up and down
Written: 2026-11-13, after Phase 4. Reader: Mark, with peterson.md for the conversation with Mark Peterson. Status: at review stop 3 (Q7: the last of three). Each call has a default; a call you don't answer takes it.
What to look at
- Down, on real rows (Priya): Findings, From HQ first · Dana's follow-up (Acknowledge, "This was a mistake") · a suggested training · Settings, her company's default
- Q4 in the prototype's model: S2, open and resolved · S1 on F-E
- The shape: finding-shape.md (§3 the new event, §4 Q4 in the model, §6a what the plane says besides events)
Priya's machine: Teach me is the default her company chose for Engineering; From HQ lists the suggested training and Dana's note; Observed; Prevented as one quiet group.
Dana's follow-up shown as HQ wrote it, with Acknowledge; "Also under" names the same server's other finding; "This was a mistake" is the third thing she can do.
Acknowledge and "This was a mistake" join the history as her own lines; the finding stays open until the plane resolves it.
The prototype's S2 with Q4 in the model: F-D, F-E and F-F read Resolved: prevented from the moment they were detected.
What Phase 4 did
- Q4 is the prototype's model (review stop 2, call 2).
foldFinding()ingovernance-fixture.tswrites apreventedevent right afterdetectfor every Enforced finding, so every surface reads it the same way;preventedjoins the event kinds and the resolutions; the lab's qdash copy maps it to a block; S2 (mock/findings-design) opens on every outcome with its new subtitle; the native copy follows. In the prototype's world three findings change: F-D, F-E and F-F. - The down direction on real rows (call 9).
app/data/plane-c147.tsholds the plane's moves, authored as the prototype's operator and policy actions and matched to a world's derived findings by policy and resource: c133's training T-MCP-1 suggested on Priya's Linear MCP finding, and Dana's follow-up on her Postgres MCP finding, which asks for an acknowledgement. The derivation appends them asfrom: planeevents. - What the plane says besides events (calls 5 and 6). A plain "why" for each of the nineteen policies (
WHY_PLAIN, with awhyPlainHQ may set, andwhyPlainOf()), carried aswhy_plainin/api/policies; the noise default per team (Engineering on Teach me, Finance and the organisation on Quietly) as/api/plane-settings. - The person's view (calls 4, 6, 7): From HQ first on the list; on a finding, HQ's words shown as written with Acknowledge, the suggested training opened in the browser (Q5), "Also under", and "This was a mistake" (a
reported-mistakeevent); the first-run card and Settings name the company's default. Every new string voice-checked. - Checks: c123's metrics 49 of 49; the tours walk 455 of 455. Simulation's check is 184 passed, 6 failed (it was 190 of 190) and the tour drive check 186 passed, 2 failed (it was 187 and 1), as the c144 session measured it; my own run crashed on a page timeout after 102 passed and the same 6 failed. All eight are Q4's (call 1).
- Recaptured on the widened allow list and Q4: the copy (8) and the person's view (10, three of them new).
- For Peterson:
peterson.md, nine questions only he can answer, with what to show him.
Calls
- Simulation under Q4. The simulation's world goes through the same fold, so a beat's blocked or redacted finding is born resolved and leaves the Findings page's Open list, where the beats' test lines and the tour's callouts look: S1's and S4's replays at Enforce (the approval policy), S2's and S5's sanitized values, and the tour's P-MCP group (F-E). Three ways out, from the c144 session: the simulation shows Closed as well (or the tour opens the row where it lands); the test lines expect prevented; the callouts change. Default: the simulation's Findings shows prevented rows beside the open ones, marked Prevented, and the test lines say so; handed to c149, whose session owns the simulation; c144's session has changed nothing and waits for this ruling.
- The plane's moves as authored data.
plane-c147.tsis the prototype's operator, written by hand like the rest of the governance fixture, matched by policy and resource. Default: keep. - The per-team noise defaults: Engineering on Teach me, Finance and the organisation on Quietly. Default: keep, and ask Peterson who sets them (
peterson.md6). - "This was a mistake" as the quiet third action, after the two buttons. Default: keep.
- Phase 5's brief. The qnative cycle (types, nozzle, the Findings pages, c4's inbox retired, the recut) is briefed after Peterson, so his answers are in it. Default: yes; Phase 5 starts from
review-3.md's rulings andpeterson.md's answers. - Still open from earlier stops: resolve on training completion (review 1, call 5),
chatgpt.com(review 1, call 7), who raises findings on a standalone machine (Tyler, finding-shape.md §6). Default: Peterson for the first two, Tyler for the third.
Answered (Mark, 2026-11-13, walked)
| # | Ruled |
|---|---|
| 1 | The simulation shows prevented rows beside the open ones on Findings, marked Prevented, and the beats' test lines and callouts expect them there. (default) c149 builds it; the c144 session told. |
| 2 | The plane's moves stay hand-authored in plane-c147.ts, matched by policy and resource. (default) |
| 3 | The per-team noise defaults stay (Engineering on Teach me, Finance and the organisation on Quietly); Peterson is asked who sets them. (default) |
| 4 | "This was a mistake" stays quiet, a text action after the two buttons. (default) |
| 5 | Phase 5 is briefed now, from these rulings; Peterson's answers amend it. (changed: the default waited for Peterson) → qnative-brief.md |
| 6 | Decided now instead of waiting: (changed) |
| 6a | A finished training closes its finding: when the person completes the training a policy assigned, the policy resolves the finding ("Resolved: training completed", a resolve from the plane with origin system); HQ can reopen it. The person's own training-completed still moves nothing; the policy's resolve does. This revises c133 D9 for policy-assigned trainings and answers review 1, call 5. |
| 6b | chatgpt.com is a different provider from openai.com: a ChatGPT sign-in carries consumer terms, so the list must name it to allow it. Priya's 23 prevented findings stand. Answers review 1, call 7. |
| 6c | On a standalone machine the app raises findings from the sensor's events, with a port of the lab's detector against the local configuration's policies; qcontrol stays as it is. The question to Tyler is withdrawn; it becomes Phase 5's work. |