How it works

Fed by the whole team. Read by every agent.

becos pools what each engineer works out with their agent into one shared record — then holds every teammate's agent answers to it. Below: where the record comes from, and the five things it does to an answer.

Where the record comes from

Every engineer's session writes it. Every engineer's agent reads it.

Each agent session — whichever tool, whoever is driving — leaves the decisions, dead ends and conventions it produced in the same team record. Nobody files it; nobody gets interrupted to explain it later.

@rhea · Claude Code
chose Postgres for billing; closed the event-bus spike
@dan · Cursor
made ledger retries idempotent after INC-204
@mara · Claude Code
moved token verification into the gateway for SSO
@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 “why is billing on Postgres?” — gets @rhea's reasoning, cited, without pinging anyone
any teammate's agent
picks up the retry convention @dan and @rhea already converged on

write path: every session  •  read path: every agent, scoped to your team

prompt from @sam (day 3) How should I handle a failed charge retry in the new endpoint?
Agent alone

Add a retry with exponential backoff — 3 attempts, then dead-letter. Re-run the charge each attempt.

generic; no idea the team already solved this
Agent + becos

Match the existing pattern: key ledger inserts on (invoice_id, attempt) so a replay is a no-op. @rhea's original loop double-charged in April (INC-204); @dan replaced it with idempotent writes. You're picking up a convention two people already landed on — don't reinvent it.

commit 91d77af · @danincident INC-204author @rhea

@sam wasn't on the team in April. The record was.

01

Grounds every claim

Each line of an answer has to be supported by something in the record. What isn't supported is dropped — and the agent tells you the record is silent, rather than filling the gap with a guess that reads just as confidently.

prompt What datastore does the search service use?
Agent alone

Most likely Elasticsearch — it's the common choice for a search service of this shape.

pattern-matched, not looked up
Agent + becos

OpenSearch 2.x. The service moved off Elasticsearch in 2025 on licensing and cost. If the record held nothing on the search service, becos would say so — not guess.

commit 7be1f02feature search-migration
prompt Switch the job queue to Redis to keep the stack simple.
Agent alone

Sure — swaps the SQS client for a Redis list-backed queue and updates the workers.

walks into a known failure
Agent + becos

Flagging this: the team moved off Redis queues in 2025 after messages were lost on a failover. SQS is the standard now — decision #infra-queue. Want to override it anyway?

decision #infra-queueincident INC-118
02

Catches contradictions

When a draft answer runs against a recorded decision, becos surfaces the decision that overrides it — with its date and rationale — before the answer reaches you. You can still override; you just do it knowingly.

03

Stays on your team

Only your tenant's record is ever in scope. The match set is filtered to a host-maintained allow-list and the tenant prefix is dropped before any result reaches the model — a cross-tenant hit is discarded and logged with no content.

 query scope
scope        team:vonic
allow-list   [ vonic/agent, vonic/web, vonic/infra ]
tenant prefix  dropped before the model sees a result
cross-tenant match  → discarded, logged content-free
prompt What's the outbound request timeout?
Agent alone

30 seconds — per the comment in api/config.py.

quotes a value that changed
Agent + becos

8 seconds, since the June 2026 latency work. The 30s in the api/config.py comment is stale — the record marks it superseded on 2026‑06‑19.

commit e4a7d31superseded 2026-06-19
04

Knows what's current

Facts carry a lifecycle. A value that was replaced is returned as replaced, with the date and the thing that replaced it; a fact still being written, or one whose write failed, is never handed back as settled truth.

05

Every fact resolves

A citation isn't a footnote you take on faith. Ask becos to resolve it and it returns the stored commit or message verbatim — no summarisation, no model call in the path. You check the source, you don't trust the summary.

recalled “idempotent ledger retries, added 2026-05-06”
Resolve the citation

The recalled fact says retry handling was made idempotent. Pull the exact source it was built from.

A longer look

More of the same, on ordinary questions

None of these need a special prompt. They're the questions that come up mid-task, where a confident wrong answer costs the most.

prompt Where do we verify the auth token?
Agent alone

Probably in an auth middleware — try middleware/auth.py or a decorator on the route handlers.

guessed location
Agent + becos

gateway/session.py — verification was pulled out of the app into the gateway during the SSO work so every service shares one path. Owned by @rhea.

commit b0c41d9feature sso
prompt Is there a feature flag for the new checkout I can delete?
Agent alone

Yes — new_checkout looks unused in the code, safe to remove along with its branches.

no view of rollout state
Agent + becos

Hold off. new_checkout is still at 40% in production per the 2026‑08‑22 rollout note; full cut-over is gated on the fraud-review sign-off, which is open.

decision #checkout-rolloutnote 2026-08-22
prompt Which migration has to run before 041?
Agent alone

Migrations usually run in numeric order, so 040 runs before 041.

generic, not checked
Agent + becos

039 — it adds the invoices.status column that 041's backfill reads. 040 is unrelated (a web-repo index) and was renumbered out of order in the PR.

commit a7f3c9ecommit 5510e8b
prompt Who should review a change to the payments code?
Agent alone

Whoever owns that service — check the CODEOWNERS file or recent commit authors.

points you back at the question
Agent + becos

@rhea wrote the ledger and @dan did the idempotency work — between them they authored 80% of services/billing in the last year. Both are on the billing-ledger feature.

author @rheaauthor @danfeature billing-ledger

See it on your codebase

Connect one repo and ask your agent a question you'd normally have to interrupt someone for.

Get started