Skip to content

Doric-builder/wireline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wireline

Find code that is BUILT but never WIRED.

AI coding agents have a signature failure: they write a module, it compiles, its unit tests pass, the diff looks great — and nothing in the running system ever calls it. The work exists; the feature doesn't. Humans do this too, but agents do it at scale, and every green checkmark on an unwired file is a lie about progress.

wireline is the CI gate for that lie. It walks your real entry points (CJS + ESM), computes what's provably reachable, and reports two different failure shapes:

  • built-not-wired — source files no entry point reaches: work nobody can use
  • missing / unwired declared boundaries — things your manifest says exist: promises nobody kept, or built parts nothing connects to
npm install -g wireline

wireline scan                # report unreachable source files
wireline check               # + declared boundaries; exit 1 on findings (CI gate)

Zero dependencies. Entry points come from package.json (main, bin, exports) plus a wireline.json config:

{
  "entries": ["server.js", "functions/index.js"],
  "declared": [
    { "name": "checkout API", "file": "src/api/checkout.js" },
    { "name": "invoice export", "file": "src/export/invoice.js" }
  ],
  "ignore": ["^legacy/"]
}

declared is the interesting half: after an AI agent builds a feature, add one line naming the boundary it promised. wireline check then distinguishes three states — ok (built and reachable), missing (spec'd, never built), unwired (built, unreachable). In an agent-driven workflow this is the difference between "the agent says done" and "done."

- run: npx wireline check     # fails the build when built ≠ wired

Honest scope

Static analysis of literal require/import specifiers. Files using dynamic specifiers (require(someVar)) are flagged opaque — their closure can't be proven, and wireline says so instead of pretending. Tests deliberately don't count as wiring (a test that exercises an orphan is how unwired code hides). JS/MJS/CJS today; no bundler-resolution, no path aliases (PRs welcome — the resolver is one small module). Best-effort maintenance; issues with a failing-test reproduction come first.

Where this comes from

Extracted from the Oversight layer of Doric, where an agent team builds software against a living spec and built-not-wired was our single most recurring failure — recurring enough that the production system gates "built" on reachability. The full story: doric.build/blog/wireline.

Sibling packages: keepline (context integrity for LLM sessions) · shipline (deploy only the Firebase functions your change affects) · plotline

About

Find code that is BUILT but never WIRED. Reachability analysis from real entry points + a declared-boundary check. The CI gate for AI-generated code that compiles, passes tests, and is never called.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors