<!-- GENERATED by tools/gen-md-twins.py from evidence/onedroid.ai.html. The HTML page is authoritative; if this file disagrees with it, this file is stale. -->
# OneDroid: its public claims and the evidence behind them — OneDroid evidence

> Every checkable claim onedroid.ai makes on its own public pages, where it is made, and what backs it: 78 evidenced, 51 contradicted (41 of them low confidence), 98 with no evidence published, of 227. Checked 2026-10-27. Nothing here says true or false.

Canonical: https://onedroid.ai/evidence/onedroid.ai

Evidence pages

Evidence page · onedroid.ai · checked 2026-10-27 · on ourselves

# OneDroid: its public claims,
and the evidence behind them.

This page lists the checkable claims onedroid.ai makes on its own public pages,
in its docs and in its public repository, where each claim is made, and what OneDroid has published that backs it.
OneDroid checked itself on 2026-10-27, with the same method and the same three verdicts it applies to other
companies' pages, from its own public sources only: 227 claims, 78 evidenced,
51 contradicted (41 of them low confidence), 98 with no evidence published.
Nothing on this page says a claim is true or false. Every reference points into a source whose sha256 as fetched is
listed at the end of the page, so anyone can fetch the same bytes and compare. The same page as Markdown:
/evidence/onedroid.ai.md.

## How to read this page

Verdict | Meaning | Count |

EVIDENCED | an artefact on the company's own surfaces would be false if the claim were | 78 |

CONTRADICTED | the company's own surfaces disagree with the claim; both sides are referenced | 51 (41 low confidence) |

NO EVIDENCE PUBLISHED | the claim is stated; nothing beyond the statement backs it in the sources checked | 98 |

These are the only three verdicts. They are statements about the company's own published sources as fetched on
2026-10-27, not about the world. A claim with no evidence published may well be true; the page says only that
the company has not shown it. A contradicted claim may have a reading that reconciles the two sources; where the
reviewers saw one, the note says so. Each claim has an id (C-001, C-002, ...) that is also its anchor on this page.
The method and the rules for every page are on the evidence pages index.

### Limits

Same sources only: the reviewers read what the company published and nothing else. They did not test the product,
interview anyone or use outside records. Every verdict is about the sources as fetched on 2026-10-27; a page can
change after that. One run is a sample of a moving site: a claim not listed may be right or wrong. The reviewers are AI agents run by OneDroid, checked by hand on a sample. OneDroid checked itself, so this page is a self-report made with a disclosed method, not an independent audit; the sources as fetched are fingerprinted below so anyone can repeat it.

### Corrections

If a line on this page is wrong, write to michal@onedroid.ai naming the claim id.
A wrong quote, URL or fingerprint is corrected and listed in the change log. When a contradicted claim is fixed on the
site, it is checked again from the new sources, with a new date and new fingerprints, and the verdict changes when the
evidence supports it; the date of the fix is recorded in the change log.

### Change log

2026-10-27: first run. Withdrawn by the reviewer before publication: C-042 (the lister paraphrased: the site says OneDroid Argus does not judge the diff, never that it never reads it (orchestrator correction, HOLDOUT-orchestrator.md)), C-050 (the lister paraphrased: the site says the certificate can be checked with the open CLI, no OneDroid account and no contact with OneDroid, through a chain RPC endpoint you choose; the word offline appears nowhere (orchestrator correction)), C-093 (the lister paraphrased: the site says the control plane that seals the set and adjudicates the verdict is hosted and closed; no page names a generator (orchestrator correction)). The morning run of the same day listed 174 claims (47 evidenced, 22 contradicted, 105 with no evidence published) and copy fixes merged that day closed 8 of the 22 before this afternoon re-run on the live site.

## Contradicted (10)

Id | Claim, as made | Made at | Both sides |

C-040 | The people who build Argus did not choose the ticketing system and did not write a check for it; one engineer's coding agent wrote and ran the checks. | onedroid.ai/llms-full.txt (PAGE /case-study-otrs-znuny: In short and setup table) | Same page says "The people who build OneDroid Argus did not choose the system; that engineer coding agent wrote and ran the checks" (L635) yet also "An engineer on our team" and, under limits, "The same team wrote the checks, ran them and wrote this" (L769). The blog twin carries the same pair: "did not choose the system and did not write a check" vs "The same team wrote the checks".
sources/llms-full.txt#L635-637
sources/llms-full.txt#L675
sources/llms-full.txt#L769 |

C-054 | argus certificate verify exits 0 only when every anchor was read back and matched. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Verify a certificate) | README: "Exit code 0 means every anchor read back and matched". Same repo docs/CERTIFICATE.md:273-275 and docs.onedroid.ai/argus-ledger.md:184: certificate verify exits 0 "when at least one of the run verdict anchors verified and no anchor mismatched"; unreachable or pending anchors (for example a private chain) do not fail it. "every" vs "at least one".
sources/argus-runner-README.md#L109-110
repo(ea08f5a)/docs/CERTIFICATE.md#L273-275
https://docs.onedroid.ai/argus-ledger.md (HTTP 200)#L184-185 |

C-055 | When the tester reveals the set, every scenario is published with trigger, expectation, observed evidence and verdict, and any scenario can be replayed by the runner against the same artefact by anyone. | onedroid.ai/argus.md (The reveal)
onedroid.ai/pricing.md (runner bullets: Executes any revealed scenario)
onedroid.ai/llms-full.txt (PAGE /pricing: runner bullets) | Pricing says the open runner "executes any revealed scenario, so anyone who runs it can replay a verdict". README lists "reveal document assembly and replay" as deliberately not in the repo, and the ledger doc names `argus replay` and `argus anchor verify`, which do not exist in cmd/argus (grep for cmd == "replay"/"anchor": none). Docs/CERTIFICATE.md also documents `anchor verify`.
sources/pricing.md#L31
sources/argus-runner-README.md#L125-129
https://docs.onedroid.ai/argus-ledger.md (HTTP 200)#L195-198 |

C-056 | Every scenario ends as passed, failed, errored or not_applicable (it could not run), and neither an error nor not_applicable is ever a pass; a load run has a fourth outcome, degraded. | onedroid.ai/argus.md (The reveal: Every scenario ends as passed, failed, errored or not_applicable)
onedroid.ai/llms-full.txt (PAGE /: FAQ Does OneDroid Argus score my build?)
onedroid.ai/llms-full.txt (PAGE /qa-teams: 4. Judge) | Text lists four outcomes (passed, failed, errored, not_applicable) and then says a load run "has a fourth outcome, degraded"; degraded is a fifth outcome (it was the fourth before not_applicable was added). Stale count on the same sentence pair.
sources/llms-full.txt#L389-392
sources/argus.md#L124-128 |

C-064 | A load target takes load only after its operator lists it, and a load ramp never targets a live broker. | onedroid.ai/argus.md (Under load; Not a free hand on a live system)
onedroid.ai/llms-full.txt (PAGE /: FAQ Where does it run?)
onedroid.ai/llms-full.txt (PAGE /security: Where the verifier runs) | "a load ramp never targets a live broker" vs argus.md "a live system should never be listed" (advice) and tester guide "List a lab or a dedicated test broker, never a live one". Enforcement is a naming heuristic: only urls with a prod/production/prd/shared segment are refused (loadallowed.go:75-79).
sources/llms-full.txt#L249
sources/argus.md#L145-148
https://docs.onedroid.ai/argus-tester-guide.md (HTTP 200)#L1573-1575 |

C-076 | Argus keeps the scenario corpus in OneDroid Engram and reaches its control plane through OneDroid Synapse. | onedroid.ai/llms.txt (Positioning)
onedroid.ai/argus.md (What it installs)
onedroid.ai/llms-full.txt (PAGE /engram: intro) | Site says Argus reaches its control plane through Synapse and keeps the scenario corpus in Engram. README and quickstart connect the CLI, runner and MCP client straight to https://argus-dev.onedroid.ai (ARGUS_CP_URL, .../mcp) and none of the Argus docs or the repo mention Synapse or Engram (searched).
sources/llms-full.txt#L520-524
sources/argus-runner-README.md#L52-60
sources/argus-runner-README.md#L93-95 |

C-184 | Chain steps gained claim forms in v0.3.70: body has total == 42, within 2% of, body not contains, body has no <field>, body every <list> has ..., and elapsed < 500ms on an http step. | docs.onedroid.ai/argus.md (What changed recently: More claim forms on chain steps (v0.3.70)) | The repo own SKILL.md (published 2026-10-23) documents `within 2% of`, `body not contains`, `body has no ...`, but no Go code in cmd/argus or internal/ defines these claim forms (grep within/not contains/has no/elapsed: none).
sources/argus-docs.md#L129-132
repo(ea08f5a)/skills/scenario-author/SKILL.md#L821,L1012
repo(ea08f5a)/internal/scenario/bodyassert.go, httpclaims.go, internal/chain/ (searched) |

C-189 | argus render-k8s --collect-sut-logs --sut-logs-via api collects the system's pod logs through the Kubernetes API for a cluster that refuses host mounts (v0.3.70). | docs.onedroid.ai/argus.md (What changed recently: Collect the system's pod logs through the Kubernetes API (v0.3.70)) | Docs and the repo own SKILL.md name `--sut-logs-via api`, but cmd/argus defines only --collect-sut-logs; grep for sut-logs-via over *.go finds nothing.
sources/argus-docs.md#L155-157
repo(ea08f5a)/skills/scenario-author/SKILL.md#L789
repo(ea08f5a)/cmd/argus/main.go#L257 (only --collect-sut-logs is defined) |

C-200 | The OneDroid Argus runner needs a Kubernetes cluster that can reach both the system under test and the control plane; the runner connects out only and needs no inbound route. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Quickstart intro) | README: "You need ... a Kubernetes cluster that can reach both your system and the control plane"; the OTRS study ran "Docker Compose, two OneDroid Argus executors side by side, no cluster" and the quickstart preflight has a Docker (compose) machine path.
sources/argus-runner-README.md#L43-44
sources/llms-full.txt#L669
sources/argus-quickstart.md#L198-203 |

C-208 | A builder token reaches the same six-tool runner surface the author hat also has (validate-config, run, get-report, get-sagas, tail-logs, get-dashboard-url), never the scenario-authoring commands. | docs.onedroid.ai/argus-quickstart.md (Section 2: What a builder needs) | Quickstart: the builder token reaches "the same six-tool runner surface" including get-sagas and tail-logs. Builder guide (control-plane path, the builder-token path): "get-sagas and tail-logs are not available on this path" and its tool table lists five tools including runner__list_alerts.
sources/argus-quickstart.md#L133-136
https://docs.onedroid.ai/argus-builder-guide.md (HTTP 200)#L58-68
https://docs.onedroid.ai/argus-builder-guide.md (HTTP 200)#L93 |

## Contradicted, low confidence (41)

The disprove pass itself said a charitable reading reconciles each of these: a dated historical entry, a paraphrase, a feature documented for the hosted service but not yet in the public code snapshot. They are listed because the two surfaces do disagree as written.

Id | Claim, as made | Made at | Both sides |

C-003 | The tester wrote the checks in one session of about $5.30 for the feature. | onedroid.ai/llms-full.txt (PAGE /: hero)
onedroid.ai/argus.md (intro)
onedroid.ai/llms.txt (Cost paragraph) | Home/argus pages call the about $5.30 session the tester cost "for the feature", but the case study says that session "wrote both sets of checks" (the build checks and the 13 hidden judge checks), so part of the $5.30 is judge authoring, not per-feature testing cost. LOW confidence: the case study states it openly.
sources/llms-full.txt#L28-31
sources/llms-full.txt#L1047
sources/llms-full.txt#L1075 |

C-005 | Independent testing now costs the same order as the AI coding. | onedroid.ai/llms-full.txt (PAGE /: How it works / affordable paragraph)
onedroid.ai/argus.md (Why section, same order of magnitude)
docs.onedroid.ai/argus.md (Why it exists) | Hero says testing "costs what the AI coding costs"; the case study on the same site shows the whole cost $2.78 vs $1.97 (+41%) and a $5.30 tester session that is 2.7x to 5.2x the $1.97/$1.01 coding cost. LOW confidence: body text only says "same order".
sources/llms-full.txt#L22-24
sources/llms-full.txt#L1067-1069
sources/llms-full.txt#L1075 |

C-010 | With the tester, the coding agent used 69% fewer tokens (2.37 million vs 0.72 million). | onedroid.ai/llms-full.txt (PAGE /case-study-claude-code-alone-vs-tester: result table) | Arithmetic from the page raw numbers: (2.37-0.72)/2.37 = 69.6%, which the page own rounding (48.7% printed 49%, 41.1% printed 41%) would print as 70%, not 69%. LOW confidence: unrounded token means could give 69.3-69.9%.
sources/llms-full.txt#L1065
sources/llms-full.txt#L1021 |

C-012 | Compared with end-to-end testing by hand, Argus is faster and cheaper: no test scripts to write and keep alive, scenarios written once per feature. | onedroid.ai/llms.txt (Cost paragraph)
onedroid.ai/argus.md (Faster and cheaper than end-to-end testing by hand)
docs.onedroid.ai/argus.md (Is it end-to-end testing?) | The only cost data published compares Claude Code testing itself, not end-to-end testing by hand; the case study reports whole cost +41% and "Wall time: not compared", so "faster and cheaper than end-to-end testing by hand" has no figure behind it. LOW confidence: different comparator, qualitative claim.
sources/llms-full.txt#L1069-1071
sources/llms-full.txt#L1093
sources/llms.txt#L30-32 |

C-020 | Every check was shown able to fail: two deliberately broken builds turned red the checks that depend on the changed constant and left unrelated arithmetic checks green. | onedroid.ai/llms.txt (Case study entry)
onedroid.ai/llms-full.txt (PAGE /case-study-code-vs-user-guide: The method: Can a check fail?)
onedroid.ai/llms-full.txt (PAGE /: Shown on real code paragraph) | Page says every check was shown able to fail, but its method says the broken builds turned red only the checks depending on the changed constant "and left every unrelated check of the arithmetic green", i.e. unrelated checks were not shown to fail; L1355 adds held checks that "test less than their titles". LOW confidence: the reviewer reading is a second leg.
sources/llms-full.txt#L1271
sources/llms-full.txt#L1293
sources/llms-full.txt#L1355 |

C-039 | Argus compare ran end to end for the first time on 4 October 2026, on three systems, and on 5 and 6 October on a system the company did not pick. | onedroid.ai/argus.md (New, in early use)
onedroid.ai/llms-full.txt (PAGE /case-study-otrs-znuny: case study header: runs of 5 and 6 October 2026) | argus.md says compare ran "on a system we did not pick"; the OTRS case study says "An engineer on our team and his coding agent took two releases" and, under what it did not cover, "The same team wrote the checks, ran them and wrote this". LOW confidence: engineer choice vs company choice.
sources/argus.md#L175
sources/llms-full.txt#L635
sources/llms-full.txt#L769 |

C-048 | The final run happens once, against a pinned artefact, and the control plane adjudicates it. | onedroid.ai/argus.md (Run unseen, then adjudicated)
onedroid.ai/llms-full.txt (PAGE /: step 03)
onedroid.ai/llms-full.txt (PAGE /qa-teams: 4. Judge) | Pages say the final run happens once, but the FINOS study says "An earlier certified run of the same seven checks the same day gave the same verdict" (L905), the finding was "seen in every final run that day" (L911), and another final run was started and refused (L935). LOW confidence: design statement vs a same-day re-certification.
sources/argus.md#L102-103
sources/llms-full.txt#L2704-2705
sources/llms-full.txt#L905 |

C-058 | OneDroid Argus returns a verdict: passed or failed, or not_applicable when no check could run (a verdict, unlike the neutral conclusion of the diff-reading tools). | onedroid.ai/llms-full.txt (PAGE /: You already had the incident, closing paragraph: returns a verdict: passed or failed, or not_applicable when no check could run)
docs.onedroid.ai/argus.md (What changed recently, v0.3.72: a run where every check is not_applicable has the verdict not_applicable) | Home and docs call not_applicable a verdict ("a run where every check is not_applicable has the verdict not_applicable"); the GitHub-app doc files "every check was not applicable" under "no verdict about your system" -> neutral. LOW confidence.
sources/llms-full.txt#L108
sources/argus-docs.md#L112-113
https://docs.onedroid.ai/argus-github.md (HTTP 200)#L38 |

C-070 | Argus can read one row of the system's PostgreSQL database with a read-only query, ask Loki whether a log line exists, and make the system fail on purpose (stop, start or scale a deployment, delay or cut a connection). | onedroid.ai/argus.md (The run)
onedroid.ai/llms-full.txt (PAGE /changelog: 2026-10-11)
docs.onedroid.ai/argus.md (v0.3.69 and v0.3.70 notes) | Public runner chain step types are "mcp | ui | http | amqp" (chain.go:42): no db, logs or fault step and no fault_allowed_targets anywhere (grep *.go, *.md, *.yaml: none), though argus.md and the 2026-10-11 changelog present them as released. LOW confidence: public code last changed 2026-10-08 (d6cb047) and may lag the private release.
sources/argus.md#L105-110
sources/llms-full.txt#L3253-3266
repo(ea08f5a)/internal/scenario/chain.go#L42 |

C-071 | Nothing can be made to fail unless the system's operator lists it under fault_allowed_targets, Argus puts everything back, and the report and certificate say what was done. | onedroid.ai/argus.md (The run)
onedroid.ai/llms-full.txt (PAGE /changelog: 2026-10-11)
docs.onedroid.ai/argus.md (v0.3.69 Fault steps) | "Argus puts everything back" vs tester guide: "A failed undo does not change the verdict ... restore_outcome: failed ... FAULT NOT RESTORED", "does not raise an alert yet", and a crashed CLI process undoes only at the next executor start. LOW confidence: the guide also says every fault is undone by design.
sources/argus.md#L108-110
https://docs.onedroid.ai/argus-tester-guide.md (HTTP 200)#L752-754
https://docs.onedroid.ai/argus-tester-guide.md (HTTP 200)#L818-819 |

C-078 | The CLI is built for macOS and Linux; Windows is supported only through WSL 2. | onedroid.ai/argus.md (Surfaces: CLI)
docs.onedroid.ai/argus-quickstart.md (Windows) | Docs: CLI built for macOS and Linux, Windows only via WSL 2. Public CLI source has a native Windows variant (`//go:build windows`, "onboarding runs under bash there"), and the OTRS study ran on "One Windows laptop, Docker Compose". LOW confidence: release binaries may still be mac/Linux only.
sources/argus.md#L188-189
sources/argus-quickstart.md#L47-48
repo(ea08f5a)/cmd/argus/up_detach_windows.go#L1-8 |

C-082 | The 2026-10-11 changelog entry says the OneDroid Argus page now describes release 0.3.70; the docs say they describe Argus v0.3.72. | onedroid.ai/llms-full.txt (PAGE /changelog: 2026-10-11 OneDroid Argus 0.3.70, last sentence: The OneDroid Argus page now describes release 0.3.70)
docs.onedroid.ai/argus.md (What changed recently: These pages describe Argus v0.3.72) | Changelog 2026-10-11: "The OneDroid Argus page now describes release 0.3.70"; docs.onedroid.ai/argus: "These pages describe Argus v0.3.72". Versions differ and the changelog has no entry for 0.3.71 or 0.3.72. LOW confidence: later page update.
sources/llms-full.txt#L3272
sources/argus-docs.md#L108 |

C-087 | Argus certificate format argus-certificate/v4 is issued for runs with faults, and version 5 for a run whose verdict is not_applicable. | docs.onedroid.ai/argus.md (v0.3.69 and v0.3.72 notes) | Claim: v5 for a run whose verdict is not_applicable. Ledger doc and certificate.go: v5 is issued for any run that carries precondition results or at least one not_applicable scenario, which is wider (argus-docs.md:112-113 matches the narrower reading). LOW confidence.
sources/argus-docs.md#L112-113
https://docs.onedroid.ai/argus-ledger.md (HTTP 200)#L145
repo(ea08f5a)/internal/certificate/certificate.go#L36-39 |

C-091 | The runner container image is published at ghcr.io/onedro1d/argus-runner (tags: main, and sha-<commit> per build). | onedroid.ai/llms-full.txt (PAGE /changelog: 2026-10-09 The container image is published at ghcr.io/onedro1d/argus-runner)
raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Quickstart step 1: docker pull ghcr.io/onedro1d/argus-runner:main; each build also tagged sha-<commit>)
docs.onedroid.ai/argus-quickstart.md (Section 1, No operator yet?: public image ghcr.io/onedro1d/argus-runner:main) | README and changelog say the image is published (GitHub packages page shows main and sha-<commit> tags); BUILDING.md says the Dockerfile "has not been built yet: build it once before you rely on it" and "this repository does not publish anything by itself". LOW confidence: publication may come from a private pipeline.
sources/llms-full.txt#L3282-3283
sources/argus-runner-README.md#L47-50
repo(ea08f5a)/BUILDING.md#L68-71 |

C-097 | Anyone can sign up for the Argus evaluation control plane at https://argus-dev.onedroid.ai (e-mail, Google or Microsoft); it is a test environment with no promise that data is kept. | onedroid.ai/llms.txt (Status note)
onedroid.ai/argus.md (Surfaces; intro)
raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Quickstart) | ORCHESTRATOR HOLDOUT CORRECTION (the pass scored no): the dated 2026-10-09 changelog entry still says "A run still needs an account there, available by request" (llms-full.txt L3286) while argus.md, llms.txt, the README and the docs say anyone can sign up at argus-dev.onedroid.ai. LOW confidence: a dated historical entry, same shape as C-082/C-169. Original note: Surfaces agree (e-mail, Google or Microsoft; no promise data is kept). Sign-up not exercised (no accounts).
sources/llms-full.txt#L3286
sources/argus.md#L26-27
sources/llms.txt#L36 |

C-102 | The Argus runner was open sourced on 2026-10-09. | onedroid.ai/llms-full.txt (PAGE /changelog: 2026-10-09)
api.github.com/repos/OneDro1d/argus-runner (created_at 2026-10-07) | Changelog entry dated 2026-10-09 says "the repository has been public since 7 October, announced today"; GitHub created_at is 2026-10-07T22:26:48Z and the first commit is 2026-10-07. Open-sourcing date was 7 Oct; 9 Oct is the announcement. LOW confidence.
sources/llms-full.txt#L3274-3279
sources/github-repo.json#created_at=2026-10-07T22:26:48Z
repo(ea08f5a)/git log 5273171 2026-10-07 22:00 |

C-109 | Free tier covers hosted Synapse and Engram; the boundary with Enterprise is deployment shape, not seat count. | onedroid.ai/llms.txt (Pricing)
onedroid.ai/pricing.md (Where the free tier ends)
onedroid.ai/llms-full.txt (PAGE /synapse: FAQ) | Pricing: "There is no seat count that trips you over", boundary is deployment shape. Synapse page: "Free for individuals and small teams. For anything larger, email michal@onedroid.ai", and the free tier is headed "Individuals & small teams": a size boundary. LOW confidence: "larger" may mean larger deployments.
sources/pricing.md#L104-109
sources/llms-full.txt#L1679-1680
sources/pricing.md#L63 |

C-123 | The Synapse governance settings include PHI detection, credential encryption, an append-only audit trail, 6-7 year compliance retention, rate limiting and IP allowlisting, some forced on by a platform-wide override. | onedroid.ai/llms-full.txt (PAGE /synapse: Not a mockup: Governance, as switches) | Synapse page shows governance switches including "6-7 year compliance retention", padlocked rows "forced on by a platform-wide override"; Privacy says free-tier audit log entries are "retained for 12 months and then deleted", and the partner page lists "compliance-grade audit and retention" as an Enterprise addition. LOW confidence: screenshot may be of an enterprise configuration.
sources/llms-full.txt#L1631-1635
sources/llms-full.txt#L3566-3568
sources/partners-financial-services.html#L589 |

C-126 | Sensitive data is detected and redacted in the request path with a redaction reference for audit, tuned to exclude date patterns from free-text lanes. | onedroid.ai/llms-full.txt (PAGE /financial-services: What stops client data reaching the model?; Security)
onedroid.ai/llms-full.txt (PAGE /enterprise: PII and PHI screening) | Public page: sensitive data "detected and redacted in the request path". Unlisted partner page (HTTP 200, noindex): "Some controls in the reference deployment run in audit mode rather than blocking, and one detection gate is proven in a single application rather than platform-wide". LOW confidence: audit mode still detects.
sources/financial-services.md#L125-130
sources/partners-financial-services.html#L630 |

C-129 | OneDroid Synapse and Engram run bring-your-own-database; Hosted, hosted+own database and self-hosted shapes show different visibility (self-hosted: OneDroid sees nothing at runtime, no telemetry path back by default). | onedroid.ai/llms-full.txt (PAGE /security: Deployment topologies; Data visibility)
onedroid.ai/llms-full.txt (PAGE /synapse: FAQ What can OneDroid see?) | Synapse page and Privacy say with bring-your-own-database "every credential grant, event log entry, and document" is a row in your Postgres; Security says "Hosted + your database: The gateway is ours; Engram data lives in a Postgres you own" and OneDroid still holds encrypted credentials and sees tool-call metadata ("Everything above, minus your Engram content"). LOW confidence.
sources/llms-full.txt#L1534-1536
sources/llms-full.txt#L3536-3540
sources/llms-full.txt#L2140-2143 |

C-140 | OneDroid replies within one business day. | onedroid.ai/llms.txt (Optional: Contact)
onedroid.ai/argus.md (closing)
onedroid.ai/llms-full.txt (PAGE /: closing) | "We reply within one business day" for michal@onedroid.ai vs Privacy: for access/deletion requests to the same address "we aim to reply within a few business days". LOW confidence: privacy sentence is about data-subject requests.
sources/llms.txt#L114
sources/llms-full.txt#L2261
sources/llms-full.txt#L3569-3573 |

C-141 | Email to michal@onedroid.ai reaches Michal Bacia, who writes the code, not a sales queue. | onedroid.ai/argus.md (closing)
onedroid.ai/llms-full.txt (PAGE /about: A small team, reachable directly)
onedroid.ai/llms-full.txt (PAGE /contact: Who you are reaching) | Pages say michal@onedroid.ai is "not a sales queue"; the home page JSON-LD declares that address as contactPoint contactType "sales". LOW confidence: structured-data label only.
sources/llms-full.txt#L3197-3199
https://onedroid.ai/ (HTTP 200) JSON-LD L45 "contactType": "sales" |

C-146 | Audit log entries on the free hosted tier are retained for 12 months and deleted within 30 days of account deletion. | onedroid.ai/llms-full.txt (PAGE /privacy: Retention and deletion) | Privacy: free-tier audit log retained 12 months then deleted. Synapse page screenshot caption lists "6-7 year compliance retention" forced on platform-wide, and the partner page treats "compliance-grade audit and retention" as an Enterprise addition. LOW confidence: different tiers possible.
sources/llms-full.txt#L3566-3568
sources/llms-full.txt#L1631-1635
sources/partners-financial-services.html#L589 |

C-148 | Requests for access, correction, export or deletion get a reply within a few business days and always within applicable legal timelines. | onedroid.ai/llms-full.txt (PAGE /privacy: Retention and deletion) | Privacy says a few business days for requests; the same address is promised a one-business-day reply on Security, About and Contact. LOW confidence: different request types.
sources/llms-full.txt#L3569-3573
sources/llms-full.txt#L2261
sources/llms-full.txt#L3198-3199 |

C-159 | Companies spent a fifth to a third of their IT budget on quality assurance and testing; Capgemini's World Quality Report first measured it at 18% and called it an indication of insufficient attention on quality. | onedroid.ai/argus.md (Why)
docs.onedroid.ai/argus.md (Why it exists)
onedroid.ai/llms-full.txt (PAGE /: hero paragraph) | "between a fifth and a third" (20-33%) of IT budget, yet "first measured at 18%", below a fifth. LOW confidence: "for years" vs "first measured".
sources/argus.md#L57-59
sources/argus-docs.md#L35-37 |

C-169 | The changelog lists what actually shipped with dates, and entries are added when something ships, not when it is planned. | onedroid.ai/llms-full.txt (PAGE /changelog: intro and footer)
onedroid.ai/llms.txt (Product: Changelog) | Changelog says entries are added when something ships; its newest entry is 2026-10-20 and the newest Argus release entry is 0.3.70 (2026-10-11), while docs.onedroid.ai says v0.3.71 and v0.3.72 shipped; the 14 Oct privacy update and the case studies of 7-21 Oct have no entries. LOW confidence.
sources/llms-full.txt#L3233-3236
sources/llms-full.txt#L3352-3353
sources/argus-docs.md#L108-127 |

C-176 | Argus checks read the customer's database in read-only transactions; Argus writes to it only if a scenario declares a cleanup block, and then only with the credential you give it. | onedroid.ai/argus.md (Boundaries: Not a free hand on a live system)
onedroid.ai/llms-full.txt (PAGE /: FAQ Where does it run?)
onedroid.ai/llms-full.txt (PAGE /security: Where the verifier runs) | Pages say checks read the database "in read-only transactions"; in the public runner the database-state check uses a JDBC pool with autocommit=true and no read-only setting (database-state.jmx:45), read-only is enforced by authoring-time word matching (verifysql.go:119) and the role, and the tester guide says "The real guarantee is the role". grep READ ONLY in runner, argus, templates finds no scenario-path hit. LOW confidence: the v0.3.70 db step does use BEGIN READ ONLY per docs.
sources/llms-full.txt#L249
sources/llms-full.txt#L503
repo(ea08f5a)/templates/database-state.jmx#L45 |

C-178 | OneDroid has no financial-services reference yet: the flagship reference is in regulated healthcare, and design partners get roadmap influence. | onedroid.ai/financial-services.md (What we don't claim: Not a financial-services logo yet)
onedroid.ai/llms-full.txt (PAGE /financial-services: What we don't claim: Not a financial-services logo yet) | Pages say no financial-services reference yet; About says Providentia works in "health data, financial trading" estates and the Dark Factory README says the method was extracted from production use at OneDroid across "financial-trading estates". LOW confidence: "reference" may mean a named logo.
sources/financial-services.md#L212-216
sources/llms-full.txt#L3163-3166
https://raw.githubusercontent.com/OneDro1d/dark-factory/main/README.md (HTTP 200) Provenance: "production use at Providentia Worldwide and OneDroid across enterprise health-data and financial-trading estates" |

C-180 | Argus can test a system behind Clerk: targets.auth takes type: clerk_session and the executor mints a short-lived session per run (v0.3.72). | docs.onedroid.ai/argus.md (What changed recently: Testing a system behind Clerk (v0.3.72)) | Docs say targets.auth takes type: clerk_session (v0.3.72); the public runner has no such type (searched whole clone). LOW confidence: public code last changed 2026-10-08.
sources/argus-docs.md#L116-118
repo(ea08f5a)/(grep clerk_session over *.go, *.md, *.yaml: no match) |

C-182 | On an instance that declares money_handling, money_writes.allow can allow a runnable ## CLEANUP by form, a ui spec and fault steps, and a refused scenario does not run its ## CLEANUP (v0.3.71). | docs.onedroid.ai/argus.md (What changed recently: Allow entries for cleanup, ui and fault (v0.3.71)) | Docs (v0.3.71) say money_writes.allow can allow runnable ## CLEANUP by form, a ui spec and fault steps; the public money_writes allow entry is an exact (method, path) and no fault step exists in the public runner. LOW confidence: public code may lag.
sources/argus-docs.md#L121-124
repo(ea08f5a)/internal/scenario/moneywrites.go#L20
repo(ea08f5a)/(no fault_allowed_targets) |

C-186 | An amqp step can listen, queue_bind and decode gzip, reading the message a request caused without taking it from the system's own consumer (v0.3.70). | docs.onedroid.ai/argus.md (What changed recently: amqp listen, queue_bind and decode: gzip (v0.3.70))
onedroid.ai/llms-full.txt (PAGE /changelog: 2026-10-11: reading a message from a broker without taking it from the system's own consumer) | Docs (v0.3.70) say an amqp step can listen, queue_bind and decode gzip; the public amqp step ops have no listen or queue_bind and grep for gzip/queue_bind finds nothing. LOW confidence: public code may lag.
sources/argus-docs.md#L145-147
repo(ea08f5a)/internal/scenario/amqpstep.go#L96-99 (ops publish, consume, declare_queue, declare_exchange ...) |

C-187 | On an instance that declares money_handling, the owner's money_writes.allow list can name an HTTP route, an amqp operation, an mcp tool, a db step or a logs step (v0.3.70). | docs.onedroid.ai/argus.md (What changed recently: Allow entries for every engine (v0.3.70)) | Docs (v0.3.70) say money_writes.allow can name an amqp operation, an mcp tool, a db step or a logs step; the public allow entry is an exact (method, path) and no db/logs step exists. LOW confidence: public code may lag.
sources/argus-docs.md#L148-151
repo(ea08f5a)/internal/scenario/moneywrites.go#L20 |

C-188 | An mcp step can read data a gateway wraps in text (extract, claims written body extracted ..., unavailable and poll) (v0.3.70). | docs.onedroid.ai/argus.md (What changed recently: An mcp step can read data a gateway wraps in text (v0.3.70)) | Docs (v0.3.70) say an mcp step can use extract and claims `body extracted ...`; no such code in the public runner (only the skill text mentions it). LOW confidence: public code may lag.
sources/argus-docs.md#L152-154
repo(ea08f5a)/skills/scenario-author/SKILL.md (mentions)
repo(ea08f5a)/internal/mcp, internal/chain, internal/scenario (grep "body extracted": none) |

C-190 | argus cloud-enroll --workspace <id> and argus cloud-create-workspace --name <name> exist (v0.3.69). | docs.onedroid.ai/argus.md (What changed recently: Enroll by workspace id, and create a workspace from the CLI (v0.3.69))
raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Quickstart step 2: cloud-create-workspace prints its id) | Docs (v0.3.69) say `argus cloud-enroll --workspace <id>` exists; in the public CLI the cloud-enroll flag set is control-plane, instance-id, revoke, token, token-dir (help_filter.go:43) and workspaceID is read only by cloud-switch-workspace. cloud-create-workspace does exist. LOW confidence: public code may lag.
sources/argus-docs.md#L165-167
repo(ea08f5a)/cmd/argus/help_filter.go#L43
repo(ea08f5a)/cmd/argus/main.go#L1588,L2226-2277 |

C-191 | Argus has a router-wiring doctor check, and argus doctor --tester runs the cluster checks without a tester.env (v0.3.69). | docs.onedroid.ai/argus.md (What changed recently: Four argus doctor fixes (v0.3.69))
docs.onedroid.ai/argus-quickstart.md (Section 4: Four more things changed in v0.3.69) | Docs (v0.3.69) say argus doctor has a router-wiring check; the public CLI has none (searched cmd/argus and internal/doctor). LOW confidence: public code may lag.
sources/argus-docs.md#L168-171
sources/argus-quickstart.md#L250-253
repo(ea08f5a)/(grep router-wiring over *.go: none) |

C-198 | Argus has two modes in the docs, Run (whichever scenarios you ask for, once) and Monitor (a reviewed scenario set on a schedule). | docs.onedroid.ai/argus.md (The two modes) | docs.onedroid.ai/argus says "The two modes" (Run, Monitor); the home page says "Three modes, one evidence contract", and the tester guide run modes are build, final, rehearsal, scheduled (plus compare). LOW confidence: different taxonomies.
sources/argus-docs.md#L86-91
sources/llms-full.txt#L142-164
https://docs.onedroid.ai/argus-tester-guide.md (HTTP 200)#L1368 |

C-201 | Runs are requested through the control plane's author tools, for example from an agent connected to its MCP endpoint https://argus-dev.onedroid.ai/mcp. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Quickstart step 5) | GET on the named MCP endpoint returns 404 "404 page not found" while the other OneDroid MCP endpoints answer an unauthenticated GET with 401. LOW confidence: the route may be POST-only; I did not POST.
sources/argus-runner-README.md#L93-95
https://argus-dev.onedroid.ai/mcp (GET HTTP 404, body "404 page not found")
https://engram.onedroid.ai/mcp and https://synapse.onedroid.ai/agent/mcp (GET HTTP 401) |

C-207 | Four local checks need no token: validate-scenario, validate-config, package-check and propose-from-repo; argus version answers with no token at all. | docs.onedroid.ai/argus-quickstart.md (Section 1 (argus version) and Section 2 (four local checks)) | Quickstart: four local checks need no token and "Everything else ... refuses"; code also runs `calm import` pre-auth and local ("PRE-AUTH and local, like validate-scenario"), plus preflight and doctor. LOW confidence: quickstart is about in-env commands.
sources/argus-quickstart.md#L105-107
repo(ea08f5a)/cmd/argus/calm_cmd.go#L47
repo(ea08f5a)/cmd/argus/main.go#L539-546 |

C-209 | argus doctor --tester (v0.3.47 or later) prints one PASS, FAIL or SKIP line per onboarding phase and exits 4 on any FAIL; plain argus doctor exits 0 when the demo-scenarios check is only a warning (v0.3.52 or later). | docs.onedroid.ai/argus-quickstart.md (Section 4) | Docs: doctor --tester prints "PASS, FAIL or SKIP" per phase; code comment says "PASS/WARN/FAIL/SKIP" lines. Exit 4 on FAIL matches. LOW confidence.
sources/argus-quickstart.md#L244-248
repo(ea08f5a)/cmd/argus/doctor_tester.go#L20,L409 |

C-223 | Credentials are held per user, per hub, and sensitive data is detected and redacted in the request path rather than in a batch job. | onedroid.ai/financial-services.md (Then it clears the gates: Security)
onedroid.ai/llms-full.txt (PAGE /financial-services: Security) | Same page says credentials are held "per user, per hub" (L77) and "per user, per workspace, per account" (L108); request-path redaction vs partner page "audit mode ... single application rather than platform-wide". LOW confidence.
sources/financial-services.md#L77-78
sources/financial-services.md#L108-110
sources/partners-financial-services.html#L630 |

C-227 | OneDroid subprocessors operate in the United States, and a data processing agreement is available by email. | onedroid.ai/llms-full.txt (PAGE /privacy: Where GDPR or CCPA applies) | Privacy: "Our subprocessors operate in the United States", yet Azure is a named subprocessor, the FINOS study ran on "a shared Azure Kubernetes cluster in Poland Central" and request logs go to an EU log store. LOW confidence: self-run log store is not a subprocessor.
sources/llms-full.txt#L3579-3580
sources/llms-full.txt#L857
sources/llms-full.txt#L3488-3489 |

## Evidenced (78)

Id | Claim, as made | Made at | Artefact |

C-006 | The coding agent cost 49% less with the tester ($1.01 vs $1.97). | onedroid.ai/llms.txt (Case study entry, 49% less)
onedroid.ai/llms-full.txt (PAGE /case-study-claude-code-alone-vs-tester: result table (-49%))
onedroid.ai/llms-full.txt (PAGE /case-studies: card for the alone-vs-tester study) | sources/llms-full.txt#L1067
sources/llms-full.txt#L1075
Published means $1.97 and $1.01 give -48.7%, rounding to the quoted 49%; arithmetic reconciles, but the inputs are themselves only restated means. |

C-007 | Counting the tester's session, the whole cost 41% more ($2.78 vs $1.97). | onedroid.ai/llms.txt (Case study entry)
onedroid.ai/llms-full.txt (PAGE /case-study-claude-code-alone-vs-tester: result table (+41%)) | sources/llms-full.txt#L1069
sources/llms-full.txt#L1075
1.01 + 5.30/3 = 2.78 and 2.78/1.97 = +41%: arithmetic reconciles from the published means; inputs themselves are restated. |

C-011 | The tester's one-off $5.30 adds about $1.77 to each of the three runs. | onedroid.ai/llms-full.txt (PAGE /case-study-claude-code-alone-vs-tester: after result table)
onedroid.ai/llms-full.txt (PAGE /changelog: 2026-10-20 entry) | sources/llms-full.txt#L1075
5.30/3 = 1.77 per run; arithmetic reconciles from the published figures. |

C-014 | The equivalence-tester setup cost $10.04 a run, 41% less than working alone at $16.92. | onedroid.ai/llms.txt (Case study: one modernization)
onedroid.ai/llms-full.txt (PAGE /case-study-modernization-three-setups: result table) | sources/llms-full.txt#L1189
10.04/16.92 = -40.7%, rounding to the quoted 41%; arithmetic reconciles from the published means, which are restated. |

C-017 | 100 checks from 37 published claims in a decades-old Fortran library's user guide were sealed before the run: 91 held, 9 failed, 0 errored. | onedroid.ai/llms.txt (Case study: does the code do what its user guide says?)
onedroid.ai/llms-full.txt (PAGE /case-study-code-vs-user-guide: In short and result table)
onedroid.ai/llms-full.txt (PAGE /: Shown on real code paragraph) | https://base-sepolia.blockscout.com/api/v2/transactions/0x53ff7fd12710b90183bb166821766fcc5b6152b7e7b05d1a08161575f4632228#HTTP 200, block_number 48212445, payload scenario_count=100
https://base-sepolia.blockscout.com/api/v2/transactions/0x6228ba08bc8532962b225ab007c1ee9c040f3e3ec718d20b3e035873e3b91bc2#HTTP 200, block_number 48212457, payload verdict=failed tallies passed 91 failed 9 errored 0
sources/llms-full.txt#L1301-1317
PARTIAL: chain payloads quote scenario_count=100 and tallies 91 passed / 9 failed / 0 errored at the quoted blocks; the "37 published claims" mapping is not on chain. |

C-022 | The sealed set and the verdict were recorded on Base Sepolia (blocks 48212445 and 48212457) and submitted to Bitcoin through OpenTimestamps. | onedroid.ai/llms-full.txt (PAGE /case-study-code-vs-user-guide: How anyone can check it) | https://base-sepolia.blockscout.com/api/v2/transactions/0x53ff7fd12710b90183bb166821766fcc5b6152b7e7b05d1a08161575f4632228#HTTP 200, block_number 48212445, payload scenario_count=100
https://base-sepolia.blockscout.com/api/v2/transactions/0x6228ba08bc8532962b225ab007c1ee9c040f3e3ec718d20b3e035873e3b91bc2#HTTP 200, block_number 48212457, payload verdict=failed tallies passed 91 failed 9 errored 0
PARTIAL: both transactions answer 200 at blocks 48212445 and 48212457 and carry the sealed-set hash and the verdict; the Bitcoin OpenTimestamps receipt is not published or checked. |

C-026 | Seven checks were sealed before the run against the FINOS CALM trades API and MCP demo: 5 passed, 2 failed, 0 errored (certified run of 7 October 2026). | onedroid.ai/llms.txt (Case study: FINOS CALM)
onedroid.ai/llms-full.txt (PAGE /case-study-finos-calm: In short and result table) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#HTTP 200, block_number 47817413, payload scenario_count=7
https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#HTTP 200, block_number 47817439, payload verdict=failed tallies passed 5 failed 2 errored 0, artifact_digest sha256:feb820a3...
sources/llms-full.txt#L891-905
On-chain payloads (2026-10-07T19:58Z and 19:59Z) carry scenario_count=7 and tallies passed 5, failed 2, errored 0, verdict failed. |

C-027 | Six of the seven checks were generated by argus calm import from the demo's CALM architecture file and one was written by hand. | onedroid.ai/llms-full.txt (PAGE /case-study-finos-calm: In short and setup table) | argus-runner@ea08f5a:cmd/argus/calm_cmd.go#L13-16
https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#HTTP 200, block_number 47817413, payload scenario_count=7
PARTIAL: `argus calm import` is registered in the public CLI and the sealed set holds 7 scenarios; the 6-generated/1-handwritten split is not shown. |

C-030 | The sealed set was recorded before the run in block 47817413 (tx 0x9fccbd30...32adc) and the verdict after it in block 47817439 (tx 0x8718c0b6...ce7a) on Base Sepolia, plus a private chain and Bitcoin via OpenTimestamps. | onedroid.ai/llms-full.txt (PAGE /case-study-finos-calm: How anyone can check it later) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#HTTP 200, block_number 47817413, payload scenario_count=7
https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#HTTP 200, block_number 47817439, payload verdict=failed tallies passed 5 failed 2 errored 0, artifact_digest sha256:feb820a3...
Both transactions exist at exactly the quoted blocks 47817413 and 47817439 on Base Sepolia with the full hashes printed on the page; private chain and Bitcoin receipt not checked. |

C-031 | Before the run Argus read the image digests actually running and found exactly the three declared; a final run declaring a digest that was not running was refused before any check ran. | onedroid.ai/llms-full.txt (PAGE /case-study-finos-calm: How anyone can check it later) | argus-runner@ea08f5a:internal/artifactmeasure/measure.go#L196-203
https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#HTTP 200, block_number 47817439, payload verdict=failed tallies passed 5 failed 2 errored 0, artifact_digest sha256:feb820a3...
PARTIAL: the runner code contains the exact refusal text "is not among the image digests running ... nothing was bound", and the verdict payload artifact_digest sha256:feb820a3... matches the declared trades-mcp-server digest prefix; the measurement of exactly three running digests is not on chain. |

C-033 | One sealed set of 26 checks was run three times on each of OTRS Community Edition 6.0.30 and Znuny 7.3.7 with Argus compare, finding six differences between the releases. | onedroid.ai/llms.txt (Case study: OTRS 6.0.30 and Znuny 7.3.7)
onedroid.ai/llms-full.txt (PAGE /case-study-otrs-znuny: In short)
onedroid.ai/argus.md (New, in early use) | https://base-sepolia.blockscout.com/api/v2/transactions/0x5258615ee2af56837808eb26182ddca2d6d7d185ad5b249e85b19e5db52b184d#block 47753301 (2026-10-06T08:21Z) payload scenario_count=26
https://base-sepolia.blockscout.com/api/v2/transactions/0xa930153c2206b1ea51ee287fc95744587431f6f427717c0afba2146fe0295aab#block 47753554 comparison_verdict identical 23 differs 9 noise 0 not_measured 0 runs 6 members 2
sources/llms-full.txt#L637
PARTIAL: chain shows a 26-scenario set sealed 2026-10-06 and a comparison verdict over 6 runs and 2 members (3 per system) with verdict differences; the six named differences are not on chain. |

C-034 | In set 2 Argus reported 23 cells identical, 9 that differ, none noisy and none not measured (set 1: 16 checks, 16 identical, 4 differ, 1 noise). | onedroid.ai/llms-full.txt (PAGE /case-study-otrs-znuny: In short and result table) | https://base-sepolia.blockscout.com/api/v2/transactions/0xa930153c2206b1ea51ee287fc95744587431f6f427717c0afba2146fe0295aab#block 47753554 comparison_verdict identical 23 differs 9 noise 0 not_measured 0 runs 6 members 2
https://base-sepolia.blockscout.com/api/v2/transactions/0x8ccbe50f8209d615a1e591e2545c8b9a67a63298af0d46016f08d48396c9410a#block 47726730 (2026-10-05T17:35Z) comparison_verdict identical 16 differs 4 noise 1 not_measured 0 runs 6 members 2
sources/llms-full.txt#L689-705
Chain comparison_verdict counts match: set 2 identical 23, differs 9, noise 0, not_measured 0; set 1 identical 16, differs 4, noise 1 (payload counts.checks reads 25 and 15 against 26 and 16 on the page). |

C-041 | Argus exercises the running system with nothing mocked: HTTP, the message broker, the database, web pages in a real browser. | onedroid.ai/llms.txt (Positioning)
onedroid.ai/argus.md (Is it end-to-end testing?)
docs.onedroid.ai/argus.md (intro) | argus-runner@ea08f5a:internal/amqpengine
argus-runner@ea08f5a:internal/httpload/httpload.go
argus-runner@ea08f5a:testkit/ui
PARTIAL: public repo contains the HTTP, AMQP, SQL-verify and Playwright UI engines; "nothing mocked" cannot be shown from code. |

C-044 | The builder's credential can ask for a run and read the verdict, and cannot read a check or an expected value. | onedroid.ai/llms.txt (Positioning)
onedroid.ai/argus.md (Your coding agent can't game it)
docs.onedroid.ai/argus-quickstart.md (Section 2, What a builder needs) | argus-runner@ea08f5a:internal/role/role.go#L1-30
argus-runner@ea08f5a:internal/mcpserver/tools.go#L33-77
argus-runner@ea08f5a:cmd/argus/session_init_cmd.go#L222-291
Builder hat gets only the six runner__* tools; a builder session init fails unless tools/list returns only runner__* tools. |

C-045 | During the build the runner reports only failing ids and observed reality, never what was expected. | onedroid.ai/argus.md (Run unseen, then adjudicated)
onedroid.ai/llms-full.txt (PAGE /qa-teams: 3. Build)
docs.onedroid.ai/argus.md (The holdout) | argus-runner@ea08f5a:internal/report/report.go#L212-228
argus-runner@ea08f5a:internal/failcontext/bundle.go#L6-7
report.go redactExpected nils expected values for the product (builder) hat; failure context is built on observed reality. |

C-046 | The scenario set is hashed and written to a cryptographic ledger before the build starts and revealed in full, with an on-chain anchor, when the tester chooses to reveal after the verdict. | onedroid.ai/llms.txt (Positioning)
onedroid.ai/argus.md (Sealed before the build)
onedroid.ai/llms-full.txt (PAGE /: Evidence anyone can replay) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#HTTP 200, block_number 47817413, payload scenario_count=7
https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#HTTP 200, block_number 47817439, payload verdict=failed tallies passed 5 failed 2 errored 0, artifact_digest sha256:feb820a3...
https://base-sepolia.blockscout.com/api/v2/transactions/0x08e53fd7af13d78f27fb13ca0136284d0ba89ab8a94f27852d4829fb3fd19a12#HTTP 200, block 50957709, payload kind=reveal document_sha256 scenario_count 18
Chain carries a set-sealed record before the run (19:58:34Z, run 19:58:48Z), a verdict record after it, and a reveal record with document_sha256; PARTIAL: the claim that the tester chooses the reveal is docs-only. |

C-049 | The verdict binds to a specific build and cannot be re-pointed at a later one. | onedroid.ai/argus.md (The reveal)
onedroid.ai/llms-full.txt (PAGE /qa-teams: 6. Show) | https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#HTTP 200, block_number 47817439, payload verdict=failed tallies passed 5 failed 2 errored 0, artifact_digest sha256:feb820a3...
argus-runner@ea08f5a:internal/certificate/verify.go#L678-697
argus-runner@ea08f5a:docs/CERTIFICATE.md#L50-51
Verdict anchor payload binds artifact_digest and certificate verify checks that digest against the anchor. |

C-052 | Decoy checks, meant to catch a runner that reports results it did not earn, are not implemented yet. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (What a certificate proves today) | argus-runner@ea08f5a:README.md#L28-31
Absence evidence: a recursive grep of the clone for "decoy" finds only the README sentence; no implementation exists in the public tree. |

C-053 | An anchor proves a statement existed no later than its block, not that it is true; a Bitcoin (OpenTimestamps) receipt stays pending until the calendar has a block attestation. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Other limits worth knowing) | argus-runner@ea08f5a:internal/chainread/ots/ots.go#L1
argus-runner@ea08f5a:docs/CERTIFICATE.md#L186
argus-runner@ea08f5a:cmd/argus/certificate_cmd.go#L125-132
Read-only OpenTimestamps verification and a pending status are implemented in the public verifier. |

C-057 | Argus gives no score: no aggregate number and no safe label. | onedroid.ai/argus.md (Not a score)
onedroid.ai/llms-full.txt (PAGE /: FAQ Does Argus score my build?)
onedroid.ai/llms-full.txt (PAGE /case-study-code-vs-user-guide: result note: Argus gives no score) | argus-runner@ea08f5a:schemas/report.schema.yaml
argus-runner@ea08f5a:internal/certificate/payloads.go#L30-34
Absence evidence: the report schema and anchored payloads carry only counts and a verdict word, no score field. |

C-059 | A scenario can declare a load (users held for a duration with p95 latency and error-rate limits); for message brokers a stepped ramp of up to 2,000 sessions a step by default finds the limit. | onedroid.ai/argus.md (Under load)
onedroid.ai/llms-full.txt (PAGE /: Three modes: Under load) | argus-runner@ea08f5a:schemas/scenario.schema.yaml#L31
argus-runner@ea08f5a:internal/scenario/amqpload.go#L161-162
argus-runner@ea08f5a:internal/scenario/httpload.go#L42
LOAD section, stepped sessions bounded to 1..2000 and max_sessions default 2000 are implemented in the scenario parser and config schema. |

C-060 | A load ramp records offered, sent, confirmed and delivered rates, publish-to-confirm and publish-to-delivery time, errors by class and any time the broker blocked. | onedroid.ai/argus.md (Under load) | argus-runner@ea08f5a:internal/amqpload/amqpload.go#L211-262
Step aggregation computes offered, sent, confirmed and delivered rates, publish-to-confirm and delivery latencies and a Blocked list. |

C-061 | An HTTP target can be ramped step by step, and the ramp stops at the first step that is not comfortable. | onedroid.ai/argus.md (Under load)
docs.onedroid.ai/argus.md (What changed recently, v0.3.66) | argus-runner@ea08f5a:internal/httpload/httpload.go#L155-215
HTTP ramp aggregation computes per-step Comfortable and stops the ramp at the first step that is not comfortable. |

C-062 | Stepped load ramps exist only for AMQP brokers and for one HTTP target at a time; none drives a web page in a browser. | onedroid.ai/argus.md (Under load, The limits)
onedroid.ai/llms-full.txt (PAGE /qa-teams: Not load on a web page)
onedroid.ai/llms-full.txt (PAGE /: Under load) | argus-runner@ea08f5a:internal/scenario/amqpload.go
argus-runner@ea08f5a:internal/scenario/httpload.go
argus-runner@ea08f5a:testkit/ui
Only AMQP and HTTP load kinds exist in the scenario package; the UI harness has no load mode. |

C-063 | No load ramp sits under a certified verdict or on a schedule. | onedroid.ai/argus.md (Under load, The limits) | argus-runner@ea08f5a:onboarding/HOW-TO-ARGUS-CONFIG.md#L163-165
PARTIAL: the config guide says a set with an HTTP Load scenario is not queued for final, scheduled or rehearsal; the AMQP equivalent is not stated in code. |

C-068 | Compare mode runs one sealed set against two systems or two versions and tabulates same, differs or not measured, with declared tolerances and approvals pinned to the two outputs shown. | onedroid.ai/argus.md (One sealed set, two systems)
onedroid.ai/llms-full.txt (PAGE /qa-teams: What may differ)
docs.onedroid.ai/argus.md (Comparing systems (v0.3.57)) | https://base-sepolia.blockscout.com/api/v2/transactions/0xa930153c2206b1ea51ee287fc95744587431f6f427717c0afba2146fe0295aab#block 47753554 comparison_verdict identical 23 differs 9 noise 0 not_measured 0 runs 6 members 2
https://base-sepolia.blockscout.com/api/v2/transactions/0x4f015d8325306b9c6ea2830f16e519979e320eb06e472172ddbb7decd847de92#block 47669967 (2026-10-04T10:03Z) kind=comparison_open members=3
argus-runner@ea08f5a:internal/compare/result_calc.go#L244-300
Chain comparison_open/member/approval/verdict records and the public compare package implement same/differs/not-measured cells with tolerances and approvals. |

C-073 | For an app that moves money, one switch makes Argus refuse every write the owner has not listed. | onedroid.ai/argus.md (Not a free hand on a live system)
onedroid.ai/llms-full.txt (PAGE /security: Where the verifier runs)
onedroid.ai/llms-full.txt (PAGE /: FAQ Where does it run?) | argus-runner@ea08f5a:schemas/argus-config.schema.yaml#L69-76
argus-runner@ea08f5a:internal/scenario/moneyguard.go#L26-40
argus-runner@ea08f5a:internal/config/moneywrites.go#L11-45
money_handling enforces plain GETs only at validate and run time, with an explicit money_writes allow-list for writes. |

C-074 | The runner runs inside the customer's environment next to the system under test and reaches the control plane outbound only, needing no inbound route. | onedroid.ai/argus.md (The run)
docs.onedroid.ai/argus.md (Two planes)
raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Quickstart: the runner connects out only) | argus-runner@ea08f5a:internal/federation/wire.go#L12
argus-runner@ea08f5a:internal/federation/federation.go#L2
argus-runner@ea08f5a:internal/k8srender/k8srender.go#L892
Federation verbs are outbound-only HTTPS from the executor and the rendered Service is ClusterIP only, never Ingress/NodePort/LoadBalancer. |

C-077 | Argus judges a run by reading the system's own structured logs, saga events and database state, correlated by a correlation_id. | docs.onedroid.ai/argus.md (intro and What gets checked)
onedroid.ai/argus.md (The run) | argus-runner@ea08f5a:internal/scenario/verifysql.go#L45-47
argus-runner@ea08f5a:internal/scenario/chain.go#L166
argus-runner@ea08f5a:internal/failcontext/bundle.go#L6-7
Correlation id scoping of VERIFY queries, chain steps and failure sagas is implemented in the public runner. |

C-079 | The CLI and the runner are released and open source under MIT; agent skills and the MCP server are released (sign up to evaluate). | onedroid.ai/llms.txt (Status note)
onedroid.ai/argus.md (Three ways in) | argus-runner@ea08f5a:LICENSE#L1-3
argus-runner@ea08f5a:skills/scenario-author/SKILL.md
argus-runner@ea08f5a:internal/mcpserver/tools.go#L33
PARTIAL: MIT licence, agent skill and an MCP server package are in the public repo; the hosted MCP endpoint and the "sign up to evaluate" status are not independently shown. |

C-080 | The MCP server has separate credentials for the tester (writes, seals, reveals) and the builder (starts a run, reads the verdict). | onedroid.ai/argus.md (MCP server)
docs.onedroid.ai/argus-quickstart.md (Section 2, two kinds of token) | argus-runner@ea08f5a:internal/role/role.go#L1-8
argus-runner@ea08f5a:internal/mcpserver/tools.go#L33-77
argus-runner@ea08f5a:cmd/argus/main.go#L2884
Token determines the hat; the builder surface is the six runner__* tools and the test hat has the author tools. |

C-081 | An author token is prefixed odts_ and shown once; a builder token reaches only the runner__* tools and every answer is redacted. | docs.onedroid.ai/argus-quickstart.md (Section 2) | argus-runner@ea08f5a:cmd/argus/session_init_cmd.go#L74,L222-291
argus-runner@ea08f5a:cmd/argus/doctor.go#L76
argus-runner@ea08f5a:internal/mcpserver/tools.go#L33
PARTIAL: builder session must return only runner__* tools, output is role-redacted and an odts_ token prefix is referenced; "shown once" is not in code. |

C-084 | argus doctor (CLI v0.3.45 or later) is read-only and prints the fix for each first-run problem; it writes nothing except a renewed session token and never prints a credential. | docs.onedroid.ai/argus-quickstart.md (Section 4)
raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Quickstart) | argus-runner@ea08f5a:cmd/argus/doctor.go#L26-44
argus-runner@ea08f5a:cmd/argus/doctor_tester.go#L20-33
Doctor is documented in code as read-only by construction, renews the access token in memory and never prints a credential value. |

C-086 | The site no longer describes things that are not built: the one-line install command and the CI action are gone from it. | onedroid.ai/llms-full.txt (PAGE /changelog: 2026-10-20 The site now leads with what testing costs, last sentence) | sources/llms-full.txt#L3248-3249
PARTIAL: a text search of llms-full.txt (generated from the site HTML) finds no install one-liner or CI action other than the changelog sentence; a nav link /argus#install still exists on the case-study pages. |

C-088 | The OneDroid Argus runner and CLI are open source under the MIT licence at github.com/OneDro1d/argus-runner. | onedroid.ai/llms.txt (Status note and Product)
onedroid.ai/argus.md (Surfaces)
onedroid.ai/pricing.md (The OneDroid Argus runner: open source MIT) | argus-runner@ea08f5a:LICENSE#L1-3
sources/github-repo.json#license.spdx_id=MIT
MIT LICENSE file at the repo root and GitHub API licence MIT. |

C-089 | The runner's AMQP sampler under jmeter-plugins/amqp keeps its own Apache-2.0 licence file. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Licence line)
onedroid.ai/llms-full.txt (PAGE /changelog: 2026-10-09) | argus-runner@ea08f5a:jmeter-plugins/amqp/LICENSE#L1-3
sources/argus-runner-README.md#L13
Apache License Version 2.0 file in jmeter-plugins/amqp. |

C-090 | The runner has no fee, no seat count and no expiry. | onedroid.ai/pricing.md (runner bullets)
onedroid.ai/llms-full.txt (PAGE /pricing: runner card) | argus-runner@ea08f5a:LICENSE#L1-10
sources/pricing.md#L35
PARTIAL: the MIT LICENSE grants use without fee; seat counts and expiry are absent from code (no licence check found), but "no expiry" is a negative. |

C-092 | The hosted control plane (registry, signing, anchoring, web UI, reveal assembly) is not in the repository, and argus serve --mode control is refused in the public build. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (intro and What is deliberately not here)
onedroid.ai/llms-full.txt (PAGE /changelog: 2026-10-09)
docs.onedroid.ai/argus.md (Two planes) | argus-runner@ea08f5a:cmd/argus/main.go#L2833
sources/argus-runner-README.md#L103-115
serve --mode control returns "not part of this build" and the clone has no control-plane, signing or reveal code. |

C-094 | The onboarding kit (argus up, argus init, argus update and the compose/k3d scripts) is not shipped in the runner repository. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Quickstart footer) | argus-runner@ea08f5a:cmd/argus/up.go#L25-28
sources/argus-runner-README.md#L97-99
Absence evidence: up.go composes onboarding/onboard.sh but the clone has no onboarding/onboard.sh, compose or k3d scripts (onboarding/ holds only HOW-TO and a config template). |

C-095 | The public repo's build needs no token, private module or database: go build ./... and go test ./... suffice. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Build and test) | argus-runner@ea08f5a:BUILDING.md#L7-13
argus-runner@ea08f5a:go.mod#L1-3
BUILDING.md states no token, private module or database and shows go build and go test; go.mod has no replace directives. |

C-101 | The public repository OneDro1d/argus-runner is public, not archived, licensed MIT per GitHub, created 2026-10-07T22:26:48Z, last pushed 2026-10-27T14:44:35Z, with 0 stars, 0 forks and 1 open issue. | api.github.com/repos/OneDro1d/argus-runner (private=false, visibility=public, archived=false, license.spdx_id=MIT, created_at=2026-10-07T22:26:48Z, pushed_at=2026-10-27T14:44:35Z, stargazers_count=0, forks_count=0, open_issues_count=1) | sources/github-repo.json#private=false, archived=false, license.spdx_id=MIT, created_at=2026-10-07T22:26:48Z, pushed_at=2026-10-27T14:44:35Z, stargazers_count=0, forks_count=0, open_issues_count=1
The saved api.github.com response for OneDro1d/argus-runner carries exactly these fields. |

C-114 | The Synapse token endpoint is https://synapse.onedroid.ai/agent/mcp with Authorization: Bearer syn_<token>; OAuth clients use https://synapse.onedroid.ai/hub/<slug>/mcp. | onedroid.ai/llms.txt (Connecting an agent)
onedroid.ai/llms-full.txt (PAGE /quickstart: Create a token; Not in a terminal?) | https://synapse.onedroid.ai/agent/mcp#HTTP 401 {"code":"missing_token"}
https://synapse.onedroid.ai/hub/test/mcp#HTTP 401, WWW-Authenticate resource_metadata .../oauth-protected-resource/hub/test/mcp
PARTIAL: both documented endpoint paths answer and demand a bearer; the syn_ token format is not testable without an account. |

C-115 | The initialize probe returns HTTP 200 with a JSON-RPC result for a good Synapse token, 401 invalid_token for a wrong one and 401 missing_token for no header. | onedroid.ai/llms-full.txt (PAGE /quickstart: Synapse: The check) | https://synapse.onedroid.ai/agent/mcp#HTTP 401 body {"code":"missing_token","message":"missing authentication token"} (GET, no header)
PARTIAL: the no-header case is observed live; the 200 JSON-RPC result and invalid_token cases need a POST and a token. |

C-116 | The Engram MCP endpoint is https://engram.onedroid.ai/mcp; a good token gets HTTP 200 and a server named engram, a bad or missing one gets HTTP 401 with plain-text Unauthorized. | onedroid.ai/llms-full.txt (PAGE /quickstart: Engram: The check) | https://engram.onedroid.ai/mcp#HTTP 401, content-type text/plain, body "Unauthorized", WWW-Authenticate Bearer realm="engram"
PARTIAL: the no-token case matches (401 plain-text Unauthorized); the good-token 200 and server name need a token. |

C-137 | Synapse implements OAuth 2.0 authorization-server discovery at /.well-known/oauth-authorization-server, dynamic client registration and the device authorization flow. | onedroid.ai/llms-full.txt (PAGE /security: Authentication)
onedroid.ai/llms.txt (Security & deployment entry) | https://synapse.onedroid.ai/.well-known/oauth-authorization-server#HTTP 200 JSON: authorization_endpoint .../oauth/authorize, registration_endpoint .../oauth/register, device_authorization_endpoint .../oauth/device, grant_types_supported incl. device_code
The discovery document is live and lists authorization, dynamic client registration and device authorization endpoints. |

C-145 | The website sets no advertising or analytics cookies; request logs of onedroid.ai and docs.onedroid.ai are forwarded to a self-run log store in the EU and kept for 30 days. | onedroid.ai/llms-full.txt (PAGE /privacy: What we collect: Website and operational data) | https://onedroid.ai/#HTTP 200 response headers carry no Set-Cookie
https://onedroid.ai/case-study-claude-code-alone-vs-tester#HTTP 200 only script tags are an inline block, JSON-LD and /reveals.js
sources/llms-full.txt#L3483-3489
PARTIAL: no cookie header and no analytics script tags were observed; the EU log store and 30-day retention are statement only. |

C-151 | Liability is capped at the greater of USD 100 or the amounts paid in the previous twelve months; after termination platform-hosted data is exportable for 30 days. | onedroid.ai/llms-full.txt (PAGE /terms: 10. Limitation of liability; 12. Suspension and termination) | sources/llms-full.txt#L3769
sources/llms-full.txt#L3790
https://onedroid.ai/terms#HTTP 200
The terms page itself states the cap "greater of USD 100 or the amounts you paid ... twelve months" and a 30-day export window. |

C-155 | The Dark Factory kits and method are open source under Apache-2.0 at github.com/OneDro1d/dark-factory with no paid tier; OneDroid sells help with adoption. | onedroid.ai/llms.txt (Docs: Dark Factory Toolkit and The method, open source)
onedroid.ai/llms-full.txt (PAGE /dark-factory: intro)
onedroid.ai/llms-full.txt (PAGE /quickstart: The Dark Factory kits) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/LICENSE#HTTP 200 "Apache License Version 2.0"
https://raw.githubusercontent.com/OneDro1d/dark-factory/main/README.md#L143
PARTIAL: Apache-2.0 LICENSE is present; "no paid tier" and "OneDroid sells adoption help" are page statements. |

C-156 | There are seven kits today: method-core, dev, knowledge-worker, agent-ops, code-review, distributed-systems and frontend. | onedroid.ai/llms-full.txt (PAGE /quickstart: Clone and list the kits) | https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#HTTP 200 kits/agent-ops, code-review, dev, distributed-systems, frontend, knowledge-worker, method-core
The repo tree contains exactly seven directories under kits/ with the seven names. |

C-157 | The Dark Factory repository ships a self-test that plants a known-positive canary for every scan class and asserts the gate fails on each. | onedroid.ai/llms.txt (Docs: The method, open source)
onedroid.ai/llms-full.txt (PAGE /changelog: 2026-08-04) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/boot-kit/scripts/gate-selftest.sh#L13-22,L239-241
The script plants a known-positive canary for every pattern class and asserts the gate fails on each. |

C-158 | The Dark Factory runbook ends with a validation run that commits its own report into the user's copy. | onedroid.ai/llms-full.txt (PAGE /quickstart: The check (kits)) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/VALIDATE-INSTALL.md#L5
sources/llms-full.txt#L2062
VALIDATE-INSTALL.md says the validation session "commits the report itself". |

C-167 | llms-full.txt contains every onedroid.ai page listed in llms.txt except the blog, concatenated and generated from the HTML. | onedroid.ai/llms.txt (Optional: Full site text) | sources/llms-full.txt#L16-3700 (page headers) against sources/llms.txt#L41-115
https://onedroid.ai/llms-full.txt#HTTP 200
Every onedroid.ai page URL listed in llms.txt appears as a "# PAGE:" header in llms-full.txt and the blog is excluded with its own index. |

C-168 | Every blog post is served as markdown at <url>.md, with a machine index at /blog/llms.txt and an Atom feed at /blog/feed.xml. | onedroid.ai/llms.txt (Blog) | https://onedroid.ai/blog/llms.txt#HTTP 200
https://onedroid.ai/blog/feed.xml#HTTP 200 Atom feed
https://onedroid.ai/blog/case-study-claude-code-alone-vs-tester.md#HTTP 200
Index, feed and a post .md all answer 200. |

C-171 | Case studies state their limits in the text, not in a footnote, and every study states what the test did not cover. | onedroid.ai/llms-full.txt (PAGE /case-studies: intro)
onedroid.ai/llms-full.txt (PAGE /case-study-claude-code-alone-vs-tester: What this experiment did not cover)
onedroid.ai/llms-full.txt (PAGE /case-study-finos-calm: What this test did not cover) | sources/llms-full.txt#L1085-1099
sources/llms-full.txt#L1205-1221
sources/llms-full.txt#L1341-1361
Each of the five case-study pages has an in-text "did not cover" or "test boundary" section. |

C-172 | The quickstart's Synapse and Engram calls were each run against the live service, and recorded walkthrough videos exist (youtu.be/WJvsBV4sXFU, youtu.be/1o5mPIGCngk, youtu.be/KcbsT7jARFc). | onedroid.ai/llms-full.txt (PAGE /quickstart: Watch it done) | https://www.youtube.com/oembed?url=https://youtu.be/WJvsBV4sXFU&format=json#HTTP 200
https://www.youtube.com/oembed?url=https://youtu.be/1o5mPIGCngk&format=json#HTTP 200
https://www.youtube.com/oembed?url=https://youtu.be/KcbsT7jARFc&format=json#HTTP 200
PARTIAL: the three videos exist (oEmbed 200); that the calls were run against the live service is not shown. |

C-179 | If the cluster does not enforce NetworkPolicy, checks that declare a precondition or dependency end not_applicable instead of failed; a run where every check is not_applicable has the verdict not_applicable (v0.3.72). | docs.onedroid.ai/argus.md (What changed recently: Checks that depend on the environment (v0.3.72)) | argus-runner@ea08f5a:internal/artifactmeasure/measure.go#L96-100,L293-301
argus-runner@ea08f5a:internal/certificate/certificate.go#L36-43
PARTIAL: networkpolicy.ingress_enforced and egress_enforced precondition kinds and a not_applicable bucket/verdict exist; the exact "not_applicable instead of failed" mapping is not in public code. |

C-192 | A target that runs in no cluster can be declared with outside_cluster: true (v0.3.63), and a target can be declared never load tested with load_test: never (v0.3.60). | docs.onedroid.ai/argus.md (What changed recently: A target that runs in no cluster (v0.3.63); A target can be declared never load tested (v0.3.60)) | argus-runner@ea08f5a:schemas/argus-config.schema.yaml#L112-134
PARTIAL: outside_cluster and load_test: never are defined and enforced in the config schema; the version numbers are not shown. |

C-193 | A connection that must fail can be a claim (- step <name>: unreachable passes only when the connection could not be made), and argus calm import turns a CALM architecture into checks (v0.3.65). | docs.onedroid.ai/argus.md (What changed recently: A connection that must fail is now a claim, and argus calm import (v0.3.65)) | argus-runner@ea08f5a:internal/scenario/unreachable.go#L8-19
argus-runner@ea08f5a:cmd/argus/calm_cmd.go#L13-16
An unreachable claim on chain http steps and `argus calm import` exist in the public code. |

C-194 | The Argus web app has five places (Overview, Capacity, Runs, Checks and Proof), one run drawer and Needs a person items filed with author_file_attention (v0.3.53); Proof was called Ledger. | docs.onedroid.ai/argus.md (What changed recently: A new web app (v0.3.53); Where things moved in the web app) | https://argus-dev.onedroid.ai/assets/index-DTHfXbJx.js#HTTP 200 contains nav labels "Overview","Capacity","Runs","Checks","Proof"
https://docs.onedroid.ai/argus-ledger.md#"it was called Ledger before October 2026"
PARTIAL: the live app bundle carries the five section labels and the docs note the rename; the run drawer and attention filing are not checked. |

C-195 | A tester can certify a build: commit to what is certified, seal a set the builder never sees, run it once as a final run; Argus anchors the sealed set before the run, the verdict after it and the moment the tests are revealed, on a blockchain. | docs.onedroid.ai/argus.md (Certify, and let anyone check it) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#HTTP 200, block_number 47817413, payload scenario_count=7
https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#HTTP 200, block_number 47817439, payload verdict=failed tallies passed 5 failed 2 errored 0, artifact_digest sha256:feb820a3...
https://base-sepolia.blockscout.com/api/v2/transactions/0x08e53fd7af13d78f27fb13ca0136284d0ba89ab8a94f27852d4829fb3fd19a12#HTTP 200, block 50957709, payload kind=reveal document_sha256 scenario_count 18
Chain shows a commitment-bound set sealed before the run, the verdict after it and a reveal anchor; PARTIAL: Bitcoin timestamp and commit-record not individually checked. |

C-196 | A scenario is a TRIGGER, a VERIFY and an EXPECT, judged across HTTP ingestion, message flow, database state, external delivery, error paths, rate limiting and permissions, plus MCP tool-call testing and UI flows. | docs.onedroid.ai/argus.md (What gets checked) | argus-runner@ea08f5a:schemas/scenario.schema.yaml#L25-27
argus-runner@ea08f5a:cmd/argus/main.go#L279-280
argus-runner@ea08f5a:testkit/ui
TRIGGER, VERIFY and EXPECT sections are the scenario schema; MCP tool-call judging and a Playwright UI harness exist in the repo. |

C-197 | The holdout is enforced twice: by what a builder's credential is allowed to call, and by what its own environment is allowed to hold a copy of. | docs.onedroid.ai/argus.md (The holdout) | argus-runner@ea08f5a:internal/role/role.go#L1-30
argus-runner@ea08f5a:cmd/argus/session_init_cmd.go#L222-291
sources/argus-docs.md#L49-68
PARTIAL: the credential half is enforced in code; the "environment holds no copy" half is a deployment statement. |

C-202 | argus certificate verify takes --rpc (your own chain client), --chains (your own copy of the chains' allowed signers) and --btc-headers (a block-explorer URL or local file for OpenTimestamps receipts), and reports NOT ANCHORED for fields a certificate format does not put on chain. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Verify a certificate; What a OneDroid Argus certificate proves today) | argus-runner@ea08f5a:cmd/argus/certificate_cmd.go#L130-132
argus-runner@ea08f5a:internal/certificate/verify.go#L660-664
The --rpc, --chains and --btc-headers flags are registered and Render prints NOT ANCHORED lines. |

C-203 | argus certificate verify checks that the certificate's declared fields (verdict, tallies, set hash, artifact digest, time) are exactly what was anchored and that each anchor was written by a signer you allow, so a certificate edited after the fact fails. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (What a OneDroid Argus certificate proves today: What it gives you) | argus-runner@ea08f5a:docs/CERTIFICATE.md#L41-51,L260-263
argus-runner@ea08f5a:internal/certificate/verify.go#L673-697
verify compares declared verdict, tallies, set hash, artifact digest and time against anchored fields and checks signers (optionally against your chains.json). |

C-204 | The runner repository contains cmd/argus, internal/runner, internal/certificate, JMeter templates, the AMQP sampler, a Playwright harness (testkit/ui), schemas and a minimal examples/http-hello kit. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (What is here) | argus-runner@ea08f5a:cmd/argus
argus-runner@ea08f5a:internal/runner
argus-runner@ea08f5a:internal/certificate
All listed paths exist in the clone at ea08f5a. |

C-205 | argus serve --mode control is refused in the public runner build, and the control plane, web UI, anything that signs or writes to a chain, reveal assembly and the onboarding kit are not in the repository. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (What is deliberately not here) | argus-runner@ea08f5a:cmd/argus/main.go#L2833
sources/argus-runner-README.md#L103-115
Refusal text in code and absence of control-plane/web/signing/onboarding code in the tree. |

C-206 | argus cloud-login requires --scope from v0.3.41 with no default: author for a tester or operator, runner for a builder session. | docs.onedroid.ai/argus-quickstart.md (Section 3) | argus-runner@ea08f5a:cmd/argus/main.go#L205-209,L1462-1466
cloud-login --scope is required with no default (author | runner). |

C-210 | ARGUS_EXECUTOR_SECRET was called ARGUS_AUTHOR_TOKEN and ARGUS_CP_AUTHOR_TOKEN was called ARGUS_CP_TOKEN; CLI releases after v0.3.39 read the new names and still accept the old ones with a warning. | docs.onedroid.ai/argus-quickstart.md (Section 2: Renamed variables) | argus-runner@ea08f5a:cmd/argus/main.go#L9
argus-runner@ea08f5a:cmd/argus/preflight.go#L41
Code comments record ARGUS_EXECUTOR_SECRET formerly ARGUS_AUTHOR_TOKEN and ARGUS_CP_AUTHOR_TOKEN formerly ARGUS_CP_TOKEN, with the old name still read as a fallback. |

C-212 | argus preflight accepts tiers aks, k3d and managed; kind and minikube are not tiers (use k3d); render-k8s also accepts eks and gke. | docs.onedroid.ai/argus-quickstart.md (Section 4) | argus-runner@ea08f5a:cmd/argus/preflight.go#L180
argus-runner@ea08f5a:cmd/argus/main.go#L228
PARTIAL: preflight tier help lists aks | k3d | managed and render-k8s lists k3d | aks | eks | gke | managed; "kind and minikube are not tiers" is a negative. |

C-214 | Every case study comes in two versions with the same facts: a test page for engineers and a blog post for leaders and product owners. | onedroid.ai/llms-full.txt (PAGE /case-studies: intro) | https://onedroid.ai/blog/llms.txt#HTTP 200 lists the five case-study posts
https://onedroid.ai/sitemap.xml#HTTP 200 lists the five case-study pages
sources/llms-full.txt#L554-555
Each of the five case-study pages has a blog twin at /blog/<slug>.md; "the same facts" is a statement. |

C-215 | The suite listing gives these statuses: Synapse "Production", Engram "Available with OneDroid Synapse", Argus "Sign up to evaluate", kits "Open source", Enterprise "Active". | onedroid.ai/llms-full.txt (PAGE /synapse: The OneDroid suite) | sources/llms-full.txt#L1556-1604
The page lists Synapse "Production", Engram "Available with OneDroid Synapse", Argus "Sign up to evaluate", kits "Open source" and Enterprise "Active". |

C-218 | Claude Desktop and claude.ai connect to Synapse through a consent screen instead of a token, via a custom connector at https://synapse.onedroid.ai/hub/<your-slug>/mcp. | onedroid.ai/llms-full.txt (PAGE /quickstart: Not in a terminal?) | https://synapse.onedroid.ai/.well-known/oauth-authorization-server#HTTP 200
https://synapse.onedroid.ai/hub/test/mcp#HTTP 401 with resource_metadata for the hub path
PARTIAL: the hub-path endpoint and the OAuth authorization endpoint exist; the consent screen in claude.ai is not reachable without an account. |

C-222 | Browser checks run as functional end-to-end scenarios, not as load. | onedroid.ai/llms-full.txt (PAGE /qa-teams: Not load on a web page) | argus-runner@ea08f5a:internal/scenario/amqpload.go
argus-runner@ea08f5a:internal/scenario/httpload.go
argus-runner@ea08f5a:testkit/ui
Only AMQP and HTTP load kinds exist in the scenario package; the Playwright UI harness is separate from them. |

C-225 | Applications set only strictly necessary cookies for sign-in and session security (via Clerk); walkthrough videos are embedded from youtube-nocookie.com and set nothing until play; fonts are loaded from Google Fonts. | onedroid.ai/llms-full.txt (PAGE /privacy: What we collect: Website and operational data) | https://onedroid.ai/case-study-otrs-znuny#HTTP 200 iframe src youtube-nocookie.com/embed/s_OzzMsZEXM
https://onedroid.ai/case-study-claude-code-alone-vs-tester#HTTP 200 links fonts.googleapis.com
PARTIAL: privacy-friendly video embeds and Google Fonts are observed in the page HTML; Clerk cookies on the apps are not tested. |

C-229 | The Privacy Policy was last updated 14 October 2026 (effective 19 July 2026) and the Terms of Service on 7 October 2026 (effective 19 July 2026). | onedroid.ai/llms-full.txt (PAGE /privacy: header)
onedroid.ai/llms-full.txt (PAGE /terms: header) | sources/llms-full.txt#L3431
sources/llms-full.txt#L3625
https://onedroid.ai/privacy#HTTP 200
Privacy page reads "Effective date: 19 July 2026 · Last updated: 14 October 2026" and terms "Last updated: 7 October 2026". |

C-232 | The site publishes robots.txt with explicit allowances for AI crawlers and a sitemap.xml covering every public page (changelog 2026-07-19). | onedroid.ai/llms-full.txt (PAGE /changelog: 2026-07-19 Crawlable: robots.txt and sitemap.xml) | https://onedroid.ai/robots.txt#HTTP 200 explicit Allow for GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, PerplexityBot, Google-Extended, CCBot
https://onedroid.ai/sitemap.xml#HTTP 200 24 URLs
sources/llms-full.txt#L3330-3335
PARTIAL: robots.txt and sitemap.xml exist with the described content; the 2026-07-19 date is the changelog entry. |

C-233 | The 2026-09-10 site change moved the governed gateway to /synapse and removed nothing else. | onedroid.ai/llms-full.txt (PAGE /changelog: 2026-09-10) | https://onedroid.ai/synapse#HTTP 200 (listed in sitemap.xml)
sources/llms-full.txt#L3291-3298
PARTIAL: /synapse exists as its own page; "removed nothing else" is a negative not checkable. |

C-234 | The case studies date their runs as follows: user-guide certified run 16 October 2026, modernization runs 17 October 2026, alone-vs-tester runs 16 October 2026, FINOS CALM certified run 7 October 2026, OTRS/Znuny runs 5 and 6 October 2026. | onedroid.ai/llms-full.txt (PAGE /case-studies: card dates) | sources/llms-full.txt#L1002
sources/llms-full.txt#L1128
sources/llms-full.txt#L1250
The five case-study pages carry exactly these run dates, and the chain timestamps agree for the certified runs (2026-10-07T19:59Z and 2026-10-16T23:26Z). |

## No evidence published (98)

Id | Claim, as made | Made at | What would close it |

C-001 | Claude Code built a feature for $1.97 a run testing its own work (one measured experiment). | onedroid.ai/llms-full.txt (PAGE /: hero, Proper testing now costs what the AI coding costs)
onedroid.ai/argus.md (intro, Independent testing at the cost of the coding)
onedroid.ai/llms.txt (Cost paragraph) | Only mean cost per run is published (same figure on home, argus, llms.txt, changelog, case study); needed: per-run transcripts or total token/cost logs for the 6 judged runs. |

C-002 | With OneDroid Argus as the independent tester the coding agent cost $1.01 a run. | onedroid.ai/llms-full.txt (PAGE /: hero)
onedroid.ai/argus.md (intro)
onedroid.ai/llms.txt (Cost paragraph) | Mean $1.01 per run is stated on several pages with no per-run cost or token log; needed: the three run records. |

C-004 | The tester is paid once per feature, and its checks stay as regression checks for the next change. | onedroid.ai/argus.md (intro and Why section)
onedroid.ai/llms-full.txt (PAGE /: FAQ What does independent testing cost?)
onedroid.ai/llms-full.txt (PAGE /case-study-claude-code-alone-vs-tester: setup B already ran 37 older checks of the same app) | Reuse as regression checks is stated; the case study itself says reuse over later features was not measured, and no raw data is published. |

C-008 | Both setups passed 13 of 13 hidden checks in every judged run (6 runs). | onedroid.ai/llms.txt (Case study entry)
onedroid.ai/llms-full.txt (PAGE /case-study-claude-code-alone-vs-tester: result table)
onedroid.ai/llms-full.txt (PAGE /: FAQ What does independent testing cost?) | The 13 hidden checks were "stored in Argus only after the last run", so no sealed anchor exists for them; chain shows only two sets of 12 checks sealed 2026-10-16 (tx 0x47719392e742..., 0x7587fc71b90d...); needed: the check set, run outputs and a reveal. |

C-009 | The experiment was one ticket with 3 judged runs per setup, on Claude Opus 5.5 at high effort, on 16 October 2026. | onedroid.ai/llms-full.txt (PAGE /case-study-claude-code-alone-vs-tester: setup table)
onedroid.ai/llms.txt (Cost paragraph: One ticket, 3 runs per setup) | Setup and date are stated only in prose; needed: run records; chain shows two 12-check sets sealed on 2026-10-16 which is consistent with the date but does not show the 6 runs. |

C-013 | Claude Code on the modernization task: alone passed 104 of 109 hidden checks, tester on the manual 81, tester on equivalence with the original 106. | onedroid.ai/llms.txt (Case study: one modernization, three setups)
onedroid.ai/llms-full.txt (PAGE /case-study-modernization-three-setups: result table) | Means per setup only; needed: the 109 hidden checks, ported outputs and per-run logs. |

C-015 | In the modernization study the tester was a script, not OneDroid Argus, because the product's route could not reach the local setup. | onedroid.ai/llms-full.txt (PAGE /case-study-modernization-three-setups: setup table: The tester)
onedroid.ai/llms-full.txt (PAGE /case-study-modernization-three-setups: did not cover: OneDroid Argus as the tester) | Page states the tester was a script; no script or log published. |

C-016 | A tester checking the manual made the port worse (81 of 109) because the agent fixed every place where the original and its manual differ. | onedroid.ai/llms.txt (Case study: one modernization)
onedroid.ai/llms-full.txt (PAGE /case-study-modernization-three-setups: What the numbers say) | Explanation of why score fell is prose only; needed: diff of ported numerical detail and run logs. |

C-018 | The 9 failures are 2 medium findings and 2 low findings (medium: 4 checks on one path; low: 2 checks on a counter definition and 3 on machine constants); nothing critical. | onedroid.ai/llms.txt (Case study entry: 2 medium, 2 low)
onedroid.ai/llms-full.txt (PAGE /case-study-code-vs-user-guide: Where the code and its guide disagree) | Severity split is prose; chain shows only the 91/9/0 tallies; needed: the revealed checks and per-check verdicts. |

C-019 | Every worked example in the guide (all 11) reproduces the printed output to 7 digits. | onedroid.ai/llms-full.txt (PAGE /case-study-code-vs-user-guide: What held) | Worked-example reproduction is stated only; needed: the reveal document or the printed outputs. |

C-021 | A second AI model (OpenAI gpt-6.1-sol) reviewed every finding and every held check, confirmed all 9 failures and found no check that cannot fail. | onedroid.ai/llms-full.txt (PAGE /case-study-code-vs-user-guide: In short and The review row)
onedroid.ai/llms.txt (Case study entry: reviewed by a second AI model) | Second-model review is described; no review transcript or file is published. |

C-023 | The certificate for the Fortran run verified with the public verifier in the open-source runner, with no account. | onedroid.ai/llms-full.txt (PAGE /case-study-code-vs-user-guide: How anyone can check it) | The verifier exists in the public repo, but the certificate for this run is not published (only PDF/DOCX links on the page); needed: cert.json. |

C-024 | The Fortran run was built unmodified with gfortran 14.4 on one x86-64 machine with every source file pinned by SHA-256. | onedroid.ai/llms-full.txt (PAGE /case-study-code-vs-user-guide: The method: The system) | Compiler and SHA-256 pins are stated; no pin list or build log published. |

C-025 | Nothing was fixed in the Fortran library and nothing was reported to its authors. | onedroid.ai/llms-full.txt (PAGE /case-study-code-vs-user-guide: Where the code and its guide disagree) | A negative statement of conduct; nothing publishes or could show the absence of a report to the authors. |

C-028 | The demo's MCP guardrail refused restricted symbols in search but returned a restricted (VOD) trade in full when asked by id. | onedroid.ai/llms.txt (Case study: FINOS CALM)
onedroid.ai/llms-full.txt (PAGE /case-study-finos-calm: The two checks that failed, 1) | Observed guardrail behaviour is prose; needed: the revealed checks and observed evidence for the id lookup. |

C-029 | A connection the architecture forbids (MCP client to Trades API) was open because the authors' Azure cluster does not enforce Kubernetes network policies. | onedroid.ai/llms.txt (Case study: FINOS CALM)
onedroid.ai/llms-full.txt (PAGE /case-study-finos-calm: The two checks that failed, 2) | Cause is stated as prose; needed: the revealed check and the cluster NetworkPolicy state. |

C-032 | Two earlier build runs outside the sealed set served up to 160 concurrent users with a 95th percentile of 106 ms or less and no errors. | onedroid.ai/llms-full.txt (PAGE /case-study-finos-calm: did not cover: Capacity) | Build-run load figures (160 users, p95 106 ms) are prose; needed: the two run reports. |

C-035 | Old release OTRS returns an emoji in an article as U+FFFD (replacement character); Znuny returns it unchanged. | onedroid.ai/llms-full.txt (PAGE /case-study-otrs-znuny: The six differences) | Emoji behaviour is prose; needed: the sealed fixed check output for each system. |

C-036 | The sign-in page under five users: 95th percentile 49 ms on OTRS and 54 ms on Znuny in set 1, 60 ms and 59 ms in set 2. | onedroid.ai/llms-full.txt (PAGE /case-study-otrs-znuny: What was the same) | p95 values are prose; chain verdict carries only counts, not timings. |

C-037 | The six runs of the first set took about 8 minutes. | onedroid.ai/llms-full.txt (PAGE /case-study-otrs-znuny: The result) | Duration is prose; chain shows comparison_open 2026-10-05T17:22Z and verdict 17:35Z, per-run durations are not published. |

C-038 | Three of the six differences were not found by a keyword search of the Znuny change log. | onedroid.ai/llms-full.txt (PAGE /case-study-otrs-znuny: The six differences; What we take from it) | Change-log search result is prose; needed: the searched change log and queries. |

C-043 | A separate tester (a QA engineer or an agent, never the builder) writes plain scenarios from the ticket and acceptance criteria before the build. | onedroid.ai/llms.txt (Positioning)
onedroid.ai/argus.md (Plain scenarios, not test scripts)
docs.onedroid.ai/argus.md (Is it end-to-end testing?) | Process statement; the skill and role package separate the tester hat from the builder hat, but nothing evidences that scenarios are written from the ticket before the build. |

C-047 | The anchored hash proves priority (scenarios existed first and unchanged), not that the builder never saw them; keeping them unseen is a separate custody mechanism. | onedroid.ai/llms.txt (Positioning)
onedroid.ai/argus.md (Sealed before the build; Not proof the builder never saw the tests)
onedroid.ai/llms-full.txt (PAGE /: FAQ Do I have to trust your closed generator?) | Stated on several pages; a limitation statement with no artefact beyond the text. |

C-051 | A certificate proves what the runner reported and when, not that the runner was unmodified; the control plane signs and anchors what the runner reports and does not re-run the checks. | onedroid.ai/argus.md (The reveal)
onedroid.ai/llms-full.txt (PAGE /: Open where it has to be)
onedroid.ai/llms-full.txt (PAGE /security: Where the verifier runs) | Limitation statement repeated on README, pricing and security; code is consistent (verify only compares anchors) but there is no separate artefact. |

C-065 | Continuous verification runs a reviewed scenario set on a monitor schedule every 15 minutes at the shortest. | onedroid.ai/llms.txt (Key capabilities)
onedroid.ai/argus.md (Continuously and Load and continuous runs)
onedroid.ai/llms-full.txt (PAGE /: Three modes: Continuously) | The 15-minute floor is enforced in the closed control plane; no artefact in the public repo. |

C-066 | The web app answers Is it OK? from scheduled runs only; a hand-started failing run never turns it red and an unmeasured system reads not measured, never green. | onedroid.ai/argus.md (Continuously)
onedroid.ai/llms-full.txt (PAGE /qa-teams: 5. Keep) | The live app bundle contains the labels but nothing shows the rule that hand-started runs never turn it red. |

C-067 | Items a system cannot fix itself are listed under Needs a person, with who acts next. | onedroid.ai/argus.md (Continuously)
docs.onedroid.ai/argus.md (v0.3.53 new web app) | Label exists in the shipped bundle; "who acts next" behaviour is not evidenced. |

C-069 | Compare is the newest part of Argus, in early use; expect it to change. | onedroid.ai/argus.md (New, in early use)
onedroid.ai/llms-full.txt (PAGE /case-study-otrs-znuny: header: in early use)
onedroid.ai/llms-full.txt (PAGE /case-studies: Two studies so far note) | "Early use" is a status statement; the repo shows an internal/compare package and chain shows first compare on 2026-10-04 but no artefact states maturity. |

C-075 | What leaves the customer's boundary is the evidence the control plane needs to adjudicate a verdict, not the customer's data. | onedroid.ai/llms-full.txt (PAGE /security: Where the verifier runs) | Boundary statement; the runner pushes reports to the control plane but nothing independent shows the payload is free of customer data. |

C-083 | From v0.3.37 to v0.3.51 every load duration was ignored, so load numbers taken in that range are not measured and should be re-run on v0.3.52. | docs.onedroid.ai/argus.md (What changed recently, LOAD durations) | Version window is a docs statement; the public repo has no history for v0.3.37-0.3.51 behaviour. |

C-085 | An Argus GitHub app, once installed and linked to a repository, runs the checks on every successful deployment and puts the verdict on the commit. | docs.onedroid.ai/argus.md (Where to go next: Argus on GitHub) | GitHub app described in docs only; no app, workflow or endpoint artefact found on public surfaces. |

C-096 | The runner enrollment token lives 900 seconds. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (Quickstart step 4) | The 900-second TTL is enforced in the closed control plane; stated only in the README. |

C-098 | An Argus environment of your own is available by request. | onedroid.ai/llms.txt (Status note)
onedroid.ai/argus.md (intro)
onedroid.ai/pricing.md (control plane card: hosted, by request) | By-request availability cannot be evidenced from public surfaces. |

C-099 | The Argus control plane is the priced part and is available by request (hosted, talk to us). | onedroid.ai/pricing.md (The OneDroid Argus control plane card: Talk to us; evaluate free at argus-dev; your own environment by request)
onedroid.ai/pricing.md (FAQ What does OneDroid Argus cost?: the hosted control plane is the priced part)
onedroid.ai/llms-full.txt (PAGE /pricing: FAQ What does OneDroid Argus cost?) | Pricing posture is a statement; no artefact. |

C-100 | The Argus release repository is private; the full release requires read access from an Argus operator. | docs.onedroid.ai/argus-quickstart.md (Get access first) | A private repository cannot be evidenced from public surfaces; the repo name is not even given. |

C-103 | OneDroid Synapse is a governed MCP gateway: agents connect to one URL and every tool call is authenticated, policy-checked and written to an append-only audit log the customer owns. | onedroid.ai/llms.txt (Product: Synapse)
onedroid.ai/llms-full.txt (PAGE /synapse: intro and FAQ)
onedroid.ai/llms-full.txt (PAGE /what-is-a-governed-mcp-gateway: What makes it governed?) | Gateway behaviour is page prose; the live endpoint only confirms unauthenticated calls are refused. |

C-104 | Synapse enforces per-tool access control, not just per-integration. | onedroid.ai/llms.txt (Key capabilities)
onedroid.ai/llms-full.txt (PAGE /security: Per-tool toggles)
onedroid.ai/llms-full.txt (PAGE /what-is-a-governed-mcp-gateway: Tool-level access control) | Per-tool toggles are a statement; no public artefact. |

C-105 | Agents never hold long-lived upstream credentials; the gateway holds them (encrypted) and presents them per call. | onedroid.ai/llms.txt (Key capabilities: Credential custody)
onedroid.ai/llms-full.txt (PAGE /synapse: Credential custody)
onedroid.ai/llms-full.txt (PAGE /security: Credential custody) | Credential custody is a statement; no public artefact. |

C-106 | The Synapse event log records caller, tool, arguments hash, latency and result class, and is append-only, queryable and exportable. | onedroid.ai/llms-full.txt (PAGE /synapse: Audit log)
onedroid.ai/llms-full.txt (PAGE /security: Append-only audit log)
onedroid.ai/llms-full.txt (PAGE /privacy: The audit log) | Event-log fields are a statement; no public artefact or schema. |

C-107 | The Synapse event log is included in the free tier and will never be put behind a paywall. | onedroid.ai/llms.txt (Key capabilities and Pricing)
onedroid.ai/pricing.md (free tier bullets and tail)
onedroid.ai/llms-full.txt (PAGE /security: Append-only audit log) | Repeated on several pages; a promise with no artefact. |

C-108 | Synapse and Engram are free for individuals and small teams on the OneDroid-hosted service, with no credit card. | onedroid.ai/llms.txt (Pricing)
onedroid.ai/pricing.md (intro)
onedroid.ai/llms-full.txt (PAGE /synapse: hero) | Free tier is a pricing statement; no artefact. |

C-110 | If usage limits ever arrive they will be published on the pricing page first. | onedroid.ai/pricing.md (free tier note)
onedroid.ai/llms-full.txt (PAGE /terms: 2. The Service) | A promise about future behaviour; no artefact. |

C-111 | OneDroid Enterprise is an annual licence and typical deployments start in five figures. | onedroid.ai/llms.txt (Pricing)
onedroid.ai/pricing.md (Enterprise card and FAQ)
onedroid.ai/llms-full.txt (PAGE /pricing: FAQ) | Price statement only. |

C-112 | Enterprise offers dedicated deployment on the customer's cloud or on-premises with org-wide policy enforcement, PII/PHI screening, SSO and exportable audit evidence. | onedroid.ai/pricing.md (Enterprise card)
onedroid.ai/llms-full.txt (PAGE /enterprise: What you get) | Enterprise feature list is a statement. |

C-113 | Synapse works with any MCP client and any LLM provider; connecting Claude Code takes a single claude mcp add command with a bearer token. | onedroid.ai/llms.txt (Key capabilities)
onedroid.ai/llms-full.txt (PAGE /synapse: FAQ Does Synapse work with Claude Code and Cursor?)
onedroid.ai/llms-full.txt (PAGE /quickstart: Connect Claude Code) | Documented quickstart; no independent artefact for any-MCP-client/any-LLM claim. |

C-117 | Engram is included with a Synapse account and also runs on its own. | onedroid.ai/llms.txt (Applications)
onedroid.ai/llms-full.txt (PAGE /engram: intro)
onedroid.ai/llms-full.txt (PAGE /quickstart: Engram intro) | Inclusion statement. |

C-118 | Engram search combines vector, BM25 keyword and graph search into one fused ranking, with the vector-versus-keyword weighting controllable per query. | onedroid.ai/llms.txt (Key capabilities)
onedroid.ai/llms-full.txt (PAGE /engram: Hybrid search) | Hybrid search described; Engram source and endpoints are not public beyond a 401. |

C-119 | Every Engram write is a commit: objects carry full revision history, any two versions can be diffed and a previous one restored in one call. | onedroid.ai/llms-full.txt (PAGE /engram: Versioned)
onedroid.ai/llms-full.txt (PAGE /quickstart: Every write is a commit) | Commit-per-write history is described; no public artefact. |

C-120 | Engram can be pointed at the customer's own Postgres (bring your own database); documents, chunks, embeddings, history and permissions are rows readable with SQL. It needs pgvector and Postgres 16 is what is tested. | onedroid.ai/llms-full.txt (PAGE /engram: Bring your own database)
onedroid.ai/llms-full.txt (PAGE /quickstart: Your own database)
onedroid.ai/llms-full.txt (PAGE /changelog: 2026-07-18) | Bring-your-own-Postgres is described and in the changelog; no public artefact or schema. |

C-121 | Export is a SQL query: with bring-your-own-database there is nothing to extract from OneDroid. | onedroid.ai/llms-full.txt (PAGE /synapse: No lock-in; FAQ)
onedroid.ai/llms-full.txt (PAGE /financial-services: Operations; What happens when we leave?)
onedroid.ai/llms-full.txt (PAGE /engram: Bring your own database) | Export-as-SQL follows from the same statement; no artefact. |

C-122 | Synapse supports hubs, roles and packs (curated toolsets of tools, skills and knowledge scoped per hub). | onedroid.ai/llms.txt (Key capabilities)
onedroid.ai/llms-full.txt (PAGE /synapse: Packs; Hubs and roles)
onedroid.ai/pricing.md (free tier bullets) | Hubs, roles and packs described only. |

C-124 | Credentials are bound per user, per workspace, per account and encrypted at rest with AES-256-GCM. | onedroid.ai/llms-full.txt (PAGE /financial-services: Whose credentials is the agent using?) | AES-256-GCM is stated with no artefact. |

C-125 | The audit log is tamper-evident and verifiable by a third party (hash chain, Merkle tree, transactional outbox, independent verifier). | onedroid.ai/llms-full.txt (PAGE /financial-services: How do I know the log wasn't edited?; Supervision and records) | Tamper-evidence design is described; the open verifier in argus-runner covers Argus certificates, not the Synapse audit log. |

C-127 | The same mechanism serves a free personal hub and a regulated enterprise deployment. | onedroid.ai/llms-full.txt (PAGE /synapse: Any scale)
onedroid.ai/llms-full.txt (PAGE /engram: Bring your own database) | Broad architectural claim; nothing beyond the sentence. |

C-128 | Synapse, Engram and Argus are held together by one evidence record: the audit entry, the versioned fact and the verdict are the same object. | onedroid.ai/llms-full.txt (PAGE /: For regulated buyers)
onedroid.ai/llms-full.txt (PAGE /enterprise: One primitive: the evidence record) | One-record claim is a design statement; no schema shows the three being one object. |

C-133 | In two quarters the flagship deployment went from can we even use AI here to a running, audited platform. | onedroid.ai/llms-full.txt (PAGE /financial-services: Evidence: Proven where the audits are unforgiving)
onedroid.ai/financial-services.md (Evidence: Proven where the audits are unforgiving) | Narrative statement about a customer deployment; no artefact. |

C-134 | OneDroid does not hold SOC 2, ISO 27001 or HIPAA attestation today. | onedroid.ai/llms-full.txt (PAGE /security: What is not yet true)
onedroid.ai/llms.txt (Security & deployment entry) | A disclosure of absence; no attestation list or trust-centre artefact exists to check against. |

C-135 | Credentials are encrypted at rest, transport is TLS, and the event log is append-only and exportable. | onedroid.ai/llms-full.txt (PAGE /security: What is true)
onedroid.ai/llms-full.txt (PAGE /privacy: Security) | Statement; no artefact. |

C-136 | The OneDroid application completed Google's OAuth application verification, including branding and app-purpose review (changelog dated 2026-07-20). | onedroid.ai/llms-full.txt (PAGE /security: Authentication)
onedroid.ai/llms-full.txt (PAGE /changelog: 2026-07-20) | Verification outcome is stated; no public artefact of the Google review. |

C-138 | User identity is handled by Clerk, giving enterprise SSO via SAML 2.0 and OIDC (Entra ID, Okta, Google Workspace); enterprise deployments have been integrated with customer-managed identity providers. | onedroid.ai/llms-full.txt (PAGE /security: Authentication: Single sign-on) | Clerk is visible in the Argus control-plane bundle only; SAML/OIDC enterprise integrations and customer IdPs are not evidenced. |

C-139 | Security vulnerability reports sent to michal@onedroid.ai get a reply within one business day, an agreed disclosure timeline and credit unless declined. | onedroid.ai/llms-full.txt (PAGE /security: Reporting a vulnerability) | Response-time and credit policy is stated on the site and in SECURITY.md; conduct cannot be evidenced. |

C-142 | There is no 24/7 support rota; OneDroid will be honest about what it can commit to. | onedroid.ai/llms-full.txt (PAGE /about: A small team, reachable directly) | Statement of absence of a rota. |

C-143 | OneDroid does not sell user data, does not use it for advertising and does not train AI models on it. | onedroid.ai/llms-full.txt (PAGE /privacy: The short version)
onedroid.ai/llms-full.txt (PAGE /terms: 4. Your data and credentials)
onedroid.ai/llms-full.txt (PAGE /synapse: About this app) | Privacy-policy statement only. |

C-144 | Humans at OneDroid do not read content passing through the gateway or stored in the Service except with explicit permission, for security or abuse investigation, or where required by law. | onedroid.ai/llms-full.txt (PAGE /privacy: Access to your content; Google user data) | Privacy-policy statement only. |

C-147 | The named subprocessors are Amazon Web Services, Microsoft Azure, Supabase, Clerk, Vercel, OpenAI (embeddings, under terms prohibiting training) and Google Workspace. | onedroid.ai/llms-full.txt (PAGE /privacy: How we share data, Subprocessors)
onedroid.ai/llms-full.txt (PAGE /financial-services: Which third parties see this? (now only says the list is on the privacy page))
onedroid.ai/financial-services.md ("Which third parties see this?": Ours is on the privacy page) | Subprocessor list is a statement; only Vercel (response header) and Clerk (argus-dev bundle) are observable. |

C-149 | Google OAuth tokens are stored encrypted, and Google user content is not retained beyond serving the request unless the user stores it. | onedroid.ai/llms-full.txt (PAGE /privacy: Google user data: Storage) | Statement; no artefact. |

C-150 | The Service is not directed to children under 16, and users must be at least 16. | onedroid.ai/llms-full.txt (PAGE /privacy: Children)
onedroid.ai/llms-full.txt (PAGE /terms: 3. Your account) | Policy text only. |

C-152 | OneDroid is built by Providentia Worldwide, an engineering consultancy working inside regulated enterprise estates (health data, financial trading). | onedroid.ai/llms.txt (Product: About)
onedroid.ai/llms-full.txt (PAGE /about: OneDroid is built by Providentia Worldwide)
onedroid.ai/llms-full.txt (PAGE /terms: 1. Agreement) | Self-description of a consultancy; the Providentia home page was fetched (200) but contains no independent corroboration of client estates. |

C-153 | Providentia Worldwide holds five granted US patents on interlinked N-dimensional blockchain structures and globally verifiable identifiers (US 10,853,354; 11,023,458; 11,604,787; 12,141,127; 12,493,609), with further applications pending in the US and Europe. | onedroid.ai/llms-full.txt (PAGE /about: OneDroid is built by Providentia Worldwide) | Patent numbers appear only on the About page; confirming them needs the USPTO or Google Patents record, which is outside the allowed hosts. |

C-154 | The audit trail behind the OneDroid evidence record is designed on the patented structure. | onedroid.ai/llms-full.txt (PAGE /about: OneDroid is built by Providentia Worldwide) | Design-lineage statement; no artefact. |

C-160 | 80% of surveyed leaders have traced a production incident directly back to AI-generated code and 92% are not confident safeguards would catch an AI-driven failure (Sauce Labs, n = 400, 22 July 2026). | onedroid.ai/llms-full.txt (PAGE /: You already had the incident) | Cites Sauce Labs (internal source id, no link); needs the external survey. |

C-161 | 3.1% of developers highly trust AI output, 19.6% highly distrust it and 66% hit answers that are almost right, but not quite (Stack Overflow Developer Survey 2025, n = 33,244). | onedroid.ai/llms-full.txt (PAGE /: You already had the incident) | Cites Stack Overflow 2025 survey; needs the external survey. |

C-162 | Syntax pass rates for AI-generated code climbed from about 50% to 95% while security pass rates stayed flat between 45% and 55% (Veracode, Spring 2026 GenAI Code Security update, 150+ models, 80 tasks, 24 March 2026). | onedroid.ai/llms-full.txt (PAGE /: You already had the incident) | Cites a Veracode update; needs the external report. |

C-163 | Claude Code Review's check always completes with a neutral conclusion so it never blocks merging, and Copilot's reviews do not count toward required approvals (vendor documentation). | onedroid.ai/llms-full.txt (PAGE /: You already had the incident) | Cites vendor documentation by internal id; needs the external docs. |

C-164 | The largest vendor's hosted agents are not currently eligible for Zero Data Retention or HIPAA BAA coverage (vendor documentation). | onedroid.ai/llms-full.txt (PAGE /: For regulated buyers) | Cites vendor documentation by internal id; needs the external docs. |

C-165 | EU AI Act Art. 12 and Art. 14, DORA Art. 25 and Art. 30, HIPAA 164.312(b) and FDA 21 CFR 11.10(e) line up with the evidence record; using a coding agent does not by itself make a system high-risk. | onedroid.ai/llms-full.txt (PAGE /: For regulated buyers)
onedroid.ai/llms-full.txt (PAGE /enterprise: The box) | Regulatory alignment is an assertion; no mapping document is published. |

C-166 | OneDroid (onedroid.ai) is unrelated to Android and to the open-source Android projects also called OneDroid. | onedroid.ai/llms.txt (intro)
onedroid.ai/llms-full.txt (PAGE /: preamble)
onedroid.ai/llms-full.txt (PAGE /about: Which OneDroid this is) | No artefact beyond the sentence; non-affiliation is a negative statement. |

C-170 | The company publishes limitations alongside capabilities and does not make a claim that cannot be verified. | onedroid.ai/llms-full.txt (PAGE /synapse: Why OneDroid: Honesty) | General conduct claim (C-rated); limitations sections exist on case studies but "no unverifiable claim" is not checkable as a whole. |

C-173 | Each of the three quickstart tasks takes about ten minutes, needs no credit card and ends with a check the reader runs. | onedroid.ai/llms.txt (Docs: Quickstart)
onedroid.ai/llms-full.txt (PAGE /quickstart: intro) | Timing and no-card claims for the quickstart are stated; not independently checkable without an account. |

C-174 | Synapse's Google data is used only to execute requested actions and access can be revoked at any time. | onedroid.ai/llms-full.txt (PAGE /synapse: About this app)
onedroid.ai/llms-full.txt (PAGE /privacy: Google user data) | Privacy-policy statement. |

C-175 | Synapse logs every tool call fail-open: a logging failure never blocks a call. | onedroid.ai/llms-full.txt (PAGE /synapse: Prove: Every call is logged, fail-open (a logging failure never blocks a call))
onedroid.ai/llms-full.txt (PAGE /security: Append-only audit log: fail-open: a logging failure never blocks a call)
onedroid.ai/llms-full.txt (PAGE /enterprise: Audit log: logged fail-open, so logging never blocks a call) | Fail-open logging is stated; no artefact. |

C-177 | The flagship deployment is a US enterprise handling regulated clinical data. | onedroid.ai/financial-services.md (Evidence: Proven where the audits are unforgiving)
onedroid.ai/llms-full.txt (PAGE /financial-services: Evidence) | Customer description is a statement; no artefact. |

C-181 | An mcp step shows its claims as written, and the author's report no longer carries a value the system returned (v0.3.72). | docs.onedroid.ai/argus.md (What changed recently: An mcp step shows its claims as written (v0.3.72)) | Release note only; no corresponding code found in the public clone. |

C-183 | An http step whose response body is over 1 MiB reads error when it has a body claim or a save, and the chain's deadline adds each polled step's poll.timeout (v0.3.71). | docs.onedroid.ai/argus.md (What changed recently: Two chain fixes (v0.3.71)) | Release note only. |

C-185 | A running run shows its counts so far and planned; a step can save a JSON value and send it in a later step; ## TIMEOUT governs a browser check, up to 300 s (v0.3.70). | docs.onedroid.ai/argus.md (What changed recently: Running counts, JSON saves and text bodies (v0.3.70)) | Release note; the public parser shows TIMEOUT handling with a 30 s ceiling for some modes, not the 300 s browser limit. |

C-199 | Hand-started runs can say what they are for with intent, expect and note (v0.3.53). | docs.onedroid.ai/argus.md (What changed recently: A new web app (v0.3.53)) | The public builder runner__run takes scenario_ref, tag and layer only; intent/expect/note are not found in the public code. |

C-211 | The CLI full release is downloaded from a private GitHub repository with gh release download and checked against SHA256SUMS; the CLI builds for linux_amd64, linux_arm64, darwin_amd64 and darwin_arm64. | docs.onedroid.ai/argus-quickstart.md (Section 1: Get access first / Download the latest release) | Release download from a private repository cannot be evidenced; the build matrix is not in the public repo. |

C-213 | No credit card is needed to start with OneDroid Argus (home page). | onedroid.ai/llms-full.txt (PAGE /: The runner runs inside your environment, and its source is open under MIT. No credit card.) | Statement; no artefact. |

C-216 | Synapse connects Google Workspace, Atlassian, Slack and other services; access exists only for accounts the user explicitly connects, and disconnecting an account ends Synapse's access to it. | onedroid.ai/llms-full.txt (PAGE /synapse: About this app)
onedroid.ai/llms-full.txt (PAGE /terms: 7. Third-party services) | Connection scope is described only. |

C-217 | A Synapse API token is bound to one user and one hub, inherits that user's current role in the hub, and its plaintext is shown once. | onedroid.ai/llms.txt (Connecting an agent)
onedroid.ai/llms-full.txt (PAGE /quickstart: Create a token) | Token binding is described in the quickstart; no artefact. |

C-219 | Enabling a service on a hub and saving a login for it are two different actions, and only the second lets an agent call anything. | onedroid.ai/llms-full.txt (PAGE /quickstart: The step that catches everyone) | Described only. |

C-220 | An Engram library token reaches one library and nothing else; Engram can also be reached through a Synapse hub where the Engram connection is already on and every call is audited. | onedroid.ai/llms-full.txt (PAGE /quickstart: Engram steps 01 and 02) | Token scope is described only; the endpoint only shows it refuses unauthenticated calls. |

C-221 | Self-hosted Synapse removes OneDroid from the data path entirely; in the hosted topology tool payloads pass through the gateway in order to be routed. | onedroid.ai/llms-full.txt (PAGE /security: What is true; Data visibility: Hosted) | Topology visibility is described only. |

C-224 | Policy decisions are recorded at the moment they were made, not reconstructed from logs; credentials are individually revocable and never sit in a connection string. | onedroid.ai/financial-services.md (Build or buy: "What can this agent reach, and who decided?" and "Whose credentials is the agent using?") | Described only. |

C-226 | The audit log hashes tool-call arguments and results rather than storing content, though the policy cannot promise that no fragment ever appears in error telemetry. | onedroid.ai/llms-full.txt (PAGE /privacy: What we collect: The audit log) | Hashing of arguments is described only. |

C-228 | If the free hosted Service is discontinued, OneDroid will give reasonable notice and a window to export data; the free Service is not a backup system. | onedroid.ai/llms-full.txt (PAGE /terms: 2. The Service; 4. Your data and credentials) | Policy promise. |

C-230 | Enterprise deployments have been integrated with customer-managed identity providers, including organisations running an internal IdP alongside Entra. | onedroid.ai/llms-full.txt (PAGE /security: Authentication: Single sign-on) | Customer integration is stated; no artefact. |

C-231 | The OneDroid application's signed-out page was reworked to state its purpose up front and to render fully without JavaScript as part of Google's verification review. | onedroid.ai/llms-full.txt (PAGE /changelog: 2026-07-20) | Changelog statement; today the GET shows only a JavaScript shell, so no static purpose text was observed (the reviewed page may have been a different one). |

## Sources as fetched

Every verdict above points into one of these files. To check one, fetch the URL with a browser user-agent and run
sha256sum on the bytes; a different fingerprint means the page changed after 2026-10-27.

Source | HTTP | sha256 as fetched |

https://onedroid.ai/llms-full.txt | 200 | `a5985e30bcbe976075c28b0ace8a942cc258433bb879e057b240cf9dc94516ec` |

https://onedroid.ai/llms.txt | 200 | `f285fa6182ae804a1437d01cff91e3587e42e6b2c5f23f8f0c06ee437831228c` |

https://onedroid.ai/argus.md | 200 | `607d6f2aef910299db4995c69aefd307a15fb121901d89be43db7080db12acc8` |

https://onedroid.ai/pricing.md | 200 | `f9a5be4c2655f38b040a7110fead2a7c39601bcd002597be50be7bd85c4a3131` |

https://raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md | 200 | `0ed0b1601066cc3af46b0a3a9ddd060d03647afebc972103fab279db3cb75ef5` |

https://docs.onedroid.ai/argus-quickstart | 200 | `be097aa5a0256c2755ca0d226ecbffb3cffe74d8f304ce06a960a3ebb0fc3bc3` |

https://docs.onedroid.ai/argus-quickstart.md | 200 | `a2ced85ad2b4acf0522ec81374b482385e1aac4bc8152eaae3ee7c3d2b289e2a` |

https://docs.onedroid.ai/argus | 200 | `f49ffe7608f413d215a1938ba59fb5ac89d3eca222bfdc075396b9e331624484` |

https://docs.onedroid.ai/argus.md | 200 | `967677037718820876bf597b09e97eca05f5c486f0990409ee3b70815706721e` |

https://api.github.com/repos/OneDro1d/argus-runner | 200 | `3ebaba13824d5f289a3b6842f7e1db12092b0a7fe208eb7d84155d0a17d5bfdf` |

https://onedroid.ai/partners.md | 404 | `674247ef0d515db62acf99780d964a7760ac707739c370ae44270c6dc35005ec` |

https://onedroid.ai/partners | 404 | `aa8baae40f1124a5d853fa35d91e75c18c73f014a92f555c80118c3447216ade` |

https://onedroid.ai/financial-services.md | 200 | `1ab99a3749bf47be5ebdbad9c818e560cfea21b3afc64062b94d62b285881311` |

https://onedroid.ai/partners-financial-services | 200 | `dd378ba637161a20544282f4250806706dd5cff6bf7640139f55b23e21b0737d` |

https://onedroid.ai/partners-financial-services.md | 404 | `the page has no markdown twin and no PAGE block in llms-full.txt` |
