Grounded, cited answers — scoped to your team

Your coding agent stops guessing about your codebase.

becos keeps your team's decisions, conventions and history as one shared record, and holds every agent answer to it. When the record has the answer, the agent gives it — with the commit or message it came from. When it doesn't, the agent says so instead of inventing one.

prompt Why is billing on Postgres and not the event bus?
Agent alone

Probably for ACID guarantees, and because the team already runs Postgres. It likely also cuts the operational overhead of maintaining a message broker.

plausible — not grounded in your history
Agent + becos

Invoice and ledger rows are written in one transaction, so a partial write can't leave billing inconsistent. The event-bus design was prototyped on spike/event-bus-billing and dropped — it needed a reconciler for partial writes.

#eng-billing
What the memory does

How becos shapes an answer

The record isn't a bigger prompt. It changes what the agent is allowed to say and how sure it gets to sound.

Grounds every claim

An answer is held to what the record supports. Lines becos can't back are dropped, not guessed — the agent tells you the record is silent instead.

Catches contradictions

A draft answer that conflicts with a recorded decision is flagged against the decision that overrides it, before it reaches you.

Stays on your team

Only your team's record is in play. Isolation is structural — another team's history can't leak into your agent's context.

Knows what's current

Superseded values are marked superseded; a pending or failed fact is never handed back as settled truth.

Every fact resolves

Click any citation and becos returns the exact commit or message it came from — verbatim, with no model in the loop.

Answers who & why

Repos, branches, features and authors are linked entities, so “who owns this, and why is it built this way” resolves against structure.

Built by the team, for the team

One engineer works it out — everyone's agent knows it

becos collates what each person figures out with their agent into one shared record, then feeds it back to every teammate's agent — whichever tool they use.

@rhea · Claude Code
chose Postgres for billing; closed the event-bus spike
@dan · Cursor
made ledger retries idempotent after INC-204
@kai · opencode
set per-tenant rate limits after the Q1 abuse spike
becos
team:vonic
one record · tenant-isolated · every fact cited
@sam · joined this week
asks a “why” and gets @rhea's reasoning, cited, without pinging anyone
any teammate's agent
picks up the convention @dan and @rhea already landed on

See how becos takes feed from every team member →

Before / after

Sharper answers, across the work

Same model, same prompt. The difference is whether it can see what your team already decided.

prompt Add retry logic to the invoice webhook handler.
Agent alone

Wraps the handler in a 3-attempt loop with exponential backoff and re-runs the full charge on each retry.

reintroduces a pattern your team removed
Agent + becos

Keys ledger inserts on (invoice_id, attempt) so a replayed webhook is a no-op. A naive retry loop caused a double-charge in April 2026 and was deliberately replaced with idempotent writes.

commit 91d77afincident INC-204
prompt Where is rate limiting handled?
Agent alone

Most likely in middleware/rate_limit.py, or configured at the API gateway.

path guessed — that file doesn't exist
Agent + becos

gateway/throttle.py, added by @dan after the Q1 credential-stuffing spike. Limits are per-tenant; the values live in deploy/limits.yaml.

commit 3d90c14author @dan
prompt Can I drop the legacy_users table?
Agent alone

Yes — if nothing in the codebase references it and you've taken a backup, it's safe to drop.

misses a live dependency
Agent + becos

Not yet. auth/migrate.py still backfills from legacy_users on login until the SSO cutover — scheduled for Q3 2026 and not done. Dropping it now breaks first-login for un-migrated accounts.

commit c22f8abdecision #arch-sso

More examples, and how the grounding works →

Why it matters

Adoption outran trust

Agents are everywhere; confidence in what they output isn't. Holding answers to a checkable team record is how that gap closes.

97%
of teams use AI coding assistants
~30%
have a fully-governed approach to them
29%
of developers trust AI output accuracy
Aug 2026
EU AI Act broad enforcement begins

Sources: Black Duck / UserEvidence 2026 (831 engineers) · Stack Overflow 2025 Developer Survey · EU AI Act implementation timeline. Cite primary reports before external use.

The model behind the answers

A knowledge graph of your repos, not a pile of notes

becos keeps repositories, branches, features and authors as linked entities with rename-safe identity — so a question about ownership or history resolves against structure, not a keyword match.

repository
vonic/agent
— contains →
branch
main
— part_of →
feature
billing-ledger
— worked_on →
author
@rhea
— contributes_to
Agent alone vs. agent + becos

What changes in the answers

Agent aloneAgent + becos
A “why” questionA plausible guess with no sourceThe recorded reason, dated and cited
Your conventionsReinvents patterns you've already droppedUses the established pattern, and the incident that set it
Files & ownersMay name a path that doesn't existThe real module and who owns it
Risky changesConfident “yes”Surfaces what still depends on it
Past decisionsForgotten between sessionsDecision, author, date, and whether it's still current
As the team growsMemory is per-session, per-laptopOne shared record every agent reads
On the roadmap

Where the grounding goes next

Today becos grounds answers in what's true now. Two capabilities are in active design.

Coming — not shipped

Decision archaeology

Ask what the answer would have been six months ago. becos reconstructs the state of a decision at any past date — not just its latest value — over a ledger that already carries valid-time.

Coming — not shipped

Layered recall

Broad, cheap triage first; full cited evidence pulled only for the facts that survive — so grounding stays fast even over a long history.

Give your agents the memory your team already has

Connect one repo, point your agents at it, and ask the “why” question you'd normally have to walk over to someone for.

Get started