FrankenSuite research program · A shareable brief

FrankenAgentDetection A Librarian for the AI Coding-Agent Zoo

A shareable brief from the FrankenSuite research program. Every claim below traces to the assessed repository; sources are linked at the end. Assessment pinned September 22, 2026.

Assessment pinned September 22, 2026 (the assessed commit)·~1,240 words·5 sections·Every claim traceable to a source
Six definitions. NODUS is the program’s four-ring verdict scale (Invest, Pilot, Explore, Monitor) assigned per assessment packet. TRL is technology readiness level, scored 1 to 9 per packet. CI is continuous integration: the project’s automated test runs. The pin is the exact commit the assessment froze on; every claim is evaluated at the pin, not at HEAD. The rider is the license clause withholding all rights, including benchmarking and analysis, from OpenAI, Anthropic, their affiliates, and anyone acting for them. Bus factor is how many people can leave before the project stalls; it is 1 for every repo here.

01 · What it is

What it answers, and why it matters

This one breaks the FrankenSuite pattern: it is not a rewrite of an incumbent. It is not a rewrite of an incumbent — the packet's competitors audit found no direct occupant of the transcript-normalization lane.

The problem is the zoo. Dozens of AI coding agents now compete for your terminal: Claude Code, Codex, Cursor, Gemini CLI, Copilot, OpenCode, and Meta's Muse Code, described in the project's own module docs as new as of August 2026. Each one keeps a diary of your sessions (prompts, tool calls, edits) in its own private format, scattered across your machine: JSONL rollouts under ~/.codex, SQLite databases for Cursor, an AES-256-GCM-encrypted archive for ChatGPT Desktop. The vendors ship these formats without stable public documentation or versioning.

Every tool that wants to do something useful across agents (search your past sessions for a fix you found last month, build a usage dashboard, orchestrate several agents at once) must answer "which agents are installed, and where do they keep their sessions?" Every tool answers it ad hoc: a which codex here, a check for ~/.codex there. That works until it doesn't. Formats drift, checks rot, and the same bugs repeat in every project.

It matters because agent session history is turning into institutional memory. The maintainer's own CASS tool, a unified search engine over 20-plus agents' local histories with over 1,100 GitHub stars, exists because developers want to query what they and their agents have done. But CASS needed someone to maintain the ugly mapping layer underneath. That layer is this library.

02 · Why build it

Why build it in Rust?

The maintainer's stated case is modest, and the modesty is the point. His README frames four design goals: one stable, JSON-serializable report shape that downstream tools and snapshot tests can rely on; explicit behavior, where unknown agent names are errors rather than guesses and nothing is configured through environment variables; local-only operation, with filesystem probes and no network ever; and runtime neutrality, a synchronous API with no async runtime. The always-on dependency list is four crates, so the library is cheap to adopt and expensive only if you opt into the heavy features.

Underneath the modesty sits the engineering case: Rust is the right material for a library whose whole pitch is "cheap to depend on." No garbage collector, no runtime to initialize, no network stack: a tool links it and calls one function. The memory-safety story matters too, because the connectors parse untrusted-shaped inputs: half-documented vendor formats and encrypted stores.

The counter-argument comes in three parts, and the maintainer doesn't fully answer it. The connector zoo is a treadmill: new agents appear monthly, and every vendor dot-release can silently change a store format. Meta's Muse Code had a connector by the September assessment, within weeks of its August 5 launch, which shows the treadmill is currently being run, not that it ends. The deeper bet is unproven: that the normalized transcript schema becomes the interchange format for agent sessions, when the only evidenced consumer is the maintainer's own CASS. source And the kill test: if vendors ever ship stable, signed session-export APIs, or operating systems grow an agent registry, the whole filesystem-probe-and-reverse-engineer approach becomes legacy overnight.

03 · What was built

What the project actually built

One person built about 61,000 lines of Rust in a single crate, published on crates.io at version 0.3.0 in September 2026, with roughly 21,000 downloads to date. It knows 34 agent slugs and ships 32 scan connectors that normalize each agent's transcripts into one stable schema: a NormalizedConversation carrying messages, tool invocations, token usage, and per-artifact provenance recording which store each artifact came from. Zero unsafe code, under a crate-wide forbid. Around 1,200 tests.

More interesting than the scale is the evidence discipline. Four internal tables (the slug registry, the probe-root table, the alias map, the connector factory) must agree exactly. Add a connector and forget one table, and the build fails: a mechanical answer to drift. Checked-in transcript fixtures from real agents carry validators that fail on schema drift, an early-warning canary for upstream format changes. Landed parser refactors are kept as checked-in patch files with notes like "verified in 33/61 sampled files," so the reasoning survives next to the code. Scans run under budgets: a 100 MB cap, per-connector root scoping, discover-before-parse semantics. A coherent discipline for touching users' data directories without surprises. And one connector decrypts ChatGPT Desktop's encrypted conversation stores — a capability worth noting in a library whose README claims it does "installation detection only.

Evidence · CI status

What the project’s own CI said at the pin

  • At the assessed commit, the main CI (continuous integration: automated checks that run on every change) job was red.

The uncomfortable findings

Uncomfortable finding

It documents only the detection API, about a tenth of the crate, and its "Limitations" line ("Installation detection only; no session parsing or indexing") is flatly contradicted by the code it ships beside. The CHANGELOG carries an admirable "do not invent releases" block that itself has a blind spot: it denies a version that crates.io shows as real and published: 0.1.8, May 2026, with nearly 4,000 downloads (verified against the crates.io API for this brief).

Uncomfortable finding

It died at the cargo fmt formatting gate before a single one of the 1,200 tests executed. A smaller 7-test job was green at the pin (the commit the assessment was pinned to), which bounds the doubt without removing it. And those 21,000 downloads are distribution, not adoption: crates.io lists no reverse-dependents outside the maintainer's own projects. source

04 · Where it stands

Where it stands

In our program's terms: TRL 6, NODUS ring Pilot. In plain English, this is one of two repos with registry-scale distribution and a shipped downstream integration: published, versioned, downloadable, and integrated into a shipped tool people actually use. That is the bar for Pilot, and it clears it.

Technology readiness

TRL 6 on a 1-to-9 scale.

NODUS ring

MonitorExplorePilotInvest

The program’s adoption ring for this project.

Verdict key

NODUS ring
Pilot: A release artifact plus a bounded, real-workload fit.
TRL
Technology Readiness Level, a 1-to-9 scale of how proven a technology is. This brief rates the project at TRL 6.
CI
Continuous integration: the project’s automated checks, run on every change.
The pin
The exact commit the assessment was pinned to. “At the pin” means as of that commit.

Evidence tiers

  1. Tier 1 · Verified — Confirmed by direct inspection of a fresh clone, an API response, or a live page read by the analyst.
  2. Tier 2 · CI-observed — Observed executing on live CI pages. Attests the suite runs, not that it is green, unless pass/fail is legible.
  3. Tier 3 · Maintainer claim — Asserted in README or docs by the maintainer; not independently executed or reproduced.
  4. Tier 4 · External — Independent sources: APIs, papers, press, third-party benchmarks. Absence of coverage is reported as a finding.
  5. Tier 5 · Inference — The analyst’s judgment. Always labeled; never presented as fact.

What this verdict rests on. Tier labels are the assessment packet’s own annotations.

  • Tier 1 · Verified: 1,226 tests counted; release artifacts verified via the releases API.
  • Tier 2 · CI-observed: Main CI job red at the pin: it dies at the cargo fmt gate before any of the 1,226 tests executes; a smaller 7-test job ran green.
  • Tier 3 · Maintainer claim: The CASS integration and the download figure rest on docs and commit messages; no test or fixture was executed by the analyst.
  • Tier 4 · External: No independent production use beyond the documented CASS integration.
  • Tier 5 · Inference: The Pilot ring: published, versioned, downloadable, and integrated into a shipped tool.

Should you use it?

The detection API is a reasonable dependency.

Four crates, synchronous, no network, no unsafe. The connector layer is the powerful part and the risky part: it works today, against today's vendor formats, maintained by one person who explicitly refuses outside contributions.

Should you learn from it?

Yes.

The evidence discipline is strong and exportable. The registry-invariant test pattern, the fixture canary, the scan budgets, and the CHANGELOG discipline are all process technology that ports anywhere agents write code, and none of them depends on the agent zoo. source

What would change the verdict, in order

  1. the main CI suite observed green at a pinned commit, which is the necessary trust repair
  2. the README rewritten to document the connectors feature, which is the precondition for any outside consumer to discover the real product
  3. a second independent consumer, which would move it toward Invest.

One more structural fact helps: the license is the suite's only plain MIT, with no AI-lab rider and no restricted parties. source That is precisely what lets a tool like CASS, which indexes sessions from those labs' agents, depend on it.

05 · What it teaches

What this teaches about building with agents

The transferable lesson is the registry-invariant test.

Any system that maps a messy external world into clean internal categories ends up with several tables that must agree: slugs, paths, aliases, factories. They drift apart silently, and documentation does not fix drift. The README here is the proof. source What fixes it is making disagreement a build failure. Four tables, one test, zero tolerance. The crate fails its own build when a new connector forgets one table.

For anyone building with agents, the application is direct. Your agent will add the feature and forget the registry update, the migration, the docs. Do not ask it to remember. Encode the agreement as a test that breaks the build, and let the machine do the remembering. Here, governance is a test that fails the build when the tables disagree.

Evidence

This page cites selected evidence. The full claim-by-claim audit is in the assessment packet.

Open a panel to see what each source evidences. Full claim-by-claim audit.

Full claim-by-claim audit with evidence tiers lives in the program's assessment packet.

The repositorygithub.com/Dicklesworthstone/franken_agent_detection
README

its README

LICENSE

LICENSE

CHANGELOG

CHANGELOG, and connector registry at the assessed commit

the crates.io API record (v0.3.0 published ...

the crates.io API record (v0.3.0 published September 16, 2026

per-version download counts

per-version download counts

reverse-dependency list)

reverse-dependency list)

github.com/Dicklesworthstone/coding_agent_session_searchgithub.com/Dicklesworthstone/coding_agent_session_search
9to5mac.com9to5mac.com

Meta's Muse Code launch, August 5, 2026 (9to5mac.com).