The proof: an agent in a language that exists nowhere

This directory is the evidence and the kit for one claim:

An agent that has never seen this system can complete real work in it, using only what the server itself provides — and anyone can reproduce the result with their own agent.

Harborview speaks buildingflow/1, a program language invented for it. It is not on the internet and not in any model's training data. Whatever an agent achieves here, it learned live, through the Pilotage loop.

What's in the kit#

file role
exam.md the work order — describes the job, never the method. No tool names, no language teaching, no hints.
runner.mjs the entire agent (~250 lines, no SDKs). The model receives the one-paragraph system prompt printed in the transcript, the server's own self-description, the tool list, and the exam. Nothing else.
grader.mjs the answer key. No AI inside — a fact-checker that reads the building's end state, fires the dock-door event, and prints a PASS/FAIL report card.
transcripts/ raw, unedited JSONL recordings of the published runs — every model turn, every tool call, every server response.
RESULTS.md which models ran, when, how many tool calls, and their report cards.

Reproduce it yourself#

With any of the three providers (a normal-tier model is enough):

export ANTHROPIC_API_KEY=...   # or OPENAI_API_KEY / GEMINI_API_KEY
node runner.mjs --provider anthropic --model claude-sonnet-5
# the runner prints the agent's final report, the session id, and the transcript path

node grader.mjs --session sess_xxxxxxxx
# the report card: five checked facts, PASS or FAIL each

Every session gets a fresh, identical, isolated copy of the building, so your run and ours start from the same world. Or skip the API entirely and point your own agent at the live server:

claude mcp add --transport http harborview https://harborview.jafarsa0.workers.dev/mcp

…then paste exam.md as your prompt, and grade the session when it's done.

Why this is a fair exam#

  • The exam is neutral. It states the outcome wanted ("every light on, dock unlocked, after-hours alarm installed and demonstrated safely") and nothing about how. The agent must discover the loop through the server's cold-start signposts (Part III §3.4).
  • The agent is transparent. runner.mjs is the whole agent; the system prompt is recorded verbatim in every transcript. There is nowhere for coaching to hide.
  • The judge is dumb. The grader checks facts — device states, deployed automations, and whether firing the dock-door event actually notifies facilities. It cannot be charmed.
  • Different paths, same destination. Models differ in how they get there — different call counts, different mistakes, different repairs. That is the point: Pilotage does not make agents identical, it makes their outcomes converge and their paths checkable.

Honesty rules#

Transcripts are never edited. If a run fails the grader, we do not touch the recording — we fix whatever was unclear on our side (a guide, the exam wording) and record a fresh take; RESULTS.md states which take each published run is and why any earlier take was discarded.