OneDroid Argus · automated end-to-end testing for AI-written code
Proper testing now costs the same order as the AI coding.
So there is no longer a reason to skip it.
Companies used to spend between 23% and 35% of their IT budget on testing (Capgemini's World Quality Report: 23% in 2013, 26% in 2014, 35% in 2015, 31% in 2016, 26% in 2017), so testing was the part that got cut. Coding agents changed the price of both. In one measured experiment, Claude Code built a feature for $1.97 a run testing its own work. With OneDroid Argus as an independent tester, the coding agent cost $1.01 a run, and the tester wrote checks the coding agent never saw in one session of about $5.30, which wrote both the build checks and the 13 hidden judge checks for the feature. The experiment, its figures and its limits.
OneDroid Argus is automated end-to-end testing for AI-written code. A separate tester writes the checks before the build, your coding agent never sees them, and they run against the build it just handed you: once, under load and on a schedule. The verdict comes with cryptographic evidence you can replay yourself.
The runner runs inside your environment, and its source is open under MIT. No credit card.
Every checkable claim this site makes, and what backs it: onedroid.ai/evidence/onedroid.ai.
Holdout acceptance. Scenarios sealed before the run, against a pinned build.
Under load. The same scenarios under load, against a message broker or an HTTP target; on an HTTP target a stepped ramp finds its limit.
Continuously. Once it passes, it goes on a schedule, every 15 minutes at the shortest, and one page answers “Is it OK?”.
Evidence anyone can replay. The withheld scenario set is hashed and written to a cryptographic ledger before the build starts. After the verdict the tester can reveal the set: every scenario is revealed — trigger, expectation, evidence hash, verdict — and the runner replays any of them against the same build. You never have to take our word for the verdict. How the seal and the custody work.
50,000 lines overnight. How do you know what it did?
Nobody reads all of it. You can hold it to what it was supposed to do, with checks it never saw. Two things make that answer worth trusting.
The builder can't game checks it never sees. A model that can see its checker learns to satisfy the checker. OneDroid Argus seals the checks before the work starts. The builder, a person or an AI agent, holds a credential that can ask for a run and read the verdict, and cannot read a check or an expected value.
Every verdict comes with its boundary. The reveal lists every check that was run. The certificate says what it proves and what it does not, for instance whether the running build was measured. Our case studies also list what was not tested. A pass without its boundary is only a claim.
It solves the problem, and it is affordable. In one measured experiment the coding agent built a feature for $1.01 to $1.97 a run, and the independent tester was one session of about $5.30 for the whole feature. Independent testing now costs the same order as the AI coding.
You already had the incident.
80% have traced a production incident directly back to AI-generated code, and 92% aren't confident their current safeguards would catch an AI-driven failure before it reaches users. Sauce Labs, “The Enterprise AI Code Verification Crisis”, n = 400 US executives and engineering leaders, 22 July 2026 — a vendor-commissioned survey. (AS-9 §2, fetched 2026-09-10.)
3.1% of developers highly trust AI output; 19.6% highly distrust it; 66% hit answers that are “almost right, but not quite”. Stack Overflow Developer Survey 2025, n = 33,244. (AS-9 §2, fetched 2026-09-10.)
Syntax pass rates for AI-generated code climbed from about 50% to 95%. Security pass rates stayed flat, between 45% and 55%. Veracode, Spring 2026 GenAI Code Security update, 150+ models across 80 coding tasks, 24 March 2026. (AS-9 §2, fetched 2026-09-10.) Capability is improving. Correctness under adversarial check is not.
And the tools that read the diff have stepped back from the verdict on purpose: Claude Code Review's check “always completes with a neutral conclusion so it never blocks merging”; Copilot's reviews “do not count toward required approvals”. (Vendor documentation, AS-9 §1 and §5, fetched 2026-09-10.) OneDroid Argus returns a verdict: passed or failed, or not_applicable when no check could run. A check that could not run never counts as a pass; a load run can be degraded; a comparison run reports differences, not a pass.
How it works
Three steps, and the middle one is the point.
Your agent writes the scenarios
You state the intent — the ticket, the acceptance criteria, the interface diff. Your own agent, with our skill, turns that into a scenario set: the happy path, the repeat, the wrong actor, the wrong state, every external call's failure, the race at the shared resource, and the load variant. The control plane seals the set and anchors its hash before the run.
The builder never sees the answer key
The coding agent never holds a token that can read the expectations, and the scenarios are never in its working directory. It builds against reality, not an answer key. It can run the scenarios as often as it likes and see only what happened — never what was expected.
The verdict, with evidence
One final run against a pinned build, then the reveal: every scenario, its trigger, its expectation, the evidence hash, and the verdict — as a report a reviewer can hand to an auditor, and a certificate anyone can check with the open CLI and no OneDroid account. The scenarios become regression guards; the next feature gets a fresh withheld set.
Three modes, one evidence contract
One product, three questions.
Holdout acceptance — “does it do what was asked?”
Withheld scenarios, run once against a pinned artefact: a verdict plus per-scenario replayable evidence.
Under load — “how much can it take?”
A scenario declares its load and the latency and error rate it must stay under. For message brokers, a ramp of sessions in steps finds the limit and records what was sent, confirmed and delivered at each step. An HTTP target can be ramped step by step too. No ramp drives a web page in a browser.
Continuously — “is it still true tomorrow?”
The reviewed scenario set runs on a monitor schedule, every 15 minutes at the shortest. One page answers “Is it OK?” from the scheduled runs only, and lists what needs a person.
The run layer
It brings its own run layer.
OneDroid Synapse is the governed MCP gateway. Your agents connect to one URL instead of holding credentials for each service; every tool call is authenticated, policy-checked, and logged while the hub's activity logging is on (fail-open: a logging failure never blocks a call), to an append-only audit log you own. It ships with OneDroid Argus and runs standalone. How Synapse works
OneDroid Engram is versioned knowledge and memory in a Postgres you control with your own database, or one OneDroid hosts — hybrid vector, keyword and graph search, git-style history, diff and restore. How Engram works
The method behind the gate is written down and open: the Dark Factory kits, Apache-2.0.
For regulated buyers
When someone has to answer for it.
OneDroid Argus, Synapse and Engram on your own infrastructure, held together by one thing: the evidence record. Synapse's audit entry, Engram's versioned fact and OneDroid Argus's verdict are the same object — a promise plus the evidence for it. Where the law names the pieces they line up: EU AI Act Art. 12 (automatic recording of events over the lifetime of the system) and Art. 14 (human oversight) for high-risk AI products; DORA Art. 25 and Art. 30; HIPAA 164.312(b); FDA 21 CFR 11.10(e). Using a coding agent does not by itself make your system high-risk, and we will not tell you otherwise.
Worth knowing: the largest vendor's hosted agents say of themselves that they are “not currently eligible for Zero Data Retention (ZDR) or HIPAA Business Associate Agreement (BAA) coverage.” (Vendor documentation, AS-10 via strategy §6b, fetched 2026-09-10.) If that is your world, start here.
Open source
Open where it has to be.
github.com/OneDro1d open sourceThe Dark Factory kits are open source under Apache-2.0, at the address above. The OneDroid Argus runner executes inside your environment and touches your data plane, so its source is open too, under MIT: github.com/OneDro1d/argus-runner. Your tester writes the scenarios with our open skill; the control plane that seals the set and adjudicates the verdict is hosted and closed. The holdout is provably prior, and the evidence is replayable with the runner in your own environment. A certificate proves what the runner reported and when, not that the runner was unmodified.
FAQ
Questions people actually ask.
What is OneDroid Argus?
Automated end-to-end testing for AI-written code. It runs acceptance scenarios your coding agent never saw against the system it built, under load as well as once, and returns a verdict with evidence you can replay.
Is OneDroid Argus end-to-end testing?
Yes, and it does more than a usual end-to-end suite. Like any end-to-end test it exercises the running system, with nothing mocked: HTTP, the message broker, the database, web pages in a real browser. Four things differ. Checks are plain scenarios, not test scripts: a separate tester, your QA engineer or an agent but never the builder, writes them from the ticket and the acceptance criteria, before the build. There are no test scripts to write and keep alive: the scenarios are written once per feature, before the build. Your coding agent can't pass by guessing, because its credential cannot read a check. And the same checks run under load (a message broker or an HTTP target) and on a schedule, every 15 minutes at the shortest, with no second tool.
How is this different from an AI code reviewer?
A reviewer reads the diff and gives an opinion. OneDroid Argus does not judge the diff; it exercises the running system. A reviewer says “this looks wrong”; OneDroid Argus says “when I cancelled a shipped order, you refunded it”, and shows you the saga.
What does independent testing cost?
The same order as the coding. In one measured experiment, Claude Code built a feature for $1.97 a run testing its own work; with OneDroid Argus as the independent tester, the coding agent cost $1.01 a run and the tester one session of about $5.30, which wrote both the build checks and the 13 hidden judge checks for the feature, and both setups passed all 13 hidden checks. The tester is paid once per feature, and its checks stay as regression checks. One ticket and three runs per setup, so treat it as one data point. The case study.
Do I have to trust your closed control plane?
No. The scenario set is hashed and anchored before the build, revealed in full, with an on-chain anchor, when the tester chooses to reveal after the verdict, and any revealed scenario can be replayed by the runner. The anchor proves the scenarios were prior and unchanged; keeping them unseen is custody — a builder credential that cannot read a test, and an environment that does not hold one.
Where does it run?
Next to your system, inside your environment, and on the owner's terms. A monitor can watch a live system; for an app that moves money, one switch makes OneDroid Argus refuse every write the owner has not listed, with limits. Checks read your database in read-only transactions (OneDroid Argus writes to it only if a scenario declares a cleanup block, with the credential you give it), and a load ramp runs only against a target its operator listed, with production-looking addresses refused.
Does OneDroid Argus score my build?
No. Every scenario ends as passed, failed, errored or not_applicable (it could not run; a load run has one more outcome, degraded), and neither an error nor not_applicable is ever a pass. The verdict is a decision about one pinned build against the sealed scenarios, with the evidence attached. There is no number to optimise for and no “safe” label.
Find out what your agent actually built.
The OneDroid Argus runner is free and open source under MIT; the control plane: sign up to evaluate, your own environment by request. Email michal@onedroid.ai — you'll reach Michal Bacia, the team that builds the product, not a sales queue. We reply within one business day.
Contradicted (1)
| Id | Claim, as made | Made at | Both sides |
|---|---|---|---|
| C-020 | we showed the checks can fail: two deliberately broken builds turned red the checks that depend on what was broken, and left every unrelated check of the arithmetic green | onedroid.ai/llms-full.txt (sources/llms-full.txt L3508 (PAGE /case-study-code-vs-user-guide; under "In short")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L37 (under "In short")) | The case study says the broken builds turned red only the checks that depend on the changed constants and left every unrelated check green. llms.txt L48 says 'Every check shown able to fail with deliberately broken builds', and the blog description says 'every check shown able to fail'. These are two different accounts of which checks were shown able to fail. sources/case-study-code-vs-user-guide.md#L37 sources/case-study-code-vs-user-guide.md#L22 sources/case-study-code-vs-user-guide.md#L59 |
Contradicted, low confidence (9)
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-050 | It comes with a certificate: proof without the tests, which anyone can check with the open CLI, with no OneDroid account and no contact with OneDroid: it reads the public chain through an RPC endpoint you choose. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2622-2625 (PAGE /argus; under "The reveal")) onedroid.ai/argus.md (sources/argus.md L110-113 (under "The reveal")) | /argus and the README say verification reads the public chain through an RPC endpoint you choose (--rpc). The partners page says a certificate is one 'anyone can check offline with the CLI'. Low confidence: 'offline' may mean 'without OneDroid'. sources/argus.md#L110-113 sources/partners-financial-services.html#L309 sources/argus-runner-README.md#L107-112 |
| C-069 | OneDroid Argus is in early use, and compare is its newest part. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2840 (PAGE /case-studies; under "Six differences between two releases of a ticketing system")) | /case-studies and /argus call compare the newest part. Docs date compare to v0.3.57, while HTTP load ramps (v0.3.66), fault steps (v0.3.69), db/logs steps (v0.3.70) and bus steps (0.3.74) came later. Low confidence: 'part' may mean a mode, not a feature. sources/llms-full.txt#L2840 sources/argus.md#L167 sources/argus-docs.md#L225 |
| C-262 | A run needs an account on the hosted control plane. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2715 (PAGE /argus; under "MCP server")) onedroid.ai/argus.md (sources/argus.md L203 (under "MCP server")) | low confidence: /argus says 'A run needs an account on the hosted control plane', while the runner README says whoever receives a reveal can 're-run any scenario in it, without a OneDroid account' and reveal_cmd.go marks argus replay as pre-auth; a charitable reading treats a replay as distinct from a control-plane run. sources/llms-full.txt#L2715 sources/argus.md#L203 sources/argus-runner-README.md#L119-124 |
| C-265 | A change log did not show three of them. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2861 (PAGE /case-study-otrs-znuny; under "Six differences between two releases of a ticketing system")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L20 (under "Six differences between two releases of a ticketing system")) | low confidence: the leader line states 'A change log did not show three of them', while the same page's body says only a keyword search did not find them and to 'read that as not found by us, not as undocumented', and 'Whether they are documented elsewhere, we did not establish'. sources/llms-full.txt#L2861 sources/case-study-otrs-znuny.md#L20 sources/llms-full.txt#L2962 |
| C-319 | 2 of the 100 are properties of our own (the code gives the same answer twice, and it reports the exact sources we pinned), and they are labelled as ours | onedroid.ai/llms-full.txt (sources/llms-full.txt L3522 (PAGE /case-study-code-vs-user-guide; under "The method")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L51 (under "The method")) | low confidence: the method row says 2 of the 100 checks are the team's own properties, while llms.txt and the page description say '100 (sealed) checks written from its own user guide' and the home page '100 sealed checks, each quoting the sentence it tests'; a charitable reading treats those as summaries. sources/llms-full.txt#L3522 sources/case-study-code-vs-user-guide.md#L51 sources/llms.txt#L48 |
| C-327 | It also found held checks that test less than their titles say, and the page lists them. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3510 (PAGE /case-study-code-vs-user-guide; under "In short")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L39 (under "In short")) | Low confidence. L39 says 'the page lists them', but the only place they appear (L121) names two kinds of weakness ('a norm instead of the whole vector, the order of values instead of the values') and lists no check ids or titles. A charitable reading takes the two kinds as the list. sources/case-study-code-vs-user-guide.md#L39 sources/case-study-code-vs-user-guide.md#L121 |
| C-345 | State, credentials, audit records, and configuration live where you deploy them. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3846-3847 (PAGE /synapse; under "Ownership")) | Low confidence. /synapse says credentials and audit records 'live where you deploy them. Nothing is held hostage on someone else's servers'. /security says on the free hosted shape OneDroid holds the encrypted credentials, and only on self-host do credentials and the event log stay inside your boundary. Reading 'where you deploy them' as OneDroid's servers when you choose hosted reconciles the two. sources/llms-full.txt#L3846-L3847 sources/security.md#L45-L46 sources/llms-full.txt#L4373-L4374 |
| C-515 | No test scripts to write and keep alive, except a spec file for a browser check | onedroid.ai/llms-full.txt (sources/llms-full.txt L18 (PAGE /)) onedroid.ai/llms-full.txt (sources/llms-full.txt L2518 (PAGE /argus)) onedroid.ai/llms-full.txt (sources/llms-full.txt L2555 (PAGE /argus; under "Not a test suite to maintain")) | Low confidence. The home FAQ (llms-full L230) and llms.txt L29 say flatly 'There are no test scripts to write and keep alive', without the 'except a spec file for a browser check' exception the claim and /argus carry. A charitable reading treats the FAQ as a shorter summary. sources/llms-full.txt#L18 sources/argus.md#L43 sources/llms-full.txt#L230 |
| C-607 | The hosted control plane, which seals the withheld scenarios and adjudicates the verdict, is the priced part, available by request | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L407-408 (under "05What it costs")) | Low confidence. The page says the hosted control plane is 'available by request', while the same page (L440) and /kit say anyone can create an account / it is 'open to sign up and evaluate'. /pricing reconciles it (evaluate free at argus-dev; your own environment by request), so a charitable reading scopes 'by request' to the priced own environment. sources/partners-financial-services.html#L407-408 sources/partners-financial-services.html#L440 sources/llms-full.txt#L5162-5163 |
Evidenced (282)
| Id | Claim, as made | Made at | Artefact |
|---|---|---|---|
| C-017 | We turned the user guide of a decades-old Fortran library into 100 checks, sealed them before the run, and ran them against the original code: 91 held, 9 failed. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3491 (PAGE /case-study-code-vs-user-guide; under "Does the code do what its user guide says? 100 sealed checks against a decades-old Fortran library")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L20 (under "Does the code do what its user guide says? 100 sealed checks against a decades-old Fortran library")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x53ff7fd12710b90183bb166821766fcc5b6152b7e7b05d1a08161575f4632228#200 block 48212445 2026-10-16T23:26:18Z payload scenario_count 100 https://base-sepolia.blockscout.com/api/v2/transactions/0x6228ba08bc8532962b225ab007c1ee9c040f3e3ec718d20b3e035873e3b91bc2#200 block 48212457 2026-10-16T23:26:42Z tallies passed 91 failed 9 errored 0 sources/case-study-code-vs-user-guide.md#L20 PARTIAL: Base Sepolia anchors show a 100-scenario set sealed before a verdict of 91 passed / 9 failed / 0 errored; that the set came from a decades-old Fortran library's user guide is not shown by the anchors. |
| C-022 | The sealed set and the verdict were recorded on Base Sepolia, a public Ethereum test network (blocks 48212445 and 48212457), and submitted to Bitcoin through OpenTimestamps. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3602 (PAGE /case-study-code-vs-user-guide; under "How anyone can check it")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L131 (under "How anyone can check it")) | https://base-sepolia.blockscout.com/api/v2/blocks/48212445/transactions#200 tx 0x53ff7fd12710b90183bb166821766fcc5b6152b7e7b05d1a08161575f4632228 set_hash de57feae… scenario_count 100 https://base-sepolia.blockscout.com/api/v2/blocks/48212457/transactions#200 tx 0x6228ba08bc8532962b225ab007c1ee9c040f3e3ec718d20b3e035873e3b91bc2 verdict failed sources/case-study-code-vs-user-guide.md#L131 PARTIAL: both quoted Base Sepolia blocks hold transactions from the same anchor signer (0x9Db3…7c97) carrying the sealed set and the verdict; the OpenTimestamps/Bitcoin submission clause is not shown by any published receipt. |
| C-023 | The certificate verified with the public verifier in the open-source OneDroid Argus runner (MIT), with no account | onedroid.ai/llms-full.txt (sources/llms-full.txt L3602 (PAGE /case-study-code-vs-user-guide; under "How anyone can check it")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L131 (under "How anyone can check it")) | repo/LICENSE#L1 MIT License repo/cmd/argus/certificate_cmd.go#L125-131 sources/argus-runner-README.md#L103-115 PARTIAL: the public MIT runner ships 'argus certificate verify' reading anchors via a user-chosen --rpc with no account; the certificate of this specific run is not published, so its verification cannot be repeated. |
| C-026 | Seven checks sealed before the run, against the FINOS CALM trades API and MCP demo: 5 passed, 2 failed, 0 errored. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3041 (PAGE /case-study-finos-calm)) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L4 (under "Does the guardrail hold on every path? Seven sealed checks against a FINOS CALM demo — OneDroid Argus case study")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 block 47817413 scenario_count 7 https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#200 block 47817439 tallies passed 5 failed 2 errored 0 sources/case-study-finos-calm.md#L4 PARTIAL: anchors show a 7-scenario set sealed 2026-10-07T19:58:34Z before a verdict of 5/2/0 at 19:59:26Z, and the verdict's artifact_digest sha256:feb820a3… matches the trades-mcp-server digest the page lists (L57); that the target was the FINOS CALM demo is not otherwise shown. |
| C-027 | Six checks were generated from the demo's own CALM architecture file and one was written by hand. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3068 (PAGE /case-study-finos-calm; under "In short")) onedroid.ai/partners-financial-services (sources/partners-financial-services.html L332-333 (under "03The proof: a FINOS CALM trading demo")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L33 (under "In short")) | repo/cmd/argus/calm_cmd.go#L14 sources/case-study-finos-calm.md#L33 sources/case-study-finos-calm.md#L63 PARTIAL: the 'argus calm import <architecture.json>' generator exists in the public repo and the anchored set has 7 scenarios; the 6-generated / 1-by-hand split is not shown because the set is not revealed. |
| C-030 | The sealed set, before the run (block 47817413) | `0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc` [...] The verdict, after the run (block 47817439) | `0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a` | onedroid.ai/llms-full.txt (sources/llms-full.txt L3166-3168 (PAGE /case-study-finos-calm; under "How anyone can check it later")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L131-133 (under "How anyone can check it later")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 block_number 47817413 status ok https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#200 block_number 47817439 status ok sources/case-study-finos-calm.md#L131-133 Both quoted transactions exist on Base Sepolia at exactly the quoted blocks; the first carries a set hash (scenario_count 7), the second a verdict that names the first as its predecessor. |
| C-031 | Before the run, OneDroid Argus read the image digests actually running and found exactly the three that the certification declared. To show the other side, a final run was started that declared a digest that was not running. It was refused before any check ran | onedroid.ai/llms-full.txt (sources/llms-full.txt L3172 (PAGE /case-study-finos-calm; under "How anyone can check it later")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L137 (under "How anyone can check it later")) | repo/internal/artifactmeasure/measure.go#L203 sources/case-study-finos-calm.md#L137 PARTIAL: the refusal text quoted on the page is produced verbatim by the public runner's artifact-measure code; the specific FINOS runs (three digests matched, one mismatched run refused) are not published as records. |
| C-041 | Like any end-to-end test, OneDroid Argus exercises the running system, with nothing mocked: HTTP, the message broker, the database, web pages in a real browser. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2545-2546 (PAGE /argus; under "Yes, and it does more than a usual end-to-end suite.")) onedroid.ai/argus.md (sources/argus.md L33-34 (under "Yes, and it does more than a usual end-to-end suite.")) | repo/internal/chain/http.go repo/internal/chain/amqp.go repo/internal/chain/dbstep.go PARTIAL: the public runner implements HTTP, AMQP broker, database and Playwright browser steps; 'with nothing mocked' is a property of use, not shown by an artefact. |
| C-044 | Its credential can ask for a run and read the verdict, and cannot read a check or an expected value. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2559 (PAGE /argus; under "Your coding agent can't game it.")) onedroid.ai/argus.md (sources/argus.md L47 (under "Your coding agent can't game it.")) | repo/internal/role/role.go#L1-8 repo/internal/role/role.go#L18-20 repo/internal/mcpserver/builder_namespace_test.go PARTIAL: the public runner's role policy gives the product (builder) token no scenario access and a bundle without expected values; the hosted control plane's credential scopes are not in the repo. |
| C-045 | During the build it reports only what happened — failing ids and observed reality, so your agent can fix things — never what was expected. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2612-2613 (PAGE /argus; under "Run unseen, then adjudicated.")) onedroid.ai/argus.md (sources/argus.md L100-101 (under "Run unseen, then adjudicated.")) | repo/internal/role/role.go#L18-20 sources/argus.md#L100-101 The product hat's failure-context bundle is coded to exclude the scenario and expected values and work from observed reality, which is what the claim says. |
| 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 (sources/llms.txt L19-21 (under "OneDroid")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 set_hash anchored before verdict repo/cmd/argus/reveal_cmd.go#L38-43 sources/argus-runner-README.md#L117-134 PARTIAL: set hashes are anchored on a public chain before the verdict and the repo ships reveal verification and replay; 'before the build starts' is not shown, only before the verdict. |
| C-047 | The hash proves priority. Keeping them unseen is a separate mechanism | onedroid.ai/llms-full.txt (sources/llms-full.txt L2592-2593 (PAGE /argus; under "Sealed before the build.")) onedroid.ai/argus.md (sources/argus.md L80-81 (under "Sealed before the build.")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 block 47817413 precedes verdict block 47817439 repo/internal/role/role.go#L18-20 The anchored set hash precedes its verdict on chain (priority), and the unseen-ness is a separate code mechanism (builder role with no scenario access), matching the two-part statement. |
| C-048 | The final run is made against a pinned artefact, and the control plane adjudicates it. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2613 (PAGE /argus; under "Run unseen, then adjudicated.")) onedroid.ai/argus.md (sources/argus.md L101 (under "Run unseen, then adjudicated.")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#200 artifact_digest sha256:feb820a3… repo/internal/certificate/certificate.go#L153 PARTIAL: the anchored verdict carries a pinned artifact digest; adjudication by the control plane is not inspectable because the control plane is not public. |
| C-049 | The verdict binds to a specific build, so it cannot be re-pointed at a later one. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2622 (PAGE /argus; under "The reveal")) onedroid.ai/argus.md (sources/argus.md L110 (under "The reveal")) onedroid.ai/partners-financial-services (sources/partners-financial-services.html L309 (under "02What OneDroid Argus does")) | repo/internal/certificate/certificate.go#L153 repo/cmd/argus/reveal_cmd.go#L43 https://base-sepolia.blockscout.com/api/v2/transactions/0x6228ba08bc8532962b225ab007c1ee9c040f3e3ec718d20b3e035873e3b91bc2#200 artifact_digest sha256:8930523b… The certificate format and the anchored verdict carry the artifact digest, and replay refuses any --against digest other than the certified one. |
| C-051 | Because the runner is open source, a certificate proves what the runner reported and when, not that the runner was unmodified. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2625-2626 (PAGE /argus; under "The reveal")) onedroid.ai/argus.md (sources/argus.md L113-114 (under "The reveal")) | sources/argus-runner-README.md#L25-32 repo/internal/certificate/verify.go#L676-697 repo/LICENSE#L1 MIT License The public repo's README and verify logic check only what was anchored (reported), not runner integrity, which is what this limitation states. |
| C-053 | an anchor proves the statement existed no later than its block; it does not prove the statement is true. A Bitcoin (OpenTimestamps) receipt is "pending" until the calendar has a block attestation. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L34-36 (under "What a OneDroid Argus certificate proves today, and what it does not")) | repo/internal/chainread/ots/ots.go#L38 repo/internal/chainread/ots/ots.go#L120 repo/internal/certificate/verify.go#L606-608 PARTIAL: the OTS reader and verifier code report an unattested receipt as pending, as stated; 'an anchor does not prove the statement true' is a definitional caveat with no artefact. |
| C-054 | Exit code 0 means no check mismatched and at least one of the run's verdict anchors read back and matched. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L112-113 (under "Verify a certificate")) | repo/internal/certificate/verify.go#L676-697 sources/argus-runner-README.md#L112-113 Overall() returns true only when no result is a mismatch and at least one verdict anchor verified, matching the stated exit-0 rule. |
| C-055 | When the tester chooses to reveal the set, every scenario is published with its trigger, expectation, evidence hash and verdict, and any scenario can be replayed by the runner against the same artefact | onedroid.ai/llms-full.txt (sources/llms-full.txt L2626-2628 (PAGE /argus; under "The reveal")) onedroid.ai/argus.md (sources/argus.md L114-116 (under "The reveal")) | repo/cmd/argus/reveal_cmd.go#L38-43 repo/internal/reveal/document.go sources/argus-runner-README.md#L117-134 PARTIAL: the public repo reads reveal documents and replays a revealed scenario against the certified digest; reveal assembly (what gets published) is in the closed control plane. |
| 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. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2632 (PAGE /argus; under "The reveal")) onedroid.ai/argus.md (sources/argus.md L120 (under "The reveal")) onedroid.ai/partners-financial-services (sources/partners-financial-services.html L321 (under "02What OneDroid Argus does")) | repo/internal/runner/mapper.go#L212-213 repo/internal/certificate/verify.go#L183-189 repo/internal/certificate/certificate.go#L130-136 Code maps any error/skip to errored, never passed, and verify rejects a passed verdict when every scenario was not_applicable. |
| C-058 | OneDroid Argus returns a verdict: passed or failed, or not_applicable when no check could run. | onedroid.ai/llms-full.txt (sources/llms-full.txt L108 (PAGE /; under "You already had the incident.")) | repo/internal/certificate/verify.go#L179-210 repo/internal/certificate/verify.go#L378 PARTIAL: the verifier accepts verdicts passed, failed, not_applicable (and also degraded, for load), so the listed set is implemented but not exhaustive. |
| C-059 | A scenario can declare a load: a number of users held for a duration, with the p95 latency and the error rate it must stay under. For message brokers there is more: a ramp of sessions in steps, up to 2,000 sessions a step by default, that finds the limit. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2641-2643 (PAGE /argus; under "Under load.")) onedroid.ai/argus.md (sources/argus.md L129-131 (under "Under load.")) | repo/schemas/scenario.schema.yaml#L189 repo/schemas/argus-config.schema.yaml#L136-150 The scenario schema declares p95/error_rate thresholds and the config schema sets a default of 2000 sessions per step for AMQP/HTTP load ramps. |
| C-060 | Each step records the rates offered, sent, confirmed and delivered, the time from publish to confirm and to delivery, the errors by class, and any time the broker blocked. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2643-2645 (PAGE /argus; under "Under load.")) onedroid.ai/argus.md (sources/argus.md L131-133 (under "Under load.")) | repo/internal/report/loadstep.go#L66-82 The LoadStep record carries offered, sent, confirmed and delivered rates, publish-confirm and publish-deliver quantiles, errors by class and blocked periods. |
| C-061 | An HTTP target can be ramped too: users are raised step by step against one named target, and the ramp stops at the first step that is not comfortable, so a system that has broken is not pushed harder. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2647-2649 (PAGE /argus; under "Under load.")) onedroid.ai/argus.md (sources/argus.md L135-137 (under "Under load.")) | repo/internal/httpload/httpload.go#L177-215 repo/internal/argus/httpload_run.go The HTTP load code ramps users step by step and stops at the first step that is not comfortable. |
| C-062 | The limits, stated plainly: stepped ramps exist for AMQP brokers and for one HTTP target at a time, and none drives a web page in a browser. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2652-2653 (PAGE /argus; under "Under load.")) onedroid.ai/argus.md (sources/argus.md L140-141 (under "Under load.")) | repo/internal/amqpload/amqpload.go#L403-440 repo/internal/httpload/httpload.go#L177-215 PARTIAL: stepped ramps exist for AMQP and HTTP in the runner; 'one HTTP target at a time' and 'none drives a browser' are negative limits not shown by an artefact. |
| C-064 | A load ramp runs only against a target its operator listed, and an address that looks like production is refused. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2744 (PAGE /argus; under "Not a free hand on a live system")) onedroid.ai/llms-full.txt (sources/llms-full.txt L4356 (PAGE /security; under "Where the verifier runs, and where it never does.")) onedroid.ai/argus.md (sources/argus.md L232 (under "Not a free hand on a live system")) | repo/schemas/argus-config.schema.yaml#L136-150 repo/internal/config/config.go#L1078-1081 repo/internal/config/loadallowed_http_test.go#L106 load_allowed_targets is off by default, enforced in config validation, and refuses a shared/production-looking broker or base_url. |
| C-068 | The result is a table: rows are checks, columns are systems, and each cell reads same, differs, approved, noise, not measured or could not run. What may differ is declared before the run, with a tolerance for numbers. A difference a person accepts is pinned to the two outputs they were shown | onedroid.ai/llms-full.txt (sources/llms-full.txt L2673-2676 (PAGE /argus; under "One sealed set, two systems.")) onedroid.ai/argus.md (sources/argus.md L161-164 (under "One sealed set, two systems.")) | repo/internal/compare/result.go#L96-116 repo/internal/compare/result.go#L225-226 repo/internal/compare/rules.go The compare package pins an approval to the two output hashes it was given at and marks it stale when an output moves, with differs/approved tallies per cell. |
| C-070 | Between steps a check can read one row of the system's PostgreSQL database with a read-only query, or ask its log store (Loki) whether a line was written. A check can also make the system fail on purpose while it runs: stop, start or scale a deployment, or delay or cut one connection. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2615-2618 (PAGE /argus; under "Run unseen, then adjudicated.")) onedroid.ai/argus.md (sources/argus.md L103-106 (under "Run unseen, then adjudicated.")) | repo/internal/pgread/pgread.go#L99-108 repo/internal/chain/logsstep.go#L15 repo/docs/fault-steps.md#L3 The runner has a read-only PostgreSQL step (BEGIN READ ONLY), a Loki logs step, and fault steps stop/start/scale/delay/cut. |
| C-071 | Nothing can be made to fail unless the system's operator has listed it; OneDroid Argus undoes every fault it injected, and the report and the certificate say what was done and whether every undo succeeded. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2618 (PAGE /argus; under "Run unseen, then adjudicated.")) onedroid.ai/argus.md (sources/argus.md L106 (under "Run unseen, then adjudicated.")) | repo/docs/fault-steps.md#L8 repo/docs/fault-steps.md#L127-131 repo/docs/CERTIFICATE.md#L58-62 Faults need the fault_allowed_targets allowlist, every active fault is undone with failed restores recorded, and v4 certificates carry a bound faults list. |
| C-073 | For an app that moves money, one switch makes OneDroid Argus refuse every write the owner has not listed, with limits. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2742-2744 (PAGE /argus; under "Not a free hand on a live system")) onedroid.ai/llms-full.txt (sources/llms-full.txt L4355-4356 (PAGE /security; under "Where the verifier runs, and where it never does.")) onedroid.ai/argus.md (sources/argus.md L230-232 (under "Not a free hand on a live system")) | repo/internal/scenario/moneyguard.go#L78-101 repo/internal/scenario/moneyguard.go#L236-238 The money guard refuses any write not on the owner's money_writes allowlist, fail-closed. |
| C-074 | The runner executes inside your own environment next to the system under test. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4358-4359 (PAGE /security; under "Where the verifier runs, and where it never does.")) onedroid.ai/security.md (sources/security.md L30-31 (under "Where the verifier runs, and where it never does.")) | sources/argus-runner-README.md#L80-83 repo/internal/k8srender/k8srender.go The public CLI renders the executor manifest that the user creates in their own cluster next to the system under test. |
| C-075 | What leaves your boundary is the evidence the control plane needs to adjudicate a verdict: statuses, timings and, unless the tester asks for them to be cut, short excerpts of what the application returned; not your data stores. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4361-4362 (PAGE /security; under "Where the verifier runs, and where it never does.")) onedroid.ai/security.md (sources/security.md L33-34 (under "Where the verifier runs, and where it never does.")) | repo/internal/runner/limitedreport.go#L13-21 PARTIAL: the limited report is a keep-list cut on the executor so app data does not travel except status codes; 'not your data stores' over all traffic is not shown end to end. |
| C-076 | OneDroid Synapse is the governed MCP gateway. | onedroid.ai/llms-full.txt (sources/llms-full.txt L170 (PAGE /; under "It brings its own run layer.")) | https://synapse.onedroid.ai/.well-known/oauth-protected-resource#200 scopes_supported mcp:tools mcp:resource sources/llms-full.txt#L170 PARTIAL: the Synapse host answers as an MCP OAuth-protected resource; the 'governed' quality is not shown by this endpoint. |
| C-077 | judges the result the way an operator would: by reading the system's own structured logs, its saga events, and its database state, from a process that sits next to it | docs.onedroid.ai/argus (sources/argus-docs.html L63-65 (under "Argus — automated end-to-end testing for AI-written code")) docs.onedroid.ai/argus.md (sources/argus-docs.md L10-12) | repo/internal/chain/logsstep.go#L15 repo/internal/argus/chain_logs.go repo/internal/pgread/pgread.go#L99-108 The runner judges via Loki log lines, saga-event presence and read-only database queries, run from the executor next to the system. |
| C-079 | The agent skills and the MCP server are released. | onedroid.ai/llms.txt (sources/llms.txt L32 (under "OneDroid")) | repo/skills/scenario-author/SKILL.md repo/internal/mcpserver/server.go https://argus-dev.onedroid.ai/mcp#404 on GET PARTIAL: an agent skill and MCP server code are in the public repo; the hosted MCP endpoint answers 404 to GET (POST not tried, per bounds), so its release is not confirmed live. |
| C-080 | an MCP server with separate credentials for the tester and the builder | onedroid.ai/llms-full.txt (sources/llms-full.txt L2690 (PAGE /argus; under "Three ways in.")) onedroid.ai/argus.md (sources/argus.md L178 (under "Three ways in.")) | repo/internal/role/role.go#L1-8 repo/internal/role/role.go#L16-29 sources/argus-runner-README.md#L95-96 PARTIAL: the runner's auth maps two distinct tokens to the product (builder) and test (tester) roles; the hosted MCP server's credential split is not in the repo. |
| C-081 | prefixed `odts_`, shown once [...] a **builder token** (**Settings → API Tokens**, then **Generate builder token**), which reaches only the control plane's `runner_*` tools | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L94-134 (under "2. The two kinds of token")) | repo/internal/doctor/token.go#L32 repo/internal/auth/auth.go#L8 sources/argus-quickstart.md#L94-134 The odts_ prefix is a constant in the public CLI (token.go:32) and the runner token maps to runner_* scope only (auth.go:8); PARTIAL: the Settings → API Tokens path and 'shown once' are control-plane UI behaviour not in the repo. |
| C-082 | The OneDroid Argus page now describes release 0.3.70. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5948-5949 (PAGE /changelog; under "OneDroid Argus 0.3.70: a check can read the database and the logs, and make the system fail")) onedroid.ai/changelog.md (sources/changelog.md L135-136 (under "OneDroid Argus 0.3.70: a check can read the database and the logs, and make the system fail")) | sources/argus-docs.md#L136-146 https://docs.onedroid.ai/argus.md#200 sources/changelog.md#L135-136 The saved and live Argus docs page carries v0.3.70 entries (argus-docs.md:136, :140, :146), which would be absent if the page did not describe that release. |
| C-084 | prints the literal fix for each problem. It writes nothing except a renewed session token, and never prints a credential. | docs.onedroid.ai/argus-quickstart (sources/argus-quickstart.html L234-235 (under "4. Prove read access before wiring anything else")) docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L233-234 (under "4. Prove read access before wiring anything else")) | repo/cmd/argus/doctor.go#L70 repo/cmd/argus/doctor.go#L350-352 sources/argus-quickstart.md#L233-234 doctor.go implements the behaviour: help text at L70 and code at L350-352 that renews the access token in memory and only saves a rotated refresh token; the never-prints-a-credential clause rests on the same code path. |
| 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 (sources/llms-full.txt L5862-5864 (PAGE /changelog; under "The site now leads with what testing costs")) onedroid.ai/changelog.md (sources/changelog.md L49-51 (under "The site now leads with what testing costs")) | sources/changelog.md#L49-51 sources/ (grep 'curl ... | sh' and 'uses: OneDro1d' over all saved pages: no match) The saved site pages contain no curl-pipe install command and no CI action usage, so the removal the changelog states is checkable in the saved corpus. |
| C-087 | A run with faults gets certificate format `argus-certificate/v4`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L169 (under "What changed recently")) | repo/internal/certificate/certificate.go#L31-35 repo/docs/CERTIFICATE.md#L58 sources/argus-docs.md#L169 certificate.go defines FormatV4 'argus-certificate/v4' as issued only for a run that applied at least one fault. |
| C-088 | The runner and the CLI are open source under MIT | onedroid.ai/llms-full.txt (sources/llms-full.txt L2713 (PAGE /argus; under "MCP server")) onedroid.ai/argus.md (sources/argus.md L201 (under "MCP server")) | repo/LICENSE#L1 https://api.github.com/repos/OneDro1d/argus-runner#200 spdx_id MIT repo/cmd/argus The public argus-runner repo carries an MIT LICENSE and contains both the runner and the CLI source (cmd/argus). |
| C-089 | The AMQP sampler under `jmeter-plugins/amqp` keeps its own Apache-2.0 licence file. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L12 (under "OneDroid Argus runner")) | repo/jmeter-plugins/amqp/LICENSE#L1 sources/argus-runner-README.md#L12 jmeter-plugins/amqp/LICENSE is an Apache License file inside the MIT repository. |
| C-090 | No fee, no seat count, no expiry | onedroid.ai/llms-full.txt (sources/llms-full.txt L5630 (PAGE /pricing; under "The OneDroid Argus runner")) onedroid.ai/pricing.md (sources/pricing.md L35 (under "The OneDroid Argus runner")) | repo/LICENSE#L1 sources/pricing.md#L35 The runner ships under the MIT licence, which carries no fee, seat count or expiry term. |
| C-091 | The container image is published at `ghcr.io/onedro1d/argus-runner`. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5959-5960 (PAGE /changelog; under "The OneDroid Argus runner is open source")) onedroid.ai/changelog.md (sources/changelog.md L146-147 (under "The OneDroid Argus runner is open source")) | https://github.com/OneDro1d/argus-runner/pkgs/container/argus-runner#200 repo/README.md#L50 repo/BUILDING.md#L70 The public GitHub container package page for argus-runner answers 200 and the repo README names ghcr.io/onedro1d/argus-runner:main as the published image. |
| C-094 | the onboarding kit they drive (`onboarding/onboard.sh` and the compose and k3d scripts) is not shipped here | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L99-100 (under "Quickstart")) | repo/onboarding (contains only HOW-TO-ARGUS-CONFIG.md and argus-config.template.yaml) sources/argus-runner-README.md#L99-100 The repo's onboarding/ directory has no onboard.sh and no compose or k3d scripts, matching the claim. |
| C-095 | No token, no private module and no database are needed. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L160-161 (under "Build and test")) | repo/go.mod#L1-55 sources/argus-runner-README.md#L160-161 go.mod requires only public modules (no private module path); PARTIAL: that tests need no token and no database is not shown without running them. |
| C-097 | Anyone can sign up for the evaluation control plane at https://argus-dev.onedroid.ai (a test environment: no promise that data is kept) | onedroid.ai/llms.txt (sources/llms.txt L33-34 (under "OneDroid")) | https://argus-dev.onedroid.ai#200 https://argus-dev.onedroid.ai/assets/index-DTHfXbJx.js#200 (Clerk SignIn with signUpForceRedirectUrl) sources/llms.txt#L33-34 The evaluation control plane answers 200 and its bundle wires Clerk sign-in with a sign-up redirect; PARTIAL: that anyone can complete sign-up and the no-data-promise clause were not exercised (no account creation). |
| C-101 | "private":false [...] "created_at":"2026-10-07T22:26:48Z" [...] "pushed_at":"2026-10-27T17:40:27Z" [...] "stargazers_count":0 [...] "forks_count":0 [...] "archived":false [...] "open_issues_count":0 [...] "spdx_id":"MIT" [...] "visibility":"public" | api.github.com/repos/OneDro1d/argus-runner (sources/github-repo.json L1) | https://api.github.com/repos/OneDro1d/argus-runner#200 sources/github-repo.json#L1 The quoted fields are the GitHub API's own JSON for the public repository, saved and live (200). |
| C-102 | 2026-10-09 ### The OneDroid Argus runner is open source | onedroid.ai/llms-full.txt (sources/llms-full.txt L5951-5953 (PAGE /changelog; under "OneDroid Argus 0.3.70: a check can read the database and the logs, and make the system fail")) onedroid.ai/changelog.md (sources/changelog.md L138-140 (under "OneDroid Argus 0.3.70: a check can read the database and the logs, and make the system fail")) | https://api.github.com/repos/OneDro1d/argus-runner#200 visibility public sources/github-repo.json#L1 sources/changelog.md#L138-140 The runner repository is public with an MIT licence; PARTIAL: the 2026-10-09 date is not shown by the API, which gives created_at 2026-10-07T22:26:48Z. |
| C-103 | A governed MCP gateway. Your AI agents connect to one URL instead of holding their own credentials for each service, and every tool call is authenticated, checked against policy, and logged while the hub's activity logging is on (fail-open: a logging failure never blocks a call), to an audit log you own. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3887 (PAGE /synapse; under "What is OneDroid Synapse?")) | https://synapse.onedroid.ai/agent/mcp#401 {"code":"missing_token"} https://synapse.onedroid.ai/assets/index-8P5m7ahW.js#200 (activity_logging feature switch) sources/llms-full.txt#L3887 The live gateway URL refuses an unauthenticated call (401 missing_token) and its UI exposes an activity-logging switch; PARTIAL: per-call policy checks, fail-open logging and customer ownership of the log are not shown. |
| C-104 | Per-tool access control, not just per-integration | onedroid.ai/llms.txt (sources/llms.txt L92 (under "Key capabilities")) | https://synapse.onedroid.ai/assets/index-8P5m7ahW.js#200 (route /:slug/tool-toggles, API /hubs/{id}/tools/toggles) sources/llms.txt#L92 The public Synapse UI bundle ships a per-hub Tool Toggles page backed by a /hubs/{id}/tools/toggles API, i.e. per-tool control. |
| C-106 | An append-only event log of every tool invocation while the hub's activity logging is on — caller, tool, arguments hash, latency, result class. Yours to query and export. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3737-3738 (PAGE /synapse; under "Audit log")) | https://synapse.onedroid.ai/assets/index-8P5m7ahW.js#200 (activity_logging switch, latency_ms field, Export CSV) sources/llms-full.txt#L3737-3738 The UI bundle implements an activity log with latency_ms and a CSV export; PARTIAL: append-only storage and the arguments-hash and result-class fields are not shown. |
| C-113 | OneDroid Synapse speaks MCP over HTTP, so any MCP-compatible client works, with any model provider. Connecting Claude Code takes a single claude mcp add command with a bearer token. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3895 (PAGE /synapse; under "Does OneDroid Synapse work with Claude Code and Cursor?")) | https://synapse.onedroid.ai/assets/index-8P5m7ahW.js#200 (generates 'claude mcp add --transport http ... --header "Authorization: ...') https://synapse.onedroid.ai/agent/mcp#401 Www-Authenticate Bearer sources/llms-full.txt#L3895 The live endpoint is MCP over HTTP with bearer auth and the UI generates the single claude mcp add command; PARTIAL: 'any MCP client, any model provider' is not exercised. |
| C-114 | MCP endpoint for token clients: `https://synapse.onedroid.ai/agent/mcp` [...] OAuth clients use `https://synapse.onedroid.ai/hub/<slug>/mcp` instead, where the path selects the hub. | onedroid.ai/llms.txt (sources/llms.txt L103-107 (under "Connecting an agent")) | https://synapse.onedroid.ai/agent/mcp#401 {"code":"missing_token"} sources/llms.txt#L103-107 The token-client endpoint exists and demands a bearer token; PARTIAL: the OAuth hub path /hub/<slug>/mcp needs a real slug and was not checked. |
| C-115 | A good token returns HTTP 200 with a JSON-RPC result; a wrong one returns `401 invalid_token`; a missing header returns `401 missing_token`. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4164-4166 (PAGE /quickstart; under "The check")) | https://synapse.onedroid.ai/agent/mcp#401 {"code":"missing_token","message":"missing authentication token"} sources/llms-full.txt#L4164-4166 A GET with no header returns 401 missing_token as stated; PARTIAL: the 200 for a good token and 401 invalid_token for a wrong one need a token and were not exercised. |
| C-116 | Send the same `initialize` probe as above to `https://engram.onedroid.ai/mcp` with your Engram token. A good token gets HTTP 200 and a server named `engram`; no token, a wrong one or a revoked one gets HTTP 401 with a plain-text `Unauthorized`. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4226-4229 (PAGE /quickstart; under "The check")) | https://engram.onedroid.ai/mcp#401 text/plain 'Unauthorized' (GET, 2026-10-28T20:42Z) sources/llms-full.txt#L4226-4229 With no token the endpoint answers 401 with a plain-text Unauthorized (the mechanical check saw 404 earlier); PARTIAL: the 200 and server name 'engram' for a good token were not exercised. |
| C-123 | Governance, as switches. PHI detection, credential encryption, an append-only audit trail, long-term compliance logging, rate limiting, IP allowlisting. The padlocked rows are forced on by a platform-wide override and cannot be turned off for an individual hub | onedroid.ai/llms-full.txt (sources/llms-full.txt L3866-3869 (PAGE /synapse; under "Not a mockup.")) | https://synapse.onedroid.ai/assets/index-8P5m7ahW.js#200 (feature list phi_detection, credential encryption, blockchain_audit, compliance_logging, rate_limiting, ip_allowlist; 'Locked on' with feature.locked) sources/llms-full.txt#L3866-3869 The public UI bundle defines these governance switches and renders a locked flag as 'Locked on', implementing the padlocked override in the client. |
| C-137 | OneDroid 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 (sources/llms-full.txt L4443-4445 (PAGE /security; under "Standards, not a bespoke scheme.")) onedroid.ai/security.md (sources/security.md L115-117 (under "Standards, not a bespoke scheme.")) | https://synapse.onedroid.ai/.well-known/oauth-authorization-server#200 (registration_endpoint, device_authorization_endpoint, device_code grant) sources/security.md#L115-117 The live discovery document lists a registration endpoint (dynamic client registration) and a device authorization endpoint with the device_code grant. |
| C-138 | User identity is handled by Clerk, so OneDroid Synapse inherits its enterprise SSO support: SAML 2.0 and OIDC against your own identity provider, including Microsoft Entra ID, Okta and Google Workspace. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4452-4455 (PAGE /security; under "Standards, not a bespoke scheme.")) onedroid.ai/security.md (sources/security.md L124-127 (under "Standards, not a bespoke scheme.")) | https://synapse.onedroid.ai/assets/index-8P5m7ahW.js#200 (324 'clerk' references) sources/security.md#L124-127 The Synapse UI bundle is built on Clerk; PARTIAL: SAML 2.0 / OIDC enterprise SSO with Entra ID, Okta and Google Workspace is not shown. |
| C-145 | Our website sets no advertising or analytics cookies. [...] We also forward the request logs of this website and of docs.onedroid.ai (requested page, time, IP address, user agent, referrer) to a log store we run ourselves in the EU, where they are kept for 30 days | onedroid.ai/llms-full.txt (sources/llms-full.txt L6161-6168 (PAGE /privacy; under "What we collect")) onedroid.ai/privacy.md (sources/privacy.md L66-73 (under "What we collect")) | https://onedroid.ai/#200 (no set-cookie header; no googletagmanager/gtag/plausible/_vercel/insights/segment/hotjar/posthog in the HTML) sources/privacy.md#L66-73 The live home page sets no cookie and loads no common analytics script; PARTIAL: log forwarding to an EU store and 30-day retention are not shown. |
| C-147 | Amazon Web Services and Microsoft Azure (application hosting), Supabase (platform database hosting), Clerk (authentication), Vercel (website hosting), OpenAI (computing search embeddings for content you store in OneDroid Engram, under terms that prohibit training on your data), and Google Workspace (support email). | onedroid.ai/llms-full.txt (sources/llms-full.txt L6229-6233 (PAGE /privacy; under "How we share data")) onedroid.ai/privacy.md (sources/privacy.md L134-138 (under "How we share data")) | https://onedroid.ai/#200 server: Vercel https://synapse.onedroid.ai/assets/index-8P5m7ahW.js#200 (Clerk) sources/privacy.md#L134-138 Live headers show Vercel hosting the site and the Synapse bundle uses Clerk; PARTIAL: AWS, Azure, Supabase, OpenAI and Google Workspace roles are not shown. |
| C-155 | The Dark Factory kits are open source under Apache-2.0 | onedroid.ai/llms-full.txt (sources/llms-full.txt L208 (PAGE /; under "Open where it has to be.")) | https://api.github.com/users/OneDro1d/repos#200 (OneDro1d/dark-factory spdx_id Apache-2.0) sources/llms-full.txt#L208 The public OneDro1d/dark-factory repository is licensed Apache-2.0 according to the GitHub API. |
| C-156 | Seven kits today: `method-core` (the method itself), `dev`, `knowledge-worker`, `agent-ops`, `code-review`, `distributed-systems`, `frontend`. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4265-4268 (PAGE /quickstart; under "Clone and list the kits")) | https://api.github.com/repos/OneDro1d/dark-factory/git/trees/HEAD?recursive=1#200 (kits/agent-ops, code-review, dev, distributed-systems, frontend, knowledge-worker, method-core) sources/llms-full.txt#L4265-4268 The public repo's kits/ directory holds exactly these seven kits. |
| C-157 | It ships with a self-test that plants a known-positive canary for every scan class and asserts the gate fails on each | onedroid.ai/llms-full.txt (sources/llms-full.txt L5986-5987 (PAGE /changelog; under "The Dark Factory method is now open source")) onedroid.ai/changelog.md (sources/changelog.md L173-174 (under "The Dark Factory method is now open source")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/boot-kit/scripts/gate-selftest.sh#L13-14 (200) sources/changelog.md#L173-174 gate-selftest.sh plants a known-positive canary for every pattern class and fails if any class does not fire (L13-14, L142-166). |
| C-158 | The runbook ends with a validation run that commits its own report into your copy. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4297-4298 (PAGE /quickstart; under "The check")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/boot-kit/scripts/validate.sh#L262-292 (200) sources/llms-full.txt#L4297-4298 validate.sh copies the run's report to the kit root and commits and pushes it by default (L262-292); PARTIAL: that the quickstart runbook ends with this run is not checked. |
| C-167 | Every onedroid.ai page above except the blog (which has its own index at https://onedroid.ai/blog/llms.txt) and the third-party evidence pages, concatenated into one document, generated from the HTML. | onedroid.ai/llms.txt (sources/llms.txt L112 (under "Optional")) | https://onedroid.ai/llms-full.txt#200 sha256 438bd468 https://onedroid.ai/blog/llms.txt#200 sources/llms.txt#L112 llms-full.txt answers 200 as one concatenated document with per-PAGE sections and the blog has its own index at /blog/llms.txt answering 200; PARTIAL: 'generated from the HTML' is not independently shown. |
| C-168 | Every post is served as markdown at `<url>.md`; machine index at https://onedroid.ai/blog/llms.txt, Atom feed at https://onedroid.ai/blog/feed.xml. | onedroid.ai/llms.txt (sources/llms.txt L61 (under "Blog")) | https://onedroid.ai/blog/llms.txt#200 https://onedroid.ai/blog/feed.xml#200 https://onedroid.ai/blog/how-to-test-code-your-ai-agent-wrote.md#200 text/markdown Blog machine index and Atom feed both answer 200, and a post's .md URL answers 200 with Content-Type text/markdown; only one post's .md was sampled. |
| C-171 | The limits are part of the result, so they are in the text and not in a footnote. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2789 (PAGE /case-studies; under "What happened when")) | sources/case-study-code-vs-user-guide.md#L107 sources/case-study-otrs-znuny.md#L14 sources/llms-full.txt#L2789 The case-study pages carry their limits in the body text, e.g. the section heading 'The test boundary: what this result does not prove' at case-study-code-vs-user-guide.md L107. |
| C-176 | Checks read your database in read-only transactions; OneDroid Argus writes to it only if a scenario declares a cleanup block, and then only with the credential you give it. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2744 (PAGE /argus; under "Not a free hand on a live system")) onedroid.ai/argus.md (sources/argus.md L232 (under "Not a free hand on a live system")) | repo/internal/chain/dbstep.go#L31 repo/internal/argus/argus.go#L1009-1012 repo/internal/argus/cleanup.go#L18 The open runner runs db verify queries inside BEGIN READ ONLY and refuses non-read-only SELECTs (dbstep.go L31, argus.go L1012); PARTIAL: that writes happen only via a cleanup block with the owner's credential is not traced to code here. |
| C-179 | If the cluster does not enforce NetworkPolicy, the dependent checks end `not_applicable` instead of `failed`, and a run where every check is `not_applicable` has the verdict `not_applicable`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L117-119 (under "What changed recently")) | repo/docs/CERTIFICATE.md#L67-73 repo/internal/argus/argus.go#L914 repo/internal/certificate/certificate.go#L37 The open repo implements the not_applicable outcome and verdict (a run where every check is not_applicable has that verdict, NetworkPolicy named as a dependency) in code and the certificate spec. |
| C-180 | `targets.auth` takes `type: clerk_session`, and a named http target can carry its own `auth:`. The executor mints a short-lived session per run. | docs.onedroid.ai/argus.md (sources/argus-docs.md L123-124 (under "What changed recently")) | repo/internal/config/clerksession.go#L11-13 repo/internal/clerksession/clerksession.go#L1 repo/onboarding/HOW-TO-ARGUS-CONFIG.md#L53 targets.auth with type: clerk_session and the per-run short-lived session minting are implemented in the open runner's config and clerksession packages. |
| 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. A refused scenario does not run its `## CLEANUP`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L128-130 (under "What changed recently")) | repo/internal/config/moneywrites.go#L63 repo/internal/scenario/moneyguard.go#L15 repo/internal/config/config.go#L323 money_writes.allow entries of engine cleanup, ui and fault are parsed and enforced in the open runner (moneywrites.go L63, moneyguard.go); PARTIAL: 'a refused scenario does not run its CLEANUP' not traced to a specific line. |
| 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 now adds each polled step's `poll.timeout`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L132-133 (under "What changed recently")) | repo/internal/chain/http.go#L44 repo/internal/argus/chain_scenario.go#L483 repo/internal/chain/body_excerpt.go#L12 The 1 MiB http body cap is a constant (maxHTTPBodyBytes = 1 << 20) and poll.timeout handling sits in the chain scenario code; PARTIAL: the deadline-sum rule is not traced line by line. |
| C-184 | `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 (sources/argus-docs.md L136-138 (under "What changed recently")) | repo/internal/scenario/bodyassert.go#L110-121 repo/internal/scenario/elapsed.go#L13 repo/skills/scenario-author/SKILL.md#L1011-1017 Each claim form (==, within N% of, body not contains, body has no, body every … has, elapsed < 500ms) is parsed in the open runner's scenario package with tests. |
| C-185 | a run that is going shows the counts so far and `planned`; a step can save a JSON value and send it in a later step; a chain `http` step under a non-JSON `Content-Type` sends a string body as text; `## TIMEOUT` governs a browser check, up to 300 s. | docs.onedroid.ai/argus.md (sources/argus-docs.md L140-143 (under "What changed recently")) | repo/internal/argus/tally.go#L58 repo/internal/argus/chain_scenario.go#L457 repo/internal/scenario/sections.go#L381-382 planned counts (tally.go), text body under non-JSON Content-Type (chain_scenario.go L457) and the 300 s browser TIMEOUT bound (sections.go L382) are in code; PARTIAL: saving a JSON value for a later step not traced. |
| C-186 | read the message a request caused without taking it from the system's own consumer. | docs.onedroid.ai/argus (sources/argus-docs.html L208-209 (under "What changed recently")) docs.onedroid.ai/argus.md (sources/argus-docs.md L152-153 (under "What changed recently")) | repo/internal/amqpengine/probes.go#L216 repo/internal/amqpengine/listen_integration_test.go#L68 The AMQP Listen binds its own queue and an integration test asserts 'a listen must take nothing from another consumer'. |
| 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. | docs.onedroid.ai/argus.md (sources/argus-docs.md L155-157 (under "What changed recently")) | repo/internal/config/moneywrites.go#L63 repo/internal/scenario/moneyengines.go#L9 repo/internal/chain/http.go#L164 money_writes.allow entries for HTTP routes and the amqp, mcp, db and logs engines are defined in the open runner (moneywrites.go L63, moneyengines.go). |
| C-188 | **An `mcp` step can read data a gateway wraps in text** (v0.3.70): `extract`, claims written `body extracted …`, `unavailable` and `poll`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L159-160 (under "What changed recently")) | repo/internal/scenario/mcpstep.go#L24 repo/internal/scenario/mcpstep.go#L49 repo/internal/scenario/chain.go#L185 The mcp step's extract, body extracted claims, unavailable and poll keys are in the scenario parser; PARTIAL: the v0.3.70 version label is not in the repo. |
| C-189 | `argus render-k8s --collect-sut-logs --sut-logs-via api`, for a cluster that refuses host mounts. | docs.onedroid.ai/argus.md (sources/argus-docs.md L163 (under "What changed recently")) | repo/cmd/argus/main.go#L270 repo/internal/k8srender/sutlogs_api.go#L8 repo/cmd/argus/collect_logs_cmd.go#L19 render-k8s --collect-sut-logs --sut-logs-via api is a registered flag value with an API-based pod-log collector in the open runner. |
| C-190 | `argus cloud-enroll --workspace <id>` and `argus cloud-create-workspace --name <name>`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L173 (under "What changed recently")) | repo/README.md#L60 repo/README.md#L74 repo/cmd/argus/help_filter.go#L41-43 cloud-create-workspace (--name) and cloud-enroll (--workspace among its flags) are registered commands in the open CLI. |
| C-191 | a new `router-wiring` check, `--tester` runs the cluster checks without a tester.env | docs.onedroid.ai/argus.md (sources/argus-docs.md L175-176 (under "What changed recently")) | repo/internal/doctor/router.go#L69 repo/cmd/argus/doctor_router.go#L20 repo/cmd/argus/doctor.go#L46 A router-wiring doctor check and the doctor --tester mode exist in code; PARTIAL: running cluster checks without a tester.env is not traced to a specific line. |
| C-192 | **A target that runs in no cluster** (v0.3.63): `outside_cluster: true`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L204 (under "What changed recently")) | repo/internal/argus/environment.go#L94 repo/schemas/argus-config.schema.yaml#L186 repo/onboarding/HOW-TO-ARGUS-CONFIG.md#L202 outside_cluster: true is a schema field and is honoured in environment.go; PARTIAL: the v0.3.63 version label is not in the repo. |
| C-193 | `- step <name>: unreachable` passes only when the connection could not be made, and `argus calm import` turns a CALM architecture into checks. | docs.onedroid.ai/argus.md (sources/argus-docs.md L191-192 (under "What changed recently")) | repo/internal/scenario/unreachable.go#L11 repo/internal/chain/claim_unreachable.go#L20 repo/cmd/argus/calm_cmd.go#L14 The step unreachable claim and argus calm import (which emits scenario sections) are implemented in the open runner. |
| C-195 | a tester can **certify** a build: commit to what is being certified, write and seal a set of tests the builder never sees, then run them once as a `final` run. Argus anchors each step on a blockchain as it happens: the sealed set before the run, the verdict after it, and the moment the tests are revealed. | docs.onedroid.ai/argus.md (sources/argus-docs.md L105-108 (under "Certify, and let anyone check it")) | repo/docs/CERTIFICATE.md#L10 repo/internal/certificate/verify.go#L3 sources/case-study-finos-calm.md#L131-133 A published certified run anchors its sealed set at Base Sepolia block 47817413 (confirmed via explorer) before its verdict at 47817439, and the open certificate verifier checks such anchors; PARTIAL: the reveal-time anchor is not checked here. |
| C-196 | A scenario is a `TRIGGER` (what to do — an HTTP call, a message, a database read, an MCP tool call), a `VERIFY` (where to look), and an `EXPECT` (what "healthy" means there). | docs.onedroid.ai/argus.md (sources/argus-docs.md L73-74 (under "What gets checked")) | repo/examples/http-hello/scenarios/HELLO-001-health-200.md#L8-14 repo/internal/calm/import.go#L814 The example scenario in the open repo has ## TRIGGER, ## VERIFY and ## EXPECT sections, and the parser handles http, message, db and mcp triggers. |
| C-197 | This holdout is enforced twice, not once: by what a builder's credential is even allowed to call, and separately by what its own environment is allowed to hold a copy of. | docs.onedroid.ai/argus (sources/argus-docs.html L109-110 (under "The holdout")) docs.onedroid.ai/argus.md (sources/argus-docs.md L62-63 (under "The holdout")) | repo/internal/auth/auth.go#L9 repo/cmd/argus/main.go#L3588-3612 repo/internal/onboard/guard.go#L74 Credential role scoping (auth.go) and a separate filesystem holdout guard that refuses scenario files in the builder's product dir (main.go L3588, guard.go L74) are both in code; PARTIAL: server-side enforcement of the credential scope is in the hosted control plane. |
| C-200 | and a Kubernetes cluster that can reach both your system and the control plane (the runner connects out only; it needs no inbound route) | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L43-44 (under "Quickstart")) | repo/internal/runner/client.go#L28 repo/internal/runner/client.go#L36 repo/internal/runner/executor.go#L21 The executor's federation client is outbound-only HTTPS that long-polls the control plane (client.go L28, L36; executor.go L21), so no inbound route is needed. |
| 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 (sources/argus-runner-README.md L95-96 (under "Quickstart")) | https://argus-dev.onedroid.ai/mcp#200 sha256 4df86b54 sources/argus-runner-README.md#L95-96 repo/cmd/argus/main.go#L1750 The named MCP endpoint answers 200 and the CLI checks for author_* tools on it; PARTIAL: requesting a run through it needs sign-in and was not exercised. |
| C-202 | `--rpc` is your own chain client; `--chains` is your own copy of the chains' allowed signers (without it, each anchor is only checked against the signer it declares); `--btc-headers` is a block-explorer URL or a local file for OpenTimestamps receipts. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L110-112 (under "Verify a certificate")) | repo/cmd/argus/certificate_cmd.go#L14 repo/internal/certificate/verify.go#L550 repo/internal/certificate/verify.go#L584 --rpc, --chains and --btc-headers are registered certificate verify flags with chain-signer and OpenTimestamps header logic in the open repo. |
| C-203 | `argus certificate verify` re-reads those anchors from a chain client you choose and 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. A certificate edited after the fact fails this check. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L20-23 (under "What a OneDroid Argus certificate proves today, and what it does not")) | repo/cmd/argus/certificate_cmd.go#L3 repo/internal/certificate/verify.go#L3 repo/docs/CERTIFICATE.md#L39 argus certificate verify is implemented in the open repo and the spec says the declared fields (tallies, verdict, set hash, digest) are anchored and re-checked against the chain. |
| C-204 | | `cmd/argus` | the CLI: [...] `internal/certificate`, `internal/chainread` | the certificate format and the read-only chain reader behind `certificate verify` [...] `templates/` | the JMeter templates the runner drives [...] `jmeter-plugins/amqp` | the AMQP JMeter sampler (Java) [...] `testkit/ui` | the Playwright harness for Web UI scenarios [...] `examples/http-hello` | a minimal kit | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L140-148 (under "What is here")) | repo/cmd/argus#dir repo/internal/certificate#dir repo/internal/chainread#dir Every directory the README lists exists in the public clone at ba724fb1. |
| C-205 | The control plane and its store, the web UI, anything that writes to a chain or holds a chain key, reveal document assembly (checking a reveal and replaying it ARE here, see above), deployment overlays and secrets for any hosted environment, and the onboarding kit. [...] `argus serve --mode control` is refused in this build. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L152-156 (under "What is deliberately not here")) | repo/cmd/argus/main.go#L2905-2906 repo/README.md#L156 serve --mode control returns 'is not part of this build … this repository contains the runner only' in code; PARTIAL: absence of the other listed parts is not exhaustively checked. |
| C-206 | `--scope` is required from v0.3.41 on, and there is no default: `author` for a tester or operator (the `cloud-*` commands and the test-agent tools). `runner` asks for builder tools only, but a builder does not need it | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L166-168 (under "3. Point the CLI at your control plane")) | repo/cmd/argus/main.go#L1492-1495 repo/internal/auth/auth.go#L9 sources/argus-quickstart.md#L166-168 cloud-login refuses with '--scope is required, there is no default' in code; PARTIAL: the v0.3.41 cut-over and the runner-scope semantics are not traced. |
| C-207 | Local checks and setup commands run without a token (`preflight` reports a missing control-plane token as a blocking finding and still runs), for example `validate-scenario`, `validate-config`, `package-check`, `propose-from-repo`, `calm import`, `preflight`, `doctor` and `argus version` | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L107-109 (under "2. The two kinds of token")) | repo/internal/role/role.go#L46 repo/cmd/argus/main.go#L548 repo/cmd/argus/main.go#L626 Code comments and gates mark validate-scenario, package-check and similar commands PRE-AUTH and keep preflight running without a token; PARTIAL: every listed command not individually traced. |
| C-208 | That hat reaches the same six-tool runner surface the author hat also has (`validate-config`, `run`, `get-report`, `get-sagas`, `tail-logs`, `get-dashboard-url`). Neither path reaches the scenario-authoring commands | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L139-141 (under "2. The two kinds of token")) | repo/cmd/argus/help_filter.go#L57-59 repo/cmd/argus/help_filter.go#L96-97 repo/specs/01-mcp-runner.md#L20-34 The runner tools validate-config, run, get-report, get-sagas, tail-logs and get-dashboard-url are registered in the CLI and the executor tools list; PARTIAL: the claim that no path reaches authoring commands rests on the hosted scope. |
| C-209 | On a tester machine, use `argus doctor --tester` instead (v0.3.47 or later). It prints one line per onboarding phase, each PASS, WARN, FAIL or SKIP [...] It exits `4` on any FAIL; a WARN does not change the exit code. [...] from v0.3.52 that check is a warning ("not checked") and `doctor` still exits `0` | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L236-237, L254-255, L259 (under "4. Prove read access before wiring anything else")) | repo/cmd/argus/doctor.go#L46-49 repo/cmd/argus/main.go#L56 repo/cmd/argus/doctor_tester.go#L20 doctor --tester exists and its usage text and exit table give exit 4 on any FAIL; PARTIAL: the v0.3.47/v0.3.52 version history is not in the repo. |
| C-210 | `ARGUS_EXECUTOR_SECRET` was called `ARGUS_AUTHOR_TOKEN`, and `ARGUS_CP_AUTHOR_TOKEN` was called `ARGUS_CP_TOKEN`. The old names were easy to mistake for a person's author 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 (sources/argus-quickstart.md L101-104 (under "2. The two kinds of token")) | repo/internal/auth/auth.go#L9 repo/internal/envname/envname.go#L14 repo/cmd/argus/credential_banner.go#L5 The code reads the new names and falls back to the deprecated ARGUS_AUTHOR_TOKEN and ARGUS_CP_TOKEN with one warning; PARTIAL: the v0.3.39 cut-over is not in the repo. |
| C-212 | `--tier` is `aks`, `k3d` or `managed`: `managed` for any other cluster, including one you run yourself (k3s, kubeadm). `kind` and `minikube` are not tiers; use `k3d` for them, which renders identically. `render-k8s` also accepts `eks` and `gke`. | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L203-205 (under "4. Prove read access before wiring anything else")) | repo/cmd/argus/main.go#L238 repo/internal/federation/wire.go#L715 repo/cmd/argus/main.go#L3446 The --tier flag lists k3d, aks, eks, gke and managed, and minikube/kind handling is in the renderer; PARTIAL: 'renders identically' for kind/minikube not compared. |
| C-213 | The runner runs inside your environment, and its source is open under MIT. No credit card. | onedroid.ai/llms-full.txt (sources/llms-full.txt L40 (PAGE /; under "Proper testing now costs the same order as the AI coding.")) | repo/LICENSE#MIT License sources/github-repo.json#L1 sources/llms-full.txt#L40 The runner's source is public with an MIT LICENSE; PARTIAL: 'no credit card' is stated only. |
| C-214 | Every study comes in two versions with the same facts: the test page for engineers, and a blog post for leaders and product owners. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2790-2791 (PAGE /case-studies; under "What happened when")) | https://onedroid.ai/blog/llms.txt#200 sources/llms-full.txt#L2793-2838 sources/case-study-code-vs-user-guide.md#L14 Five case studies are listed on /case-studies and five matching 'for product owners and leaders' case-study posts appear in the blog index; PARTIAL: 'same facts' across both versions is not cross-checked. |
| C-222 | Browser checks run as functional end-to-end scenarios. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5002-5003 (PAGE /qa-teams; under "Not load on a web page")) | repo/internal/argus/ui_scenario.go#L279 repo/testkit/ui#dir repo/internal/scenario/sections.go#L381 Browser checks are Playwright scenarios run by ui_scenario.go from the testkit/ui harness, i.e. functional scenarios, not a load driver. |
| C-225 | The applications set strictly necessary cookies for sign-in and session security (via Clerk) — nothing else. Walkthrough videos on the quickstart page are embedded from YouTube in its privacy-enhanced mode (youtube-nocookie.com): nothing is set until you press play [...] Fonts are loaded from Google Fonts, which receives standard request data when the page loads. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6162-6171 (PAGE /privacy; under "What we collect")) onedroid.ai/privacy.md (sources/privacy.md L67-76 (under "What we collect")) | https://onedroid.ai/quickstart#200 L173 youtube-nocookie.com/embed https://onedroid.ai/privacy#200 L18-20 fonts.googleapis.com sources/privacy.md#L67-76 The live quickstart embeds videos from youtube-nocookie.com and pages load Google Fonts, as stated; PARTIAL: 'only Clerk strictly necessary cookies' was not observed (needs a signed-in session). |
| C-229 | Effective date: 19 July 2026 · Last updated: 14 October 2026 | onedroid.ai/llms-full.txt (sources/llms-full.txt L6109 (PAGE /privacy; under "Privacy Policy")) onedroid.ai/privacy.md (sources/privacy.md L14 (under "Privacy Policy")) | https://onedroid.ai/privacy#200 L51 sources/privacy.md#L14 The live privacy policy itself carries 'Effective date: 19 July 2026 · Last updated: 14 October 2026'. |
| C-231 | The signed-out application page was reworked to state its purpose up front and to render fully without JavaScript as part of that review (the application itself at synapse.onedroid.ai needs JavaScript). | onedroid.ai/llms-full.txt (sources/llms-full.txt L5996-5999 (PAGE /changelog; under "Google OAuth application verification completed")) onedroid.ai/changelog.md (sources/changelog.md L183-186 (under "Google OAuth application verification completed")) | https://onedroid.ai/synapse#200 full text in HTML https://synapse.onedroid.ai#200 empty #root JS shell sources/changelog.md#L183-186 onedroid.ai/synapse serves its full text in static HTML while the app at synapse.onedroid.ai is a JS shell, matching the parenthetical; PARTIAL: that /synapse is the page meant, and the Google review link, are assumed and not evidenced. |
| C-232 | Explicit allowances for AI crawlers alongside conventional search engines, and a sitemap covering every public page. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6012-6013 (PAGE /changelog; under "Crawlable: robots.txt and sitemap.xml")) onedroid.ai/changelog.md (sources/changelog.md L199-200 (under "Crawlable: robots.txt and sitemap.xml")) | https://onedroid.ai/robots.txt#200 Allow GPTBot ClaudeBot PerplexityBot CCBot https://onedroid.ai/sitemap.xml#200 robots.txt explicitly allows named AI crawlers alongside Googlebot and points to a sitemap that answers 200; PARTIAL: sitemap completeness against every public page not checked. |
| C-233 | The governed gateway has moved to its own page at /synapse; nothing else was removed. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5974-5975 (PAGE /changelog; under "The site now leads with OneDroid Argus")) onedroid.ai/changelog.md (sources/changelog.md L161-162 (under "The site now leads with OneDroid Argus")) | https://onedroid.ai/synapse#200 sources/changelog.md#L161-162 The governed gateway has its own page at /synapse answering 200; PARTIAL: 'nothing else was removed' is not checkable from current surfaces. |
| C-234 | 16 October 2026 · 100 checks · one certified run [...] 17 October 2026 · 109 hidden checks · 3 runs per setup [...] 16 October 2026 · 13 hidden checks · 3 runs per setup [...] 7 October 2026 · 7 checks · two certified runs the same day [...] 5 and 6 October 2026 · 26 checks · three runs per system | onedroid.ai/llms-full.txt (sources/llms-full.txt L2799-2835 (PAGE /case-studies; under "Does the code do what its user guide says? 100 sealed checks against a decades-old Fortran library")) | sources/case-study-code-vs-user-guide.md#L16 sources/case-study-code-vs-user-guide.md#L131 sources/case-study-finos-calm.md#L71 The two certified studies give their dates with on-chain anchors (FINOS seal confirmed on 7 October 2026 at block 47817413); PARTIAL: the two experiments (109 and 13 hidden checks) and OTRS/Znuny dates have no anchored artefact here. |
| C-235 | The verdict comes with cryptographic evidence you can replay yourself. | onedroid.ai/llms-full.txt (sources/llms-full.txt L34-35 (PAGE /; under "Proper testing now costs the same order as the AI coding.")) | repo/README.md#L117-131 repo/cmd/argus/reveal_cmd.go#L136 repo/internal/certificate/verify.go#L3 The open CLI verifies certificates and reveals against chain anchors and replays revealed scenarios, and published runs give the anchoring transactions. |
| C-236 | Every checkable claim this site makes, and what backs it: onedroid.ai/evidence/onedroid.ai. | onedroid.ai/llms-full.txt (sources/llms-full.txt L42 (PAGE /; under "Proper testing now costs the same order as the AI coding.")) | https://onedroid.ai/evidence/onedroid.ai#200 sha256 165207f5 sources/llms.txt#L38 The named evidence page answers 200. |
| C-237 | Holdout acceptance. Scenarios sealed before the run, against a pinned build. | onedroid.ai/llms-full.txt (sources/llms-full.txt L49 (PAGE /; under "Proper testing now costs the same order as the AI coding.")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 block 47817413 sources/case-study-finos-calm.md#L131-133 repo/docs/CERTIFICATE.md#L85 A published sealed-set anchor (block 47817413) precedes its verdict anchor (block 47817439), and the certificate binds a declared artifact digest (the pinned build). |
| C-238 | Under load. The same scenarios under load, against a message broker or an HTTP target; on an HTTP target a stepped ramp finds its limit. | onedroid.ai/llms-full.txt (sources/llms-full.txt L51 (PAGE /; under "Proper testing now costs the same order as the AI coding.")) | repo/internal/amqpload/amqpload.go#L236 repo/internal/argus/argus.go#L33 repo/internal/argus/argus.go#L1349 The open runner has a broker load ramp (amqpload) and an HTTP ramp (internal/httpload) that report steps the same way. |
| C-240 | every scenario is revealed — trigger, expectation, evidence hash, verdict — and the runner replays any of them against the same build. | onedroid.ai/llms-full.txt (sources/llms-full.txt L56-58 (PAGE /; under "Proper testing now costs the same order as the AI coding.")) | repo/README.md#L117-131 repo/cmd/argus/reveal_cmd.go#L136 repo/README.md#L143 The open CLI's anchor verify recomputes the sealed set's Merkle root, inclusion proofs and evidence hashes of a reveal, and replay re-runs a revealed scenario against a given digest; PARTIAL: no published reveal document was checked. |
| C-241 | The control plane seals the set and anchors its hash before the run. | onedroid.ai/llms-full.txt (sources/llms-full.txt L121-122 (PAGE /; under "Your agent writes the scenarios")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 block 47817413 sources/case-study-finos-calm.md#L131-133 sources/case-study-code-vs-user-guide.md#L131 Published runs show the sealed set's hash anchored on Base Sepolia before the verdict (blocks 47817413 < 47817439; 48212445 < 48212457), the first confirmed via a public explorer. |
| C-242 | The coding agent never holds a token that can read the expectations, and the scenarios are never in its working directory. | onedroid.ai/llms-full.txt (sources/llms-full.txt L128-129 (PAGE /; under "The builder never sees the answer key")) | repo/internal/role/role.go#L8 repo/internal/mcpserver/tools.go#L60 repo/skills/scenario-author/SKILL.md#L12-16 PARTIAL: the role split in code (role.go guards the holdout from the product hat, runner report strips expected values) and the skill's holdout note (product agent's connection has no author tools, its folder holds no scenarios) back it, but token scoping itself is enforced in the hosted control plane, not in this repo. |
| C-243 | Every verdict comes with its boundary. The reveal lists every check that was run. The certificate says what it proves and what it does not, for instance whether the running build was measured. Our case studies also list what was not tested. | onedroid.ai/llms-full.txt (sources/llms-full.txt L71-73 (PAGE /; under "50,000 lines overnight. How do you know what it did?")) | repo/internal/certificate/verify.go#L300 repo/README.md#L119 sources/case-study-finos-calm.md#L141 The verifier prints a NOT MEASURED line saying it proves nothing about the running build, the README says a reveal holds every sealed scenario, and each case study has a not-covered section. |
| C-244 | Your own agent, with our skill, turns that into a scenario set: the happy path, the repeat, the wrong actor, the wrong state, every external call's failure, the race at the shared resource, and the load variant. | onedroid.ai/llms-full.txt (sources/llms-full.txt L119-121 (PAGE /; under "Your agent writes the scenarios")) | repo/skills/scenario-author/SKILL.md#L3 sources/llms-full.txt#L119-121 PARTIAL: the scenario-author skill that turns a plain description into scenarios is published, but it does not list the named kinds (happy path, repeat, wrong actor, wrong state, external failure, race, load variant); grep found none of them. |
| C-246 | A check that could not run never counts as a pass; a load run can be degraded; a comparison run reports differences, not a pass. | onedroid.ai/llms-full.txt (sources/llms-full.txt L108 (PAGE /; under "You already had the incident.")) | repo/docs/CERTIFICATE.md#L93 repo/docs/CERTIFICATE.md#L116-120 repo/internal/compare/result.go#L11 The certificate rules make passed need every scenario passed, count errored as failure, give degraded its own tally, and the compare package has a differences verdict with cell states and no pass. |
| C-250 | The same checks run under load against a message broker or an HTTP target, and on a schedule, every 15 minutes at the shortest. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2563 (PAGE /argus; under "Load and continuous runs come with it.")) onedroid.ai/argus.md (sources/argus.md L51 (under "Load and continuous runs come with it.")) | repo/skills/scenario-author/SKILL.md#L464 repo/skills/scenario-author/SKILL.md#L319 repo/internal/config/loadallowed.go#L139 PARTIAL: AMQP Load (broker) and HTTP Load layers are in the code and skill, but the schedule with a 15-minute minimum lives in the hosted control plane and nothing in the repo shows it. |
| C-253 | the set, and its hash goes on a cryptographic ledger before the work is judged, so anyone can check that the scenarios existed first and never changed | onedroid.ai/llms-full.txt (sources/llms-full.txt L2590-2592 (PAGE /argus; under "Sealed before the build.")) onedroid.ai/argus.md (sources/argus.md L78-80 (under "Sealed before the build.")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 block 47817413 payload set_hash 638d72cf… https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#200 block 47817439 verdict failed repo/cmd/argus/certificate_cmd.go#L125 For the FINOS run, a set_hash is on Base Sepolia at block 47817413 before the verdict at block 47817439, and the open-source verify command checks a certificate against those records. |
| C-254 | The ledger proves the order of events and that nothing was edited. Running it again is what proves the result is true. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2629-2630 (PAGE /argus; under "The reveal")) onedroid.ai/argus.md (sources/argus.md L117-118 (under "The reveal")) | repo/README.md#L117-133 repo/cmd/argus/reveal_cmd.go repo/README.md#L34 The README and code ship `argus anchor verify` for order and integrity and `argus replay` for re-running a revealed scenario, which matches the split the claim describes. |
| C-255 | A ramp that crosses the limit at its top step has measured the limit, which is not a failure. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2645-2647 (PAGE /argus; under "Under load.")) onedroid.ai/argus.md (sources/argus.md L133-135 (under "Under load.")) | repo/skills/scenario-author/SKILL.md#L380-383 repo/internal/scenario/httpload.go The published skill says an HTTP Load ramp check PASSES when a limit was measured (the ramp broke above its first step), with httpload.go named as the runtime authority. |
| C-257 | A target takes load only after its operator lists it as one that may, and a live system should never be listed. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2653-2654 (PAGE /argus; under "Under load.")) onedroid.ai/argus.md (sources/argus.md L141-142 (under "Under load.")) | repo/internal/config/loadallowed.go#L139-151 repo/internal/config/loadallowed.go#L76-79 repo/skills/scenario-author/SKILL.md#L376-377 LoadRefusal refuses load at any target not listed under load_allowed_targets, and validation refuses a listed url that looks shared or production (rule: live = heartbeat only). |
| C-258 | The same sealed checks can run against two systems, or two versions of one, and their recorded outputs are compared. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2672-2673 (PAGE /argus; under "One sealed set, two systems.")) onedroid.ai/argus.md (sources/argus.md L160-161 (under "One sealed set, two systems.")) | repo/internal/compare/result.go#L11 repo/internal/compare/judge.go#L7-9 repo/internal/runner/compare_run.go The compare package and the runner's compare_run implement running one sealed set against a reference and a candidate and judging the recorded outputs cell by cell. |
| C-260 | One skill sets OneDroid Argus up next to your system. Another turns a plain description of what should happen into valid scenarios. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2701-2702 (PAGE /argus; under "Agent skills")) onedroid.ai/argus.md (sources/argus.md L189-190 (under "Agent skills")) | repo/skills/scenario-author/SKILL.md#L1-3 repo/internal/skills/skills.go#L1 PARTIAL: the scenario-author skill (plain description to valid scenarios) is published in the repo; the setup skill is not in the repo. |
| C-261 | Released — open source, MIT | onedroid.ai/llms-full.txt (sources/llms-full.txt L2697 (PAGE /argus; under "CLI")) onedroid.ai/argus.md (sources/argus.md L185 (under "CLI")) | repo/LICENSE#L1-3 repo/README.md#L12 The public argus-runner repo has an MIT LICENSE, Copyright 2026 Providentia Worldwide. |
| C-263 | Scenarios stay hidden from the builder until the tester reveals them, so nothing can be optimised for them. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2737-2738 (PAGE /argus; under "Not a test generator you keep")) onedroid.ai/argus.md (sources/argus.md L225-226 (under "Not a test generator you keep")) | repo/internal/role/role.go#L8 repo/internal/mcpserver/tools.go#L60 repo/README.md#L119-121 PARTIAL: the code keeps the holdout from the product hat and strips expected values, and reveals exist as a later step; 'nothing can be optimised for them' is an inference no artefact can show. |
| C-274 | A load check says the candidate must not be worse than the reference by more than a declared band, here 25%. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2920 (PAGE /case-study-otrs-znuny; under "What was checked")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L79 (under "What was checked")) | repo/skills/scenario-author/SKILL.md#L430 repo/internal/compare/outputruns_test.go#L183 PARTIAL: compare's 'Not Worse Than' load band and the 'worse' cell state are in the repo; that this study used 25% is stated only. |
| C-287 | Executor v0.3.66 on the same cluster, with read-only access to the demo's pods so that a certificate can say what was running. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3096 (PAGE /case-study-finos-calm; under "The setup")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L61 (under "The setup")) | https://base-sepolia.blockscout.com/api/v2/blocks/47817384/transactions#200 tx 0x845989b9…aca payload image_digests repo/docs/CERTIFICATE.md#L112-113 repo/onboarding/HOW-TO-ARGUS-CONFIG.md#L325 PARTIAL: the on-chain commitment at block 47817384 lists the three running image digests matching the page, and the repo documents the read-only SUT access Role; executor v0.3.66 for this run is not shown on chain. |
| C-288 | The certified set holds seven checks, sealed on 7 October 2026 at 19:57 UTC. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3106 (PAGE /case-study-finos-calm; under "What was checked")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L71 (under "What was checked")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 scenario_count 7, 2026-10-07T19:58:34Z https://base-sepolia.blockscout.com/api/v2/blocks/47817384/transactions#200 commitment 2026-10-07T19:57:36Z The sealed-set record has scenario_count 7 on 7 October 2026; the commitment is at 19:57:36 UTC and the set record at 19:58:34 UTC, so the minute stated (19:57) matches the commitment, not the set record. |
| C-289 | No check was left not measured, and none could not run. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3142 (PAGE /case-study-finos-calm; under "The result")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L107 (under "The result")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#200 tallies passed 5 failed 2 errored 0 degraded 0 https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 scenario_count 7 The on-chain verdict tallies (5+2+0+0) add up to the sealed scenario_count of 7, with errored 0, so every check was measured and run. |
| C-292 | Before the run, the sealed set was recorded on three chains: a private chain run by OneDroid Argus, Base Sepolia (a public Ethereum test network) and Bitcoin, through OpenTimestamps. After the run, the verdict was recorded on the same three. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3162 (PAGE /case-study-finos-calm; under "How anyone can check it later")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L127 (under "How anyone can check it later")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 block 47817413 https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#200 block 47817439 PARTIAL: both Base Sepolia records exist at the quoted blocks, set before verdict; the private chain and the Bitcoin/OpenTimestamps records are not published, so they were not checked. |
| C-293 | What goes on a chain is only ids, hashes, digests, counts and the verdict, never a check, an expected value or an observed one. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3162 (PAGE /case-study-finos-calm; under "How anyone can check it later")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L127 (under "How anyone can check it later")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 payload holdout_root/criteria_hash/set_hash/scenario_count https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#200 payload run_id/digests/verdict/tallies PARTIAL: both Base Sepolia payloads hold only ids, hashes, digests, counts and the verdict; the other two chains could not be inspected. |
| C-294 | A certificate built from these records can be checked with the `argus` command line, with no account and without seeing a single check | onedroid.ai/llms-full.txt (sources/llms-full.txt L3170 (PAGE /case-study-finos-calm; under "How anyone can check it later")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L135 (under "How anyone can check it later")) | repo/cmd/argus/certificate_cmd.go#L9 repo/cmd/argus/certificate_cmd.go#L125-129 repo/README.md#L110 `argus certificate verify` is in the MIT repo and is documented as offline and independent: it never calls the control plane and needs no account. |
| C-318 | 37 claims became 100 checks; each check carries the sentence it tests and where it is. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3522 (PAGE /case-study-code-vs-user-guide; under "The method")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L51 (under "The method")) | https://base-sepolia.blockscout.com/api/v2/blocks/48212445/transactions#200 ledger payload scenario_count 100 sources/case-study-code-vs-user-guide.md#L51 sources/case-study-code-vs-user-guide.md#L131 PARTIAL: the sealed-set record at Base Sepolia block 48212445 has scenario_count 100; that they came from 37 claims and that each carries its sentence and location cannot be checked, since the checks are not published. |
| C-322 | The 100 checks were sealed, and their fingerprint recorded on a public network, before the final run against the original code, built unmodified. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3504 (PAGE /case-study-code-vs-user-guide; under "In short")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L33 (under "In short")) | sources/case-study-code-vs-user-guide.md#L33 sources/case-study-code-vs-user-guide.md#L131 https://base-sepolia.blockscout.com/api/v2/blocks/48212445/transactions#200 tx 0x53ff7fd12710b90183bb166821766fcc5b6152b7e7b05d1a08161575f4632228 payload scenario_count=100 set_hash=de57feae... PARTIAL: Base Sepolia block 48212445 holds a seal anchor (scenario_count 100, set_hash) from the publisher's signer 0x9Db3...7c97 at 23:26:18Z, before the verdict anchor in block 48212457 (prev chunk 48212445), but 'built unmodified' is not evidenced. |
| C-328 | The library, its authors and its maintainers are not named: we have not asked them | onedroid.ai/llms-full.txt (sources/llms-full.txt L3620 (PAGE /case-study-code-vs-user-guide; under "What we take from it")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L149 (under "What we take from it")) | sources/case-study-code-vs-user-guide.md#L149 sources/case-study-code-vs-user-guide.md#L1-151 name grep = 0 PARTIAL: the saved page body names no library, routine family or author (grep count 0), but 'we have not asked them' is not checkable. |
| C-331 | What goes on a chain is only fingerprints, counts and the verdict, never a check or an expected value. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3602 (PAGE /case-study-code-vs-user-guide; under "How anyone can check it")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L131 (under "How anyone can check it")) | sources/case-study-code-vs-user-guide.md#L131 https://base-sepolia.blockscout.com/api/v2/blocks/48212445/transactions#200 tx 0x53ff7fd1... payload {holdout_root, criteria_hash, set_hash, scenario_count} https://base-sepolia.blockscout.com/api/v2/blocks/48212457/transactions#200 tx 0x6228ba08... payload {run_id, artifact_digest, evidence_bundle_hash, verdict, tallies, finished_at} PARTIAL: the two decoded anchor payloads for this run contain only hashes, counts, ids and the verdict, with no check or expected value; 'never' for all runs is not shown. |
| C-349 | Sign in at synapse.onedroid.ai with Google or an email code. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4124-4125 (PAGE /quickstart; under "Create a hub")) | https://synapse.onedroid.ai#200 Clerk app pk_live -> clerk.onedroid.ai https://clerk.onedroid.ai/v1/environment#200 first_factors include email_code and oauth_google; oauth_google enabled=true The live sign-in configuration behind synapse.onedroid.ai enables Google OAuth and email_code first factors. |
| C-353 | The kits are the method OneDroid Argus enforces, written down as skills, hooks and gates any capable agent harness can run. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4255-4256 (PAGE /quickstart; under "Run your agent under a method you can audit.")) | https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#200 skills/df-*/SKILL.md, hooks/df-dispatch-subagents-reminder.py, plugins/df-governed/hooks/dispatch-gate.py, skills/df-adversary-gate/SKILL.md PARTIAL: the public kits repo contains the skills, hooks and gate scripts, but 'the method OneDroid Argus enforces' and 'any capable harness' are not shown. |
| C-354 | The repository is github.com/OneDro1d/dark-factory (public, Apache-2.0). | onedroid.ai/llms-full.txt (sources/llms-full.txt L4263-4265 (PAGE /quickstart; under "Clone and list the kits")) | https://github.com/OneDro1d/dark-factory#200 https://api.github.com/repos/OneDro1d/dark-factory#200 private=false visibility=public license.spdx_id=Apache-2.0 GitHub API reports the repository public with an Apache-2.0 licence. |
| C-355 | The bootstrap writes a new directory beside the checkout, pinned to the method at today's commit. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4278-4279 (PAGE /quickstart; under "Make your own copy")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/bootstrap.sh#L16 https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/bootstrap.sh#L72 https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/bootstrap.sh#L98-143 bootstrap.sh defaults the target to a sibling directory (../<name>) and writes the current Tier-1 commit SHA from git ls-remote into the lockfile. |
| C-356 | For ChatGPT, Gemini or a plain API model, paste DARK-FACTORY-PRIMING.md into the conversation. It inlines the whole method — every stage skill and the adversary gate — so the agent needs nothing else. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4290-4293 (PAGE /quickstart; under "No skill system? One page")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/docs/DARK-FACTORY-PRIMING.md#L1-15 https://raw.githubusercontent.com/OneDro1d/dark-factory/main/docs/DARK-FACTORY-PRIMING.md#L147 https://raw.githubusercontent.com/OneDro1d/dark-factory/main/docs/DARK-FACTORY-PRIMING.md#L692 PARTIAL: the priming doc exists, targets ChatGPT/Gemini/API agents and inlines the stage skills and adversary gate, but 'the agent needs nothing else' is not demonstrated. |
| C-357 | Stage skills for product owner, architect, test-first developer and QA; an adversary gate that checks evidence without redoing the work; dispatch patterns for parallel sub-agents; an autonomy policy for what stops for a human. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4303-4305 (PAGE /quickstart; under "What you get")) | https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#200 skills/df-product-owner/SKILL.md, skills/df-solution-architect/SKILL.md, skills/df-tdd-developer/SKILL.md, skills/df-qa/SKILL.md, skills/df-adversary-gate/SKILL.md, skills/df-dispatch-subagents/SKILL.md, skills/work-autonomously/SKILL.md Each named component is a SKILL.md file in the public kits repo. |
| C-361 | Its source is open under MIT at github.com/OneDro1d/argus-runner, so what it does can be read rather than taken on our word. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4359-4361 (PAGE /security; under "Where the verifier runs, and where it never does.")) onedroid.ai/security.md (sources/security.md L31-33 (under "Where the verifier runs, and where it never does.")) | https://github.com/OneDro1d/argus-runner#200 repo/LICENSE#L1 The public argus-runner repository carries an MIT LICENSE. |
| C-370 | Our delivery method — including the gates, the enforcement hooks and the failures that produced them — is public under Apache-2.0. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4487-4489 (PAGE /security; under "How to verify us")) onedroid.ai/security.md (sources/security.md L159-161 (under "How to verify us")) | https://api.github.com/repos/OneDro1d/dark-factory#200 license.spdx_id=Apache-2.0 https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#200 hooks/, plugins/df-governed/hooks/dispatch-gate.py, boot-kit/scripts/publish-gate.sh PARTIAL: gates and enforcement hooks are in the public Apache-2.0 repo, but 'the failures that produced them' was not checked. |
| C-386 | Works with any agent runtime that can follow instructions and run commands — no proprietary orchestrator required. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5092-5093 (PAGE /dark-factory; under "Harness-agnostic")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/docs/DARK-FACTORY-PRIMING.md#L1-15 https://api.github.com/repos/OneDro1d/dark-factory#200 language=Shell PARTIAL: the method ships as plain Markdown and shell plus a priming doc for skill-less agents, so no proprietary orchestrator is needed, but 'any agent runtime' is not shown. |
| C-387 | Acceptance criteria become a failing test list before code is written. Green means done; the tests never get weakened to pass. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5077-5078 (PAGE /dark-factory; under "Test-first discipline")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/skills/df-tdd-developer/SKILL.md#L9 https://raw.githubusercontent.com/OneDro1d/dark-factory/main/skills/df-tdd-developer/SKILL.md#L14 PARTIAL: the TDD skill prescribes RED-first tests drawn from validation rules, but 'never weakened' is not stated there and adherence is not evidenced. |
| C-392 | A verdict in that record is never a score: each scenario is passed, failed, errored or not_applicable (it could not run; a load run has one more outcome, degraded), and neither an error nor not_applicable is ever a pass. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5578-5579 (PAGE /enterprise; under "One primitive: the evidence record")) | repo/docs/CERTIFICATE.md#L50 repo/docs/CERTIFICATE.md#L73 repo/docs/CERTIFICATE.md#L139-142 The certificate format and verifier define passed/failed/errored/degraded/not_applicable tallies, no score, and a verdict of passed only with no failed or errored and at least one passed. |
| C-393 | The OneDroid Argus runner is free. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5601 (PAGE /pricing)) onedroid.ai/llms-full.txt (sources/llms-full.txt L5610 (PAGE /pricing; under "Free to use.")) onedroid.ai/pricing.md (sources/pricing.md L4 (under "OneDroid Pricing — Free Runner, Free Gateway, Enterprise Licence")) | repo/LICENSE#L1 https://github.com/OneDro1d/argus-runner#200 sources/pricing.md#L15 The runner is published under MIT in a public repository. |
| C-394 | The runner is free. The control plane is the product. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5616 (PAGE /pricing; under "The runner is free. The control plane is the product.")) onedroid.ai/pricing.md (sources/pricing.md L21 (under "The runner is free. The control plane is the product.")) | repo/LICENSE#L1 repo/README.md#L152-153 sources/pricing.md#L21 PARTIAL: the runner is MIT and the README lists the control plane as not in the repo, but 'the control plane is the product' is a positioning statement. |
| C-395 | Executes any revealed scenario, so anyone who runs it can replay a verdict | onedroid.ai/llms-full.txt (sources/llms-full.txt L5626 (PAGE /pricing; under "The OneDroid Argus runner")) onedroid.ai/pricing.md (sources/pricing.md L31 (under "The OneDroid Argus runner")) | repo/cmd/argus/reveal_cmd.go#L38-61 repo/README.md#L117-133 The runner registers `argus replay <scenario_id> --reveal --against`, which runs a revealed scenario against your own deployment and compares with the declared verdict. |
| C-396 | Seals the scenario set your tester wrote and keeps it from the builder | onedroid.ai/llms-full.txt (sources/llms-full.txt L5640 (PAGE /pricing; under "The OneDroid Argus control plane")) onedroid.ai/pricing.md (sources/pricing.md L45 (under "The OneDroid Argus control plane")) | https://base-sepolia.blockscout.com/api/v2/blocks/48212445/transactions#200 tx 0x53ff7fd1... payload set_hash, holdout_root sources/pricing.md#L45 PARTIAL: a seal (set_hash) is anchored on chain for a published run, but 'keeps it from the builder' is a closed control-plane behaviour not shown. |
| C-397 | Seals it and anchors the hash before the build starts | onedroid.ai/llms-full.txt (sources/llms-full.txt L5642 (PAGE /pricing; under "The OneDroid Argus control plane")) onedroid.ai/pricing.md (sources/pricing.md L47 (under "The OneDroid Argus control plane")) | https://base-sepolia.blockscout.com/api/v2/blocks/48212445/transactions#200 seal anchor 23:26:18Z https://base-sepolia.blockscout.com/api/v2/blocks/48212457/transactions#200 verdict anchor 23:26:42Z sources/case-study-finos-calm.md#L131-133 PARTIAL: anchors show the seal hash recorded before the run's verdict, but 'before the build starts' is not shown (that case study had no builder). |
| C-398 | Adjudicates the final run against a pinned artefact | onedroid.ai/llms-full.txt (sources/llms-full.txt L5644 (PAGE /pricing; under "The OneDroid Argus control plane")) onedroid.ai/pricing.md (sources/pricing.md L49 (under "The OneDroid Argus control plane")) | https://base-sepolia.blockscout.com/api/v2/blocks/48212323/transactions#200 tx 0x094a0404... commitment image_digests [sha256:8930523b...] https://base-sepolia.blockscout.com/api/v2/blocks/48212457/transactions#200 verdict artifact_digest sha256:8930523b... repo/cmd/argus/reveal_cmd.go#L43 A commitment anchor pins the image digest and the later verdict anchor binds the same artifact_digest; replay refuses a different digest. |
| C-399 | Publishes the reveal: trigger, expectation, evidence hash, verdict | onedroid.ai/llms-full.txt (sources/llms-full.txt L5646 (PAGE /pricing; under "The OneDroid Argus control plane")) onedroid.ai/pricing.md (sources/pricing.md L51 (under "The OneDroid Argus control plane")) | repo/internal/reveal/document.go#L2-3 repo/internal/reveal/document.go#L20-21 repo/internal/reveal/verify.go#L92-108 The open reveal format carries each sealed scenario's full body (trigger and EXPECT), per-scenario verdicts and EvidenceHash values that `argus anchor verify` recomputes; PARTIAL: the publishing itself is done by the closed hosted control plane, which the repo does not contain. |
| C-400 | Your tester writes the scenarios with our open skill | onedroid.ai/llms-full.txt (sources/llms-full.txt L212 (PAGE /; under "Open where it has to be.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5651 (PAGE /pricing; under "The OneDroid Argus control plane")) onedroid.ai/pricing.md (sources/pricing.md L56 (under "The OneDroid Argus control plane")) | repo/skills/scenario-author/SKILL.md#L15-21 https://github.com/OneDro1d/argus-runner/blob/main/skills/scenario-author/SKILL.md#200 sources/pricing.md#L56 The scenario-author skill the tester uses is published in the public MIT repository and answers 200. |
| C-401 | The holdout is provably prior, and every scenario is replayable with the runner in your own environment. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5652-5653 (PAGE /pricing; under "The OneDroid Argus control plane")) onedroid.ai/pricing.md (sources/pricing.md L57-58 (under "The OneDroid Argus control plane")) | repo/internal/reveal/document.go#L7 repo/internal/reveal/verify_anchors.go#L85-131 repo/README.md#L130-134 Open code verifies the set's chain anchors (priority) and `argus replay` re-runs a revealed scenario against your own deployment; PARTIAL: whether a given seal was anchored before a given build is only checkable per revealed run, none quoted here. |
| C-411 | OneDroid Argus is the newest piece and now the front of the house | onedroid.ai/llms-full.txt (sources/llms-full.txt L5746-5747 (PAGE /about; under "Infrastructure for agents")) | sources/llms-full.txt#L16-21 sources/llms-full.txt#L5746-5747 The home page title and hero are about OneDroid Argus, so the front-of-house half is checkable; PARTIAL: 'the newest piece' has no dated artefact beyond the changelog entries of the same publisher. |
| C-414 | summaries are never accepted — only evidence a human or another agent can independently re-check | onedroid.ai/llms-full.txt (sources/llms-full.txt L5782-5783 (PAGE /about; under "You can read the method before you trust it.")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/README.md#200 L10-11 sources/llms-full.txt#L5782-5783 The open-source method repo README states this exact rule (summaries are never accepted, only raw unforgeable evidence), so the method does contain it; whether it is followed in practice is not shown. |
| C-415 | 2026-10-20 ### OneDroid Argus 0.3.74: a check can listen on a message bus, and read the logs an environment already keeps | onedroid.ai/llms-full.txt (sources/llms-full.txt L5830-5832 (PAGE /changelog; under "What actually shipped.")) onedroid.ai/changelog.md (sources/changelog.md L17-19 (under "What actually shipped.")) | repo/internal/chain/bus.go#L15-33 repo/internal/chain/logsstep.go repo/internal/obsquery/sharedloki.go The bus chain step and the shared-Loki log_regex reading exist in the public code, and the skill names the released executor as v0.3.74; PARTIAL: the release date 2026-10-20 has no public release or tag (GitHub releases and tags lists are empty). |
| C-416 | A run whose executor was restarted mid-run is now reported as failed, with the reason, instead of staying open. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5844-5845 (PAGE /changelog; under "OneDroid Argus 0.3.74: a check can listen on a message bus, and read the logs an environment already keeps")) onedroid.ai/changelog.md (sources/changelog.md L31-32 (under "OneDroid Argus 0.3.74: a check can listen on a message bus, and read the logs an environment already keeps")) | repo/internal/runner/inflight.go#L7-18 repo/internal/runner/inflight.go#L42 sources/changelog.md#L31-32 inflight.go defines errExecutorStopped, the reason a run gets when its executor process stopped mid-run, and the surrounding code marks such a run failed. |
| C-417 | The limits: the bus step reads JSON message bodies only and needs an executor at 0.3.74 or later. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5848 (PAGE /changelog; under "OneDroid Argus 0.3.74: a check can listen on a message bus, and read the logs an environment already keeps")) onedroid.ai/changelog.md (sources/changelog.md L35 (under "OneDroid Argus 0.3.74: a check can listen on a message bus, and read the logs an environment already keeps")) | repo/internal/chain/bus.go#L15-18 repo/skills/scenario-author/SKILL.md#L20 sources/changelog.md#L35 bus.go judges claims on one JSON document and counts undecodable messages separately, which backs JSON-only; PARTIAL: the 0.3.74 minimum is backed only by the skill's own version note, there is no public release. |
| C-418 | 2026-10-19 ### OneDroid Argus 0.3.73: a report can leave out everything the system under test said | onedroid.ai/llms-full.txt (sources/llms-full.txt L5866-5868 (PAGE /changelog; under "The site now leads with what testing costs")) onedroid.ai/changelog.md (sources/changelog.md L53-55 (under "The site now leads with what testing costs")) | repo/internal/runner/limitedreport.go#L18-35 repo/internal/runner/limitedreport.go#L133-150 sources/changelog.md#L53-55 The limited report is a keep list that excludes everything the app returned (limitedNotSent); PARTIAL: the 2026-10-19 date and the 0.3.73 number have no public release artefact. |
| C-419 | In every report, the executor now sends only OneDroid Argus's own words when a run or a relayed command fails, never the application's error text. Load-test errors reach the limited report and the results push only as a kind from a fixed list and a count; the load tool's own messages stay in the full report, which only a Full-access author can read. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5872-5875 (PAGE /changelog; under "OneDroid Argus 0.3.73: a report can leave out everything the system under test said")) onedroid.ai/changelog.md (sources/changelog.md L59-62 (under "OneDroid Argus 0.3.73: a report can leave out everything the system under test said")) | repo/internal/runner/limitedreport.go#L92-95 repo/internal/runner/limitedreport.go#L147-150 repo/internal/runner/limitedreport.go#L188-215 Code sends Argus's own words for failed commands (ownwords rule), reduces load errors to a kind from the closed LoadErrorKinds list plus a count, and keeps the load tool's reasons out of the limited report. |
| C-420 | 2026-10-13 ### OneDroid Argus 0.3.72: a check can depend on what the environment has, and test an app behind Clerk | onedroid.ai/llms-full.txt (sources/llms-full.txt L5885-5887 (PAGE /changelog; under "OneDroid Argus 0.3.73: a report can leave out everything the system under test said")) onedroid.ai/changelog.md (sources/changelog.md L72-74 (under "OneDroid Argus 0.3.73: a report can leave out everything the system under test said")) | repo/docs/preconditions.md#L1-18 repo/internal/argus/clerk_session.go#L15-17 repo/docs/CERTIFICATE.md#L136 Preconditions and a clerk_session auth type exist in the public code and docs, and CERTIFICATE.md names 0.3.72 for v5; PARTIAL: the 2026-10-13 date has no public release artefact. |
| C-421 | A run where every check is `not_applicable` never reads as passed. The results are bound into a new certificate format, v5. Formats v1 to v4 are unchanged, and an older `argus certificate verify` refuses v5 by name. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5893-5895 (PAGE /changelog; under "OneDroid Argus 0.3.72: a check can depend on what the environment has, and test an app behind Clerk")) onedroid.ai/changelog.md (sources/changelog.md L80-82 (under "OneDroid Argus 0.3.72: a check can depend on what the environment has, and test an app behind Clerk")) | repo/docs/CERTIFICATE.md#L66-81 repo/docs/CERTIFICATE.md#L133-141 repo/internal/certificate/verify.go#L164 CERTIFICATE.md and verify.go define argus-certificate/v5 with not_applicable never read as a pass, and state that older binaries refuse v5 by name. |
| C-422 | 2026-10-13 ### OneDroid Argus 0.3.71: the money guard can allow a clean-up, a UI drive or a fault, one by one | onedroid.ai/llms-full.txt (sources/llms-full.txt L5908-5910 (PAGE /changelog; under "OneDroid Argus 0.3.72: a check can depend on what the environment has, and test an app behind Clerk")) onedroid.ai/changelog.md (sources/changelog.md L95-97 (under "OneDroid Argus 0.3.72: a check can depend on what the environment has, and test an app behind Clerk")) | repo/internal/scenario/moneyengines.go#L184 repo/internal/scenario/moneyengines.go#L204-245 repo/internal/scenario/moneyengines.go#L341-350 The money guard has separate cleanup, ui and fault allow entries (MatchCleanup, MatchFault); PARTIAL: the 2026-10-13 date and the 0.3.71 number have no public release artefact. |
| C-423 | 2026-10-11 ### OneDroid Argus 0.3.70: a check can read the database and the logs, and make the system fail | onedroid.ai/llms-full.txt (sources/llms-full.txt L5928-5930 (PAGE /changelog; under "OneDroid Argus 0.3.71: the money guard can allow a clean-up, a UI drive or a fault, one by one")) onedroid.ai/changelog.md (sources/changelog.md L115-117 (under "OneDroid Argus 0.3.71: the money guard can allow a clean-up, a UI drive or a fault, one by one")) | repo/internal/chain/dbstep.go repo/internal/chain/logsstep.go repo/internal/chain/fault.go The db, logs and fault chain steps exist in the public code and docs; PARTIAL: the 2026-10-11 date has no public release artefact. |
| C-424 | the repository has been public since 7 October, announced today | onedroid.ai/llms-full.txt (sources/llms-full.txt L5956 (PAGE /changelog; under "The OneDroid Argus runner is open source")) onedroid.ai/changelog.md (sources/changelog.md L143 (under "The OneDroid Argus runner is open source")) | sources/github-repo.json#L1 created_at=2026-10-07T22:26:48Z private=false https://api.github.com/repos/OneDro1d/argus-runner#200 sources/changelog.md#L138-143 The GitHub API shows the repo created 2026-10-07 and public now; PARTIAL: created_at does not prove it was public from that day, and 'announced today' rests on the changelog's 2026-10-09 date. |
| C-425 | 2026-09-10 ### The site now leads with OneDroid Argus | onedroid.ai/llms-full.txt (sources/llms-full.txt L5968-5970 (PAGE /changelog; under "The OneDroid Argus runner is open source")) onedroid.ai/changelog.md (sources/changelog.md L155-157 (under "The OneDroid Argus runner is open source")) | sources/llms-full.txt#L16-21 https://onedroid.ai/sitemap.xml#200 lastmod / and /argus 2026-09-10 sources/changelog.md#L155-157 The home page leads with OneDroid Argus and the sitemap's lastmod for / and /argus is 2026-09-10; PARTIAL: lastmod is publisher-written and does not prove the date of the change. |
| C-426 | 2026-10-20 ### The site now leads with what testing costs | onedroid.ai/llms-full.txt (sources/llms-full.txt L5853-5855 (PAGE /changelog; under "OneDroid Argus 0.3.74: a check can listen on a message bus, and read the logs an environment already keeps")) onedroid.ai/changelog.md (sources/changelog.md L40-42 (under "OneDroid Argus 0.3.74: a check can listen on a message bus, and read the logs an environment already keeps")) | sources/llms-full.txt#L22-31 sources/changelog.md#L40-42 The current home hero leads with the cost of testing ('Proper testing now costs the same order as the AI coding'); PARTIAL: the 2026-10-20 date is backed by nothing beyond the changelog. |
| C-427 | 2026-07-19 ### Privacy policy and terms of service published | onedroid.ai/llms-full.txt (sources/llms-full.txt L6001-6003 (PAGE /changelog; under "Google OAuth application verification completed")) onedroid.ai/changelog.md (sources/changelog.md L188-190 (under "Google OAuth application verification completed")) | https://onedroid.ai/privacy#200 https://onedroid.ai/terms#200 sources/llms-full.txt#L6303 Both policies are published and answer 200, and the terms carry an effective date of 19 July 2026; PARTIAL: the publication date rests on the publisher's own pages. |
| C-428 | 2026-07-19 ### Crawlable: robots.txt and sitemap.xml | onedroid.ai/llms-full.txt (sources/llms-full.txt L6008-6010 (PAGE /changelog; under "Privacy policy and terms of service published")) onedroid.ai/changelog.md (sources/changelog.md L195-197 (under "Privacy policy and terms of service published")) | https://onedroid.ai/robots.txt#200 https://onedroid.ai/sitemap.xml#200 sources/changelog.md#L195-197 robots.txt and sitemap.xml both answer 200; PARTIAL: the 2026-07-19 date is not backed beyond the changelog. |
| C-430 | 2026-07-18 ### onedroid.ai launched | onedroid.ai/llms-full.txt (sources/llms-full.txt L6023-6025 (PAGE /changelog; under "Bring-your-own-database for OneDroid Engram")) onedroid.ai/changelog.md (sources/changelog.md L210-212 (under "Bring-your-own-database for OneDroid Engram")) | https://onedroid.ai#200 sources/changelog.md#L210-212 onedroid.ai answers 200; PARTIAL: the 2026-07-18 launch date has no artefact beyond the changelog. |
| C-443 | Three uses on one evidence contract: holdout acceptance, under load, and continuous. | onedroid.ai/llms.txt (sources/llms.txt L68-69 (under "Product")) | repo/README.md#L130-134 repo/internal/httpload/httpload.go#L1-2 repo/internal/reveal/document.go#L2-3 The open runner implements the sealed-holdout evidence format and HTTP/AMQP load steps; PARTIAL: the continuous schedule lives in the closed control plane and is not shown in the repo. |
| C-444 | Sign in to create a hub, connect accounts, and issue an agent token. | onedroid.ai/llms.txt (sources/llms.txt L81 (under "Applications")) | https://synapse.onedroid.ai#200 sources/llms.txt#L81 The Synapse app answers 200 at the stated URL; PARTIAL: creating a hub, connecting accounts and issuing a token sit behind sign-in, which was not done. |
| C-445 | OneDroid's own claims register is in it once, as part of the home page. | onedroid.ai/llms.txt (sources/llms.txt L112 (under "Optional")) | sources/llms-full.txt#L16 sources/llms-full.txt#L262 sources/llms-full.txt#L2516 The saved llms-full.txt has exactly one 'Every checkable claim' register heading (L262), inside the home-page block (PAGE / at L16, next PAGE at L2516). |
| C-447 | Not part of llms-full.txt; each page has a Markdown twin at `<url>.md`. | onedroid.ai/llms.txt (sources/llms.txt L114 (under "Optional")) | https://onedroid.ai/evidence.md#200 https://onedroid.ai/evidence/onedroid.ai.md#200 sources/llms-full.txt#L16-6293 (no /evidence PAGE block) The evidence pages' .md twins answer 200, and no /evidence PAGE block appears among the 24 PAGE headings of llms-full.txt. |
| C-448 | The builder gets a pass/fail report of what its system [...] for a failed check, a description of the observed behaviour and, for an HTTP check, the status it returned. It never gets the scenario's expected values, nor the log lines and response-body excerpts a tester sees, since those can carry what the check looks for. | docs.onedroid.ai/argus (sources/argus-docs.html L103-106 (under "The holdout")) docs.onedroid.ai/argus.md (sources/argus-docs.md L56-59 (under "The holdout")) | repo/internal/runner/limitedreport.go#L18-35 repo/internal/runner/limitedreport.go#L78 repo/internal/runner/limitedreport.go#L133-140 The limited (builder) report is a keep list that sends HTTP status codes and excludes body_excerpt and the observed values; PARTIAL: the 'never gets the expected values' clause is not backed, since the keep list includes layers[].scenarios[].failure.expected (L64). |
| C-449 | A **control plane** holds the scenario catalog, the run history, and the workspace that scopes who can see what. An **execution plane** runs next to your system — inside its own network or namespace — and is the only thing that ever calls it. | docs.onedroid.ai/argus.md (sources/argus-docs.md L83-85 (under "Two planes")) | repo/README.md#L44 repo/README.md#L139 repo/README.md#L150-156 The open binary implements the execution plane (`serve --mode runner`) and names `serve --mode control` as the separate control plane, refused in this build. |
| C-450 | The execution plane reaches the control plane outbound only: your system's network needs egress, never an inbound route. | docs.onedroid.ai/argus (sources/argus-docs.html L127-128 (under "Two planes")) docs.onedroid.ai/argus.md (sources/argus-docs.md L85-86 (under "Two planes")) | repo/README.md#L44 repo/internal/runner/client.go#L28 repo/internal/runner/client.go#L36 The executor's federation client is documented and implemented as outbound-only HTTPS to the control plane (client.go), and the README says it needs no inbound route. |
| C-453 | A run with any `not_applicable` check, or with precondition results, gets a version 5 certificate. | docs.onedroid.ai/argus.md (sources/argus-docs.md L119-120 (under "What changed recently")) | repo/docs/CERTIFICATE.md#L66-67 repo/docs/CERTIFICATE.md#L133 repo/internal/certificate/certificate.go#L37 CERTIFICATE.md and certificate.go issue argus-certificate/v5 for a run with preconditions or at least one not_applicable check. |
| C-454 | **Fault steps: break the system under test during a run** (v0.3.69): a `fault` step in a chain scenario can stop, start or scale a Deployment, wait for it, or delay, cut or truncate a connection through a Toxiproxy. | docs.onedroid.ai/argus.md (sources/argus-docs.md L166-168 (under "What changed recently")) | repo/docs/fault-steps.md#L3-22 repo/internal/chain/fault.go sources/argus-docs.md#L166-168 The fault-step docs and code cover stopping and scaling a Deployment and delaying, cutting or truncating a Toxiproxy link; PARTIAL: the v0.3.69 tag is not found in the repo. |
| C-455 | **HTTP load: a stepped ramp that measures a limit** (v0.3.66): a new `HTTP Load` layer raises users step by step against one http target you allowed, stops at the first step that is not comfortable, and the Capacity page shows the limit in users. | docs.onedroid.ai/argus.md (sources/argus-docs.md L180-182 (under "What changed recently")) | repo/internal/httpload/httpload.go#L1-23 repo/internal/config/loadallowed.go#L10-13 repo/onboarding/HOW-TO-ARGUS-CONFIG.md#L325 The HTTP Load step with its ramp verdict and Comfortable thresholds and the allowed-target list exist in code, and HOW-TO names v0.3.66; PARTIAL: the Capacity page is in the closed web app. |
| C-456 | a chain scenario's `http` steps now send the run's `X-Correlation-Id` | docs.onedroid.ai/argus.md (sources/argus-docs.md L185 (under "What changed recently")) | repo/internal/argus/chain_scenario.go#L443-450 sources/argus-docs.md#L185 chain_scenario.go sets the X-Correlation-Id header on a chain's http steps to the run's correlation id. |
| C-457 | an MCP check against a server that sends notifications before its result (on a `text/event-stream` answer) now judges the result, not the first notification. | docs.onedroid.ai/argus.md (sources/argus-docs.md L195-196 (under "What changed recently")) | repo/internal/mcp/client.go#L406-415 sources/argus-docs.md#L195-196 The MCP client skips notifications without an id on an event-stream answer and reads the JSON-RPC result. |
| C-458 | **Clearer onboarding** (v0.3.63 and v0.3.65): credential files are created 0600, a full Docker address pool is named, and a workspace-bound token says it cannot onboard. | docs.onedroid.ai/argus.md (sources/argus-docs.md L199-200 (under "What changed recently")) | repo/internal/onboard/session.go#L170 repo/internal/onboard/session.go#L200 repo/internal/onboard/cloud.go#L1074 Credential files are written 0600 and a workspace-bound token is refused on onboarding with a named reason; PARTIAL: the full Docker address pool message was not found in the repo, and v0.3.63/v0.3.65 are not-found. |
| C-459 | **Load checks keep connections open, and the load record says why requests failed** (v0.3.63) | docs.onedroid.ai/argus.md (sources/argus-docs.md L202 (under "What changed recently")) | repo/templates/http-ingestion.jmx#L7-10 repo/internal/report/loadkind.go#L28 sources/argus-docs.md#L202 The JMeter templates keep one connection per simulated user for a LOAD check, and the load record classifies failures by kind; PARTIAL: v0.3.63 is not-found in the repo. |
| C-460 | **A target can be declared never load tested** (v0.3.60): `load_test: never`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L214 (under "What changed recently")) | repo/internal/config/neverload.go#L12 repo/schemas/argus-config.schema.yaml#L174 repo/onboarding/HOW-TO-ARGUS-CONFIG.md#L194 `load_test: never` is in the config schema and enforced in config/neverload.go and argus.go#L1072. |
| C-461 | **Logs and metrics survive a pod recreate on Kubernetes** (v0.3.62): the Loki and Pushgateway now keep their data on volumes, and `--obs-storage-class` picks the class. | docs.onedroid.ai/argus.md (sources/argus-docs.md L207-208 (under "What changed recently")) | repo/internal/k8srender/k8srender.go#L128-129 repo/internal/k8srender/k8srender.go#L403 repo/cmd/argus/main.go#L3410 render-k8s gives Loki and the Pushgateway volumes, with the --obs-storage-class flag choosing their class; PARTIAL: v0.3.62 is not-found in the repo. |
| C-462 | **`check_env`, `${INGESTION_URL}` and clearer onboarding errors** (v0.3.62) | docs.onedroid.ai/argus.md (sources/argus-docs.md L211 (under "What changed recently")) | repo/internal/config/checkenv.go#L15 repo/internal/config/config.go#L2000 repo/examples/http-hello/scenarios/HELLO-001-health-200.md#L9 check_env and the ${INGESTION_URL} substitution exist in the config code and the example; PARTIAL: the 'clearer onboarding errors' clause and v0.3.62 are not separately backed. |
| C-463 | **A blocked broker reads as what it is** (v0.3.55 and v0.3.56): the run fails with `blocked by broker: <reason>`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L221-222 (under "What changed recently")) | repo/internal/amqpload/amqpload.go#L6 repo/internal/argus/amqpload_blocked_backstop_test.go#L18 repo/onboarding/HOW-TO-ARGUS-CONFIG.md#L167 The run-failure text `blocked by broker: <reason>` is in amqpload.go and the AMQP sampler, and HOW-TO names v0.3.55. |
| C-464 | **A failed numeric claim shows the number** (v0.3.54): `failed_claims[].observed` holds the value the field held, not the saved-value placeholder. | docs.onedroid.ai/argus.md (sources/argus-docs.md L223-224 (under "What changed recently")) | repo/internal/runner/limitedreport.go#L137 repo/internal/chain/failed_claims_numeric_saved_test.go sources/argus-docs.md#L223-224 failed_claims[].observed is a report field, and a dedicated test covers a numeric failed claim against a saved value; PARTIAL: v0.3.54 is not-found. |
| C-465 | **Comparing systems** (v0.3.57): see [Comparing systems](/argus-compare). | docs.onedroid.ai/argus.md (sources/argus-docs.md L225 (under "What changed recently")) | https://docs.onedroid.ai/argus-compare#200 repo/internal/compare/hash.go#L19 repo/internal/compare/cmp11_f5_test.go#L22 The Comparing systems docs page answers 200, the compare package is in the open repo, and a test names v0.3.57. |
| C-466 | **A least-privilege AMQP load login, and metrics retention** (v0.3.53): `queues.load` sets the queue name prefix, and `observability.pushgateway.group_retention` limits how long a run's metrics stay. | docs.onedroid.ai/argus.md (sources/argus-docs.md L231-233 (under "What changed recently")) | repo/internal/argus/amqpload_run.go#L61 repo/onboarding/HOW-TO-ARGUS-CONFIG.md#L157-160 repo/internal/config/pushgateway.go#L53 queues.load (queue-name prefix for a least-privilege login) and observability.pushgateway.group_retention are implemented and documented; PARTIAL: v0.3.53 is not-found. |
| C-469 | **AMQP load testing is open** (v0.3.52): a load run against a broker you list under `load_allowed_targets`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L239-240 (under "What changed recently")) | repo/internal/config/loadallowed.go#L13 repo/internal/argus/amqpload_run.go#L61 repo/onboarding/HOW-TO-ARGUS-CONFIG.md#L137 AMQP load runs gated by load_allowed_targets are implemented in the open runner, and HOW-TO names v0.3.52. |
| C-471 | **`argus preflight` checks Docker and host ports** on a Docker machine, and `--obs none` renders no observability (v0.3.52) | docs.onedroid.ai/argus.md (sources/argus-docs.md L249-250 (under "What changed recently")) | repo/cmd/argus/preflight.go#L19-28 repo/internal/preflight/preflight.go#L401 repo/README.md#L81 `argus preflight` and the `--obs none` mode (which skips the host-port check) are in the open CLI; PARTIAL: v0.3.52 is cited only from HOW-TO-ARGUS-CONFIG.md#L137. |
| C-472 | The CLI is the same binary as the in-environment test server. | docs.onedroid.ai/argus-quickstart (sources/argus-quickstart.html L68 (under "1. Get the argus CLI")) docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L17 (under "1. Get the `argus` CLI")) | repo/README.md#L139 repo/cmd/argus/main.go#L435-438 sources/argus-quickstart.md#L17 The README's table maps cmd/argus to both the CLI commands and the runner (`serve --mode runner`): one binary. |
| C-473 | `version` reports this binary's own build identity (its version, commit and build date) and reads nothing else — no config, no scenarios, no control plane | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L61-62 (under "1. Get the `argus` CLI")) | repo/cmd/argus/main.go#L743-760 sources/argus-quickstart.md#L61-62 main.go handles `version` above the token gate and emits buildinfo version, commit and build date, with a comment saying it reads no config, scenarios or control plane (it does read the ARGUS_VERSION env override). |
| C-474 | That build has every command this page uses (`cloud-login`, `doctor`, `preflight`, `cloud-create-workspace`, `render-k8s`, `certificate`); it refuses only `serve --mode control`, which is the hosted part. | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L22-24 (under "1. Get the `argus` CLI")) | repo/cmd/argus/usage_commands.go#L26-41 repo/cmd/argus/main.go#L95 repo/cmd/argus/main.go#L109 cloud-login, doctor, preflight, cloud-create-workspace, render-k8s and certificate are all registered in the open CLI, and the README says `serve --mode control` is refused in this build. |
| C-475 | The open runner's source also compiles for Windows, but that build is not released and not tested, and the onboarding kit is a set of bash scripts. | docs.onedroid.ai/argus-quickstart (sources/argus-quickstart.html L92-93 (under "1. Get the argus CLI")) docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L48-49 (under "1. Get the `argus` CLI")) | repo/cmd/argus/up_detach_windows.go repo/internal/runner/summarymetrics_errno_windows.go https://api.github.com/repos/OneDro1d/argus-runner/releases#200 (empty list) Windows build-tagged sources exist in the open repo and the public repo has no releases at all; PARTIAL: 'not tested' and the bash onboarding kit (README says the kit is not in the repo) are not independently shown. |
| C-476 | From v0.3.41, `argus <command> --help` prints that command's own usage and exits `0`, with no token set. | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L66-67 (under "1. Get the `argus` CLI")) | repo/cmd/argus/main.go#L510-520 repo/cmd/argus/help_filter.go#L10-16 sources/argus-quickstart.md#L66-67 main.go gives a known command its own usage at exit 0 with no token required (F-CLI-HELP-1), and an unknown one the global list; PARTIAL: the v0.3.41 boundary is not-found in the repo. |
| C-477 | Presenting `ARGUS_EXECUTOR_SECRET`'s value gets you the full test-agent hat (author + runner scope, sees everything); presenting `ARGUS_RUNNER_TOKEN`'s value gets you the product-agent hat (runner scope only, redacted). | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L84-86 (under "2. The two kinds of token")) | repo/internal/auth/auth.go#L8-L9 repo/internal/role/role.go#L17-L21 repo/internal/role/role.go#L48-L56 auth.go maps ARGUS_RUNNER_TOKEN to the product hat (runner scope) and ARGUS_EXECUTOR_SECRET to the test hat (runner + author scope), and role.go gives scenario access only to Test and redaction to Product. |
| C-478 | If the control plane refuses that token, the error now says it was refused (v0.3.48 or later) rather than asking you to log in again. | docs.onedroid.ai/argus-quickstart (sources/argus-quickstart.html L133-134 (under "2. The two kinds of token")) docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L98-99 (under "2. The two kinds of token")) | repo/internal/onboard/cloud.go#L1109 repo/internal/onboard/cloud.go#L1117 sources/argus-quickstart.md#L98-L99 PARTIAL: the CLI's message constants begin the control plane refused this token, but the v0.3.48 version boundary is not shown in the repo (repo-grep v0.3.48 not-found). |
| C-482 | From v0.3.52 `preflight` then also checks that the Docker daemon answers and that the host ports the shared observability stack publishes are free | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L208-210 (under "4. Prove read access before wiring anything else")) | repo/internal/preflight/preflight.go#L363-L381 repo/internal/preflight/preflight.go#L393-L430 repo/internal/preflight/compose_test.go#L10-L25 PARTIAL: preflight checks that the Docker daemon answers and that the stack's published host ports are free, with tests; the from-v0.3.52 version boundary is not tied to this code. |
| C-483 | A working cloud tester no longer fails. If `ARGUS_TOKEN` holds a control-plane token and no local role map is set, `local-hats` is a warning, not a failure. | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L246-247 (under "4. Prove read access before wiring anything else")) | repo/internal/doctor/hats.go#L83-L89 sources/argus-quickstart.md#L246-L247 CheckLocalHats returns StatusWarn (not fail) when ARGUS_TOKEN holds a control-plane token and no local role map is set. |
| C-484 | This repository is the open part of OneDroid Argus | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L3 (under "OneDroid Argus runner")) | sources/github-repo.json#L1 https://api.github.com/repos/OneDro1d/argus-runner#200 repo/LICENSE#L1 The repository OneDro1d/argus-runner is public (private false, visibility public) with an MIT LICENSE, the open runner part. |
| C-485 | OneDroid Argus is an end-to-end test and certification service. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L7 (under "OneDroid Argus runner")) | repo/internal/scenario/moneyengines.go#L306-L346 repo/internal/certificate/verify.go#L3 sources/argus-runner-README.md#L7 PARTIAL: the public repo holds a test runner and a certificate format with a verifier; the hosted service side of the description is not shown. |
| C-486 | The control plane signs that statement and anchors it on a public chain. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L19-20 (under "What a OneDroid Argus certificate proves today, and what it does not")) | sources/case-study-finos-calm.md#L127-L135 https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 block_number 47817413 status ok repo/internal/certificate/verify.go#L3 PARTIAL: a sealed-set anchor transaction quoted by a case study exists on Base Sepolia at the quoted block; the control-plane signing step itself is closed and not shown. |
| C-488 | `argus certificate verify` reports `NOT ANCHORED` for fields a given certificate format does not put on chain. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L36-37 (under "What a OneDroid Argus certificate proves today, and what it does not")) | repo/internal/certificate/verify.go#L212-L214 repo/internal/certificate/certificate.go#L21 repo/cmd/argus/certificate_cmd_test.go#L186 verify.go emits a NOT ANCHORED line for fields a v1 certificate does not put on chain, and a test covers it. |
| C-489 | Argus can also run under Docker Compose with no cluster, but that path needs the onboarding kit, which this repository does not ship | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L45-46 (under "Quickstart")) | repo/onboarding#HOW-TO-ARGUS-CONFIG.md and argus-config.template.yaml only repo#find *compose*.y*ml returns nothing sources/argus-runner-README.md#L45-L46 PARTIAL: the clone has no compose file and its onboarding directory holds only a config template and how-to, so the kit is not shipped; that the compose path needs that kit is restated. |
| C-490 | `verify` never contacts the control plane. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L110 (under "Verify a certificate")) | repo/cmd/argus/certificate_cmd.go#L9 repo/cmd/argus/certificate_cmd.go#L126 repo/internal/certificate/verify.go#L3 The verify command is documented in code as OFFLINE and INDEPENDENT and never calls the control plane; it reads anchors from the caller's own chain client. |
| C-491 | After a certified run, its author can reveal the sealed scenarios. The reveal document holds every sealed scenario, the Merkle proofs that tie each one to the set anchored before the run, and the run's anchors. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L119-120 (under "Check a reveal, and replay a revealed scenario")) | repo/internal/reveal/document.go#L3 repo/internal/reveal/document.go#L32-L37 repo/internal/reveal/document.go#L101 PARTIAL: the reveal document type carries the scenario set, a Merkle root with per-file inclusion proofs and anchors; that an author can reveal after a certified run is a control-plane step not shown. |
| C-492 | `replay` runs one revealed scenario against a deployment you run yourself and compares your outcome with the verdict the reveal declares. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L131-132 (under "Check a reveal, and replay a revealed scenario")) | repo/internal/reveal/replay.go#L9 repo/internal/reveal/replay.go#L47-L51 repo/cmd/argus/reveal_cmd.go#L3 Replay runs one revealed scenario through an executor against the caller's deployment and compares the outcome with the reveal's declared verdict. |
| C-493 | `--against` must be the artefact digest the reveal certified (it is refused otherwise), so you replay the same build. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L132-133 (under "Check a reveal, and replay a revealed scenario")) | repo/internal/reveal/replay.go#L21-L22 repo/internal/reveal/replay.go#L53-L55 repo/internal/reveal/replay_test.go#L39 Replay refuses (exit 2) when --against does not equal the reveal's declared artifact_digest. |
| C-494 | Anchors on a private chain (for example `argus-dev-poa`) read as UNREACHABLE from outside: the public check is Base Sepolia and Bitcoin. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L133-134 (under "Check a reveal, and replay a revealed scenario")) | repo/internal/reveal/verify_anchors.go#L36-L68 repo/internal/reveal/verify_outcome_test.go#L49 sources/argus-runner-README.md#L133-L134 Anchor reads that cannot be checked are reported UNREACHABLE, and a test exercises an argus-dev-poa anchor; that the public check is Base Sepolia and Bitcoin matches the verifier's chain and Bitcoin header sources. |
| C-495 | `internal/reveal` | the reading side of a reveal document: `anchor verify` and `replay` (it assembles nothing and writes no chain) | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L143 (under "What is here")) | repo/internal/reveal/verify_anchors.go#L3-L6 repo/internal/reveal/replay.go#L9 repo/cmd/argus/reveal_cmd.go#L22 internal/reveal exists and holds the anchor verify and replay reading side; it only reads anchors, with no chain-write code found there. |
| C-496 | The executor does sign its own requests to the control plane, with its own instance key. | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L154-155 (under "What is deliberately not here")) | repo/internal/federation/identity.go#L15-L17 repo/internal/federation/identity.go#L73-L84 The executor has a per-instance Ed25519 keypair and signs a short-lived EdDSA JWT with it for its control-plane requests. |
| C-497 | "description":"OneDroid Argus open runner and tester CLI (MIT). It executes sealed checks against your system, and argus certificate verify checks a certificate against the chain." | api.github.com/repos/OneDro1d/argus-runner (sources/github-repo.json L1) | sources/github-repo.json#L1 https://api.github.com/repos/OneDro1d/argus-runner#200 repo/LICENSE#L1 The GitHub API returns this exact description, the licence key mit, and the repo has the certificate verify command. |
| C-524 | Or give your agent onedroid.ai/kit: every step written for it to follow. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4318-4319 (PAGE /quickstart; under "Where it leads")) | https://onedroid.ai/kit#200 sources/llms-full.txt#L5300-L5415 onedroid.ai/kit answers 200 and its body is a numbered step list with a Check per step written for an agent. |
| C-529 | Open source under Apache-2.0, with no paid tier. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5219-5220 (PAGE /kit; under "The method: the Dark Factory kits")) | https://api.github.com/repos/OneDro1d/dark-factory#200 private false license apache-2.0 sources/llms-full.txt#L5219-L5220 PARTIAL: the dark-factory repository is public with an Apache-2.0 licence per the GitHub API; no paid tier is a pricing statement not covered. |
| C-530 | Product owner, architect, test-first developer and QA, each a skill your agent runs in order. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5211-5212 (PAGE /kit; under "The method: the Dark Factory kits")) | https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#200 skills/df-product-owner skills/df-solution-architect skills/df-tdd-developer skills/df-qa sources/llms-full.txt#L5211-L5212 The public kit repo has df-product-owner, df-solution-architect, df-tdd-developer and df-qa skills and numbered stages/ directories for the order. |
| C-531 | Acceptance criteria become a failing test list before any code is written. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5212-5213 (PAGE /kit; under "The method: the Dark Factory kits")) | https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#200 skills/df-tdd-developer https://raw.githubusercontent.com/OneDro1d/dark-factory/main/docs/DARK-FACTORY-PRIMING.md#200 L387 PARTIAL: a test-first developer skill and the priming doc's Stage 5 TDD section exist; they instruct the model, and nothing enforces it before code is written. |
| C-532 | An adversary gate checks the evidence for each claim (test output, diffs, exit codes) without redoing the work, and work that fails the gate goes back. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5213-5215 (PAGE /kit; under "The method: the Dark Factory kits")) | https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#200 skills/df-adversary-gate/SKILL.md https://raw.githubusercontent.com/OneDro1d/dark-factory/main/docs/DARK-FACTORY-PRIMING.md#200 L147 L682 The adversary-gate skill exists, and the priming doc defines it as an observer that checks evidence against the promise without redoing the work. |
| C-533 | Hooks enforce what must not depend on the model choosing to comply: a rule in a prompt is a request, a hook is a control. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5215-5216 (PAGE /kit; under "The method: the Dark Factory kits")) | https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#200 hooks/df-stage-gate.py hooks/secret-guard.py hooks/check-compound-bash.sh The kit repo ships enforcement hooks (stage gate, secret guard, compound-bash refusal); the principle sentence itself is a statement. |
| C-534 | It lives in a private GitHub repository you own. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5220 (PAGE /kit; under "The method: the Dark Factory kits")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L13 L88 L95 sources/llms-full.txt#L5220 The runbook creates the copy with gh repo create --private and checks that visibility prints PRIVATE. |
| C-539 | For ChatGPT, Gemini or a plain API model, paste DARK-FACTORY-PRIMING.md into the conversation. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4290-4292 (PAGE /quickstart; under "No skill system? One page")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5402-5404 (PAGE /kit; under "No skill system?")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/docs/DARK-FACTORY-PRIMING.md#200 L1 L538 sources/llms-full.txt#L4290-L4292 DARK-FACTORY-PRIMING.md is served at 200 and its Part 5 is adaptation notes for ChatGPT, Gemini and plain API models. |
| C-540 | Where it stops for you: your sign-ups and logins (OneDroid Argus, Synapse, Engram and GitHub), which kit, the name of your repo, and the tools you connect. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5223-5224 (PAGE /kit; under "The method: the Dark Factory kits")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L62 L79-L80 L108 L198 sources/llms-full.txt#L5223-L5224 The runbook marks HUMAN steps for the gh login, the kit choice, the repo name and owner, and connecting tools. |
| C-542 | The runbook is START-HERE.md in the public repository. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5310-5312 (PAGE /kit; under "Part 4 · The method: the Dark Factory kits")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 sources/llms-full.txt#L5310-L5312 START-HERE.md is served from the public dark-factory repo at starter-kit/instance/ (the repo root path answers 404). |
| C-543 | Every step ends with a check: run it, and do not move on until it passes. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5231-5232 (PAGE /kit; under "The steps, in the same order, each with its check.")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L6-L7 sources/llms-full.txt#L5231-L5232 The runbook header says every step ends with a Check and not to move on until it passes, and each numbered step carries one. |
| C-544 | Stop and ask the human at the steps marked HUMAN, and whenever a runbook says to stop (a setup that is somebody else's, a tool that is missing). | onedroid.ai/llms-full.txt (sources/llms-full.txt L5232-5233 (PAGE /kit; under "The steps, in the same order, each with its check.")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L7-L8 L45 L61 sources/llms-full.txt#L5232-L5233 The runbook says to stop at HUMAN steps, to stop on somebody else's setup and to stop when a tool is missing. |
| C-545 | Never report a step as done without its check. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5233-5234 (PAGE /kit; under "The steps, in the same order, each with its check.")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L8-L9 sources/llms-full.txt#L5233-L5234 The runbook header carries the instruction never to report a step as done without its check; it is an instruction to the agent, not an enforcement. |
| C-546 | You need `git`, `jq`, `bash`, `python3`, `gh` and `claude`, and a `gh` login that can see the repository. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5318-5320 (PAGE /kit; under "Check the tools")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L53 L62 sources/llms-full.txt#L5318-L5320 The runbook's step 1 checks exactly git, jq, bash, python3, gh and claude and requires a gh login. |
| C-547 | Seven kits today: `method-core` (the method itself), `dev` (writing and shipping code), `knowledge-worker` (documents rather than code), `agent-ops`, `code-review`, `distributed-systems`, `frontend`. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5333-5336 (PAGE /kit; under "Clone the method and list the kits")) | https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#200 kits/*/kit.json sources/llms-full.txt#L5333-L5336 The kits/ directory holds exactly seven kit.json files: agent-ops, code-review, dev, distributed-systems, frontend, knowledge-worker, method-core. |
| C-548 | The bootstrap writes a new directory beside the checkout, pinned to today's commit, and the copy goes to a private repository. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5348-5350 (PAGE /kit; under "Make the human's own copy")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/bootstrap.sh#200 L16 L72 L100-L143 https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L88 bootstrap.sh defaults the target to a sibling ../<name> and pins the lockfile to the remote main commit SHA; the runbook pushes the copy with --private. |
| C-549 | Every machine gets its own record under `instances/`, named as START-HERE.md step 3 says. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5367-5368 (PAGE /kit; under "Add this machine and install")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L124-L145 sources/llms-full.txt#L5367-L5368 Runbook step 3 creates instances/<machine>/loom.lock.json with a naming table per machine type. |
| C-550 | `0` means installed and proven, `1` means a precondition failed and nothing was installed, `2` means the result does not match the record. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5372-5374 (PAGE /kit; under "Add this machine and install")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/install.sh#200 L38 https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L175-L179 install.sh documents EXIT 0 installed and LOCKED, 1 a precondition failed, 2 installed but not locked, and dies with exit 1 on preconditions. |
| C-554 | A fresh session exercises every gate the kit installs and commits its report to the human's repo by itself. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5391-5392 (PAGE /kit; under "Validate")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/boot-kit/scripts/validate.sh#200 L21 L243 L278-L337 sources/llms-full.txt#L5391-L5392 PARTIAL: validate.sh starts a headless session, names a VALIDATE-REPORT file and commits and pushes it; that it exercises every gate is not checked here. |
| C-555 | It inlines every stage skill and the adversary gate. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5404 (PAGE /kit; under "No skill system?")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/docs/DARK-FACTORY-PRIMING.md#200 L147 L230-L479 The priming doc has a Part 3 titled the stages, fully inlined (stages 1 to 7) and a section 2.2 defining the adversary gate. |
| C-556 | Each skill is also served from this site: the skills index lists them, and each lives at `/.well-known/skills/<name>/SKILL.md`. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5408-5410 (PAGE /kit; under "Only the skills?")) | https://onedroid.ai/.well-known/skills/index.json#200 https://onedroid.ai/.well-known/skills/df-adversary-gate/SKILL.md#200 The skills index and a skill at /.well-known/skills/<name>/SKILL.md both answer 200 on onedroid.ai. |
| C-558 | START-HERE.md ends with a table of the failures people actually hit. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5415 (PAGE /kit; under "Something went wrong?")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L328-L342 (file is 342 lines) START-HERE.md ends with a When it goes wrong symptom table; that these are failures people actually hit is not evidenced. |
| C-564 | A run still needs an account there, available by request at the time (sign-up opened later; see /argus). | onedroid.ai/llms-full.txt (sources/llms-full.txt L5962-5963 (PAGE /changelog; under "The OneDroid Argus runner is open source")) onedroid.ai/changelog.md (sources/changelog.md L149-150 (under "The OneDroid Argus runner is open source")) | sources/argus.md#L202-L203 https://argus-dev.onedroid.ai/sign-up#200 sources/changelog.md#L149-L150 PARTIAL: /argus says a run needs an account and that sign-up is open at argus-dev.onedroid.ai, whose sign-up page answers 200; by request at the time is historical and not evidenced. |
| C-566 | The kit to build a dark software factory, in four parts ordered by what gives the most for the effort: testing first (OneDroid Argus), then eyes and hands (OneDroid Synapse), memory and context (OneDroid Engram), and the open-source Dark Factory kits as the method that ties them together. For the human, why each part is needed and what it does; for the coding agent, every step with its check, ending with a validation report committed in the user's own private repository. Every link in one place. | onedroid.ai/llms.txt (sources/llms.txt L56 (under "Docs")) | https://onedroid.ai/kit#200 sources/llms-full.txt#L5300-L5415 sources/llms.txt#L56 PARTIAL: /kit answers 200 and is ordered Argus, Synapse, Engram, then the kits, with a Check per step and a committed validation report; why each part is needed is the page's own prose. |
| C-568 | Without `--scope` the sign-in stops before it starts | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L171 (under "3. Point the CLI at your control plane")) | repo/cmd/argus/main.go#L215-L219 repo/cmd/argus/cloudlogin_scope_test.go#L9-L12 --scope has no default, and cloud-login refuses without it, exits non-zero and writes nothing, with a test. |
| C-571 | Every figure on it links to the page it comes from on onedroid.ai. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L257 (under "Your architecture says what may talk to what. Does the running system agree?")) | sources/partners-financial-services.html#L397 sources/partners-financial-services.html#L370 sources/partners-financial-services.html#L340 PARTIAL: the 23%-35% figure links to /argus and the proof section links the FINOS case study, but the 7/5/2/0 table cells carry no link of their own. |
| C-574 | The set is sealed, and its hash goes on a cryptographic ledger before the work is judged. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L295-296 (under "02What OneDroid Argus does")) | sources/case-study-finos-calm.md#L127-L133 https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 block_number 47817413 status ok repo/internal/reveal/document.go#L3 The FINOS case study's sealed-set anchor transaction exists on Base Sepolia at the quoted block, before the verdict block 47817439. |
| C-575 | The builder holds a credential that can ask for a run and read the verdict, and cannot read a scenario or an expected value. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L297-298 (under "02What OneDroid Argus does")) | repo/internal/role/role.go#L17-L21 repo/internal/role/role.go#L48-L56 repo/internal/auth/auth.go#L8-L9 PARTIAL: the product (builder) hat has runner scope only, no scenario access and redacted expected values in the runner; the hosted control plane's enforcement is not shown. |
| C-576 | It drives HTTP, the message broker, the database, MCP tool calls, web pages in a real browser, permissions and rate limits. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L303-304 (under "02What OneDroid Argus does")) | repo/internal/scenario/moneyengines.go#L306-L346 repo/internal/scenario/moneyguard.go#L135 repo/internal/scenario/dispatch.go#L60-L61 The runner dispatches http, amqp/bus, db, mcp and ui (browser) steps and has Rate Limiting and Permissions scenario sections. |
| C-577 | Checks can be generated from a CALM architecture file with argus calm import, and written by hand for the paths the file does not describe. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L304-306 (under "02What OneDroid Argus does")) | repo/internal/calm/import.go#L268 repo/internal/calm/import.go#L829 repo/internal/calm/import.go#L932-L934 argus calm import generates checks from a CALM file, says generated files can be edited, and reports what it did not map, for hand-written checks. |
| C-578 | It comes with a certificate anyone can check offline with the CLI and no account. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L310 (under "02What OneDroid Argus does")) | repo/cmd/argus/certificate_cmd.go#L9 repo/cmd/argus/certificate_cmd.go#L126 repo/internal/certificate/verify.go#L3 certificate verify is OFFLINE and INDEPENDENT of the control plane and needs no account or token; it reads anchors from the caller's chain client. |
| C-579 | When the tester reveals the set, any scenario can be replayed by the runner against the same artefact: by you, by your auditor, by anyone. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L311-312 (under "02What OneDroid Argus does")) | repo/internal/reveal/replay.go#L9 repo/internal/reveal/replay.go#L47-L55 sources/argus-runner-README.md#L131-L133 Anyone with the reveal can run the open replay against an artefact they deploy, and it is refused unless the digest matches the certified one. |
| C-580 | Database access is read-only, except a clean-up a scenario declares, run with the credential you give it. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L316 (under "02What OneDroid Argus does")) | repo/internal/chain/dbstep.go#L31 repo/internal/pgread/pgread.go#L10 repo/internal/scenario/cleanup.go#L36-L40 Database reads run inside BEGIN READ ONLY in the runner and a declared ## CLEANUP SQL runs on the same configured database connection; PARTIAL: that the clean-up is the only write path is not shown exhaustively. |
| C-581 | Nothing can be made to fail on purpose unless the system's operator has listed it, and a load ramp never targets a live broker. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L316-318 (under "02What OneDroid Argus does")) | repo/internal/fault/manager.go#L240 repo/internal/argus/chain_fault.go#L95 repo/internal/config/loadallowed.go#L76 Fault steps are off unless argus-config.yaml lists fault_allowed_targets and unlisted targets are refused; load targets whose broker URL looks shared/production are refused; PARTIAL: 'never a live broker' rests on a URL heuristic (looksSharedOrProd), not a guarantee. |
| C-584 | Our team ran one sealed set of checks with OneDroid Argus against the FINOS CALM "trades API and MCP" demo: a trades REST API, an MCP server for an AI agent with a guardrail on restricted symbols, and an A2A server. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L330-332 (under "03The proof: a FINOS CALM trading demo")) | sources/case-study-finos-calm.md#L31 sources/case-study-finos-calm.md#L131-L133 https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 block_number 47817413 status ok A sealed set and a verdict were recorded on Base Sepolia at the blocks the study quotes; PARTIAL: that the target was the FINOS CALM demo with REST, MCP and A2A servers is restated in the study, not on chain. |
| C-585 | They were sealed on 7 October 2026, before the run. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L333-334 (under "03The proof: a FINOS CALM trading demo")) | https://base-sepolia.blockscout.com/api/v2/transactions/0x9fccbd30504e7e31554455dfc27bbf27ca5cba4cd5e30d9f607a6355aea32adc#200 timestamp 2026-10-07T19:58:34Z block 47817413 https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#200 timestamp 2026-10-07T19:59:26Z block 47817439 sources/case-study-finos-calm.md#L71 The seal transaction is dated 7 October 2026 19:58:34Z, before the verdict transaction at 19:59:26Z, both at the blocks the study quotes. |
| C-588 | A check generated from the architecture file asks that question on every deployment. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L354-355 (under "03The proof: a FINOS CALM trading demo")) | repo/cmd/argus/main.go#L625-L628 repo/internal/calm/import.go#L448 repo/internal/calm/import.go#L490 argus calm import generates 'CALM connects' and 'CALM must not connect' checks from a CALM architecture file; PARTIAL: 'on every deployment' depends on the user re-running the set. |
| C-589 | Before the run, OneDroid Argus read the image digests actually running and found exactly the ones declared. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L356-357 (under "03The proof: a FINOS CALM trading demo")) | repo/internal/artifactmeasure/measure.go#L203 sources/case-study-finos-calm.md#L137 The runner has a digest measurement that refuses a declared digest not running; PARTIAL: that this run found exactly the three declared digests is restated, not published as a record. |
| C-590 | A run that declared a digest that was not running was refused before any check ran. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L357-358 (under "03The proof: a FINOS CALM trading demo")) | repo/internal/artifactmeasure/measure.go#L203 sources/case-study-finos-calm.md#L137 The refusal message the study quotes ('is not among the image digests running in the system under test — no scenario was run and nothing was bound') is the runner's own string; PARTIAL: the specific refused run is not published. |
| C-598 | Sealed checks that declared connections answer and undeclared ones are refused, on the running system | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L384 (under "04Where it fits next to the FINOS SDLC Common Controls")) | repo/internal/calm/import.go#L448 repo/internal/calm/import.go#L490 sources/case-study-finos-calm.md#L75-L77 calm import generates a must-answer check per declared connection and a must-not-connect check for undeclared paths, run against the live system. |
| C-599 | The images running are read by digest and must equal the ones declared before any check runs | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L385 (under "04Where it fits next to the FINOS SDLC Common Controls")) | repo/internal/artifactmeasure/measure.go#L203 The runner reads running image digests and refuses the run before any scenario when the declared digest is not among them. |
| C-600 | A verdict bound to one build, with the sealed set and the verdict recorded on a ledger and a certificate anyone can check | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L386 (under "04Where it fits next to the FINOS SDLC Common Controls")) | repo/cmd/argus/certificate_cmd.go#L50 https://base-sepolia.blockscout.com/api/v2/transactions/0x8718c0b64c7fd35feb06029e1af1574b944d35c2afde6676a114132b7353ce7a#200 block_number 47817439 repo/docs/CERTIFICATE.md#L67 A certificate format with an offline 'argus certificate verify' command exists and seal/verdict records are on a public chain; PARTIAL: the binding to one build is shown by the digest mechanism, not by a published certificate file. |
| C-601 | A sealed verdict about one build, a record your release process can keep and require | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L387 (under "04Where it fits next to the FINOS SDLC Common Controls")) | repo/cmd/argus/certificate_cmd.go#L50 repo/internal/certificate/verify.go#L152-L210 A sealed verdict certificate with a verifier exists in code; PARTIAL: 'a record your release process can keep and require' is a usage claim with no gating example. |
| C-606 | The runner is free and open source. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L407 (under "05What it costs")) | repo/LICENSE#L1 https://github.com/OneDro1d/argus-runner The runner repository carries an MIT License file. |
| C-609 | Not a score. Passed, failed, errored or not_applicable, per scenario, with the evidence. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L421 (under "06What it is not")) | repo/internal/certificate/certificate.go#L126-L136 repo/internal/certificate/verify.go#L210 The certificate holds per-outcome counts (passed, failed, errored, degraded, not_applicable) and a verdict word, no aggregate score field. |
| C-612 | It runs inside your environment and its source is open under MIT | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L437-438 (under "07How to start")) | repo/LICENSE#L1 repo/Dockerfile#L14 sources/argus-runner-README.md#L12 The runner repo is MIT-licensed and ships a container image definition to run in the user's environment. |
| C-613 | A run needs an account on the hosted control plane: anyone can create one at argus-dev.onedroid.ai (e-mail, Google or Microsoft). | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L440 (under "07How to start")) | https://argus-dev.onedroid.ai#200 https://argus-dev.onedroid.ai/assets/index-DTHfXbJx.js#200 signUpForceRedirectUrl The control plane answers 200 and its bundle wires a sign-up flow; PARTIAL: the e-mail, Google and Microsoft options were not rendered and so not confirmed. |
| C-618 | Every scenario ends as passed, failed, errored or not_applicable (it could not run; a load run has one more outcome, degraded), and neither an error nor not_applicable is ever a pass. | onedroid.ai/llms-full.txt (sources/llms-full.txt L250 (PAGE /; under "Does OneDroid Argus score my build?")) | repo/internal/certificate/verify.go#L183-L189 repo/internal/runner/mapper.go#L110-L114 repo/internal/runner/mapper.go#L196-L213 The verifier rejects a passed verdict with errored scenarios or all not_applicable, and degraded is its own outcome, never folded into passed. |
| C-621 | The kit's install step runs through the `claude` CLI today; any harness that reads SKILL.md can follow the method. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5093 (PAGE /dark-factory; under "Harness-agnostic")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L55 https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#200 skills/*/SKILL.md The kit's runbook calls the claude CLI and the method ships as SKILL.md files in the public repo; PARTIAL: 'any harness that reads SKILL.md can follow' is untested. |
| C-624 | Automated end-to-end testing for AI-written code. | onedroid.ai/llms-full.txt (sources/llms-full.txt L18 (PAGE /)) onedroid.ai/llms-full.txt (sources/llms-full.txt L226 (PAGE /; under "What is OneDroid Argus?")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5150 (PAGE /kit; under "Testing: OneDroid Argus")) | repo/internal/chain/http.go#L9 repo/internal/chain/http.go#L361 repo/README.md#L7 The open runner executes end-to-end checks against a running system; PARTIAL: 'for AI-written code' is positioning, not a capability. |
| C-625 | what to trigger, where to look, what a healthy answer is. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2551 (PAGE /argus; under "Plain scenarios, not test scripts.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5152-5153 (PAGE /kit; under "Testing: OneDroid Argus")) onedroid.ai/argus.md (sources/argus.md L39 (under "Plain scenarios, not test scripts.")) | repo/skills/scenario-author/SKILL.md#L174 repo/skills/scenario-author/SKILL.md#L187 repo/internal/scenario/parse.go#L35 Scenarios are parsed from ## TRIGGER and ## VERIFY sections, matching what to trigger, where to look and what a healthy answer is. |
| C-628 | The kit to build a dark software factory with AI agents, in the order that gives you the most: testing with OneDroid Argus, eyes and hands with OneDroid Synapse, memory and context with OneDroid Engram, and the open-source Dark Factory kits as the method that ties them together. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5113 (PAGE /kit)) | repo/LICENSE#L1 https://raw.githubusercontent.com/OneDro1d/dark-factory/main/LICENSE#200 Apache License 2.0 https://synapse.onedroid.ai/agent/mcp#401 All four parts exist as public artefacts or live endpoints (MIT runner, Apache-2.0 kits, auth-gated Synapse and Engram MCP endpoints); PARTIAL: 'the order that gives you the most' is opinion. |
| C-632 | The checks run against the running system with nothing mocked. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5153-5154 (PAGE /kit; under "Testing: OneDroid Argus")) | repo/internal/chain/http.go#L9 repo/internal/chain/http.go#L361 repo/internal/chain/dbstep.go#L31 The runner's HTTP and database steps issue real requests and queries to the configured system; PARTIAL: 'nothing mocked' depends on what the user points it at. |
| C-633 | Your coding agent's credential can ask for a run and read the verdict, and cannot read a check or an expected value. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5154-5155 (PAGE /kit; under "Testing: OneDroid Argus")) | repo/internal/auth/auth.go#L8-L9 repo/internal/auth/auth.go#L56-L67 The runner maps the runner-scope token to the product hat (runner_* only) and the author scope to the test hat; PARTIAL: enforcement that the builder cannot read a check is on the hosted control plane, not in the public code. |
| C-635 | The runner is open source under MIT; the hosted control plane is open to sign up and evaluate. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5162-5163 (PAGE /kit; under "Testing: OneDroid Argus")) | repo/LICENSE#L1 https://argus-dev.onedroid.ai#200 The runner is MIT and the control plane answers 200 with a sign-up flow in its bundle; PARTIAL: open sign-up was not rendered end to end. |
| C-636 | A gateway between your agents and your accounts. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5175 (PAGE /kit; under "Eyes and hands: OneDroid Synapse")) | https://synapse.onedroid.ai/agent/mcp#401 https://synapse.onedroid.ai#200 An authenticated MCP endpoint answers at synapse.onedroid.ai/agent/mcp; PARTIAL: what it connects to (the user's accounts) is not visible without signing in. |
| C-644 | An autonomy policy says what the agents decide alone, what they log, and what always stops for a human. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5216-5217 (PAGE /kit; under "The method: the Dark Factory kits")) | https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#200 skills/work-autonomously/SKILL.md https://api.github.com/repos/OneDro1d/dark-factory/git/trees/main?recursive=1#200 hooks/orchestrator-autonomy-reminder.py The public dark-factory repo ships a work-autonomously skill and an autonomy hook; their contents were not read line by line. |
| C-647 | Without access to a release, build the CLI from the open-source runner | onedroid.ai/llms-full.txt (sources/llms-full.txt L5248-5249 (PAGE /kit; under "Get an account and the CLI")) | repo/cmd/argus/main.go#L749 repo/BUILDING.md#L20 repo/LICENSE#L1 The public runner repo holds the argus CLI source under cmd/argus with build instructions, so the CLI can be built from it. |
| C-648 | Check: `argus version` prints its version. It needs no token. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5256 (PAGE /kit; under "Get an account and the CLI")) | repo/cmd/argus/main.go#L745-L751 The version command is handled above the token gate and prints version, commit and build date without a token. |
| C-650 | The tester's credential writes, seals and reveals; the builder's can start a run and read the verdict, never a scenario or an expected value. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5262-5264 (PAGE /kit; under "Keep the tester and the builder apart")) | repo/internal/auth/auth.go#L8-L9 repo/internal/auth/auth.go#L36-L37 Two token scopes exist (runner-only product hat, runner plus author test hat); PARTIAL: that the builder token can never read a scenario or expected value is enforced server-side, not in public code. |
| C-651 | Check: the tester and the builder use different credentials, and the coding agent holds only the builder's. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5268-5269 (PAGE /kit; under "Keep the tester and the builder apart")) | repo/internal/auth/auth.go#L8-L9 repo/internal/auth/auth.go#L56 The runner takes distinct ARGUS_RUNNER_TOKEN and ARGUS_EXECUTOR_SECRET credentials and never grants author scope to a runner token; PARTIAL: whether the coding agent holds only the builder's is the user's setup. |
| C-655 | Through the Synapse hub, where the Engram connection is already on, or HUMAN: sign in at engram.onedroid.ai and create a library token for `https://engram.onedroid.ai/mcp`. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5299-5301 (PAGE /kit; under "Write one thing, search it back")) | https://engram.onedroid.ai#200 https://engram.onedroid.ai/mcp#401 Engram's sign-in host answers 200 and its MCP endpoint is live and token-gated; PARTIAL: library-token creation and the Engram connection being on in Synapse were not checked (sign-in out of bounds). |
| C-657 | Execute it top to bottom; the steps below summarise it. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5312 (PAGE /kit; under "Part 4 · The method: the Dark Factory kits")) | https://raw.githubusercontent.com/OneDro1d/dark-factory/main/starter-kit/instance/START-HERE.md#200 L6 The public runbook tells the agent to execute it top to bottom (at starter-kit/instance/, not the repo root, where raw returns 404). |
No evidence published (337)
| 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 | onedroid.ai/llms-full.txt (sources/llms-full.txt L27-28 (PAGE /; under "Proper testing now costs the same order as the AI coding.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L238 (PAGE /; under "What does independent testing cost?")) onedroid.ai/llms-full.txt (sources/llms-full.txt L2526-2527 (PAGE /argus; under "Independent testing, at the same order of cost as the coding.")) | $1.97 is a mean of 3 runs in the case-study table; no per-run figures, transcripts or cost logs are published, so a raw per-run record would be needed. |
| C-002 | With OneDroid Argus as the independent tester, the coding agent cost $1.01 a run | onedroid.ai/llms-full.txt (sources/llms-full.txt L2527 (PAGE /argus; under "Independent testing, at the same order of cost as the coding.")) onedroid.ai/argus.md (sources/argus.md L15 (under "Independent testing, at the same order of cost as the coding.")) | $1.01 appears only as a table mean in the case study; no per-run cost data or transcripts are published behind it. |
| C-003 | the tester one session of about $5.30, which wrote both the build checks and the 13 hidden judge checks for the feature | onedroid.ai/llms-full.txt (sources/llms-full.txt L238 (PAGE /; under "What does independent testing cost?")) onedroid.ai/llms-full.txt (sources/llms-full.txt L2528 (PAGE /argus; under "Independent testing, at the same order of cost as the coding.")) onedroid.ai/llms.txt (sources/llms.txt L28-29 (under "OneDroid")) | The $5.30 tester session and 13 hidden checks are stated in the case study only; no session cost log, check set hash or anchor is published for this experiment. |
| C-004 | The tester is paid once per feature, and its checks stay as regression checks | onedroid.ai/llms-full.txt (sources/llms-full.txt L238 (PAGE /; under "What does independent testing cost?")) onedroid.ai/llms-full.txt (sources/llms-full.txt L2529 (PAGE /argus; under "Independent testing, at the same order of cost as the coding.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L3320 (PAGE /case-study-claude-code-alone-vs-tester; under "What the numbers say")) | The case study says setup B ran 37 older checks as regression checks, but no run record or check list backs it; it is the publisher's statement only. |
| C-005 | Independent testing now costs the same order as the AI coding. | onedroid.ai/llms-full.txt (sources/llms-full.txt L83 (PAGE /; under "50,000 lines overnight. How do you know what it did?")) | A framing comparison resting on the one case study's mean costs ($1.01-$1.97 coding vs about $5.30 tester), which have no raw data behind them. |
| C-006 | The coding agent cost 49% less with the tester | onedroid.ai/llms.txt (sources/llms.txt L49 (under "Docs")) | Arithmetic is consistent (1 - 1.01/1.97 = 0.487, i.e. 49%), but the operands are unpublished-run means with no raw per-run data. |
| C-007 | counting the tester's session, the whole cost 41% more | onedroid.ai/llms.txt (sources/llms.txt L49 (under "Docs")) | Arithmetic is consistent (2.78/1.97 = 1.411, i.e. +41%), but $2.78 and $1.97 are means with no per-run data or transcripts published. |
| C-008 | Both setups passed 13 of 13 hidden checks. | onedroid.ai/llms.txt (sources/llms.txt L49 (under "Docs")) | 13 of 13 is stated in the case study; no judge results, set hash or chain anchor is published for these 6 runs. |
| C-009 | 3 judged runs per setup, in random order, on 16 October 2026 | onedroid.ai/llms-full.txt (sources/llms-full.txt L3286 (PAGE /case-study-claude-code-alone-vs-tester; under "The setup")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L63 (under "The setup")) | Run count, random order and date are stated only; no run log, timestamps or anchors are published for this experiment. |
| C-010 | It used 0.72 million tokens against 2.37 million | onedroid.ai/llms-full.txt (sources/llms-full.txt L3258 (PAGE /case-study-claude-code-alone-vs-tester; under "In short")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L35 (under "In short")) | Token means 0.72M vs 2.37M appear only in the case-study table; no token logs or per-run counts are published. |
| C-011 | It is split evenly over the three B runs, which adds about $1.77 to each. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3312 (PAGE /case-study-claude-code-alone-vs-tester; under "The result")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L89 (under "The result")) | Arithmetic is consistent (5.30/3 = 1.77), but the $5.30 session cost itself has no published log or invoice behind it. |
| C-012 | **Faster and cheaper than end-to-end testing by hand.** No test scripts to write and keep alive (except a spec file for a browser check), and nobody clicking through the app before each release. | docs.onedroid.ai/argus.md (sources/argus-docs.md L23-24 (under "Is it end-to-end testing?")) | A comparative benefit claim with no measurement of hand end-to-end testing effort or cost published; a side-by-side effort or cost study would be needed. |
| C-013 | Every port was judged on the same 109 hidden checks against the original's answers: A passed 104, B 81, B′ 106. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3384 (PAGE /case-study-modernization-three-setups; under "In short")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L35 (under "In short")) | 104/81/106 of 109 are table means only; the hidden checks, per-run results and ports are not published and no anchor exists (the tester was not Argus). |
| C-014 | B′ cost $10.04 a run, 41% less than A at $16.92. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3386 (PAGE /case-study-modernization-three-setups; under "In short")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L37 (under "In short")) | Arithmetic is consistent (1 - 10.04/16.92 = 0.407, i.e. 41%), but the costs are means of unpublished total_cost_usd values with no per-run data. |
| C-015 | It was not OneDroid Argus: our product's route could not reach the experiment's local setup. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3410 (PAGE /case-study-modernization-three-setups; under "The setup")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L61 (under "The setup")) | A self-disclosure that the tester was a script, stated twice on the page; there is no artefact (e.g. the script) that would show it either way. |
| C-016 | A tester checking against 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-full.txt (sources/llms-full.txt L3370 (PAGE /case-study-modernization-three-setups; under "Same modernization, three setups: what the tester checks decides whether it helps")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L21 (under "Same modernization, three setups: what the tester checks decides whether it helps")) | The 81 of 109 result and its causal explanation are stated only; the ports, diffs and per-check results would be needed. |
| C-018 | Where the code and its guide disagree, it is on one rarely used path and in the fine print: 2 medium findings, 2 low, nothing critical. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3492 (PAGE /case-study-code-vs-user-guide; under "Does the code do what its user guide says? 100 sealed checks against a decades-old Fortran library")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L21 (under "Does the code do what its user guide says? 100 sealed checks against a decades-old Fortran library")) | The on-chain tallies show 9 failures but not their severity split (2 medium, 2 low findings); the sealed checks and severity mapping are not revealed. |
| C-019 | All 11 reproduce the printed output to 7 digits | onedroid.ai/llms-full.txt (sources/llms-full.txt L3568 (PAGE /case-study-code-vs-user-guide; under "What held")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L97 (under "What held")) | The 11 worked examples to 7 digits are stated only; no revealed scenarios or outputs are published. |
| C-021 | An AI model from another company reviewed every finding and every held check. It confirmed all 9 failures and found no check that cannot fail. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3510 (PAGE /case-study-code-vs-user-guide; under "In short")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L39 (under "In short")) | The second-model review is described only; the review transcript or report is not published. |
| C-024 | The original code, built unmodified with a current compiler (gfortran 14.4) on one x86-64 machine. Every source file pinned by its SHA-256 fingerprint | onedroid.ai/llms-full.txt (sources/llms-full.txt L3524 (PAGE /case-study-code-vs-user-guide; under "The method")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L53 (under "The method")) | The verdict anchor carries one artifact digest, but the compiler version and per-source SHA-256 pins are not published, so the build description is restated only. |
| C-025 | Nothing was fixed, and nothing was reported to the library's authors. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3564 (PAGE /case-study-code-vs-user-guide; under "Where the code and its guide disagree")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L93 (under "Where the code and its guide disagree")) | A conduct statement (nothing fixed or reported) that no public artefact can back; stated on the page only. |
| C-028 | The guardrail refused the restricted symbols in a trade search, but returned a restricted trade in full when the MCP server was asked for it by id. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3070 (PAGE /case-study-finos-calm; under "In short")) onedroid.ai/partners-financial-services (sources/partners-financial-services.html L348-350 (under "03The proof: a FINOS CALM trading demo")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L35 (under "In short")) | The anchored tallies show 2 failures but not which checks; the by-id guardrail bypass is described only, with no revealed scenario or evidence. |
| C-029 | A connection the architecture forbids was open. The cause is our cluster: it does not enforce Kubernetes network policies, so the demo's own policies had no effect there. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3072 (PAGE /case-study-finos-calm; under "In short")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L37 (under "In short")) | The open forbidden connection and its cause (no network-policy enforcement on the cluster) are described only; no revealed check or cluster config is published. |
| C-032 | Two 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 (sources/llms-full.txt L3186 (PAGE /case-study-finos-calm; under "What this test did not cover")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L151 (under "What this test did not cover")) | Load figures from two unsealed build runs are stated only; no load report or step data is published. |
| C-033 | The same sealed set of 26 checks, run three times against OTRS Community Edition 6.0.30 and three times against Znuny 7.3.7: six differences, what stayed the same, and the limits of the test. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2847 (PAGE /case-study-otrs-znuny)) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L4 (under "Six differences between two releases of a ticketing system — OneDroid Argus case study")) | The page says the set was sealed on a ledger but quotes no block or transaction; a set hash or anchor for the 26-check set would be needed. |
| C-034 | OneDroid Argus reported 23 cells identical, 9 that differ, none noisy and none not measured. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2874 (PAGE /case-study-otrs-znuny; under "In short")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L33 (under "In short")) | 23 identical / 9 differ are reported counts with no comparison result file, hash or anchor published. |
| C-035 | In one of them the older release returns an emoji as a replacement character, where the newer one returns it unchanged. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2876 (PAGE /case-study-otrs-znuny; under "In short")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L35 (under "In short")) | The emoji U+FFFD finding is described only; no recorded outputs or revealed check is published. |
| C-036 | The sign-in page under five users at once: 95th percentile 49 ms on OTRS and 54 ms on Znuny in the first set, 60 ms and 59 ms in the second. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2978 (PAGE /case-study-otrs-znuny; under "What was the same")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L137 (under "What was the same")) | p95 timings are stated only; no load report or raw latency data is published. |
| C-037 | The six runs of the first set took about 8 minutes. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2944 (PAGE /case-study-otrs-znuny; under "The result")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L103 (under "The result")) | The 8-minute duration is stated only; run timestamps would be needed. |
| C-038 | Three of the six differences were not found by a keyword search of the change log. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3030 (PAGE /case-study-otrs-znuny; under "What we take from it")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L189 (under "What we take from it")) | The keyword-search result is stated only; the search terms and change-log version used are not published. |
| C-039 | it ran end to end for the first time on 4 October 2026, on three systems | onedroid.ai/llms-full.txt (sources/llms-full.txt L2679-2680 (PAGE /argus; under "One sealed set, two systems.")) onedroid.ai/argus.md (sources/argus.md L167-168 (under "One sealed set, two systems.")) | The first end-to-end compare run date is stated only; no run record, changelog entry or anchor for 4 October was found in the saved sources. |
| C-040 | An engineer on our team and his coding agent chose the two releases, wrote the checks and ran them; OneDroid Argus is our product. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2872 (PAGE /case-study-otrs-znuny; under "In short")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L31 (under "In short")) | An authorship/process disclosure with nothing beyond the statement (repeated in the same paragraph) to back it. |
| C-042 | It does not judge the diff. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2546 (PAGE /argus; under "Yes, and it does more than a usual end-to-end suite.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L2732 (PAGE /argus; under "Not a code reviewer")) onedroid.ai/argus.md (sources/argus.md L34 (under "Yes, and it does more than a usual end-to-end suite.")) | A negative scope statement (it does not judge the diff), restated on the page; no artefact can show an absence beyond the runner's step types. |
| C-043 | A separate tester, your QA engineer or an agent but never the builder, writes each check from the ticket and the acceptance criteria, before the build | onedroid.ai/llms-full.txt (sources/llms-full.txt L2551 (PAGE /argus; under "Plain scenarios, not test scripts.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5150-5152 (PAGE /kit; under "Testing: OneDroid Argus")) onedroid.ai/argus.md (sources/argus.md L39 (under "Plain scenarios, not test scripts.")) | A recommended process (separate tester writes checks before the build); the role split exists in code (C-044) but who writes checks and when is a practice, stated only. |
| C-052 | Decoy checks, whose purpose is to catch a runner that reports results it did not earn, **are not implemented yet** | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L29-30 (under "What a OneDroid Argus certificate proves today, and what it does not")) | A self-disclosed absence; the runner repo has no decoy-check implementation (the word appears only as test fixtures), but decoys would live in the closed control plane, so the absence cannot be checked. |
| C-057 | It is not a score: there is no number to optimise for and no “safe” label. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2634-2635 (PAGE /argus; under "The reveal")) onedroid.ai/argus.md (sources/argus.md L122-123 (under "The reveal")) | An absence claim (no score, no safe label); the anchored verdicts show tallies and a verdict word only, but no artefact can prove the absence everywhere. |
| C-063 | No load ramp sits under a certified verdict or on a schedule. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2655 (PAGE /argus; under "Under load.")) onedroid.ai/argus.md (sources/argus.md L143 (under "Under load.")) | No code found that refuses a load ramp under a certified verdict or schedule (the load code even has a certifying-mode branch), so this limit is restated only. |
| C-065 | the reviewed scenario set goes on a monitor schedule: every 15 minutes at the shortest, with no one driving it | onedroid.ai/llms-full.txt (sources/llms-full.txt L2662-2663 (PAGE /argus; under "Continuously.")) onedroid.ai/argus.md (sources/argus.md L150-151 (under "Continuously.")) | Scheduling lives in the closed control plane; no public code or endpoint shows the 15-minute minimum. |
| C-066 | The web app answers one question first, “Is it OK?”, from the scheduled runs only: a failing run someone started by hand never turns it red, and a system no monitor has measured reads “not measured”, never green. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2663-2665 (PAGE /argus; under "Continuously.")) onedroid.ai/argus.md (sources/argus.md L151-153 (under "Continuously.")) | The web app is behind sign-in and not in the public repo; the 'Is it OK?' rule is stated only. |
| C-067 | What the system cannot fix by itself is listed under “Needs a person”, with who acts next. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2665-2666 (PAGE /argus; under "Continuously.")) onedroid.ai/argus.md (sources/argus.md L153-154 (under "Continuously.")) | 'Needs a person' is a web-app feature of the closed control plane; repo grep finds no such string and the app needs sign-in. |
| C-078 | Release binaries are built for macOS and Linux. On Windows, use WSL 2. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2695 (PAGE /argus; under "CLI")) onedroid.ai/argus.md (sources/argus.md L183 (under "CLI")) | The public repo has no releases (empty list) and the quickstart says the release repository is private, so the macOS/Linux binaries are not publicly checkable. |
| 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: re-run them on v0.3.52. | docs.onedroid.ai/argus (sources/argus-docs.html L321-322 (under "What changed recently")) docs.onedroid.ai/argus.md (sources/argus-docs.md L241-242 (under "What changed recently")) | Only the docs page states the v0.3.37-v0.3.51 load-duration defect; the shallow repo clone has no changelog or fix commit, so a release note or diff for v0.3.52 would be needed. |
| C-085 | install the GitHub app, link a repository, and every successful deployment runs your checks and puts the verdict on the commit. | docs.onedroid.ai/argus (sources/argus-docs.html L363-364 (under "Where to go next")) docs.onedroid.ai/argus.md (sources/argus-docs.md L276-277 (under "Where to go next")) | The GitHub-app flow is described only on the docs page; a public GitHub App listing or a commit carrying an Argus verdict status would be needed. |
| C-092 | Not in it: the hosted control plane (registry, signing, anchoring, the web UI). | onedroid.ai/llms-full.txt (sources/llms-full.txt L5962 (PAGE /changelog; under "The OneDroid Argus runner is open source")) onedroid.ai/changelog.md (sources/changelog.md L149 (under "The OneDroid Argus runner is open source")) | The exclusion is stated only; the repo itself has internal/ui and internal/registryhost packages, so the absence of the control plane cannot be read off the tree without a statement of what those are. |
| C-093 | the control plane that seals the set and adjudicates the verdict is hosted and closed | onedroid.ai/llms-full.txt (sources/llms-full.txt L212-213 (PAGE /; under "Open where it has to be.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5651-5652 (PAGE /pricing; under "The OneDroid Argus control plane")) onedroid.ai/pricing.md (sources/pricing.md L56-57 (under "The OneDroid Argus control plane")) | The public org lists no control-plane repository, which is consistent, but closed-ness and its role are only stated. |
| C-096 | The enrollment token lives 900 seconds | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L70 (under "Quickstart")) | The 900-second lifetime is set by the closed control plane; the repo only has test fixtures mocking expires_in 900, so the server's TTL setting would be needed. |
| C-098 | an environment of your own is by request | onedroid.ai/llms-full.txt (sources/llms-full.txt L5013 (PAGE /qa-teams; under "Bring one feature.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5728 (PAGE /pricing; under "What does OneDroid Argus cost?")) onedroid.ai/llms.txt (sources/llms.txt L34 (under "OneDroid")) | A by-request own environment is a sales process stated on pages only; no artefact can show it. |
| C-099 | The hosted control plane that seals the withheld scenarios and adjudicates the verdict is the priced part. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5728 (PAGE /pricing; under "What does OneDroid Argus cost?")) onedroid.ai/pricing.md (sources/pricing.md L133 (under "What does OneDroid Argus cost?")) | Which part is priced is stated on the pricing page only; a price list or order form would be needed. |
| C-100 | The Argus release repository is private. Ask your Argus operator for read access to it | docs.onedroid.ai/argus-quickstart (sources/argus-quickstart.html L76-77 (under "1. Get the argus CLI")) docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L27-28 (under "1. Get the `argus` CLI")) | The page does not name the release repository (it is '<argus-repo>'), so its privacy cannot be checked by a public GET. |
| C-105 | Agents never hold long-lived upstream credentials. The gateway holds them and presents them per call | onedroid.ai/llms-full.txt (sources/llms-full.txt L3963-3964 (PAGE /what-is-a-governed-mcp-gateway; under "Credential custody")) onedroid.ai/llms-full.txt (sources/llms-full.txt L4426-4427 (PAGE /security; under "Credential custody")) onedroid.ai/security.md (sources/security.md L98-99 (under "Credential custody")) | Credential custody is stated on three pages; server code or an architecture artefact would be needed. |
| C-107 | The log and its CSV export are included in the free tier and will not be put behind a paywall | onedroid.ai/llms-full.txt (sources/llms-full.txt L4431-4432 (PAGE /security; under "Append-only audit log")) onedroid.ai/security.md (sources/security.md L103-104 (under "Append-only audit log")) | A promise about future pricing; only the statement exists. |
| C-108 | Synapse and Engram are free on the hosted shape, whatever the size of your team | onedroid.ai/llms-full.txt (sources/llms-full.txt L5601 (PAGE /pricing)) onedroid.ai/llms.txt (sources/llms.txt L75 (under "Product")) onedroid.ai/pricing.md (sources/pricing.md L4 (under "OneDroid Pricing — Free Runner, Free Gateway, Enterprise Licence")) | Free pricing is stated on pages only; a public price list or plan terms would be needed. |
| C-109 | The boundary is deployment shape, not seat count. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5720 (PAGE /pricing; under "Where does the free tier end?")) onedroid.ai/pricing.md (sources/pricing.md L125 (under "Where does the free tier end?")) | The pricing boundary is a stated policy with no backing artefact. |
| C-110 | If usage limits ever arrive, they'll be published here first | onedroid.ai/llms-full.txt (sources/llms-full.txt L5706-5707 (PAGE /pricing; under "Enterprise")) onedroid.ai/pricing.md (sources/pricing.md L111-112 (under "Enterprise")) | A promise about future conduct; only the statement exists. |
| C-111 | Annual licence. Typical deployments start in five figures | onedroid.ai/llms-full.txt (sources/llms-full.txt L5696 (PAGE /pricing; under "Enterprise")) onedroid.ai/pricing.md (sources/pricing.md L101 (under "Enterprise")) | Licence terms and typical deal size are stated only; a licence agreement or price list would be needed. |
| C-112 | Dedicated deployment in your cloud or on-premises, under license. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5509 (PAGE /enterprise; under "Your infrastructure")) | Dedicated deployment under licence is stated on /enterprise only; a deployment package or licence document would be needed. |
| C-117 | It is included with a Synapse account and runs on its own. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4193 (PAGE /quickstart; under "Give your agents memory that outlives the session.")) | Account bundling is stated only; plan terms would be needed. |
| C-118 | Results are fused into a single ranking, and the vector-versus-keyword weighting is a parameter you control per query — not a black box. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4607-4608 (PAGE /engram; under "Graph")) | The fused ranking and per-query weighting are stated only; a public API schema showing the weighting parameter would be needed. |
| C-119 | Objects carry revision history. Diff any two versions, restore a previous one in one call. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4239-4240 (PAGE /quickstart; under "Every write is a commit")) | Revision history, diff and restore are stated only; no public API reference or code is on the saved surfaces. |
| C-120 | Point Engram at your own Postgres and documents, chunks, embeddings and history are rows there, readable with SQL. It needs the pgvector extension, which Engram enables at registration; Postgres 16 is what we test against. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4233-4235 (PAGE /quickstart; under "Your own database")) | Bring-your-own Postgres and pgvector enablement are stated only; a schema or migration file would be needed. |
| C-121 | Export is a SQL query | onedroid.ai/llms-full.txt (sources/llms-full.txt L3780 (PAGE /synapse; under "No lock-in")) onedroid.ai/llms-full.txt (sources/llms-full.txt L4720 (PAGE /financial-services; under "Operations")) onedroid.ai/llms-full.txt (sources/llms-full.txt L4771 (PAGE /financial-services; under ""What happens when we leave?"")) | Export as SQL is stated on several pages; a published schema would be needed. |
| C-122 | Curated toolsets with the context to use them safely — tools, skills, and knowledge shipped together, versioned, and scoped per hub. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3727-3728 (PAGE /synapse; under "Packs")) | The UI bundle mentions packs but shows nothing of versioning or bundled skills and knowledge, so the claim rests on the statement. |
| C-124 | Credentials bound per user, per hub — encrypted at rest with AES-256-GCM, individually revocable, never sitting in a connection string. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4740-4741 (PAGE /financial-services; under ""Whose credentials is the agent using?"")) onedroid.ai/financial-services.md (sources/financial-services.md L107-108 (under ""Whose credentials is the agent using?"")) | The UI repeats the AES-256-GCM statement as text; encryption at rest and revocation per credential need server-side evidence. |
| C-125 | A hash chain, a Merkle tree, canonical serialisation, a transactional outbox so writes can't be lost, a reconciler, a circuit breaker — and an independent verifier, because a system attesting to itself proves nothing. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4752-4755 (PAGE /financial-services; under ""How do I know the log wasn't edited?"")) onedroid.ai/financial-services.md (sources/financial-services.md L119-122 (under ""How do I know the log wasn't edited?"")) | The integrity mechanisms are listed only; code or a published verifier would be needed. |
| C-126 | Detection in the request path, returning a redaction reference for audit — not a nightly batch job that finds it after the fact. And tuned rather than naive: ours excludes date patterns from free-text lanes, because specification documents are full of dates. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4759-4762 (PAGE /financial-services; under ""What stops client data reaching the model?"")) onedroid.ai/financial-services.md (sources/financial-services.md L126-129 (under ""What stops client data reaching the model?"")) | In-path detection and the date-pattern exclusion are stated only; the detector code or config would be needed. |
| C-127 | A free personal hub and a regulated enterprise deployment use the same mechanism. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3785-3786 (PAGE /synapse; under "Any scale")) | A design statement with no artefact showing the two shapes share code. |
| C-128 | Synapse's audit entry, Engram's versioned fact and OneDroid Argus's verdict are the same object — a promise plus the evidence for it | onedroid.ai/llms-full.txt (sources/llms-full.txt L186-187 (PAGE /; under "When someone has to answer for it.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5574-5576 (PAGE /enterprise; under "One primitive: the evidence record")) | A conceptual framing stated on two pages; a shared schema across the three products would be needed. |
| C-129 | Hosted: tool-call metadata and encrypted credentials. Hosted with your own database: the same, minus your OneDroid Engram content. Self-hosted: nothing at runtime. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3903 (PAGE /synapse; under "What can OneDroid see?")) | Data visibility per deployment shape is stated only; a data-flow document or self-hosted package would be needed. |
| C-133 | In two quarters it went from "can we even use AI here" to a running, audited platform. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4824-4825 (PAGE /financial-services; under "Proven where the audits are unforgiving.")) onedroid.ai/financial-services.md (sources/financial-services.md L191-192 (under "Proven where the audits are unforgiving.")) | An unnamed client outcome stated on one page; a named reference or case study would be needed. |
| C-134 | We do not hold SOC 2, ISO 27001, or HIPAA attestation today. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4480-4481 (PAGE /security; under "What is not yet true")) onedroid.ai/security.md (sources/security.md L152-153 (under "What is not yet true")) | A self-disclosed absence of attestations; consistent with no certificate being published, but there is nothing beyond the statement. |
| C-135 | Credentials are encrypted at rest. Transport is TLS. The event log is append-only and exportable. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4474-4475 (PAGE /security; under "What is true")) onedroid.ai/security.md (sources/security.md L146-147 (under "What is true")) | TLS is observed live on the public hosts, but encryption at rest and an append-only log are only stated. |
| C-136 | The OneDroid application has completed Google's OAuth application verification, including its branding and app-purpose review, for the Google Workspace connections it offers. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4448-4450 (PAGE /security; under "Standards, not a bespoke scheme.")) onedroid.ai/security.md (sources/security.md L120-122 (under "Standards, not a bespoke scheme.")) | Google's verification status sits on Google's side; nothing on the publisher's surfaces shows it. |
| C-139 | We reply within one business day, agree a disclosure timeline with you, and credit you unless you would rather we didn't. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4497-4498 (PAGE /security; under "Tell us privately, first.")) onedroid.ai/security.md (sources/security.md L169-170 (under "Tell us privately, first.")) | A disclosure-handling promise; only the statement exists. |
| C-140 | We reply within one business day. | onedroid.ai/llms-full.txt (sources/llms-full.txt L261 (PAGE /; under "Find out what your agent actually built.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L2772 (PAGE /argus; under "Find out what your agent actually built.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L3917 (PAGE /synapse; under "Put a gateway between your agents and the world.")) | A response-time promise repeated on several pages; no artefact can back it. |
| C-141 | There is no sales queue. Email reaches Michal Bacia, who writes the code | onedroid.ai/llms-full.txt (sources/llms-full.txt L5789 (PAGE /about; under "A small team, reachable directly.")) | Who answers email is stated only. |
| C-142 | you get direct access to the people building it, and in exchange you are not buying from a company with a 24/7 support rota. If that matters for your deployment, tell us early and we will be honest about what we can commit to. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5793-5797 (PAGE /about; under "A small team, reachable directly.")) | A support-model statement with no backing artefact. |
| C-143 | We do not sell your data. We do not use your data for advertising. We do not train AI models on your data. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6126-6127 (PAGE /privacy; under "The short version")) onedroid.ai/privacy.md (sources/privacy.md L31-32 (under "The short version")) | Privacy commitments are stated in the policy only. |
| C-144 | Humans at OneDroid do not read the content that passes through the gateway or that you store in the Service — whether it comes from Google, another connected service, or OneDroid Engram — except with your explicit permission, where necessary for security or abuse investigation, or where required by law. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6176-6179 (PAGE /privacy; under "Access to your content")) onedroid.ai/privacy.md (sources/privacy.md L81-84 (under "Access to your content")) | An internal access-policy commitment; only the statement exists. |
| C-146 | Audit log entries on the free hosted tier are retained for 12 months and then deleted, and are deleted within 30 days of account deletion | onedroid.ai/llms-full.txt (sources/llms-full.txt L6247-6248 (PAGE /privacy; under "Retention and deletion")) onedroid.ai/privacy.md (sources/privacy.md L152-153 (under "Retention and deletion")) | Retention periods are stated only; a retention job or config would be needed. |
| C-148 | a human reads it and replies within one business day; the request itself is completed within the timelines applicable law requires. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6252 (PAGE /privacy; under "Retention and deletion")) onedroid.ai/privacy.md (sources/privacy.md L157 (under "Retention and deletion")) | A response-time promise; only the statement exists. |
| C-149 | Google OAuth tokens are stored encrypted at rest. Google user content is not retained by the Service beyond serving your request, except where you explicitly store it | onedroid.ai/llms-full.txt (sources/llms-full.txt L6198-6200 (PAGE /privacy; under "Google user data")) onedroid.ai/privacy.md (sources/privacy.md L103-105 (under "Google user data")) | Token encryption and non-retention are stated only; server-side evidence would be needed. |
| C-150 | The Service is not directed to children under 16, and we do not knowingly collect their data. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6274-6275 (PAGE /privacy; under "Children")) onedroid.ai/privacy.md (sources/privacy.md L179-180 (under "Children")) | A policy statement with no backing artefact. |
| C-151 | our total liability for all claims relating to the Service is limited to the greater of USD 100 or the amounts you paid us for the Service in the twelve months before the claim arose | onedroid.ai/llms-full.txt (sources/llms-full.txt L6446-6448 (PAGE /terms; under "10. Limitation of liability")) | The liability cap is a term stated on /terms; nothing beyond the text itself exists. |
| C-152 | Providentia Worldwide is an engineering consultancy that works inside regulated enterprise estates — health data, financial trading | onedroid.ai/llms-full.txt (sources/llms-full.txt L5755-5757 (PAGE /about; under "OneDroid is built by Providentia Worldwide.")) | A company description stated on /about; client references would be needed. |
| C-153 | Providentia Worldwide holds five granted United States 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 (sources/llms-full.txt L5766-5769 (PAGE /about; under "OneDroid is built by Providentia Worldwide.")) | Patent numbers are quoted but the grants sit with the USPTO, not on the publisher's surfaces, and the pending applications are unnamed. |
| C-154 | The audit trail behind the OneDroid evidence record is designed on that structure. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5769-5770 (PAGE /about; under "OneDroid is built by Providentia Worldwide.")) | A design-lineage statement; a design document linking the audit trail to the patented structure would be needed. |
| C-159 | For years companies spent between 23% and 35% of their IT budget on quality assurance and testing (23% in 2013, 26% in 2014, 35% in 2015, 31% in 2016, 26% in 2017). When it was first measured at 18%, Capgemini's World Quality Report called that "an indication of insufficient attention on quality". | onedroid.ai/llms-full.txt (sources/llms-full.txt L2569-2570 (PAGE /argus; under "Testing was the part teams could skip. Not any more.")) onedroid.ai/argus.md (sources/argus.md L57-58 (under "Testing was the part teams could skip. Not any more.")) | Third-party World Quality Report figures; the publisher shows no raw data or report link, and the source itself is not a publisher surface. |
| C-160 | 80% have traced a production incident directly back to AI-generated code, and 92% aren't confident their current safeguards would catch an AI-driven failure before it reaches users. Sauce Labs, “The Enterprise AI Code Verification Crisis”, n = 400 US executives and engineering leaders, 22 July 2026 — a vendor-commissioned survey. | onedroid.ai/llms-full.txt (sources/llms-full.txt L87-91 (PAGE /; under "You already had the incident.")) | A cited vendor survey; the publisher hosts no raw data, so only the citation exists. |
| C-161 | 3.1% of developers highly trust AI output; 19.6% highly distrust it; 66% hit answers that are “almost right, but not quite”. Stack Overflow Developer Survey 2025, n = 33,244. | onedroid.ai/llms-full.txt (sources/llms-full.txt L94-96 (PAGE /; under "You already had the incident.")) | Stack Overflow survey figures cited without raw data on the publisher's surfaces. |
| C-162 | Syntax pass rates for AI-generated code climbed from about 50% to 95%. Security pass rates stayed flat, between 45% and 55%. Veracode, Spring 2026 GenAI Code Security update, 150+ models across 80 coding tasks, 24 March 2026. | onedroid.ai/llms-full.txt (sources/llms-full.txt L98-101 (PAGE /; under "You already had the incident.")) | Veracode figures cited without raw data on the publisher's surfaces. |
| C-163 | Claude Code Review's check “always completes with a neutral conclusion so it never blocks merging”; Copilot's reviews “do not count toward required approvals”. | onedroid.ai/llms-full.txt (sources/llms-full.txt L104-106 (PAGE /; under "You already had the incident.")) | Quotes third-party vendor documentation cited only by an internal tag (AS-9 §1, §5) with no link or saved copy on the publisher's surfaces; the vendor pages themselves would be needed. |
| C-164 | the largest vendor's hosted agents say of themselves that they are “not currently eligible for Zero Data Retention (ZDR) or HIPAA Business Associate Agreement (BAA) coverage.” | onedroid.ai/llms-full.txt (sources/llms-full.txt L193-195 (PAGE /; under "When someone has to answer for it.")) | Third-party vendor quote cited only as 'AS-10 via strategy §6b'; no linked or saved copy of the vendor documentation on the publisher's surfaces. |
| C-165 | EU AI Act Art. 12 (automatic recording of events over the lifetime of the system) and Art. 14 (human oversight) for high-risk AI products; DORA Art. 25 and Art. 30; HIPAA 164.312(b); FDA 21 CFR 11.10(e). Using a coding agent does not by itself make your system high-risk, and we will not tell you otherwise. | onedroid.ai/llms-full.txt (sources/llms-full.txt L188-191 (PAGE /; under "When someone has to answer for it.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5581-5585 (PAGE /enterprise; under "One primitive: the evidence record")) | Regulatory article references and the no-high-risk disclaimer are stated on two pages; no mapping artefact or legal text is published that backs the alignment. |
| C-166 | OneDroid (onedroid.ai) builds AI agent infrastructure. It is unrelated to Android and to the open-source Android projects also called "OneDroid". | onedroid.ai/llms-full.txt (sources/llms-full.txt L9-10 (under "OneDroid — full site text for language models")) onedroid.ai/llms.txt (sources/llms.txt L7-8 (under "OneDroid")) | The disambiguation from Android projects is stated in llms.txt and llms-full.txt only; nothing beyond the statement backs it (the repo MIT LICENSE is unrelated). |
| C-169 | Entries are added when something ships, not when it is planned. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6030 (PAGE /changelog; under "onedroid.ai launched")) onedroid.ai/changelog.md (sources/changelog.md L217 (under "onedroid.ai launched")) | A conduct statement on the changelog; nothing shows entries are added only at ship time (would need per-entry ship evidence such as release tags or deploy records). |
| C-170 | We publish limitations alongside capabilities and say what doesn't work yet. If a claim can't be verified, we don't make it. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3856-3857 (PAGE /synapse; under "Honesty")) | A conduct pledge on /synapse; no artefact can back 'we never make an unverifiable claim' beyond the statement itself. |
| C-172 | Every call on those pages was run against the live service. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4185 (PAGE /quickstart; under "The check")) | Stated on /quickstart; no logs, timestamps or replayable transcripts are published showing each call ran against the live service. |
| C-173 | Each takes about ten minutes, needs no credit card, and ends with a check you run yourself | onedroid.ai/llms-full.txt (sources/llms-full.txt L4108-4109 (PAGE /quickstart; under "Three things to try today.")) | Ten minutes, no credit card and a self-run check are stated only; would need a timed walkthrough or a sign-up flow shown to ask no card. |
| C-174 | Your data is never used for advertising and never used to train AI models, and access can be revoked at any time in OneDroid Synapse or in your Google account settings. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3670-3672 (PAGE /synapse; under "What OneDroid Synapse does.")) | The no-advertising/no-training and revocation statements appear on /synapse and /privacy but no artefact (code, audit, Google verification record) backs them. |
| C-175 | logged while the hub's activity logging is on (fail-open: a logging failure never blocks a call) | onedroid.ai/llms-full.txt (sources/llms-full.txt L171 (PAGE /; under "It brings its own run layer.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L3629 (PAGE /synapse)) onedroid.ai/llms-full.txt (sources/llms-full.txt L3643 (PAGE /synapse; under "OneDroid Synapse")) | Fail-open activity logging is repeated across many pages but Synapse code is not public and the open repo has no such logic; the gateway source or a published log sample would be needed. |
| C-177 | The flagship deployment is a US enterprise handling regulated clinical data | onedroid.ai/llms-full.txt (sources/llms-full.txt L4822 (PAGE /financial-services; under "Proven where the audits are unforgiving.")) onedroid.ai/financial-services.md (sources/financial-services.md L189 (under "Proven where the audits are unforgiving.")) | The unnamed US clinical-data flagship deployment is stated only; a named reference or customer attestation would be needed. |
| C-178 | No named financial-services customer yet [...] The flagship reference is in regulated healthcare | onedroid.ai/llms-full.txt (sources/llms-full.txt L4844-4846 (PAGE /financial-services; under "No named financial-services customer yet")) onedroid.ai/financial-services.md (sources/financial-services.md L211-213 (under "No named financial-services customer yet")) | A self-disclosure that no financial-services customer is named and that the flagship is in healthcare; nothing beyond the statement backs the healthcare reference. |
| C-181 | the author's report no longer carries a value your system returned | docs.onedroid.ai/argus (sources/argus-docs.html L177-178 (under "What changed recently")) docs.onedroid.ai/argus.md (sources/argus-docs.md L126-127 (under "What changed recently")) | The author's report is assembled by the hosted control plane, which is not in the open repo; the runner's scrub of saved values (body_excerpt.go L14) is related but does not show the report omits returned values. |
| C-194 | **A new web app** (v0.3.53): five places, **Overview**, **Capacity**, **Runs**, **Checks** and **Proof**, one run drawer, and **Needs a person** items you file with `author_file_attention`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L226-227 (under "What changed recently")) | The web app's five places and the author_file_attention tool belong to the hosted control plane, not the open repo; a signed-in view or published tool schema would be needed. |
| C-198 | **Run** | whichever scenarios you ask for, once | authoring and iterating | | **Monitor** | your reviewed scenario set, on a schedule | watching a live system stay healthy | docs.onedroid.ai/argus.md (sources/argus-docs.md L92-93 (under "The two ways to start a run")) | Run versus scheduled Monitor is a hosted control-plane feature not in the open repo; a published schedule API or monitor page would be needed. |
| C-199 | Hand-started runs can say what they are for with `intent`, `expect` and `note`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L228 (under "What changed recently")) | intent, expect and note on hand-started runs belong to the hosted control plane's run request, which is not in the open repo (repo intent hits are message-envelope fields). |
| C-211 | For another platform, change `linux_amd64` to `linux_arm64`, `darwin_amd64` (Intel Mac) or `darwin_arm64` (Apple silicon). | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L43-44 (under "1. Get the `argus` CLI")) | The public runner repo has no published release (GitHub API 404) and the docs use a placeholder <argus-repo>; a release listing the four platform archives would be needed. |
| C-215 | Governed MCP gateway. One connection point, full governance. Production [...] stored in your own database or hosted by OneDroid. Available with OneDroid Synapse [...] and evidence anyone can replay. Sign up to evaluate [...] Free and open — we help enterprises adopt it. Open source [...] on your infrastructure. Active | onedroid.ai/llms-full.txt (sources/llms-full.txt L3796-3836 (PAGE /synapse; under "OneDroid Synapse")) | Product status labels (Production, Sign up to evaluate, Open source, Active) are stated; only Synapse answering 200 is observable and no kits repository is among the saved sources. |
| C-216 | Access exists only for accounts you explicitly connect, is limited to the permissions you grant, and every action is logged while the hub's activity logging is on (fail-open: a logging failure never blocks a call), to an audit log you own. Disconnect an account at any time and OneDroid Synapse's access ends with it. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3663-3665 (PAGE /synapse; under "What OneDroid Synapse does.")) | Synapse's account scoping, fail-open logging and disconnect behaviour are stated; Synapse source is not public, so code or an audit-log sample would be needed. |
| C-217 | Tokens are bound to one user and one hub, and inherit that user's current role in the hub. | onedroid.ai/llms.txt (sources/llms.txt L105-106 (under "Connecting an agent")) | Token binding to one user and hub with inherited role is stated; no public Synapse code or token schema backs it. |
| C-218 | Claude Desktop and claude.ai connect through a consent screen instead of a token. In the app, Settings → Connectors, add a custom connector with `https://synapse.onedroid.ai/hub/<your-slug>/mcp`. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4149-4151 (PAGE /quickstart; under "Not in a terminal?")) | The Claude connector flow uses a placeholder hub URL that could not be fetched; a public hub endpoint or OAuth metadata would be needed. |
| C-219 | Enabling a service on your hub and saving your login for it are two different actions, and only the second lets an agent call anything. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4157-4158 (PAGE /quickstart; under "The step that catches everyone")) | The enable-versus-credential distinction is a Synapse behaviour stated on /quickstart; no public code backs it. |
| C-220 | It reaches one library and nothing else [...] Or reach it through your Synapse hub, where the Engram connection is already on and every call is audited with the rest of your tools. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4200-4210 (PAGE /quickstart; under "Get a library token")) | Library-token scope and audited Engram access via Synapse are stated only; Engram/Synapse code is not public. |
| C-221 | Tool payloads pass through the gateway in order to be routed. [...] Self-hosted deployment removes us from the data path entirely. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4397-4476 (PAGE /security; under "Hosted")) onedroid.ai/security.md (sources/security.md L69-148 (under "Hosted")) | Hosted data-path and self-hosted claims are stated on /security; no public gateway code or deployment artefact backs them. |
| C-223 | Credentials held per user, per hub. Sensitive data detected in the request path rather than in a batch job afterwards; in the reference deployment some controls run in audit mode rather than blocking. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4710 (PAGE /financial-services; under "Security")) onedroid.ai/financial-services.md (sources/financial-services.md L77 (under "Security")) | Per-user per-hub credentials and in-path detection in audit mode are stated; Synapse code is not public. |
| C-224 | Tool-level allow and deny policy, with the decision recorded at the moment it was made — not reconstructed from logs afterwards | onedroid.ai/llms-full.txt (sources/llms-full.txt L4746-4747 (PAGE /financial-services; under ""What can this agent reach, and who decided?"")) onedroid.ai/financial-services.md (sources/financial-services.md L113-114 (under ""What can this agent reach, and who decided?"")) | Tool-level policy with decisions recorded at call time is stated; no public gateway code or log sample backs it. |
| C-226 | we hash rather than store them in the audit log, and we work to keep content out of operational logs, though we cannot promise that no fragment ever appears in error telemetry | onedroid.ai/llms-full.txt (sources/llms-full.txt L6153-6155 (PAGE /privacy; under "What we collect")) onedroid.ai/privacy.md (sources/privacy.md L58-60 (under "What we collect")) | Hashing in the audit log and best-effort log hygiene are stated; no code or log sample is published. |
| C-227 | Our subprocessors operate in the United States and, for Microsoft Azure hosting, in the European Union (Poland Central); if you need documentation covering international transfers, or a data processing agreement for your team, email michal@onedroid.ai. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6258-6260 (PAGE /privacy; under "Where GDPR or CCPA applies")) onedroid.ai/privacy.md (sources/privacy.md L163-165 (under "Where GDPR or CCPA applies")) | Subprocessor regions are stated; no subprocessor list with regions or DPA document is published. |
| C-228 | If we ever discontinue the free hosted Service, we will give reasonable notice and a window to export your data. [...] the free Service is not a backup system | onedroid.ai/llms-full.txt (sources/llms-full.txt L6328-6356 (PAGE /terms; under "2. The Service")) | A terms-of-service commitment about notice and export; nothing beyond the statement can back a future 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 (sources/llms-full.txt L4455-4457 (PAGE /security; under "Standards, not a bespoke scheme.")) onedroid.ai/security.md (sources/security.md L127-129 (under "Standards, not a bespoke scheme.")) | Integration with customer IdPs alongside Entra is stated only; a customer reference or integration documentation would be needed. |
| C-239 | Continuously. Once it passes, it goes on a schedule, every 15 minutes at the shortest, and one page answers “Is it OK?”. | onedroid.ai/llms-full.txt (sources/llms-full.txt L53 (PAGE /; under "Proper testing now costs the same order as the AI coding.")) | The 15-minute minimum schedule and the 'Is it OK?' page are hosted control-plane features not in the open repo; a public schedule bound or page would be needed. |
| C-245 | The scenarios become regression guards; the next feature gets a fresh withheld set. | onedroid.ai/llms-full.txt (sources/llms-full.txt L139-140 (PAGE /; under "The verdict, with evidence")) | Process statement; the case study mentions 37 older checks reused as regression checks, but nothing shows a fresh withheld set per feature. |
| C-247 | OneDroid Engram is versioned knowledge and memory in a Postgres you control with your own database, or one OneDroid hosts — hybrid vector, keyword and graph search, git-style history, diff and restore. | onedroid.ai/llms-full.txt (sources/llms-full.txt L175-176 (PAGE /; under "It brings its own run layer.")) | Engram is not in the public argus-runner repo (repo-grep for git-style found nothing); a public Engram repo or API showing history, diff and restore would be needed. |
| C-248 | No test scripts to write and keep alive (except a spec file for a browser check), and nobody clicking through the app before each release. | docs.onedroid.ai/argus (sources/argus-docs.html L74-75 (under "Is it end-to-end testing?")) docs.onedroid.ai/argus.md (sources/argus-docs.md L23-24 (under "Is it end-to-end testing?")) | A statement about what the user does not have to do; no artefact can show the absence of test scripts to maintain. |
| C-249 | The scenarios are written once per feature, before the build, and run as often as you need. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2555 (PAGE /argus; under "Not a test suite to maintain")) onedroid.ai/argus.md (sources/argus.md L43 (under "Not a test suite to maintain")) docs.onedroid.ai/argus (sources/argus-docs.html L75-76 (under "Is it end-to-end testing?")) | A process description with no artefact showing scenarios were written once per feature before a build. |
| C-251 | Coding agents now build a feature for a few dollars | onedroid.ai/llms-full.txt (sources/llms-full.txt L2571-2572 (PAGE /argus; under "Testing was the part teams could skip. Not any more.")) onedroid.ai/argus.md (sources/argus.md L59-60 (under "Testing was the part teams could skip. Not any more.")) docs.onedroid.ai/argus (sources/argus-docs.html L88 (under "Why it exists")) | The case study gives $1.01 to $1.97 per build as means with no per-run transcripts or usage records, so the cost is stated, not backed. |
| C-252 | No test proves code free of bugs. Different testers catch different things, and a model can give a different answer on each run. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2580-2581 (PAGE /argus; under "Testing was the part teams could skip. Not any more.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L4995-4996 (PAGE /qa-teams; under "Not proof of no bugs")) onedroid.ai/argus.md (sources/argus.md L68-69 (under "Testing was the part teams could skip. Not any more.")) | A general statement about testing; no artefact applies (checkability C). |
| C-256 | Under load, expectations are tolerances, and the report says so. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2649-2650 (PAGE /argus; under "Under load.")) onedroid.ai/argus.md (sources/argus.md L137-138 (under "Under load.")) | No repo artefact shows a load run turning expectations into tolerances and marking the report so; Tolerance in the repo is a compare-rule feature, not a load-mode one. |
| C-259 | On 5 and 6 October it ran on two releases of an open source ticketing system, on one laptop. It found six differences between the releases. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2682 (PAGE /argus; under "One sealed set, two systems.")) onedroid.ai/argus.md (sources/argus.md L170 (under "One sealed set, two systems.")) | The case study lists the six differences but publishes no ledger transaction, run record or raw output for the 5 and 6 October runs. |
| C-264 | A monitor can watch a live system, on its owner's terms. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2742 (PAGE /argus; under "Not a free hand on a live system")) onedroid.ai/argus.md (sources/argus.md L230 (under "Not a free hand on a live system")) | Only the 'live = heartbeat only' rule text and a heartbeat tag in a test fixture are in the repo; no monitor feature or owner-terms mechanism was found. |
| C-266 | The most important one was a fault in the OLD release: the new one fixes it. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2862 (PAGE /case-study-otrs-znuny; under "Six differences between two releases of a ticketing system")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L21 (under "Six differences between two releases of a ticketing system")) | The emoji fixed-check result is stated, with no run report or raw output published. |
| C-267 | An engineer on our team and his coding agent took two releases of an open source ticketing system and ran one sealed set of checks against both. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2872 (PAGE /case-study-otrs-znuny; under "In short")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L31 (under "In short")) | Who ran the study is stated only. |
| C-268 | Both from the official release archives with pinned checksums, on the same base image | onedroid.ai/llms-full.txt (sources/llms-full.txt L2900 (PAGE /case-study-otrs-znuny; under "The setup")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L59 (under "The setup")) | No Dockerfile, compose file or checksum list for the build is published. |
| C-269 | One Windows laptop, Docker Compose, two OneDroid Argus executors side by side, no cluster | onedroid.ai/llms-full.txt (sources/llms-full.txt L2906 (PAGE /case-study-otrs-znuny; under "The setup")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L65 (under "The setup")) | The host setup is stated only, with no compose file or executor records. |
| C-270 | Set 1, 5 October, 16 checks. [...] Set 2, 6 October, 26 checks. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2916-2918 (PAGE /case-study-otrs-znuny; under "What was checked")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L75-77 (under "What was checked")) | The set sizes and dates are stated in text and table, but no sealed-set hash or ledger record is published for these sets. |
| C-271 | Checks | 16 | 26 | Runs per system | 3 | 3 | Cells identical | 16 | 23 | Cells that differ | 4 | 9 | Cells that read as noise | 1 | 0 | Not measured | 0 | 0 | Could not run | 0 | 0 | onedroid.ai/llms-full.txt (sources/llms-full.txt L2928-2940 (PAGE /case-study-otrs-znuny; under "The result")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L87-99 (under "The result")) | The result table is the tool's reported counts with no raw comparison output; cells and checks are different units, so no arithmetic check is possible. |
| C-272 | Before the comparison ran, each set was sealed and its hash was recorded on a ledger, so a set could not be changed after anyone had seen a result. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2922 (PAGE /case-study-otrs-znuny; under "What was checked")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L81 (under "What was checked")) | Sealing exists as a mechanism, but this study gives no transaction hash or block for its two sets. |
| C-273 | One thing the seal does not show: the checks were rehearsed on both systems before sealing. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2922 (PAGE /case-study-otrs-znuny; under "What was checked")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L81 (under "What was checked")) | A disclosure about the authors' own process; nothing beyond the statement. |
| C-275 | The old URL path `/otrs/index.pl` | Answers | Answers 404 | Fixed check, 0 of 3 runs on Znuny | onedroid.ai/llms-full.txt (sources/llms-full.txt L2950 (PAGE /case-study-otrs-znuny; under "The six differences")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L109 (under "The six differences")) | No run output is published; repo-grep for /otrs/index.pl found nothing. |
| C-276 | An emoji in an article | Comes back as U+FFFD, the replacement character | Comes back unchanged | Fixed check: 0 of 3 on OTRS, 3 of 3 on Znuny | onedroid.ai/llms-full.txt (sources/llms-full.txt L2952 (PAGE /case-study-otrs-znuny; under "The six differences")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L111 (under "The six differences")) | Per-run results are stated with no raw output. |
| C-277 | `CommunicationChannel` on every article | Not there | There | Measured, on three different reads: plain, with an attachment, with a customer session | onedroid.ai/llms-full.txt (sources/llms-full.txt L2954 (PAGE /case-study-otrs-znuny; under "The six differences")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L113 (under "The six differences")) | The measured field difference is stated with no recorded outputs published. |
| C-278 | The `DynamicField` list on a ticket | The list, with empty values | No list | Measured. The cause was not found | onedroid.ai/llms-full.txt (sources/llms-full.txt L2956 (PAGE /case-study-otrs-znuny; under "The six differences")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L115 (under "The six differences")) | Stated only; no recorded output. |
| C-279 | Ticket history after create, close and reopen | 11 entries | 13 entries | Measured. The extra entries are `SetPendingTime`, written at a state change | onedroid.ai/llms-full.txt (sources/llms-full.txt L2958 (PAGE /case-study-otrs-znuny; under "The six differences")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L117 (under "The six differences")) | The history-entry counts are stated with no recorded output. |
| C-280 | Keys in the session data | 1 key only here | 7 keys only here | Measured with the values masked. 26 keys are common | onedroid.ai/llms-full.txt (sources/llms-full.txt L2960 (PAGE /case-study-otrs-znuny; under "The six differences")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L119 (under "The six differences")) | The key counts are stated with no masked output published. |
| C-281 | Six error and refusal paths answer the same on both. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2970 (PAGE /case-study-otrs-znuny; under "What was the same")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L129 (under "What was the same")) | Stated only; no per-check run record. |
| C-282 | Customer permissions: a customer is refused a ticket that is not theirs, and can raise the priority of their own. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2972 (PAGE /case-study-otrs-znuny; under "What was the same")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L131 (under "What was the same")) | Stated only; no per-check run record. |
| C-283 | Pending reminder, close, and a queue move with owner and lock. [...] Ticket search and the entry pages. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2974-2976 (PAGE /case-study-otrs-znuny; under "What was the same")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L133-135 (under "What was the same")) | Stated only; no per-check run record. |
| C-284 | In the first set the session-data check compared raw values. The reference gave three different outputs in three runs, so OneDroid Argus marked the cell as noise and did not call it a difference. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2984 (PAGE /case-study-otrs-znuny; under "What the noise taught us")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L143 (under "What the noise taught us")) | A noise cell state exists in the compare code, but this run's three reference outputs are not published. |
| C-285 | Compare is in early use and ran here against a development control plane | onedroid.ai/llms-full.txt (sources/llms-full.txt L3008 (PAGE /case-study-otrs-znuny; under "What this test did not cover")) onedroid.ai/case-study-otrs-znuny.md (sources/case-study-otrs-znuny.md L167 (under "What this test did not cover")) | A disclosure about the environment; nothing beyond the statement. |
| C-286 | The demo's own manifests, unchanged, on a shared Azure Kubernetes cluster in Poland Central. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3094 (PAGE /case-study-finos-calm; under "The setup")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L59 (under "The setup")) | The cluster and region are stated only; nothing published shows where it ran. |
| C-290 | An earlier certified run of the same seven checks the same day gave the same verdict. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3142 (PAGE /case-study-finos-calm; under "The result")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L107 (under "The result")) | No transaction or record of the earlier certified run is given. |
| C-291 | We did not trace the cause in the demo's code, and we have not reported it to the demo's authors. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3146 (PAGE /case-study-finos-calm; under "The two checks that failed")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L111 (under "The two checks that failed")) | A disclosure of something not done; nothing beyond the statement. |
| C-295 | The seal proves priority: the checks existed, unchanged, before the result. It does not make their authors blind to the system. The same team wrote the checks and ran them. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3174 (PAGE /case-study-finos-calm; under "How anyone can check it later")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L139 (under "How anyone can check it later")) | A disclosure about what the seal shows and who did the work; nothing beyond the statement. |
| C-296 | OneDroid Argus ran here against a development control plane | onedroid.ai/llms-full.txt (sources/llms-full.txt L3196 (PAGE /case-study-finos-calm; under "What this test did not cover")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L161 (under "What this test did not cover")) | A disclosure about the environment; nothing beyond the statement. |
| C-297 | With the tester, the coding agent cost half as much ($1.01 against $1.97 a run), because it stopped testing its own work. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3244 (PAGE /case-study-claude-code-alone-vs-tester; under "Claude Code alone or with an independent tester: the same quality, and where the money went")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L21 (under "Claude Code alone or with an independent tester: the same quality, and where the money went")) | $1.01 against $1.97 is internally consistent with the table's -49%, but these are means with no per-run usage records or transcripts published. |
| C-298 | Claude Code on Claude Opus 5.5, high effort. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3276 (PAGE /case-study-claude-code-alone-vs-tester; under "The setup")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L53 (under "The setup")) | The model and effort setting are stated with no run configs or transcripts published. |
| C-299 | A fourth run of setup A was not judged and is left out of every figure here. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3286 (PAGE /case-study-claude-code-alone-vs-tester; under "The setup")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L63 (under "The setup")) | A disclosure about the data set; nothing published to check it against. |
| C-300 | The build checks ran together with 37 older checks of the same app, as regression checks. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3280 (PAGE /case-study-claude-code-alone-vs-tester; under "The setup")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L57 (under "The setup")) | No run report listing the 37 regression checks is published. |
| C-301 | 13 hidden checks, stored in OneDroid Argus only after the last run, so neither setup saw them, not even as names. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3284 (PAGE /case-study-claude-code-alone-vs-tester; under "The setup")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L61 (under "The setup")) | No timestamped catalog or ledger record shows when the 13 hidden checks were stored. |
| C-302 | List prices for Claude Opus 5.5: $4 input and $20 output per million tokens, $0.20 cache read, $5 cache write, $8 for a one-hour cache write. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3288 (PAGE /case-study-claude-code-alone-vs-tester; under "The setup")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L65 (under "The setup")) | Third-party list prices quoted on the page; the publisher's surfaces have no artefact for them (repo-grep not found). |
| C-303 | With the tester, the coding agent ran its own tests twice in its three runs together; alone, it ran them 3 times in an average run. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3258 (PAGE /case-study-claude-code-alone-vs-tester; under "In short")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L35 (under "In short")) | Test-run counts are stated in text and table with no transcripts published. |
| C-304 | Every B run passed the tester in its first round. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3318 (PAGE /case-study-claude-code-alone-vs-tester; under "What the numbers say")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L95 (under "What the numbers say")) | Stated in text and table with no run records. |
| C-305 | On an easy ticket, an independent tester buys no extra quality and costs more in total. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3340 (PAGE /case-study-claude-code-alone-vs-tester; under "What we take from it")) onedroid.ai/case-study-claude-code-alone-vs-tester.md (sources/case-study-claude-code-alone-vs-tester.md L117 (under "What we take from it")) | A conclusion drawn from the page's own table (13/13 tie; $2.78 vs $1.97, +41%, which checks) with no underlying run data. |
| C-306 | The ticket was too easy to separate quality. | onedroid.ai/llms.txt (sources/llms.txt L49 (under "Docs")) | The case study's own judgement, repeated in llms.txt; nothing beyond the statement. |
| C-307 | A tester ran 100 checks written from the library's user guide and returned only the names of the failures, for up to 4 rounds. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3404 (PAGE /case-study-modernization-three-setups; under "The setup")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L55 (under "The setup")) | The 100 user-guide checks and the tester script are not published. |
| C-308 | the tester ran 106 equivalence checks against the original's recorded answers, half of a set of 215 | onedroid.ai/llms-full.txt (sources/llms-full.txt L3406 (PAGE /case-study-modernization-three-setups; under "The setup")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L57 (under "The setup")) | Stated only, with no check set published; '106, half of 215' is approximate (215/2 = 107.5). |
| C-309 | The other 109 equivalence checks, hidden from every setup. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3408 (PAGE /case-study-modernization-three-setups; under "The setup")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L59 (under "The setup")) | 109 = 215 - 106 checks out arithmetically, but the hidden set is not published. |
| C-310 | Claude Code's own `total_cost_usd` per run. Our own count from the transcripts agrees within 0.11%. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3414 (PAGE /case-study-modernization-three-setups; under "The setup")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L65 (under "The setup")) | Neither the total_cost_usd values nor the transcripts are published, so the 0.11% agreement cannot be checked. |
| C-311 | Cost per run | $16.92 | $15.19 | $10.04 (−41%) | onedroid.ai/llms-full.txt (sources/llms-full.txt L3426 (PAGE /case-study-modernization-three-setups; under "The result")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L77 (under "The result")) | $10.04 vs $16.92 is -40.7% (rounds to -41%) arithmetically, but these are means with no per-run cost data published. |
| C-312 | All three B runs changed one numerical detail that the original handles approximately, which cost 22 to 25 of the 109 hidden checks. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3436 (PAGE /case-study-modernization-three-setups; under "What the numbers say")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L87 (under "What the numbers say")) | Stated with no per-run judge output; consistent with the table's B mean of 81 of 109. |
| C-313 | B′ stayed faithful and matched A exactly on the unambiguous hidden checks: 101 of 104. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3438 (PAGE /case-study-modernization-three-setups; under "What the numbers say")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L89 (under "What the numbers say")) | Matches the page's own table row (101 vs 101 of 104), but no per-run judge output is published. |
| C-314 | B′ cost 41% less than A, because a coding agent that only implements runs no tests and no subagents. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3440 (PAGE /case-study-modernization-three-setups; under "What the numbers say")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L91 (under "What the numbers say")) | The 41% and the 0/0 test runs/subagents come from the page's own table of means; the causal clause and the costs have no published run data. |
| C-315 | A block on compound shell commands didn't work in any B or B′ run: it failed open because a helper tool was missing. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3454 (PAGE /case-study-modernization-three-setups; under "What this experiment did not cover")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L105 (under "What this experiment did not cover")) | A disclosure about the setup; no logs or config published. |
| C-316 | One interface rule could be read two ways. It affects 5 hidden checks and explains B′'s 2-check lead over A. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3452 (PAGE /case-study-modernization-three-setups; under "What this experiment did not cover")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L103 (under "What this experiment did not cover")) | Consistent with the table (106-104 = 2; 109-104 = 5 ambiguous checks), but the interface rule and checks are not published. |
| C-317 | The tester's checks came from earlier work on the same library and can be reused. Writing them is not in the cost per run. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3458 (PAGE /case-study-modernization-three-setups; under "What this experiment did not cover")) onedroid.ai/case-study-modernization-three-setups.md (sources/case-study-modernization-three-setups.md L109 (under "What this experiment did not cover")) | A disclosure about the cost scope; nothing beyond the statement. |
| C-320 | Medium: a stated function or a documented example fails. Low: wording that does not match behaviour, or a constant that is not the defined value. High or critical: a wrong answer reported as a success | onedroid.ai/llms-full.txt (sources/llms-full.txt L3526 (PAGE /case-study-code-vs-user-guide; under "The method")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L55 (under "The method")) | A severity scheme said to be fixed before the run; no timestamped or sealed copy of it is published. |
| C-321 | Every expected failure was predicted in writing from reading the code. No check predicted to hold turned red | onedroid.ai/llms-full.txt (sources/llms-full.txt L3528 (PAGE /case-study-code-vs-user-guide; under "The method")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L57 (under "The method")) | The written predictions are not published (no prediction file, hash or anchor of them), so the statement is the only support; a sealed, timestamped prediction list would be needed. |
| C-323 | A rehearsal of the same sealed set gave the same tallies. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3554 (PAGE /case-study-code-vs-user-guide; under "The result")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L83 (under "The result")) | No rehearsal run id, tallies or anchor is published (the chain shows only the commitment, seal and one verdict); a rehearsal certificate or anchor would be needed. |
| C-324 | Our team. One AI session wrote the checks and ran them. There was no builder: nothing was fixed | onedroid.ai/llms-full.txt (sources/llms-full.txt L3536 (PAGE /case-study-code-vs-user-guide; under "The method")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L65 (under "The method")) | Who wrote and ran the checks is stated twice on the page with no session log or artefact behind it. |
| C-325 | Improper input in 22 cases across 10 routines, the user stopping the run, limits on the number of calls, and tolerances below machine precision: each gave the exit code the guide names. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3570 (PAGE /case-study-code-vs-user-guide; under "What held")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L99 (under "What held")) | The 22 cases across 10 routines and their exit codes are not published as checks or per-scenario results; the reveal or evidence bundle would be needed. |
| C-326 | Repeatability: the same request twice gave bit-identical results. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3576 (PAGE /case-study-code-vs-user-guide; under "What held")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L105 (under "What held")) | No outputs or hashes of the two runs are published (repo-grep for bit-identical not-found); paired output digests would be needed. |
| C-329 | Two more behaviours on the same kind of path were found by the reviewer in the source and are under research | onedroid.ai/llms-full.txt (sources/llms-full.txt L3564 (PAGE /case-study-code-vs-user-guide; under "Where the code and its guide disagree")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L93 (under "Where the code and its guide disagree")) | The two further behaviours are neither described nor tracked anywhere public; the reviewer's report or a research ticket would be needed. |
| C-330 | The executor used here could not measure the running build, and the certificate says so | onedroid.ai/llms-full.txt (sources/llms-full.txt L3586 (PAGE /case-study-code-vs-user-guide; under "The test boundary: what this result does not prove")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L115 (under "The test boundary: what this result does not prove")) | The runner's verifier can print NOT MEASURED for a not_measured certificate, but this run's certificate is not published and the verdict anchor payload carries no measurement field, so 'the certificate says so' is unbacked. |
| C-332 | One of our checks was wrong at first (it asked for a printed value under a setting the guide does not print it for) and was corrected before the seal. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3598 (PAGE /case-study-code-vs-user-guide; under "The test boundary: what this result does not prove")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L127 (under "The test boundary: what this result does not prove")) | The pre-seal correction is self-reported with no diff or earlier set hash published. |
| C-333 | In a separate study, Claude Code ported this same library to Go. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3606 (PAGE /case-study-code-vs-user-guide; under "Why it matters before an AI rewrite")) onedroid.ai/case-study-code-vs-user-guide.md (sources/case-study-code-vs-user-guide.md L135 (under "Why it matters before an AI rewrite")) | The Go port is described on a second case-study page with tallies but no published port code, run logs or anchor. |
| C-334 | OneDroid Argus installs Synapse. You can also run it on its own. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3639 (PAGE /synapse; under "OneDroid Synapse")) | The public runner repo and Argus docs contain no Synapse installation step; an install script or doc would be needed. |
| C-335 | Free on the hosted shape, whatever the size of your team. No credit card. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3648 (PAGE /synapse; under "OneDroid Synapse")) onedroid.ai/llms-full.txt (sources/llms-full.txt L4091 (PAGE /what-is-a-governed-mcp-gateway; under "Try it against your own setup.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L4534 (PAGE /engram; under "Portable, persistent context")) | Free hosted use with no card is repeated on several pages; nothing beyond the statements shows the sign-up terms. |
| C-336 | Claude Code, Cursor, the Agent SDKs — anything that speaks MCP connects without custom integration. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3693-3694 (PAGE /synapse; under "Connect")) | No public MCP endpoint spec or client config for Synapse was found among the sources; a connection doc or transport spec would be needed. |
| C-337 | Admins decide which tools each hub, role, and agent can reach — as curated packs, not one-off allowlists. Users connect their own credentials once; agents never handle raw tokens. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3704-3706 (PAGE /synapse; under "Govern")) | Synapse's policy and credential code is not public (repo-grep one-off not-found); a policy schema or code path would be needed. |
| C-338 | Add or swap upstreams without touching a single agent config. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3722-3723 (PAGE /synapse; under "One URL for every agent")) | Upstream add/swap without agent reconfiguration is only stated; Synapse code or docs showing it would be needed. |
| C-339 | Separate workspaces for teams and projects, each with its own tool surface, members, and defaults. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3742-3743 (PAGE /synapse; under "Hubs and roles")) | Hubs with their own tools, members and defaults are only stated; the Synapse hub model is not public. |
| C-340 | With your own database, your Engram content lives in a Postgres you own; on the hosted gateway OneDroid still holds encrypted credentials and sees tool-call metadata; self-hosted, OneDroid sees nothing at runtime. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3771 (PAGE /synapse; under "Your data lives in your database.")) | Data-residency split by deployment mode is restated on /synapse and /security; repo tool-call hits are Argus MCP code, not Synapse. |
| C-341 | Your database, your jurisdiction, your retention policy. Governance data never has to leave your infrastructure. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3775-3776 (PAGE /synapse; under "Data governance")) | Governance-data residency is a statement only; Synapse deployment manifests would be needed. |
| C-342 | Self-host OneDroid Synapse and credentials and the event log stay inside your own boundary as well. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3899 (PAGE /synapse; under "Where does my data live with OneDroid?")) | Self-hosted residency of credentials and event log is restated; no self-host package or manifest is public. |
| C-343 | The animation further up this page is illustrative and labelled as such. These are screenshots of OneDroid Synapse itself. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3863-3864 (PAGE /synapse; under "Not a mockup.")) | The screenshots themselves were not saved as sources and cannot show they are unedited product captures; the statement is the only support. |
| C-344 | Works with any LLM, any MCP client, any infrastructure. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3851 (PAGE /synapse; under "Portability")) | Universal compatibility is asserted with no compatibility matrix or test evidence. |
| C-346 | Gateway: one extra hop. This one genuinely favours config files. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4013 (PAGE /what-is-a-governed-mcp-gateway; under "Latency")) | An architectural trade-off stated in an explainer, with no latency measurement published. |
| C-347 | Gateway: it is shared infrastructure — if it is down, everything behind it is unreachable. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4019-4020 (PAGE /what-is-a-governed-mcp-gateway; under "Failure blast radius")) | An architectural trade-off stated in an explainer; no availability data or design doc behind it. |
| C-348 | For the record, OneDroid Synapse answers these as: per tool; self-hostable so we can see nothing; the event log is in the free tier and will not be gated; your data can live in your own Postgres; any MCP client and any provider; and if you leave, the data was already in your database. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4079-4082 (PAGE /what-is-a-governed-mcp-gateway; under "Exit cost")) | Each answer (per-tool policy, self-hostable, event log free, BYO Postgres, any client) is a statement; no Synapse code or self-host package is public (repo-grep self-hostable not-found). |
| C-350 | Watch it done: the Synapse walkthrough, recorded against the live service, at youtu.be/WJvsBV4sXFU. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4178-4179 (PAGE /quickstart; under "The check")) | The video host is outside the allowed hosts, so the video and 'recorded against the live service' could not be checked; nothing else on the publisher's surfaces backs it. |
| C-351 | Engram is versioned, permissioned context in a Postgres you control with your own database, or one OneDroid hosts, searched by vector, keyword and graph at once, and reachable by any MCP client behind any model. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4191-4192 (PAGE /quickstart; under "Give your agents memory that outlives the session.")) | Engram's storage, versioning and hybrid search are restated across pages; Engram code or API docs are not public among the sources. |
| C-352 | Watch it done: the Engram walkthrough, recorded against the live service, at youtu.be/1o5mPIGCngk. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4243-4244 (PAGE /quickstart; under "Every write is a commit")) | The video host is outside the allowed hosts, so the walkthrough could not be checked; nothing else backs it. |
| C-358 | Watch it done: the kits walkthrough, recorded on these pages with a synthesized narration, at youtu.be/KcbsT7jARFc. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4314-4315 (PAGE /quickstart; under "Where it leads")) | The video host is outside the allowed hosts, so the walkthrough could not be checked; nothing else backs it. |
| C-359 | It does not decide what its tests may do: the tester and the system's owner do, the configuration records it, and OneDroid Argus enforces what the configuration declares. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4352-4354 (PAGE /security; under "Where the verifier runs, and where it never does.")) onedroid.ai/security.md (sources/security.md L24-26 (under "Where the verifier runs, and where it never does.")) | No declared-permissions field or enforcement code for what a test may do was found in the runner repo; a config schema and its enforcement path would be needed. |
| C-360 | A scheduled monitor can watch a live system. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4354-4355 (PAGE /security; under "Where the verifier runs, and where it never does.")) onedroid.ai/security.md (sources/security.md L26-27 (under "Where the verifier runs, and where it never does.")) | Scheduling lives in the closed control plane (no schedule code in the runner repo); a schedule API doc or code would be needed. |
| C-362 | The control plane signs and anchors what the runner reports; it does not re-run the checks. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4362-4363 (PAGE /security; under "Where the verifier runs, and where it never does.")) raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L26-27 (under "What a OneDroid Argus certificate proves today, and what it does not")) onedroid.ai/security.md (sources/security.md L34-35 (under "Where the verifier runs, and where it never does.")) | The control plane is not public, so 'does not re-run the checks' rests on the README and /security statements; runner-side local evaluation is visible but the control-plane half is not. |
| C-363 | OneDroid Synapse runs on OneDroid infrastructure. Fastest to start. We operate the gateway, hold encrypted credentials, and can see tool-call metadata. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4373-4374 (PAGE /security; under "Hosted")) onedroid.ai/security.md (sources/security.md L45-46 (under "Hosted")) | Hosted-mode operation and visibility are stated; repo tool-call hits are Argus MCP code, not Synapse. |
| C-364 | The gateway is ours; OneDroid Engram's data lives in a Postgres you own and control. Documents, embeddings, history and permissions live in your database; the library registry (which libraries exist and who belongs to them) is read from OneDroid's platform database, and embeddings are computed by OpenAI before they are stored. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4378-4379 (PAGE /security; under "Hosted + your database")) onedroid.ai/security.md (sources/security.md L50-51 (under "Hosted + your database")) | The BYO-database data split and OpenAI embeddings are stated with no Engram schema or code public. |
| C-365 | OneDroid Synapse runs on your infrastructure, cloud or on-premises. Credentials and the event log stay inside your boundary. We can see nothing at runtime. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4383-4384 (PAGE /security; under "Self-hosted (enterprise)")) onedroid.ai/security.md (sources/security.md L55-56 (under "Self-hosted (enterprise)")) | Self-hosted Synapse is stated; no self-host package or manifest is public (repo-grep on-premises not-found). |
| C-366 | Tool-call metadata — which agent called which tool, on which connection, when, and whether it was allowed. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4395-4396 (PAGE /security; under "Hosted")) onedroid.ai/security.md (sources/security.md L67-68 (under "Hosted")) | The list of metadata fields is stated with no event-log schema published. |
| C-367 | Everything above, minus your OneDroid Engram content: documents, chunks, embeddings, revision history and permissions are rows in your Postgres (the library registry, which libraries exist and who belongs to them, stays in OneDroid's platform database). You can read them with SQL and back them up with your own tooling. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4402-4404 (PAGE /security; under "Bring-your-own database")) onedroid.ai/security.md (sources/security.md L74-76 (under "Bring-your-own database")) | Engram rows in the customer's Postgres are stated; a published table schema would be needed. |
| C-368 | Connections are grouped into hubs with role-based membership, so access is granted to a team boundary rather than pasted into a config file. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4436-4437 (PAGE /security; under "Hubs and roles")) onedroid.ai/security.md (sources/security.md L108-109 (under "Hubs and roles")) | Hubs and role-based membership are stated; repo role-based hits are Argus test-kit UI, not Synapse. |
| C-369 | Enterprise adds audit evidence packs for compliance reviews. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4432 (PAGE /security; under "Append-only audit log")) onedroid.ai/security.md (sources/security.md L104 (under "Append-only audit log")) | Enterprise evidence packs are stated with no sample pack or spec published. |
| C-371 | Engram is a memory layer in a Postgres you control with your own database, or one OneDroid hosts. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4523 (PAGE /engram; under "Portable, persistent context")) | Engram's storage options are restated; no Engram code or schema is public. |
| C-372 | With your own database, every document, embedding and revision is a row in a Postgres you control. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4529 (PAGE /engram; under "Portable, persistent context")) | Rows-in-your-Postgres is stated; a published schema would be needed. |
| C-373 | Hybrid retrieval — semantic and keyword together — over a typed object graph, so relationships like "supersedes" or "references" are explicit and traversable rather than inferred from similarity. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4569-4571 (PAGE /engram; under "Rich, not just a vector blob")) | The repo hits for supersedes/references are Argus code, not Engram; an Engram graph schema or API doc would be needed. |
| C-374 | Scoped by group and namespace, so context is shared deliberately rather than pooled by accident — and, with your own database, in a Postgres you own; the library registry (which libraries exist and who belongs to them) stays in OneDroid's platform database. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4575-4576 (PAGE /engram; under "Permissioned and yours")) | Group and namespace scoping and the registry split are restated; no Engram code public. |
| C-375 | Every agent your team builds inherits the whole surface with a token — no new connector work, no new credential handling, no new review for each one. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4675-4677 (PAGE /financial-services; under "One integration, not one per agent")) onedroid.ai/financial-services.md (sources/financial-services.md L42-44 (under "One integration, not one per agent")) | A benefit statement with no artefact behind it. |
| C-376 | Move from one client or provider to another, run two side by side, or test an open-source model — the tools-and-context layer doesn't move. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4687-4689 (PAGE /financial-services; under "Change the model without a migration")) onedroid.ai/financial-services.md (sources/financial-services.md L54-56 (under "Change the model without a migration")) | Provider portability is stated; repo-grep for the phrases not-found and no compatibility evidence is published. |
| C-377 | You don't assemble the compliance story afterwards; running the platform produces it. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4694-4695 (PAGE /financial-services; under "Evidence as a by-product")) onedroid.ai/financial-services.md (sources/financial-services.md L61-62 (under "Evidence as a by-product")) | A positioning statement; a sample compliance export would be needed. |
| C-378 | Because OneDroid Synapse sits in the call path from day one, the answers exist before anyone asks. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4704-4705 (PAGE /financial-services; under "Most AI programmes don't fail on capability.")) onedroid.ai/financial-services.md (sources/financial-services.md L71-72 (under "Most AI programmes don't fail on capability.")) | A positioning statement with no artefact. |
| C-379 | This produces a tamper-evident one a third party can check. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4715-4716 (PAGE /financial-services; under "Supervision and records")) onedroid.ai/financial-services.md (sources/financial-services.md L82-83 (under "Supervision and records")) | The subject is the gateway record; no tamper-evidence mechanism for Synapse logs is public (repo-grep tamper-evident not-found; Argus certificates are a different product). |
| C-380 | Deployed in your own cloud, on your own Postgres. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4720 (PAGE /financial-services; under "Operations")) onedroid.ai/financial-services.md (sources/financial-services.md L87 (under "Operations")) | Self-deployment is stated; no deployment package is public. |
| C-381 | Model inference is an outbound call — for us and for everyone using commercial AI. Your data comes to rest inside your boundary; the inference call that transits is gated, scanned and logged. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4833-4835 (PAGE /financial-services; under "Not "nothing leaves"")) onedroid.ai/financial-services.md (sources/financial-services.md L200-202 (under "Not "nothing leaves"")) | Gating, scanning and logging of inference calls is stated with no artefact. |
| C-382 | OneDroid Synapse transports, authorises and logs tool calls. It does not vouch for an agent's judgement, and no product does. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4840-4841 (PAGE /financial-services; under "Not a safety guarantee")) onedroid.ai/financial-services.md (sources/financial-services.md L207-208 (under "Not a safety guarantee")) | A scope disclaimer; nothing beyond the statement. |
| C-383 | Any one of those is a sprint. All of them, tested, and defensible in front of an examiner, is two quarters of your platform team not building product. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4774-4775 (PAGE /financial-services; under ""What happens when we leave?"")) onedroid.ai/financial-services.md (sources/financial-services.md L141-142 (under ""What happens when we leave?"")) | An effort estimate (two quarters) with no data behind it. |
| C-384 | A set goes on a schedule once a hand-run is green, or every red in it is one you have read and decided to keep. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4969-4970 (PAGE /qa-teams; under "Which reds you keep")) | No schedule gate tied to a green or acknowledged-red hand-run exists in the runner repo (hand-run hits are unrelated comments); the control-plane rule would need publishing. |
| C-385 | What we sell alongside the kits is help making them work inside your organisation; the products themselves are on /pricing. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5044 (PAGE /dark-factory; under "Autonomous delivery")) | /pricing does list products, but what is sold alongside the kits (help adopting them) is only stated. |
| C-388 | Everything we sell comes down to one thing: control over what your agents can reach, proof of what they did, and a verdict on what they built. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5481-5482 (PAGE /enterprise; under "Fully govern your AI agent")) | A positioning statement. |
| C-389 | Governance data never leaves your perimeter. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5510 (PAGE /enterprise; under "Your infrastructure")) | Perimeter residency is stated; no self-host package public. |
| C-390 | Decide which tools each hub, role, and agent can reach. Deny rules, tool grants, and data filters enforced at the gateway — not in a wiki. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5514-5515 (PAGE /enterprise; under "Policy enforcement")) | Deny rules, grants and filters are stated; no Synapse policy schema or code is public. |
| C-391 | Enterprise is the whole stack inside your perimeter | onedroid.ai/llms-full.txt (sources/llms-full.txt L5566 (PAGE /enterprise; under "OneDroid Argus, Synapse and Engram, on your infrastructure.")) | An offer description with no deployment artefact. |
| C-402 | Bring your own database — your Engram content stays in your Postgres | onedroid.ai/llms-full.txt (sources/llms-full.txt L5668 (PAGE /pricing; under "Hosted, any team size")) onedroid.ai/pricing.md (sources/pricing.md L73 (under "Hosted, any team size")) | Engram is closed and not in the public repo; only page statements back BYO Postgres, a setup doc or schema/migration published for self-hosted Postgres would be needed. |
| C-403 | Deployed on your infrastructure — cloud or on-premises | onedroid.ai/llms-full.txt (sources/llms-full.txt L5684 (PAGE /pricing; under "Enterprise")) onedroid.ai/pricing.md (sources/pricing.md L89 (under "Enterprise")) | Checks for on-premises in the repo are not-found; the runner's render-k8s covers only the runner, so the enterprise deployment of the full stack is stated only. |
| C-404 | Org-wide policy enforcement: deny rules, grants, data filters | onedroid.ai/llms-full.txt (sources/llms-full.txt L5686 (PAGE /pricing; under "Enterprise")) onedroid.ai/pricing.md (sources/pricing.md L91 (under "Enterprise")) | No published policy engine, config or doc for org-wide deny rules, grants and data filters; stated on the pricing page only. |
| C-405 | PII / PHI screening set up for your regulated workloads (the switch itself is on every hub) | onedroid.ai/llms-full.txt (sources/llms-full.txt L5688 (PAGE /pricing; under "Enterprise")) onedroid.ai/pricing.md (sources/pricing.md L93 (under "Enterprise")) | No public artefact shows the per-hub PII/PHI switch or the regulated setup; stated only. |
| C-406 | Audit evidence packs for compliance reviews | onedroid.ai/llms-full.txt (sources/llms-full.txt L5690 (PAGE /pricing; under "Enterprise")) onedroid.ai/pricing.md (sources/pricing.md L95 (under "Enterprise")) | No sample audit evidence pack is published; a redacted sample pack would be needed. |
| C-407 | Implementation support from the team that builds it | onedroid.ai/llms-full.txt (sources/llms-full.txt L5692 (PAGE /pricing; under "Enterprise")) onedroid.ai/pricing.md (sources/pricing.md L97 (under "Enterprise")) | An offer of implementation support, stated only; nothing beyond the statement backs it. |
| C-408 | Free covers any team, whatever its size, using OneDroid's hosted OneDroid Synapse and OneDroid Engram, including the event log. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5699-5700 (PAGE /pricing; under "Enterprise")) onedroid.ai/pricing.md (sources/pricing.md L104-105 (under "Enterprise")) | The free-for-any-team terms appear on pricing and llms.txt but no published plan limits or billing artefact backs them beyond the statement. |
| C-409 | Enterprise begins when you need it on your own infrastructure, org-wide policy enforcement, SSO, or audit evidence packs for a compliance review. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5700-5702 (PAGE /pricing; under "Enterprise")) onedroid.ai/pricing.md (sources/pricing.md L105-107 (under "Enterprise")) | Repo checks for org-wide policy are not-found; the Enterprise boundary is stated on the pricing page only. |
| C-410 | The free tier is genuinely free while we build in the open. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5706 (PAGE /pricing; under "Enterprise")) onedroid.ai/pricing.md (sources/pricing.md L111 (under "Enterprise")) | A conduct statement about the free tier; nothing beyond the statement backs it. |
| C-412 | OneDroid is the product line that came out of that work. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5760 (PAGE /about; under "OneDroid is built by Providentia Worldwide.")) | A company-history statement on /about with no independent artefact behind it. |
| C-413 | Every component here exists because a real deployment needed it: the gateway because credentials were being pasted into config files, the memory because knowledge kept dying with the context window, the audit log because someone had to answer a compliance question about what an agent had touched. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5760-5764 (PAGE /about; under "OneDroid is built by Providentia Worldwide.")) | An origin story for each component; no deployment record or artefact backs it. |
| C-429 | 2026-07-18 ### Bring-your-own-database for OneDroid Engram | onedroid.ai/llms-full.txt (sources/llms-full.txt L6015-6017 (PAGE /changelog; under "Crawlable: robots.txt and sitemap.xml")) onedroid.ai/changelog.md (sources/changelog.md L202-204 (under "Crawlable: robots.txt and sitemap.xml")) | Repo checks for bring-your-own-database are not-found and Engram is closed; the dated entry is stated only, a BYODB setup doc or release note artefact would be needed. |
| C-431 | There is no sales queue and no contact-form robot. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6054 (PAGE /contact; under "Talk to the people")) | Stated on /contact and the home page (email reaches Michal Bacia directly); repo checks found nothing, and there is no artefact beyond the statement. |
| C-432 | We collect the minimum needed to run a governed gateway: your account details, the credentials you choose to connect, a metadata log of tool calls and, if you use them, your Engram content and the server logs described below. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6122-6124 (PAGE /privacy; under "The short version")) onedroid.ai/privacy.md (sources/privacy.md L27-29 (under "The short version")) | A privacy-policy statement of data minimisation; no data inventory or schema is published to back it. |
| C-433 | OneDroid Synapse is designed so that agents receive tool results, not the underlying tokens — raw credentials are held by the gateway and are not exposed to connected agents. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6144-6146 (PAGE /privacy; under "What we collect")) onedroid.ai/privacy.md (sources/privacy.md L49-51 (under "What we collect")) | Synapse is closed source; credential custody is stated on privacy and llms.txt, with no published architecture or code to back it. |
| C-434 | If you save Google-sourced content into OneDroid Engram, search embeddings for it are computed by our embedding provider (OpenAI) under terms that prohibit training on your data. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6201-6203 (PAGE /privacy; under "Google user data")) onedroid.ai/privacy.md (sources/privacy.md L106-108 (under "Google user data")) | The embedding provider and its no-training terms are stated only; no subprocessor list or DPA reference is published alongside. |
| C-435 | On disconnection or account deletion, stored Google tokens are deleted. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6206-6207 (PAGE /privacy; under "Google user data")) onedroid.ai/privacy.md (sources/privacy.md L111-112 (under "Google user data")) | A token-deletion commitment stated in the policy only. |
| C-436 | OneDroid's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6209-6211 (PAGE /privacy; under "Google user data")) onedroid.ai/privacy.md (sources/privacy.md L114-116 (under "Google user data")) | Limited Use compliance is stated; the changelog's 'Google OAuth application verification completed' is the publisher's own entry, not a Google artefact. |
| C-437 | We do not sell personal data, and we do not share it with third parties for their marketing. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6226-6227 (PAGE /privacy; under "How we share data")) onedroid.ai/privacy.md (sources/privacy.md L131-132 (under "How we share data")) | A negative conduct statement in the privacy policy; nothing beyond the statement can back it. |
| C-438 | We do not sell or share personal data as those terms are defined in the CCPA. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6261-6262 (PAGE /privacy; under "Where GDPR or CCPA applies")) onedroid.ai/privacy.md (sources/privacy.md L166-167 (under "Where GDPR or CCPA applies")) | A negative CCPA conduct statement; nothing beyond the statement backs it. |
| C-439 | Effective date: 19 July 2026 · Last updated: 7 October 2026 | onedroid.ai/llms-full.txt (sources/llms-full.txt L6303 (PAGE /terms; under "Terms of Service")) | The dates are stated on the terms page, and the sitemap's lastmod 2026-10-07 for /terms matches the last-updated date, but both are publisher-written. |
| C-440 | The Service is free on the hosted shape, whatever the size of your team; current usage limits, if any, are published on the pricing page. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6322-6324 (PAGE /terms; under "2. The Service")) | The terms repeat the pricing page's free-on-hosted statement; no published usage-limit table or billing artefact backs it. |
| C-441 | You must be at least 16 years old to use the Service. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6339 (PAGE /terms; under "3. Your account")) | An age requirement in the terms; there is no public artefact of its enforcement. |
| C-442 | After termination we will make your platform-hosted data available for export for 30 days where practicable, then delete it. | onedroid.ai/llms-full.txt (sources/llms-full.txt L6467-6468 (PAGE /terms; under "12. Suspension and termination")) | An export-window commitment in the terms; repo checks for platform-hosted are not-found and no export tool is published. |
| C-446 | Checked 2026-10-28, by OneDroid on itself, with the same method as the evidence pages. | onedroid.ai/llms.txt (sources/llms.txt L38 (under "Claims and evidence")) | The live evidence page answers 200 and says checked 2026-10-28 on ourselves, but that is the register stating its own date; nothing independent dates the check or shows the method was the same. |
| C-451 | Each tick queues a `build` run of your reviewed set, marked with the intent `monitor`. | docs.onedroid.ai/argus.md (sources/argus-docs.md L100 (under "The two ways to start a run")) | Scheduling and the monitor intent live in the closed control plane; a repo grep for intent/monitor wiring found nothing that queues build runs on a tick. |
| C-452 | These pages describe Argus v0.3.72. | docs.onedroid.ai/argus (sources/argus-docs.html L163 (under "What changed recently")) docs.onedroid.ai/argus.md (sources/argus-docs.md L114 (under "What changed recently")) | The highest version named in the docs pages is 0.3.72 (versions-seen check), which agrees, but that is the same page; no version stamp artefact backs it. |
| C-467 | **Proof page** (v0.3.53): certified releases first, filters and search, and an **Anchored** filter on Runs. | docs.onedroid.ai/argus.md (sources/argus-docs.md L237-238 (under "What changed recently")) | The Proof page is part of the closed web app behind sign-in; no public artefact shows it. |
| C-468 | **Where things moved in the web app** (v0.3.53): Proof was called Ledger. | docs.onedroid.ai/argus.md (sources/argus-docs.md L257 (under "What changed recently")) | The rename of a page in the closed web app; no public artefact (repo grep for Proof/Ledger page found nothing). |
| C-470 | **Log queries take a whole correlation id** (v0.3.52), for every role. | docs.onedroid.ai/argus.md (sources/argus-docs.md L244 (under "What changed recently")) | obsquery filters on a correlation id, but the 'whole id' and 'every role' parts concern the control plane's log query access and are not shown in the public code. |
| C-479 | A builder never needs the cloud session, because a builder never calls a `cloud-*` command. | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L142-143 (under "2. The two kinds of token")) | Only the docs say a builder never calls a cloud-* command; the CLI does not bar the runner hat from cloud-* verbs in any code found, so a usage policy or command gate would be needed. |
| C-480 | `ARGUS_RUNNER_TOKEN` is minted per execution-plane instance, not per person | docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L145 (under "2. The two kinds of token")) | Docs-only statement: runner-id mint takes an --instance-id, but the repo treats ARGUS_RUNNER_TOKEN as a local role-map string, so the per-instance minting of that variable is not shown. |
| C-481 | If that page approves the same code twice (a reload, a double click), it says it is approved (v0.3.52 or later) | docs.onedroid.ai/argus-quickstart (sources/argus-quickstart.html L197-198 (under "3. Point the CLI at your control plane")) docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L179-180 (under "3. Point the CLI at your control plane")) | The device-approval page runs in the closed control plane; no public artefact shows the idempotent double-approve message or the v0.3.52 boundary. |
| C-487 | So **a modified runner could report passes it did not earn**, and the certificate would still be anchored and would still verify | raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md (sources/argus-runner-README.md L27-28 (under "What a OneDroid Argus certificate proves today, and what it does not")) | A self-stated limitation that recurs in the changelog; no artefact can show what a modified runner would report, and the verifier only compares anchored fields. |
| C-516 | Companies used to spend between 23% and 35% of their IT budget on testing (Capgemini's World Quality Report: 23% in 2013, 26% in 2014, 35% in 2015, 31% in 2016, 26% in 2017), so testing was the part that got cut. | onedroid.ai/llms-full.txt (sources/llms-full.txt L26 (PAGE /; under "Proper testing now costs the same order as the AI coding.")) | Third-party figures: the docs link one Capgemini article, but the publisher shows no per-year table for 2013 to 2017, so the report pages themselves would be needed. |
| C-517 | Your agents connect to one URL instead of holding credentials for each service | onedroid.ai/llms-full.txt (sources/llms-full.txt L170-171 (PAGE /; under "It brings its own run layer.")) | The Synapse gateway is hosted and closed; no public artefact shows the single-URL credential brokering. |
| C-518 | every tool call is authenticated, policy-checked, and logged while the hub's activity logging is on (fail-open: a logging failure never blocks a call), to an append-only audit log you own | onedroid.ai/llms-full.txt (sources/llms-full.txt L171-172 (PAGE /; under "It brings its own run layer.")) onedroid.ai/llms.txt (sources/llms.txt L71 (under "Product")) | Repo greps for policy-checked, fail-open and append-only are not-found; gateway source or a published log sample would be needed. |
| C-519 | tool call is authenticated, policy-checked, and logged while the hub's activity logging is on (fail-open: a logging failure never blocks a call), to an audit log you own | onedroid.ai/llms-full.txt (sources/llms-full.txt L3629 (PAGE /synapse)) onedroid.ai/llms-full.txt (sources/llms-full.txt L3642-3643 (PAGE /synapse; under "OneDroid Synapse")) | Same Synapse governance sentence; no public code or endpoint shows the policy check or fail-open logging. |
| C-520 | Portable, persistent, permissioned context for every AI application — versioned, searchable by any MCP client, stored in your own database or hosted by OneDroid. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3804-3805 (PAGE /synapse; under "OneDroid Engram")) | Engram is a hosted product; no public artefact shows versioning, MCP search or self-hosted storage. |
| C-521 | Yes, on the hosted shape, whatever the size of your team, including the event log | onedroid.ai/llms-full.txt (sources/llms-full.txt L3891 (PAGE /synapse; under "Is OneDroid Synapse free?")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5716 (PAGE /pricing; under "Is OneDroid Synapse free?")) onedroid.ai/pricing.md (sources/pricing.md L121 (under "Is OneDroid Synapse free?")) | A pricing statement repeated on /synapse and /pricing; nothing beyond the statement backs it. |
| C-522 | including the event log, which is not a paid tier | onedroid.ai/llms-full.txt (sources/llms-full.txt L3891 (PAGE /synapse; under "Is OneDroid Synapse free?")) | Pricing statement only; no price list or plan artefact shows the event log outside a paid tier. |
| C-523 | tool call is authenticated, policy-checked and logged while the hub's activity logging is on (fail-open: a logging failure never blocks a call), to an audit log you own | onedroid.ai/llms-full.txt (sources/llms-full.txt L4117 (PAGE /quickstart; under "Connect an agent to one governed URL.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L4693-4694 (PAGE /financial-services; under "Evidence as a by-product")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5178-5180 (PAGE /kit; under "Eyes and hands: OneDroid Synapse")) | The same Synapse governance sentence on four pages; repo greps not-found and the gateway is closed. |
| C-525 | the scenarios are written once per feature, before the build, and run as often as you need | onedroid.ai/llms-full.txt (sources/llms-full.txt L4979-4980 (PAGE /qa-teams; under "What may differ")) | A process description; no artefact shows scenarios written once per feature before the build. |
| C-527 | Give this page to your coding agent and it sets you up, stopping where it needs your decision. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5113 (PAGE /kit)) | The page has HUMAN-marked stops, but that an agent given it sets the user up is an outcome no artefact shows. |
| C-537 | If the report is not in the repo, the setup is not done, whatever the agent says. | onedroid.ai/llms-full.txt (sources/llms-full.txt L4298-4299 (PAGE /quickstart; under "The check")) | A normative rule; the runbook's step 6 check requires the report on main, but the rule itself is a statement. |
| C-541 | No script signs in for you or grants access on your behalf. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5224-5225 (PAGE /kit; under "The method: the Dark Factory kits")) | A negative conduct statement; no artefact can show that no script ever signs in or grants access. |
| C-551 | The hub from step 03 is the one to record here: it gives the agent memory across sessions and connectors to the systems the human already uses. The method also runs without one. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5380-5382 (PAGE /kit; under "Connect the human's tools")) | The runbook repeats that the method runs without a hub; the memory and connector benefit of the hub is a statement with no artefact here. |
| C-553 | Then open a new session, because tools and hooks load only when a session starts. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5382-5383 (PAGE /kit; under "Connect the human's tools")) | A statement about harness behaviour repeated in the runbook's failure table; no publisher artefact demonstrates it. |
| C-557 | You skip the lockfile, the pins and the validation that way. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5410-5411 (PAGE /kit; under "Only the skills?")) | A consequence stated by the page; nothing beyond the statement shows what the skills-only path skips. |
| C-559 | Quickstart: a OneDroid Synapse hub and OneDroid Engram memory in about ten minutes each | onedroid.ai/llms-full.txt (sources/llms-full.txt L5438-5439 (PAGE /kit; under "2 and 3 · Synapse and Engram")) | A timing claim with no timed run or recording published. |
| C-562 | the Argus control plane, hosted by default, moves into your environment on request | onedroid.ai/llms-full.txt (sources/llms-full.txt L5566 (PAGE /enterprise; under "OneDroid Argus, Synapse and Engram, on your infrastructure.")) | An offering statement on /enterprise; no deployment artefact for a self-hosted control plane is public. |
| C-563 | Synapse and Engram are free too on the hosted shape, whatever the size of your team | onedroid.ai/llms-full.txt (sources/llms-full.txt L5610-5611 (PAGE /pricing; under "Free to use.")) onedroid.ai/pricing.md (sources/pricing.md L15-16 (under "Free to use.")) | Pricing statement repeated on /pricing; nothing beyond the statement backs it. |
| C-565 | OneDroid Synapse is a governed MCP gateway: your agents connect to one URL, and every tool call is authenticated, policy-checked, and logged while the hub's activity logging is on (fail-open: a logging failure never blocks a call) to an audit log (called the event log in the product). | onedroid.ai/llms-full.txt (sources/llms-full.txt L6320-6322 (PAGE /terms; under "2. The Service")) | The terms restate the Synapse governance sentence; repo greps not-found and the gateway is closed. |
| C-567 | a builder uses a builder token and never signs in | docs.onedroid.ai/argus-quickstart (sources/argus-quickstart.html L189 (under "3. Point the CLI at your control plane")) docs.onedroid.ai/argus-quickstart.md (sources/argus-quickstart.md L168 (under "3. Point the CLI at your control plane")) | Docs-only: no code found that bars a builder from cloud-login, and the builder token's issuance is in the closed control plane. |
| C-569 | OneDroid Argus tests the running system against what its architecture and its owners say it does, with checks sealed before the build. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L246-247 (under "Your architecture says what may talk to what. Does the running system agree?")) | A product description on the partners page; the case-study tx shows sealing for one run, but the general claim is a statement. |
| C-570 | For partners and contacts: this page is written to be forwarded. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L256 (under "Your architecture says what may talk to what. Does the running system agree?")) | A statement of the page's purpose; nothing checkable beyond the statement. |
| C-572 | FINOS states the boundary of that file itself, in its own controls tutorial: "Validation checks the documented configuration, not whether the running system meets the requirement." | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L278-280 (under "01An architecture file is a list of claims")) | A third-party quote linked to the FINOS architecture-as-code repo, which is not a publisher surface; the FINOS tutorial itself would be needed. |
| C-573 | CALM declares. OneDroid Argus measures. The two are complementary. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L287 (under "01An architecture file is a list of claims")) | A positioning slogan; nothing checkable beyond the statement. |
| C-583 | There is no number to optimise for and no "safe" label. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L322 (under "02What OneDroid Argus does")) | The no-score statement is repeated on pages; the certificate format holds only outcome counts, but an absence of a score cannot be shown by an artefact beyond that. |
| C-586 | The one hand-written check, a second way to the same trade, is the one that found it. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L350-351 (under "03The proof: a FINOS CALM trading demo")) | The study table marks the id-lookup check as hand-written and as the one that failed, but no per-check result file or report is published to back it. |
| C-587 | The cause was ours: the cluster we ran on does not enforce Kubernetes network policies. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L353-354 (under "03The proof: a FINOS CALM trading demo")) | The cause (cluster not enforcing network policies) is stated in the study with no cluster configuration or trace published. |
| C-591 | Two certified runs on one cluster the same day, in-memory demo data, no capacity claim. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L364 (under "03The proof: a FINOS CALM trading demo")) | The limits are stated in the study; only one pair of chain records is quoted, so the second certified run and the in-memory data are not independently evidenced. |
| C-592 | The same team wrote the checks and ran them: the seal proves the checks existed before the result, not that their authors were independent. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L364-366 (under "03The proof: a FINOS CALM trading demo")) | A self-declared limitation repeated in the study; nothing beyond the statement backs who wrote and ran the checks. |
| C-593 | Nothing was reported to the demo's authors. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L366 (under "03The proof: a FINOS CALM trading demo")) | Stated in the study; a negative about reporting cannot be evidenced by a publisher artefact. |
| C-594 | FINOS has published a set of SDLC Common Controls as drafts. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L376 (under "04Where it fits next to the FINOS SDLC Common Controls")) | The page links to sdlc-common-controls.finos.org, a third-party site; nothing on the publisher's surfaces beyond the statement and link backs it. |
| C-595 | Most of them are evidenced from the repository and the pipeline. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L376-377 (under "04Where it fits next to the FINOS SDLC Common Controls")) | An interpretive statement about the controls with no per-control mapping published; a full control-by-control table would be needed. |
| C-596 | A few depend on what the running system does, and that is the part OneDroid Argus reaches. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L377-378 (under "04Where it fits next to the FINOS SDLC Common Controls")) | The page's table lists four controls it says Argus reaches; that these are the runtime-dependent ones is the publisher's reading, not backed by an artefact. |
| C-597 | This is our reading of the controls, not FINOS's. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L378 (under "04Where it fits next to the FINOS SDLC Common Controls")) | A disclaimer present on the page; nothing beyond the statement itself. |
| C-602 | Not reached: OneDroid Argus never reads the diff | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L388 (under "04Where it fits next to the FINOS SDLC Common Controls")) | A negative statement repeated on the page; no artefact can show the absence of diff reading beyond the runner's design. |
| C-603 | For years companies spent between 23% and 35% of their IT budget on quality assurance and testing, according to Capgemini's World Quality Report, and testing was the part that got cut. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L397-399 (under "05What it costs")) | A third-party figure (Capgemini World Quality Report) cited without a link to the report on the publisher's surfaces; the inline link goes to /argus, which restates it. |
| C-604 | In one measured experiment, Claude Code built a feature for $1.01 to $1.97 a run, and OneDroid Argus as the independent tester cost one session of about $5.30 for the whole feature. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L401-403 (under "05What it costs")) | The case study gives means ($1.97, $1.01, $5.30 split as $1.77 per run, $1.01 + $1.77 = $2.78, consistent) but no per-run raw token or cost data is published. |
| C-605 | Its checks stay as regression checks for the next change. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L403 (under "05What it costs")) | The study says setup B ran 37 older checks as regression checks, with no run record published. |
| C-608 | Not a code reviewer. It never reads the diff. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L419 (under "06What it is not")) | A negative statement; nothing beyond the page backs the absence of diff reading. |
| C-610 | Not proof the builder never saw the tests. That is custody: a credential that cannot read a test, and an environment that does not hold one. The ledger proves priority, not that the builder never looked. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L423-425 (under "06What it is not")) | A stated limitation repeated across pages; it is a disclaimer with nothing further to evidence. |
| C-611 | Not a judgement of the architecture. A run can say whether the running system keeps what the architecture declares, not whether the architecture is a good one. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L426-427 (under "06What it is not")) | A stated limitation repeated in the study; nothing beyond the statement. |
| C-614 | You reach Michal Bacia and the team that builds the product, not a sales queue. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L442-443 (under "07How to start")) | A mailto address is given; who answers cannot be evidenced by an artefact. |
| C-615 | OneDroid Argus for financial services, October 2026. Figures are from the pages they link to, read 23 October 2026. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L447-448 (under "07How to start")) | A dating statement in the page footer; nothing beyond the statement itself shows when figures were read. |
| C-616 | FINOS and CALM are names that belong to their owners; OneDroid is not affiliated with FINOS or the CALM project. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L448-449 (under "07How to start")) | A trademark and non-affiliation disclaimer repeated on pages; nothing further to evidence. |
| C-617 | OneDroid Argus — built by Providentia Worldwide. | onedroid.ai/partners-financial-services (sources/partners-financial-services.html L463 (under "07How to start")) | The attribution to Providentia Worldwide appears on several pages; no registry or repository-owner artefact ties them. |
| C-619 | Two certified runs on one cluster the same day, and no capacity claim. | onedroid.ai/llms-full.txt (sources/llms-full.txt L3057 (PAGE /case-study-finos-calm; under "Does the guardrail hold on every path? Seven sealed checks against a FINOS CALM demo")) onedroid.ai/case-study-finos-calm.md (sources/case-study-finos-calm.md L22 (under "Does the guardrail hold on every path? Seven sealed checks against a FINOS CALM demo")) | Only one certified run's chain records are quoted; the earlier certified run and the absence of a capacity claim are restated. |
| C-620 | Every tool call is written to an event log you can query and export while the hub's activity logging is on (fail-open: a logging failure never blocks a call). | onedroid.ai/llms-full.txt (sources/llms-full.txt L4431 (PAGE /security; under "Append-only audit log")) onedroid.ai/security.md (sources/security.md L103 (under "Append-only audit log")) | Synapse's event log and fail-open behaviour are described on pages; no public Synapse code or sample export is available to back it. |
| C-622 | every invocation is written to the append-only audit log while the hub's activity logging is on | onedroid.ai/llms-full.txt (sources/llms-full.txt L6267-6268 (PAGE /privacy; under "Security")) onedroid.ai/privacy.md (sources/privacy.md L172-173 (under "Security")) | The append-only audit log is described on several pages with no public code or log sample. |
| C-623 | These are the two ways to start Argus; the site's three uses (holdout acceptance, under load, continuous) all run through them. | docs.onedroid.ai/argus (sources/argus-docs.html L149 (under "The two ways to start a run")) docs.onedroid.ai/argus.md (sources/argus-docs.md L95 (under "The two ways to start a run")) | A documentation framing statement; nothing beyond the docs page backs the mapping of three uses onto two starts. |
| C-626 | In one measured experiment, Claude Code built a feature for $1.01 to $1.97 a run, and the independent tester's session, which wrote the checks once for the whole feature, cost about $5.30 | onedroid.ai/llms-full.txt (sources/llms-full.txt L2574-2576 (PAGE /argus; under "Testing was the part teams could skip. Not any more.")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5158-5160 (PAGE /kit; under "Testing: OneDroid Argus")) onedroid.ai/argus.md (sources/argus.md L62-64 (under "Testing was the part teams could skip. Not any more.")) | The study publishes means whose arithmetic is consistent ($5.30 / 3 = $1.77) but no per-run raw data or session logs. |
| C-627 | It is the evaluation environment: for testing, with no promise that data is kept, so keep production data out of it. | onedroid.ai/llms-full.txt (sources/llms-full.txt L2716-2717 (PAGE /argus; under "MCP server")) onedroid.ai/llms-full.txt (sources/llms-full.txt L5245-5246 (PAGE /kit; under "Get an account and the CLI")) onedroid.ai/argus.md (sources/argus.md L204-205 (under "MCP server")) | An evaluation-environment disclaimer repeated on pages; nothing further to evidence. |
| C-629 | In a dark software factory, AI agents do the work, mission in and verified software out, and evidence, not the agents' word, decides what ships. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5122-5123 (PAGE /kit; under "The kit to build your")) | A definition of a dark software factory; nothing to evidence beyond the statement. |
| C-630 | It takes four parts. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5123 (PAGE /kit; under "The kit to build your")) | The /kit page lists four parts; the count is self-referential to the page with nothing beyond it. |
| C-631 | An agent that tests its own work tests its own reading of the ticket, and a model that can see its checker learns to satisfy the checker. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5147-5148 (PAGE /kit; under "Testing: OneDroid Argus")) | A general claim about agents repeated on pages, with no study or data published to back it. |
| C-634 | The checks stay as regression checks for the next change. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5155-5156 (PAGE /kit; under "Testing: OneDroid Argus")) | Re-use of checks as regression checks is stated, with no published run record. |
| C-637 | You connect the services you choose (Google Workspace, Atlassian, Slack and others), and your agents connect once. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5176-5177 (PAGE /kit; under "Eyes and hands: OneDroid Synapse")) | The connectors and single agent connection are described; no public connector catalogue or code backs it. |
| C-638 | Access exists only for accounts you connect, limited to the permissions you grant | onedroid.ai/llms-full.txt (sources/llms-full.txt L5177-5178 (PAGE /kit; under "Eyes and hands: OneDroid Synapse")) | A scoping statement with no public Synapse code or policy artefact. |
| C-639 | Versioned, permissioned memory in a Postgres you control with your own database, or one OneDroid hosts, searched by vector, keyword and graph at once, and reachable by any MCP client behind any model. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5193-5195 (PAGE /kit; under "Memory and context: OneDroid Engram")) | Only an auth-gated MCP endpoint is visible; versioning, permissions, Postgres storage and hybrid search are restated with no public code. |
| C-640 | What one agent wrote, the next one can find. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5195-5196 (PAGE /kit; under "Memory and context: OneDroid Engram")) | A capability statement with no public artefact. |
| C-641 | Every write is a commit: diff any two versions, or restore a previous one in one call. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5196-5197 (PAGE /kit; under "Memory and context: OneDroid Engram")) | Diff and restore are described; no public Engram code or API reference artefact was found in the saved sources. |
| C-642 | Included with a Synapse account, and it runs on its own too. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5199-5200 (PAGE /kit; under "Memory and context: OneDroid Engram")) | A packaging statement with no artefact. |
| C-643 | Parts 1 to 3 are tools. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5207 (PAGE /kit; under "The method: the Dark Factory kits")) | A framing statement about the kit's parts; nothing to evidence. |
| C-645 | Agent: do the parts in order. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5231 (PAGE /kit; under "The steps, in the same order, each with its check.")) | An instruction to the agent; nothing to evidence beyond the page. |
| C-646 | Where a step links to a runbook, the runbook wins over this summary if the two ever disagree. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5234-5235 (PAGE /kit; under "The steps, in the same order, each with its check.")) | A precedence instruction on the page; nothing to evidence. |
| C-649 | The session that writes the checks is never the session that writes the code. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5262 (PAGE /kit; under "Keep the tester and the builder apart")) | A conduct rule for setup; the credential split supports it but session separation is practice, not an artefact. |
| C-652 | The token is shown once. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5278 (PAGE /kit; under "Create a hub and connect the agent")) | A UI behaviour stated on the page; checking it needs a signed-in session, which is out of bounds. |
| C-653 | Check: `claude mcp list` shows `synapse … ✓ Connected`. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5287 (PAGE /kit; under "Create a hub and connect the agent")) | An expected CLI output stated on the page; no transcript artefact. |
| C-654 | Enabling a service on the hub and saving the human's login for it are two different actions, and only the second lets the agent call anything: if the agent connects and sees no tools, this is why. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5288-5290 (PAGE /kit; under "Create a hub and connect the agent")) | A behaviour of the Synapse hub stated on the page; no public code or docs artefact backs it. |
| C-656 | Check: the write returns an object id, and the search returns that object. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5305 (PAGE /kit; under "Write one thing, search it back")) | An expected tool result stated on the page; checking it needs a token. |
| C-658 | That is why the kit starts there. | onedroid.ai/llms-full.txt (sources/llms-full.txt L5461-5462 (PAGE /kit; under "Testing first. Always.")) | A design rationale; nothing to evidence beyond the statement. |
| C-659 | OpenAI computes the search embeddings before they are stored | onedroid.ai/llms-full.txt (sources/llms-full.txt L5668 (PAGE /pricing; under "Hosted, any team size")) onedroid.ai/pricing.md (sources/pricing.md L73 (under "Hosted, any team size")) | The OpenAI embedding provider is named consistently on pricing, privacy and security pages, but no code or subprocessor artefact beyond those statements. |
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-28.
| Source | HTTP | sha256 as fetched |
|---|---|---|
| https://onedroid.ai/llms-full.txt | 200 | 438bd468b1521d59bb70df4b3030a603a0baab5605811051931327ae5d4335e9 |
| https://onedroid.ai/llms.txt | 200 | ad48a7a9a2878dea8d29692880f6914f3faf713831ca8654851ec6e8ae5628ba |
| https://onedroid.ai/argus.md | 200 | 06622cdd5aaf051f2c23b2f0e088e4a19286796afc7b80ed37f4f6db82138164 |
| https://onedroid.ai/pricing.md | 200 | b88799fe62dd101fd7f01e7b7b1557cf9fc470894af05f4fef90c71b05a938e0 |
| https://raw.githubusercontent.com/OneDro1d/argus-runner/main/README.md | 200 | 1c7c100e35078b36c7a4fa26aa7c85c718a38c7749354fcf88c6f2298143da3a |
| https://docs.onedroid.ai/argus-quickstart | 200 | 92ec3bb9c0ab65930d77462e092914bee14425ef3805a5becdf6a601376e5121 |
| https://docs.onedroid.ai/argus-quickstart.md | 200 | 01bc06254c0db57308743ea60288083a07e7e5b65bd547c4b8832304980bdf45 |
| https://docs.onedroid.ai/argus | 200 | c54d733672965cbe7eae8bdb13603bccfb84a187ebe428e550cac25bd53f6737 |
| https://docs.onedroid.ai/argus.md | 200 | e7dddb401cc4704d34db08fe46511337caaf32db52f2bb40aafad147ae24caaf |
| https://api.github.com/repos/OneDro1d/argus-runner | 200 | 5b325142344956685cd6761104e7cbc86b9c59d98aa334eb1456d3bf0d62e402 |
| https://onedroid.ai/financial-services.md | 200 | bf5f65ab6d90ab903b5b8d1f0a80cd76c1ad39567805d4af02ffdbc1d4c44736 |
| https://onedroid.ai/partners-financial-services | 200 | ef99721f1d8b0ed24bb37d695f5c7d40ca717cdce6e0af8426f63d6700cb09f8 |
| https://onedroid.ai/case-study-otrs-znuny.md | 200 | e9966ee1d1853426059debae0d6716339570d7985aa92b38fe7412ef4b0cc3f1 |
| https://onedroid.ai/case-study-finos-calm.md | 200 | 2be4d1e800561c3390e459f5747e0d751c872bcb198c716670f23de2d69c8174 |
| https://onedroid.ai/case-study-claude-code-alone-vs-tester.md | 200 | 9460e1e86dd10217bf8eb41a39092de9e44c5478849b6bc8ce9176e01cbf104b |
| https://onedroid.ai/case-study-modernization-three-setups.md | 200 | 470dbaccd8f65b5d2b22d5284ce0afa7a426ec3b6aa65c2f19925dcb29008390 |
| https://onedroid.ai/case-study-code-vs-user-guide.md | 200 | b9dea8f599f6ad1f42bf9f4dd2d2d9d63ba7e07f23b24bb13734dba9d2642461 |
| https://onedroid.ai/security.md | 200 | 08b2a6382ad393864b405eab5cac62c30532471d151bdfb02291c0f240caef3f |
| https://onedroid.ai/privacy.md | 200 | 5fbcd6f0e1bf80d3290aba6b18b8f6dc2e7f3a4fe1b4a1c7b12dd73443e35b5f |
| https://onedroid.ai/changelog.md | 200 | 9020dbf8e2f1e79f6c8d977e00f176617b7c8a2ddfc2393efe4d48deb16b329f |