ai-os · evolving agents labs

Check it yourself.

Everyone can generate. Almost nobody can tell you, six months later, whether the number in their README is still the number their code produces — and prove it to a stranger. You are the stranger. This page is the proof.

This is not the demo. It shows you nothing about how the system works — no flow, no agent, no step. The desk is the demo, and it is the one to open first. This page exists for afterwards, when you want to stop taking anybody's word for the numbers.

Nothing here is simulated. Every byte checked below is a real artifact out of projects/coclea-sr and projects/hemo-verified, embedded in this file verbatim. The checking runs in your browser: no network, no server, no model. Save the page and it still works offline.

The code doing it is a second implementation, in a second language, of projects/coclea-sr/verify_ledger.py — a verifier that shares code with the thing it verifies is checking that the code is self-consistent, not that the record is true. Both agree on these bytes; scripts/verify-page/test.mjs is what says so.

01The chain

Each ledger entry names the SHA-256 of the line before it, so the record is only as editable as the reader is incurious. Three properties per entry, and they are not the same property: the link holds, the line is its own canonical encoding, and the artifact it names still hashes to what it recorded.

not run

Editing an entry and leaving the rest alone breaks exactly one link — the next one — and does not move the head, because the head is the hash of the last line. Re-chaining the tail hides every break and does move it. That is why a published head is worth having and why comparing heads alone is not a check.

02The directory name is the hash

A run lives in runs/<experiment>-<12 hex digits>/, and those twelve digits are the beginning of the SHA-256 of the file inside it. Nothing has to be trusted: hash the bytes, read the name.

not run

03Intact is not readable

A hash says the bytes are the ones recorded. It says nothing about whether anything can read them. Python's json.dumps emits bare NaN and -Infinity, which JSON does not have — so a run can be perfectly intact and parse in no language but the one that wrote it. Two attested artifacts are in that state, and one of them travels with this page.

not run

Your browser refuses it for free. Python needed a deliberate parse_constant to refuse its own output, and until somebody wrote one, the check passed on exactly the files it existed to catch. That is FRICTION F8.

04The count on the front page

The gate count is not a number somebody types. It is len(distinct gates) and len(reports) over the report artifacts — which is how it was caught saying 26 / 125 for six days after it had become 28 / 135.

not run

05Six published claims, resolved

Every sentence below is quoted from the repository or the site. Each one is resolved live out of the artifact that produced it, with the path it came from. This is what scripts/check-coclea-results.py does in CI; here you watch it happen.

not run

06The one that moved

Reproducibility is a claim about two runs, so it needs two artifacts. On the left is the H0 report as it was committed; on the right, the same report regenerated from the code that was committed beside it. Every number is bit-identical except one.

not run

66 of A4's 98 measurements are exactly 0.0, so one uncorrupted case sitting at 1.03e-13 in one build and 0.0 in another crosses into a 66-wide tie block and drags a rank statistic by 0.054. The composite never moves, because A4 is a hard gate and contributes a pass/fail against a threshold far above the noise floor — never its score. A statistic that depends on a library version moves silently at the next upgrade, which is why the artifact now records the environment it was produced on.

Generated by scripts/build-verify-page.py from the artifacts themselves — a page maintained separately from its data stops being true within a week, quietly, while continuing to look right.

Evolving Agents Labs · the demo — the desk, which is what the system looks like · the repository · what would make this matter