I'm parked on you

Pick an option on each card and press Done; your answer goes straight back to the session. The raiser's pick is marked. "I'm not sure" and "Take it to the engineering bridge" are real answers.

1

In plain terms. Should this session tighten the AI's instructions so a guest's first name stops slipping into transcript posts, or widen the automatic name-hiding instead? Right now, when the AI writes only part of someone's name — just 'Marisol', or just the surname — the post goes out with it, because hiding only triggers on the full name it was given. Tightening the instructions costs nothing and is reversible; widening the hiding would also censor ordinary words like 'still' and 'long', and the safer version of it can't be tested until we have recordings of meetings with outside guests in them.
The full question, as raised

ROW name-map-reach-is-bounded-by-spelling, the LAST open gap on this task's acceptance criterion. Measured through the delivery gate _unmasked_name_count with controls both ways (name-free prose 0, exact spelling 1): no-space join gate=2 REFUSES and underscore join gate=1 REFUSES (both closed by #1318), but surname-only gate=0 POSTS and given-name-only gate=0 POSTS. So a guest's bare first name or surname reaches #transcripts when the model spells one component of a name the map holds in full. #1338 pins both and fixes neither, deliberately. The naive fix is measured expensive: component matching over 4,823 utterances gives 24 given-name-component hits against 101 occurrences of surname-SHAPED ORDINARY WORDS across 13 of 31 probes (Still 49, Fields 11, Long 11). The one design that number does not condemn is restricting component matches to components that are ALSO a speaker label in that transcript -- a closed set already known to be names; the Driver verified Still/Fields/Long are NOT label components (7 components across 4 labels). Its gap: that corpus has ZERO guest labels, the population it targets, so its false-positive rate there is unmeasurable from this host and the Granola feed is on the Clara seat. PRECEDENT, cited rather than drifted into: ruling f0e5a349c settled this same trade by holding that a posts-nothing or over-masking outcome is acceptable where the alternative 'loses the thing this change exists to protect' AND the cost is BOUNDED and model-keyed, but NOT where it is PERMANENT and transcript-keyed -- both passes dropped a permanent transcript-keyed refusal on that reasoning. The restricted design is narrower than the one that framework rejected. AND the prompt ALREADY demands every spelling of a name, twice, in _THIRD_PARTY_NAMES, so this is a model failing an instruction it has, not a missing one.

Why, and what was tried
The session raising this recommends: Tighten the AI's instructions first, nothing else changes
The instruction to spell every name is already there twice and the model is failing it, so the cheapest fix has no censoring risk and is reversible; widening can follow if it does not hold.
Model receiptFABLE was asked, and escalated. Receipt f418d54c4 — NEEDS HUMAN.
Privacy risk appetite, the exact class the standing intuition reserves for a human: whether guests' bare names may keep posting to #transcripts until a guest-labelled corpus exists (the Granola feed is on the Clara seat — collecting it is a cross-seat decision only Gera can order), or whether to ship a masking widen whose false-positive rate on the only population it targets cannot be measured from this host. Precedent binds the route, not the answer: the prior instance of this same trade was itself raised twice and settled by ruling f0e5a349c rather than drifted into. The Driver's own record…

52ca77b5 is parked on this.

2

In plain terms. Should this session spend one more review round tightening a log so a phone number cannot appear in it, or stop printing the time detail there altogether? When the AI returns a garbled instruction about which stretch of a meeting to hide, the note Smith writes about it can still print a short number that could be somebody's phone number, and that note can reach the alerts channel on a failed run.
The full question, as raised

A privacy-logging fix has taken five blocking rounds, each closing a strictly narrower subset of the same class: the verbatim exception is specified as an alphabet-plus-length, and every narrowing leaves a new member inside it — now a colon-bearing 7-digit number (555:0100) that can reach #alerts. The PR is already a strict improvement over main. What now?

Why, and what was tried

NONE OF THIS PART IS IN QUESTION: when the AI returns a garbled instruction about which stretch of a meeting to hide, Smith used to write that entire instruction into a log -- and on a failed run the tail of that log is posted into the alerts channel with no scrubbing, so a sentence the redaction existed to remove could land in a channel. That is now closed, on both code paths through one shared renderer, checked against the live version as a control for prose, nested objects, lists, phone and date shapes. Three automated checks that this work itself broke are also fixed. The change is strictly better than what is running today. THIS SESSION HAS PUT IT ON HOLD AS A DRAFT, reversibly, because every mechanical check reads green while the reviewer is still blocking -- and a bot on this repo has merged pull requests by itself within minutes of green checks, with merges reaching production in seconds. One command un-holds it. THE REMAINING GAP: the printable exception is written as a list of allowed characters with a length limit, and three rounds have each shrunk that list only for a new member to be found inside it -- the whole object, then any end of the stretch, then a dotted 12-character phone number, now a colon-bearing 8-character one. The pattern of failure says the APPROACH is wrong, not just the limit. BOTH SIDES ARE REAL AND THIS SESSION VERIFIED BOTH BY RUNNING THEM: a valid time parses successfully and never reaches this log at all, so the printable case preserves less than assumed -- but when ONE end is garbled and the other is a valid time, the log prints both, so the good one tells whoever reads it which part of the meeting the dropped stretch covered. Dropping it deletes exactly that. ONE ERROR OF THIS SESSION'S BEARS ON THE COST, and Gera should have it: one of these five rounds is directly its fault. A second reviewer had already named this exact failing input against the exact pattern this session then approved, and it approved it having read only the first reviewer. THERE IS A FOURTH OPTION NOT LISTED because it needs design work rather than a decision from Gera: print the PARSED number instead of the AI's text, which keeps the locating detail with no text route at all, but needs a sanity ceiling since a 7-digit number parses as a plausible time.

The session raising this recommends: Tighten it so no phone fits; keeps the time hint. One more round.
It is the only option that closes the class structurally — capping it at six digits means no phone number can fit, rather than banning characters one round at a time — while keeping the detail I measured as genuinely useful: when one end of the stretch is garbled and the other is a valid time, the note prints the good one and tells whoever reads it where in the meeting to look.
Model receiptFABLE was asked, and escalated. Receipt f61ba8a9b — NEEDS HUMAN.
THE TWO PASSES DISAGREED, AND ONLY THE OPTION ORDER DIFFERED.
as-given → 'Specify the exception as a SHAPE rather than an alphabet — require it to look like a clock, e.g. \\d{1,2}(:\\d{1,2}){1,2} — which admits 7:36 and 0:07:36 and excludes 555:0100, 5550100: and 12:3:4:5. One more round, but it ends the class instead of shaving it' (high)
reversed → "Drop the verbatim exception entirely: every bound becomes a shape description, so the §7 guarantee holds by construction and no future alphabet hole exists. Cost: the WARNING loses the readable clock value, showing <str of 7 chars> instead of…

Tried first, unsuccessfully: Fable answered twice with the options reversed and gave a different high-confidence answer each time -- the tighten-it fix one way, stop-printing-it the other -- so its own answer flips on presentation order and it escalated rather than pick.

52ca77b5 is parked on this.

Answered and withdrawn (2)
Pick an option above, then press Done.
PropFlow Docs