Skip to content

Add the monitor-seat grid figure and make the gate-chain flowchart legible - #5

Merged
ebt55 merged 1 commit into
mainfrom
claude/readme-polish
Sep 6, 2026
Merged

ebt55 merged 1 commit into
mainfrom
claude/readme-polish

Conversation

@ebt55

@ebt55 ebt55 commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Two follow-ups from reviewing the README on main.

The gate-chain Mermaid diagram rendered too small to read: fifteen nodes left to right, scaled to the column width. It is now ten nodes top-down, with the steering, the stand-in approver and the single-use token folded into node labels.

The second finding, that the monitor seat is where the variance is, had no figure. explainer/build.py now derives one from every committed T4 covert monitor capture: four seats by three covert steps, as small multiples over the three monitor input generations, each verdict recomputed under the seat's frozen threshold artifact. Frontier seats block at step 0 in every generation and the later steps read "not reached"; both local seats allow all three steps in every generation. The caption carries the bound that a frontier block here is list-exclusion rather than assembly detection. The figure is covered by --check, the byte-identical test, and a new test that re-derives every cell from the captures.

explainer/index.html is byte-identical to main. Verification: build.py --check clean, 31 explainer and README tests green, ruff check clean.

🤖 Generated with Claude Code

…t top-down

The README's second finding, that the monitor seat is where the variance is,
had no figure. explainer/build.py now derives one from every committed T4
covert monitor capture under artifacts/monitor-captures/: four seats by three
covert steps, as small multiples over the three monitor input generations,
with each cell's verdict recomputed under that seat's frozen threshold
artifact. Twenty-four captures share the current projection digest and fill
the grid; four earlier captures under a superseded projection are excluded
and counted in the figure's footnote. A cell after a block reads "not
reached", and the build proves each such cell follows a block in the same
run. The figure is written in light and dark variants, covered by --check and
the byte-identical test, and pinned by a test that re-scans the captures and
re-derives every verdict.

The README embeds it after the paragraph it illustrates, with the bound that
a frontier block on T4 reads as list-exclusion rather than assembly detection.

The gate-chain Mermaid diagram had fifteen nodes left to right and rendered
too small to read on GitHub. It is now ten nodes top-down, with the steering,
the stand-in approver and the single-use token folded into the labels of the
nodes they belong to. explainer/index.html is unchanged.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 6, 2026 12:44

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The new seat-grid SVG aria-label generation hard-codes “blocked at step 0” and can become incorrect if the derived grid changes, impacting accessibility correctness.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR improves README readability and adds a new derived visualization to support the claim that monitor-seat choice is where the variance occurs, with the figure fully derived from committed artifacts and covered by tests.

Changes:

  • Reworks the gate-chain Mermaid diagram to render legibly (top-down layout; folds steering/stand-in/token into node labels).
  • Adds a new “monitor-seat grid” figure (light/dark SVG) derived from T4 covert monitor captures and frozen threshold artifacts.
  • Extends explainer derivation tests to include the new figure and to re-derive/verify every grid cell against the underlying captures and threshold rules.
File summaries
File Description
explainer/build.py Derives seat-grid data from artifacts and renders the new seat-grid SVG (light/dark).
tests/test_explainer_is_derived_from_artifacts.py Adds the new figure to the outputs list and verifies every seat-grid cell against captures/thresholds.
README.md Embeds the new seat-grid figure and updates the Mermaid flowchart for readability.
explainer/figures/t4-monitor-seats.svg New generated light-theme seat-grid figure.
explainer/figures/t4-monitor-seats-dark.svg New generated dark-theme seat-grid figure.
Review details
  • Files reviewed: 3/5 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread explainer/build.py
Comment on lines +2775 to +2787
blocked = sorted(
{row["seat"] for row in seats["grid"] if row["stopped_at"] is not None}
)
allowed = [seat for seat in seats["seats"] if seat not in blocked]
steps = len(seats["steps"])
return (
f'The covert leg of {seats["scenario"]}, judged by {len(seats["seats"])} monitor '
f'seats across {len(seats["generations"])} input generations. '
+ ", ".join(allowed)
+ f" allowed all {steps} covert steps in every generation; "
+ ", ".join(blocked)
+ " blocked at step 0 in every generation, so the later steps were never reached."
)
@ebt55
ebt55 merged commit a2c5291 into main Sep 6, 2026
3 checks passed
@ebt55
ebt55 deleted the claude/readme-polish branch September 6, 2026 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants