06A // COMPETITION FIELD REPORT

OUR SO-CALLED
COMPETITION.

GBrain is what happens when a second brain asks for a platform team. Vagus is what happens when a search tool refuses to become your employer.

BEFORE THE TRASH TALK

PIN THE CODE.
STATE THE CAVEAT.

VAGUS260c23av0.13.0
GBRAINb99f4c8v0.46.24.0

This is not a retrieval benchmark. Compared from pinned repository snapshots on 2026-08-20. Source was inspected; GBrain was installed and initialized in a clean Linux/arm64 container. Times and sizes are one measured run. Scale and quality figures remain project-reported.

COMMON ANCESTRY

YES, THEY
RHYME.

01

MARKDOWN SURVIVES.

Both keep human-readable Markdown in the durable story and derive search machinery around it.

02

WORDS + MEANING.

Both combine lexical and semantic retrieval instead of pretending embeddings replaced exact terms.

03

RRF, NOT VIBES.

Both use reciprocal-rank fusion to let independent retrieval paths vote.

04

LOCAL IS REAL.

Vagus is local by contract. GBrain also has an embedded PGLite, no-server path.

05

AGENTS INVITED.

Both are built to be called by coding agents, not admired as another notes dashboard.

06

INDEXES ARE DERIVED.

Neither requires surrendering every memory to an opaque hosted-only database.

EXHIBIT 00 // WE INSTALLED IT

COUNT THE ASSETS.
THEN COUNT THE YEARS.

MEASURED // 01

39.72 SECONDS.

Documented GitHub install on Bun 1.4.0, excluding the 4.45-second base-image pull.

MEASURED // 02

188 PACKAGES.

Bun's own install report. The resulting dependency tree contained 220 package manifests.

MEASURED // 03

357 MB.

Physical writable-container growth after install. Bun hardlinks its cache and global tree.

MEASURED // 04

43.7 MB.

An empty PGLite brain after keyless initialization—before the first remembered page.

MEASURED // 05

15,737 FILES.

Files in the global install tree: source, tests, docs, skills, WASM, SDKs, codecs, and dependencies.

MEASURED // 06

127 MIGRATIONS.

Applied by gbrain init --pglite --no-embedding in 9.79 seconds.

Measured installation and update surface for Vagus and GBrain
BillVagusGBrainWhat survives year five
Distribution15.34 MB compressed macOS release; 46.34 MB native binary; six Homebrew cellar files; zero formula dependencies.Documented Bun install produced a 336.6 MB logical node_modules tree. The package itself was 119.4 MB.One checksum-pinned artifact versus a runtime, package graph, and source tree. Both still need maintainers.
First statevagus init --icloud took 0.29 seconds in a synthetic clean home: five directories, one symlink, zero regular-file bytes.Keyless PGLite init took 9.79 seconds and created a 43.7 MB empty database after 127 migrations.A folder convention ages differently from a database schema history.
Model assetsFirst semantic index downloads 1.256 GB measured. Reranker + smart rewrite bring a fully populated local cache to 2.704 GB.Measured keyless init downloaded zero model weights. Semantic and synthesis paths can use hosted or configured local providers.Vagus owns a large local cache. GBrain owns provider contracts—or your local-provider stack.
Upgrade surfacebrew update && brew upgrade vagus; rebuildable index formats and model identities still need migration care.Bun or binary updates, database migrations, two engine behaviors, schema packs, 23 provider recipes, and copied skill assets.The package manager is the easy part. State and integrations are the annuity.

ALTERNATIVE DISTRIBUTION EXISTS: GBrain can compile. Its pinned release shipped a 143.8 MB macOS arm64 executable and a 181.9 MB Linux x64 executable, bypassing the measured source-install tree. Compilation changes the packaging bill; it does not erase migrations, providers, or operational scope.

THEN THE ARCHITECTURE SPOKE

SAME ANIMAL.
DIFFERENT ZONING.

BLUE CORNER // RUSTVAGUSRETRIEVAL REFLEX

Search your notes. Return evidence. Exit.

  • PARA Markdown vault
  • SQLite + Tantivy + usearch
  • local embedding + optional local rerank/rewrite
  • no resident service, no cloud call
THE RESTRAINT IS THE FEATURE.
RED CORNER // TYPESCRIPT + BUNGBRAINMEMORY OPERATING SYSTEM

Ingest the world. Graph it. Synthesize it. Schedule it. Serve it. Authorize it. Repeat overnight.

  • PGLite or Postgres + pgvector
  • typed graph + schema packs
  • LLM synthesis + gap analysis
  • jobs, OAuth, teams, remote MCP
THE AMBITION IS THE FEATURE.

EXHIBIT A

PUT THE TRADEOFFS
UNDER OATH.

Architectural comparison of Vagus and GBrain
QuestionVagusGBrainWhat it costs
Job descriptionPersonal PARA retrieval and assisted filing.Personal/company memory spanning ingestion, graph, synthesis, jobs, identity, and access.One is a tool. One is a platform wearing a CLI.
ImplementationRust; a self-contained binary with no versioned runtime.TypeScript/Bun source with a documented compile-to-executable path.“But JavaScript” is the lazy joke. Surface area is the serious one.
Source of truthMarkdown vault first; search projections are rebuildable. Usage provenance is the named exception.Markdown/Git brain repo can stay canonical; PGLite/Postgres carries retrieval and operational state.Both let you own files. Only one grows a database contract into a product category.
Process modelIndex, search, return, disappear. No daemon in any Vagus tier.Local PGLite and stdio can run without a DB server; the marquee dream-cycle deployment is explicitly 24/7.“Always a daemon” is false. “The full promise wants infrastructure” is not.
RetrievalBM25 + vectors → fixed unweighted RRF; exact oracle, optional local reranker, reproducible qrels.Hybrid RRF plus graph recall, aliases, intent/source boosts, reranking, dedup, and token policy.Inspectable restraint versus a much richer ranking machine.
ModelsLocal after download. Base embedder is about 1.23 GB; optional models add more disk and RAM.Keyword search can be keyless; semantic and synthesis paths can use hosted or local providers.Vagus sends a hardware invoice. GBrain may send a provider and operations invoice.
OrganizationFixed PARA, with filing proposed by an agent and approved by a human.Schema packs, typed edges, multiple sources and brains, agent-shaped evolution.A strong opinion versus a programmable ontology.
CollaborationA deliberately personal, per-machine index.Team brains, OAuth scopes, federated reads, Postgres, and remote MCP.If access control is the problem, Vagus is not even applying for the job.
Answer shapeReturns evidence; the host agent reads and answers.think synthesizes an answer with citations and explicit gaps.A clean retrieval boundary versus an integrated reasoning layer.

RUST VS TYPESCRIPT

RUST DIDN'T WIN
BECAUSE RUST.

It won this architectural argument because Vagus knew when to stop.

TypeScript didn't lose. It was asked to staff a database, MCP server, OAuth surface, schema system, job queue, provider gateway, admin UI, and a dream cycle.

THAT ISN'T A LANGUAGE CHOICE. THAT'S A ZONING DECISION.
VAGUS // DEFAULT$ vagus search "what did we decide?"
→ evidence returned
$ pgrep -x vagus
[ exit 1 ]
GBRAIN // FULL PLATFORM LANE$ gbrain serve --http
→ MCP + OAuth + admin
$ gbrain autopilot --install
[ dream cycle scheduled ]

FAIRNESS INTERRUPT: GBrain can run locally, keyless, with PGLite and stdio. We checked. Its serious advantages—shared access, continuous enrichment, durable jobs, remote brains—simply live beyond that minimal lane.

CVE ACCOUNTING // NO CREATIVE MATH

COUNT THE ALERTS.
DON'T LAUNDER THEM.

CONTAINER // 80 IDS

Trivy found 80 unique advisory IDs in the measured image: 76 CVEs plus four Debian temporary IDs. Every one was already present in the untouched Bun base image.

GBRAIN APP // 0 TODAY

Trivy's Node-package target reported zero findings, and bun audit returned an empty object. That is a point-in-time result, not a lifetime warranty.

VAGUS LOCK // 2 TODAY

cargo audit found RUSTSEC-2026-0204 and RUSTSEC-2026-0258 in Vagus's 512-package lock plus five informational warnings. A native binary is not a dependency-free halo.

THE HONEST CONCLUSION: Container operators inherit a base-image patch queue before application code arrives. GBrain's JavaScript graph was clean in this snapshot; Vagus's Rust lock was not. The stronger case for Vagus is a smaller installed and operational surface—not fake immunity from dependency work.

THE LONG MAINTENANCE

YEAR FIVE IS
AN ARCHITECTURE.

RUNTIME LAYER // VERIFIED

Today's source install binds Bun ≥1.3.10 to 188 resolved packages. Binary self-update covers macOS arm64 and Linux x64; source, linked, and compiled installs have different update owners.

STATE LAYER // VERIFIED

127 migrations ran in the empty PGLite brain. Long-term tests must preserve PGLite/Postgres parity, schema packs, pooled database behavior, durable jobs, OAuth, and recovery.

EXTERNAL LAYER // VERIFIED

Twenty-three provider recipes and 69 bundled skills track APIs, models, auth, pricing, deprecations, routing, copied user assets, and the inevitable provider funeral.

VAGUS DOES NOT ESCAPE TIME: it still carries 512 locked Rust packages, ONNX Runtime, C++ search code, Metal paths, mutable model repositories, index formats, and a manually advanced Homebrew tap. Its advantage is the smaller contract users must operate—not a maintenance-free source tree.

NO STRAW MEN ALLOWED

GIVE GBRAIN
ITS DUE.

01 // RANGE

Typed graph traversal, cited synthesis, gap analysis, schemas, and durable jobs are real capabilities Vagus does not pretend to replace.

02 // DEPLOYMENT

GBrain supports embedded local use, compiled executables, and serious Postgres-backed team deployments without abandoning Markdown/Git ownership.

03 // SCALE CLAIM

Its README reports 155,795 production pages and 66 autonomous cron jobs. That is project-reported—not independent, not a Vagus comparison, and still not nothing.

THE RULING

CHOOSE YOUR
INVOICE.

CHOOSE GBRAIN IF…

YOU NEED A BRAIN
WITH STAFF.

You need a typed organizational graph, shared brains, access control, continuous ingestion, synthesized answers, and jobs that survive the chat session.

PAY IN SERVICES, SCHEMA, PROVIDERS, AND OPERATIONS.
CHOOSE VAGUS IF…

YOU NEED YOUR BRAIN
TO ANSWER AND EXIT.

Your notes already live in Markdown. You want local hybrid recall, explicit PARA, human-approved filing, and no resident system waiting to become a lifestyle.

PAY IN MODEL DOWNLOADS, LOCAL RAM, AND NARROWER AMBITION.

OUR SO-CALLED COMPETITION?

IT ISN'T.

GBrain is a memory operating system. Vagus is a retrieval reflex. If you need the former, Vagus was never bidding. If you need the latter, why are you hiring infrastructure?

PINNED EVIDENCE

DON'T TRUST THE COPY.
READ THE CODE.

  1. V01
    Vagus local/offline, no-daemon, Markdown-authority, Rust runtime contract ↗design/requirements.md // pinned
  2. V02
    Vagus feature and architecture overview ↗README.md // pinned
  3. V03
    Vagus model footprint disclosure ↗README.md // pinned
  4. V04
    Vagus RRF implementation ↗src/search.rs // pinned
  5. V05
    Vagus Homebrew formula: one executable, no formula dependencies ↗Formula/vagus.rb // pinned
  6. V06
    Vagus locked Rust dependency graph ↗Cargo.lock // pinned // audit is point-in-time
  7. V07
    Vagus v0.13.0 release archives and checksums ↗GitHub release // observed asset metadata
  8. G01
    GBrain production, graph, benchmark, and daemon claims ↗README.md // project-reported // pinned
  9. G02
    GBrain local PGLite and keyless path ↗README.md // pinned
  10. G03
    GBrain Bun compile scripts ↗package.json // pinned
  11. G04
    GBrain search versus synthesized think ↗README.md // pinned
  12. G05
    GBrain hybrid + graph retrieval pipeline ↗docs/architecture/RETRIEVAL.md // pinned
  13. G06
    GBrain capabilities, engines, and Markdown/Git source of truth ↗README.md // pinned
  14. G07
    GBrain's documented headless Bun + PGLite install paths ↗docs/operations/headless-install.md // pinned
  15. G08
    GBrain runtime dependencies, overrides, trusted script, and Bun engine ↗package.json // pinned
  16. G09
    GBrain migration registry and dual-engine migration machinery ↗src/core/migrate.ts // pinned
  17. G10
    GBrain v0.46.24.0 compiled release assets ↗GitHub release // observed asset metadata

Lab snapshot: Docker Server 29.2.1; oven/bun:1 digest sha256:5ff609…; Bun 1.4.0; Trivy 0.74.0. Sizes are decimal bytes rendered as MB/GB. Scanner counts were deduplicated by advisory ID. Snapshot claims can age; pinned source cannot quietly move the goalposts.

Different opponent. Much closer bloodline.

read Vagus vs QMD →