Engineering read
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.
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.
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.
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.
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.
#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.
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.
Filtered past roughly 100 boilerplate mentions that were only filing signatures. These are the real asks:
| Issue | Open | What is blocked |
|---|---|---|
| #381 | 6d | The demo instance is pinned to a one-commit eval branch to keep the signal ceiling off, until this lands properly |
| #413 | 2d | Capture eval needs an A/B/C call on ground extraction |
| #386 | 6d | The CITED → SIGNAL_TAGGED_TO_WIKI migration |
| #301 | 2d | Reopen request with two named gaps: no atomic reassign, company wikis get no creator grant |
| #316 | 9d | "Is this how we should work?" — a direct process question, zero replies from anyone |
| #213 | 21d | Workspace deletion semantics — described in-issue as the largest blast radius in the product |
| rfp#41 | 27d | "Lean mirror over union, scope observability separately" — neither happened; the new tag model now answers it sideways without reference |
"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."
"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.
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.
"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.
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.
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.