The old bees feed the young ones with pollen.
A persistent memory of your own organization and of every organization you work with — in one graph, kept as evidence.
a normal Tuesday
Not because she wouldn't tell anyone — because there was nowhere to put it that outlived the deal, the thread, or her inbox.
Every company has a Maria. And every company pays for her twice: once to learn it, and once to learn it again.
what Maria knew
who really decides · what the works council blocks · why the 2023 pilot died · who signs · who was burned before
what is left in March
two facts survive, both in somebody's inbox
not a CRM · not a wiki · not a chatbot
inside the hive
One language for the people who use it, one for the people who read the code. The glossary maps them, so nothing has two names at once.
Your organization. The hive exists for it.
Your own organization — the inside.
The organizations you work with — the outside.
Everything you send arrives at one door.
They check every knock. Nobody gets a pass.
They fly out to fetch: mailboxes, calendars, APIs.
Raw information: mail, chats, calls, files.
Turning nectar into structured records.
Your storage: one cell per fact, sealed, labelled.
The knowledge that makes people grow.
The outcome: revenue won.
Showing the others where the good stuff is.
one graph, both sides
who, when, from where
Every arrival carries a card that the system fills in itself, so it can never be missing — even when nobody understood the content yet.
Two dates, because “when it arrived” and “when it happened” are not the same. Two people, because the messenger is not the source.
evidence · arrival 4f2c…9a
the front door
The original goes to disk, under its hash — unless that exact file is already there.
The evidence card is written and committed.
“Got it.” This is the safe moment.
“Process this” goes on the queue. If that step dies, a timer finds the original anyway.
they knock · push
A webhook, a forwarded mail, an upload, a calendar invite.
beehave holds no credentials for the source — it only checks who knocks.
If the door is down, the sender may never retry.
→ an external instance is the physical boundary: no path from it to anything internal
beehave knocks · pull
A mailbox, a calendar, an API, the shared public base.
beehave holds the credentials, and a marker for where it stopped.
If it is down, it simply catches up later.
Capture never opens a file, never reads it, never calls a model. Scanning and sandboxing happen later, in processing.
ripening
three levels, three jobs
Untouched, on disk, under its hash, kept forever. It is the evidence, and the source of every re-run.
never changed · never deleted
The full cleaned content, fetched in a blink. Not in the records, not in the graph — so nobody pays for OCR twice.
cold, fast, complete
Compact: enough to know what it is about. Every record points at the exact passage it came from.
hot · in the graph · one click to the quote
what a user actually sees
A statement is who + kind of link + other side. Time is not part of its identity: overlapping dates do not chain, so identity would depend on the order the mail arrived. Time lives on each piece of evidence.
A claim is what you see: statements joined through accepted same-as links, with periods computed from the evidence. A merge is itself a claim, with evidence — and it can be undone. Nothing is ever rewritten.
corrections are added · disputed evidence stays visible · 3 sources beat 1
one claim · two periods · the gap in 2019–22 stays a gap
four models, each named by its job
Everything else is deterministic: routing, scanning, parsing, rules, lookup, validation, storage.
why the labeller is not an LLM
In a 2026 study, fake-authority text inside a document flipped 68 % of an LLM's labels. Constrain the output to the allowed labels and it still flipped 33 %: constrained output limits what a model writes, not what it decides.
so: a fine-tuned encoder — no instructions to override, no text to write, milliseconds per block on a CPU
The model may point and label. It never rewrites.
And when the encoder is unsure, the block stays in the body. Nothing is ever hidden by a guess, and no model is called as a fallback.
the compounding part
The memory improves while nobody works on it.
every version kept · every score records what produced it
classic queries first
Only when the classic answers are good does the intelligence model come in — and it reaches the data only through retrieval, as the person asking. Its answers point back at claims and evidence, or they aren't answers.
the common mistake is adding the LLM too early, because it is convenient
retrieval → the served answer
boring on purpose
Graph as plain tables, vectors beside them with the same ids. “Similar to this, and everything linked to it” is one query, not two systems.
It churns; the record doesn't. Every job can be rebuilt from the record, so the queue needs no careful backup.
Built from Postgres, swapped in one step. Evidence, time and disputes are built into the edge. No second database to keep in sync.
gRPC on a unix socket. A module can become its own process without a rewrite — and nothing reaches into another module's tables.
Separation is physical, not a check in the code. 4–32 GB, data on their own machine, AI never in a cloud service.
Creates servers, pushes one version, pulls encrypted backups, tests restores. A backup nobody has restored is not a backup.
no graph database: its production features are paid-only, and it would be a second source of record to keep in sync
the guards
login without a password: email → a swipe pattern → a one-time code → an authenticator app
a wrong pattern and an unknown address look and take exactly the same time
where this actually stands
decisions written down, each with what, why, and what was rejected
doneentity types, link kinds, attribute kinds — defined, not sketched
donethe whole pipeline with its contracts and its failure modes
designedmodels, licences, CPU speeds, prompt injection — checked against primary sources
donea harness on this machine that pins cores, caps memory and refuses to run when the box is busy
readylines of product code
nextThe next step is not another document. It is numbers from a real corpus: one customer's mail and files, ten link kinds, one classic question answered end to end.
evidence in the comb, not a verdict in a badge
Nothing here is a promise about a date. It is what exists today, and what the next measurement decides.
Nobody starts from zero again.
The old bees feed the young ones with pollen — and the hive keeps what it learned, with the evidence still attached.
| bee | plain | technical |
|---|---|---|
| The Queen | your organization | customer (one server per customer) |
| The Hive | your own organization | home organization, area “Home” |
| Fields | the organizations you work with | clients, one area per client |
| The entrance | where everything you send arrives | capture-push |
| Foragers | the system goes out and fetches | capture-pull, one adapter per source |
| Guards | who may come in | access module (zero trust) |
| Nectar | raw information | originals + evidence cards |
| Ripening | turning it into records | processing: route → read → label → extract → validate |
| Honeycomb | stored knowledge | claims in Postgres + the in-memory graph |
| Honey | the outcome | contract value of won deals |
| Waggle | pointing at what matters | retrieval; later the intelligence model |
| Pollen | what makes people grow | references, lessons, decisions — reuse |
| Brood | the next team | onboarding from stored claims |
| Propolis | sealing the gaps | scanning, sandbox, least privilege |
| Water | keeping it healthy | heartbeats, dashboard, error codes only |
glossary.md · wiki/terms.md
| entity type | example |
|---|---|
| Person | a human |
| Organization | company, public body |
| Unit | department, team |
| Role | “CTO at Acme” as a thing |
| System | software in use |
| Product | what an org makes |
| Initiative | project, migration |
| Requirement | something that must be met |
| Decision | including rejections |
| Contract | MSA, NDA, licence |
| Issue | complaint, incident, risk |
| Meeting | call, visit, series |
| Deal | opportunity, tender |
| Document | proposal, deck, offer |
| Standard | ISO 27001, GDPR as a norm |
| Place · Topic | site · industry, skill |
| link kind | state / event |
|---|---|
| works_at | state → periods computed |
| holds_role | state → “who was CTO before her” |
| reports_to | state |
| responsible_for | state |
| has_requirement | state |
| favours · opposes | state → champion, blocker |
| decided | event |
| attended · hosted | event → points at a Meeting |
| signed · party_to | event · state |
| raised | event → points at an Issue |
| complies_with | state → Standard |
| same_as | reversible, with evidence |
| other | stored, never dropped; goes to review |
50 kinds in total, anchored to Wikidata · 11 attribute kinds (headcount, budget, deal stage, recurrence …) · phrasings are versioned, kinds only grow
| stage | what happens | who does it |
|---|---|---|
| capture | access check · checksum · original + evidence card · “got it” · enqueue | capture-push / capture-pull → capture-store (the only writer) |
| route | real file type → structured lane or messy lane | rules; the routing table is data |
| read | scan → parsing tool · layout model · OCR · transcription · vision reader | ML tools, no LLM |
| segment & label | signatures, quotes, footers, disclaimers; unsure blocks labelled | rules → ban-list filter → encoder |
| the “what” | who, kind, other side, time, attribute values | rules → lookup → meaning extractor (quotes only) |
| validate | one rule file → code checks + database checks; reasons back to the model | validation module; quarantine after N attempts |
| store | statements, evidence, same-as; versions recorded | processing (only writer) |
| enrich | matching proposes same-as · evidence ranking · embeddings | enrichment: own tables, never blocks |
| resolve | statements + accepted same-as → the claims users see, with periods | resolver, per version |
| retrieve | classic queries + in-memory graph, as the person asking | retrieval (reads only) |
| intelligence | answers and researches — only through retrieval's door | later, once the classic answers are good |
pipeline-map.md · queue: LISTEN/NOTIFY is the doorbell, the timer is the safety net
all slides · press o or escape to close