Engineering read

What the vault and the tracker say together about V2

A merged read of 222 GitHub issues across both repositories and 17 meeting notes, working sessions and decision records from 10–26 August — organised around what only becomes visible when the two are placed side by side.

27 August 2026 · Sources: withrobinhq/rfp (7 issues) and withrobinhq/master.withrobin.ai (215 issues), open and closed, read in full including comments; vault records under clients/phyl/robin/. Finding 1 was verified directly against the codebase. Everything else carries issue numbers and file paths for spot-checking.

The five findings neither source could produce alone

  1. Zep is the Phase 3 blocker, an already-abandoned dependency, and the competitor's shipped primitive

    Three facts from three places, never assembled. The roadmap gates Phase 3 on Zep Cloud credentials. The tracker records that the account per #128 never materialised, and that the homegrown conversations/conversation_turns store shipped anyway — against the 16 July ruling, "Do not implement a homegrown database-backed version of save/resume/delete." Christine argued the point in thread at the time and won in code; #128 remains open and still nominally Zep-gated.

    Meanwhile the competitive teardown concludes the confidence-weighted graph "is no longer a differentiator. It is table stakes" — and Zep ships it as the competitor's primitive.

    A phase is blocked on a vendor account that has not arrived in six weeks, for a capability already built around, from a vendor whose product is a competitor's substrate. That is a strategy question nobody has been forced to ask, not a scheduling problem.

  2. The admin-bypasses-guardian defect is live, ruled against, and separately parked

    Verified directly in the codebase — server/src/modules/wikis/routes.ts:2145:

    async function isWorkspaceGuardian(userId, workspaceId) {
      if (await isWorkspaceAdmin(userId, workspaceId)) return true   // short-circuit

    Any workspace admin passes every guardian check without holding a grant. server/src/modules/inbox/index.ts:52 documents it as intended: "the guardian's exact-wiki grant (D31) — or workspace_admin / admin — is the gate."

    The decision record of 24 August says the opposite: admin edits "go through guardian acceptance like anyone else's, never auto-applying." In the tracker, #301 (enforce guardian singularity) was parked as unnecessary; #424 then ratified "exactly one guardian… never more than one"; Christine requested #301 reopened on 24 August — "the reason this was parked no longer holds" — and is still waiting.

    Three records, three states, one live bypass — on the integrity mechanism demonstrated to the sponsor on 20 August. The roadmap contains no matching deliverable.
  3. Claims is the keystone and nobody is touching it

    From the vault: the claims spec still marks UNDECIDED what was ruled on 20 August, and the arbiter ledger where rulings are recorded was deleted in the 23 August prune. From the tracker: #81 has had no implementation activity since 12 August and no assignee.

    Both sources land independently on claims as the hole, from opposite ends — spec-side and execution-side. V1 decisions were made assuming claims arrives: #287's notification loop gates materiality on "V2 via claims". If claims slips, that stays blunt.

  4. The pilot deadline is real, committed, and tracked nowhere

    From the sponsor demo note: "Make-or-break moment: UN COP, first week of November" — roughly ten weeks out — with committed items including a per-workspace assistant prompt, usage analytics, a cross-workspace connector blending test, and bulk import for around 300 users.

    From the tracker gaps, verbatim: there is no issue for the demo itself — no script, no acceptance path — and almost nothing carries a GitHub milestone. A milestone defined as demo-safe has no tracked demo.

  5. The surface-reduction wave contradicts a recorded warning one week old

    #350: "we're moving fast, but not fully compounding… hard-won wins quietly erode and have to be re-earned." One week later, #421#436 propose roughly six table renames, the retirement of four fields, and a third vocabulary for the synthesis verbs — fourteen ratified-but-unbuilt issues sitting directly across the demo path, mid-milestone. Nothing acknowledges the tension.

One correction

The ontology work was initially flagged as having no tracked home. It has one — #421#436, ratified 25 August. What is true is narrower and still a problem: it is tracked, it is ratified, and ROADMAP.md has no phase for it, leaving the open question "how much lands in v2 vs now?" structurally unanswerable by the current plan.

Decisions waiting on the head developer

Filtered past roughly 100 boilerplate mentions that were only filing signatures. These are the real asks:

IssueOpenWhat is blocked
#3816dThe demo instance is pinned to a one-commit eval branch to keep the signal ceiling off, until this lands properly
#4132dCapture eval needs an A/B/C call on ground extraction
#3866dThe CITEDSIGNAL_TAGGED_TO_WIKI migration
#3012dReopen request with two named gaps: no atomic reassign, company wikis get no creator grant
#3169d"Is this how we should work?" — a direct process question, zero replies from anyone
#21321dWorkspace deletion semantics — described in-issue as the largest blast radius in the product
rfp#4127d"Lean mirror over union, scope observability separately" — neither happened; the new tag model now answers it sideways without reference

What this means for V2

The stated bar and the demonstrated behaviour are incompatible

"Demo-safe, no caveats" sits against a tracker where an audit found 10 of 21 rows marked shipped were false on the integration branch, a follow-up audit re-found unfixed items from the first, and an issue closed as delivered left five to seven call sites the fix never reached — producing the retrieval vacuum behind a session in which the assistant fabricated knowledge-base analysis twice. The sequencing rule is already on the record: "a guardrail without it just hides the fabrication."

The recurring root cause has already been named internally

"a fork, not a boundary casualty… The duplication was a choice."

Parallel implementations of a single invariant: draft versus regeneration grounding, web versus connector enforcement ("the web surface enforces the model; the MCP/API surface doesn't"), member visibility written three structurally unequal ways, the retrieval engine copy-pasted roughly four times. The surface-reduction wave is the right response to the right diagnosis, filed at the worst possible moment.

Nothing measures any of it

Early August: "the only quality instrument evaluates a stub… not in CI." On 26 August a reviewer confirms all five fidelity evaluations are still greenfield. Every fidelity number in existence — 3–4% of citations not supporting their sentence across 295 measured, about a third of transcript signals reaching the right domain, roughly 45% of a dense note binned positionally — came from hand-run reports, not from continuous integration.

The most important number is unexplained

"FYI that authoring hallucination is much lower in Meliore instance. 3% -> 0.4%"

Same model, different corpus, roughly a sevenfold difference. That is the product's own central thesis — knowledge failure rather than capability failure — measured in production. It sits in a note with no issue, no owner, and no investigation.

Positioning, and an asymmetry worth noting

The tracker contains nothing on positioning. Everything usable came from three meeting notes: the hallucination gap above; a buyer saying "my comms guys won't accept 'Robin said so'; give me the raw source"; and a client who actively prefers friction, because "boring and repetitive means no deniability."

Add to that the founder naming wrong-ICP as his own top risk on 11 August, and the sponsor then supplying the texture the current ICP statement lacks: appetite differs by team type inside an organisation — research teams high, communications teams low — not by organisation size or shape.

Gaps worth closing this week

Method. Two independent reads, merged. One agent catalogued every issue in both repositories — open and closed, including comment threads — without sampling. A second read the meeting notes, working sessions and decision records filed between 10 and 26 August. Neither could see the other's corpus, which is what makes the five findings above possible: each depends on a fact from one source meeting a fact from the other. Claims are attributed to their source rather than paraphrased into consensus, and quotations are verbatim.