$ neti demo --here --repo <path> -c <path> --corpus <path>
[exit 0]
neti demo — measured on <path>

── 1. DISCOVER ─────────────────────────────────────────  read from this machine
   no MCP servers configured on this machine

── 2. REACH ────────────────────────────────────────────  MEASURED here, no traffic needed
   listening   filesystem                 32 objects
   dark        source control              — export NETI_GITHUB_TOKEN
   dark        database                    — export NETI_DATABASE_URL
   dark        object storage              — export AWS_ACCESS_KEY_ID
   dark        directory                   — export NETI_TENANT_ID
   listening   infrastructure              — reachable_max_requires_terraform_state
   no resolver shell                       — what a command would delete — a grammar, not a value (NC-09, NC-10)
   no resolver messaging                   — Slack, Teams, outbound email outside a directory
   no resolver SaaS records                — CRM objects, tickets, documents in a vendor's own store

   2 layer(s) listening · 4 dark for want of a credential · 3 with no resolver at all

   An agent working here reaches 32 objects, across 8 gated parameter(s).
   It bounds what one credential can address here; it does not measure any single call. Nothing in a permission system reports either number — it answers whether, not how many.

── 3. OBSERVE ──────────────────────────────────────────  YOUR files, a captured session's shape
   40 calls re-run · 40 allowed, nothing blocked (observe mode)

── 4. REPORT & PROPOSE ─────────────────────────────────  from the traffic above
   Grep /path  n=40  p95=24  max=24
     proposed  confirm above 50   block above 500

── 5. ENFORCE ──────────────────────────────────────────  the same calls, ceilings on
   blocked 0 · asked about 0 · allowed 40
   Nothing in this traffic exceeded the block ceiling — these numbers came from it,
   so they bind on what has not happened yet rather than on what has.

── 6. AUDIT ────────────────────────────────────────────  offline, forever
   40 records, chain intact · 40 decisions re-derive to the same verdict

Measured on this machine. The magnitudes are yours — every one was produced by walking these files, through the same decision path the gate uses in production. The *sequence* of calls in act 3 is a captured session's, not yours: the numbers are real, the story is borrowed.

Six acts about one runtime. `neti prove` runs one call through every door this machine
has — the hook, both MCP transports, and whichever agent SDKs are installed — and shows
they reach the same verdict, the same magnitude and the same sentence.
