Skip to content

The strongest rung rested on a sentence, and the link that raised the question had no door - #32

Open
r3vs wants to merge 1 commit into
mainfrom
rung-zero-and-observed
Open

The strongest rung rested on a sentence, and the link that raised the question had no door#32
r3vs wants to merge 1 commit into
mainfrom
rung-zero-and-observed

Conversation

@r3vs

@r3vs r3vs commented Aug 27, 2026

Copy link
Copy Markdown
Owner

One arc: the last strong rung that still rested on the agent's own prose now rests on a file a
later reader can open, and the link somebody sends you stops being a weak source and becomes rung 0.

What lands

observation.py + ledger_record_observation (ledger v0.34). observed was the only strong
rung in the verification ladder still resting on prose the agent wrote itself, while the decision
ladder had already been given carriers the agent cannot forge. The runtime reads the artifact a run
leaves behind — OTLP trace, JUnit, coverage, LCOV — and the tool refuses five ways before it writes.
The property bought is contestability, not unforgeability: a later reader can open the file and
disagree.

leads.py — rung 0 of the knowledge ladder. A reel somebody sends is not a weak source
competing with Context7 and the web; it is the thing that made you ask. So a lead is permanently
citable: False, carries provenance but no confidence, interprets nothing, and names every channel
it could not read.

A defect found by installing yt-dlp, which reading it had not. The Instagram extractor says
logged-in, hyphenated, and the matcher looked for login and logged in — so it scored the most
common real failure False. It now keys on the --cookies invariant that raise_login_required
appends to every message it raises, which covers extractors nobody here has read. The field is
renamed needs_auth: the common failure is a gated post, and calling it rate_limited stated
something false. Both observed strings are pinned verbatim in the tests. _SCENE_THRESHOLD is
measured rather than reasoned — real cuts score 0.69–1.00, a full-frame recolour 0.075.

screenshot-to-code becomes user-invoked. The host's always-on skill listing is a shared budget
and the two flagships need the characters back. The price is stated rather than hidden: a pasted
mockup now reaches nothing unless the operator types the name, and which-skill says so.

open-gaps §44 and §45 register what was studied and deliberately not built — an import keel
REPL surface, and prime-agent's self-refinement. Both were verified at the consuming function: one
of four hosts holds interpreter state across tool calls, and it is Codex, whose tool-deferral
behaviour has never been measured.

Verified on this branch

python -m unittest discover -s tests 1468 tests, OK (4 skipped)
the twelve gates all exit 0 — build.py --check, validate_manifests, check_consistency, check_description_budget, verify_pointers, check_hypotheses, check_schema_fields, check_stated_facts, check_tool_carriers, check_packaging_wire, verify_commands, run_evals --validate
ruff check . clean
npm test (src/workflow) · MCP apps gate 6/6 · 10/10

And as installed, not just as a repo: the built plugin copied into Claude Code's own plugin
cache answers initialize with serverInfo: keel 0.17.0 and serves 77 tools over stdio from a cwd
outside this repo — the version the server reports is its own now rather than FastMCP's, which only
shows up on a running host.

62 files, +4,111 / −127. Zero commits behind main, so it fast-forwards.

🤖 Generated with Claude Code

… question had no door

`observed` was the only strong rung in the verification ladder still resting on prose
the agent wrote itself, while the decision ladder had already been given carriers the
agent cannot forge. `observation.py` reads the artifact a run leaves behind — OTLP
trace, JUnit, coverage, LCOV — and `ledger_record_observation` (ledger v0.34) refuses
five ways before it writes. The property bought is contestability, not unforgeability:
a later reader can open the file and disagree.

`leads.py` is rung 0 of the knowledge ladder. A reel somebody sends is not a weak source
competing with Context7 and the web; it is the thing that made you ask. So a lead is
permanently `citable: False`, carries provenance but no confidence, interprets nothing,
and names every channel it could not read.

Installing yt-dlp to verify that door found a defect reading it had not. The Instagram
extractor says `logged-in`, hyphenated, and the matcher looked for `login` and
`logged in`, so it scored the most common real failure False. It now keys on the
`--cookies` invariant that `raise_login_required` appends to every message it raises,
which covers extractors nobody here has read. The field is renamed `needs_auth`: the
common failure is a gated post, and calling it `rate_limited` stated something false.
Both observed strings are pinned verbatim in the tests. `_SCENE_THRESHOLD` is measured
rather than reasoned — real cuts score 0.69-1.00, a full-frame recolour 0.075.

`screenshot-to-code` becomes user-invoked. The host skill listing is a shared budget and
the two flagships need the characters back; the price is that a pasted mockup now reaches
nothing unless the operator types the name, and `which-skill` states it rather than
hiding it.

open-gaps 44 and 45 register what was studied and deliberately not built: an `import keel`
REPL surface, and prime-agent's self-refinement. Both were verified at the consuming
function — one of four hosts holds interpreter state across tool calls, and it is Codex,
whose tool-deferral behaviour has never been measured.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3e5c64d9-d068-4feb-b5aa-0adb13339e9d


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

1 participant