Tasks

🟢 IN FLIGHT

TASKS.md as saved 2026-10-11 15:50 UTC

TaskWhoDetailCommits
🟢STAGE 50 (David 16:32: "Can you get cracking on getting to 50%")contract docs/19-stage-50-contract.md (target ~150 organisations, ~56 customers ever, ~£2.5m ARR; the 75 built stay byte-identical) · Beatrix (Opus, since 16:33): ~75 organisations, ~280 contacts, profiles, voice cards, placeholders · then Agatha: four storylines on her Tier A ids · then Bernie: stop the watchdog, sim at 50, export, DuckDB, entity store, commit, restart the watchdog for the writer run (~3,000 texts, ~4 h) and the stages (~4 h) overnight · morning: measurements, gate, the 50% site
✅Chat files: deck and document tools for both chats (David 16:15)CocoCoco 925f2e94: deck and document MCP tools build on the B-Brain templates server-side (shared world/brand/bb_office.py), every figure slide stamped with its source or refused, files served by the connector at `https://mcp.b-brain.uk/files/<token>.pptx\docx for 7 days; viz` gains the bridge kind; rule 8 and the instructions updated; relay selftest produced a renewals deck in 13 s (sent to David); tests/mcp 108 passed · connector restarted 16:31 to expose the tools · agents/coco/REPORT.md925f2e9
✅Full test run at stage 25EdithEdith 075b1ba1: 5 failed -> 2 of 772 (three MVP-pinned org-stage and search tests made stage-agnostic; explicit conftest imports in four test files); the two left: test_outputs_md_matches_schemas (four "B-Brain" strings in sim/schemas.py missed by the rename: fixed by Bernie 16:50) and the known test_embed flake when the watchdog has just rebuilt the index · agents/edith/REPORT.md075b1ba
✅Demo expectations for stage 25Marydocs/08 (Q2, Q3, Q6 and the stage table on the stage-25 signals; MVP values kept in the stage-0 column), qa/demo_expectations.json 205 rows, the MVP literals dropped from tests/mcp/test_tools.py and tests/ai/test_signals.py: signals 90 checks 0 differ, site 205 checks 4 differ (Q5 text not authored), records 20 (text not yet authored), 135 tests pass · agents/mary/REPORT.mdb94b1d9
✅docs/06 §6 improvementsVera31 items (was 10) under Foundations, Data and gates, Site and layout, Chat, Money pages, Operations; the two-names paragraph in §1 · agents/vera/REPORT.md834f566
✅SaaS metrics phase 1 built (docs/17)GaussGauss ✅ 04f39e4c c9daf422 (nine measures + kpis with 20 tiles, 10 live; world/targets.md; 35 tests; board-pack cross-check exact at all 12 quarter ends; BB_DUCKDB override; facts tool schema gains period/month/months/by; built on build/brain_dev.duckdb until the real reload; agents/gauss/REPORT.md) · Playfair ✅ c3dae090 (bridge that fails the build if it does not add up, stat sparkline/target/href/pending/dp, stats groups, period switch drawn in Python with bviz.js choosing, fields table with a frozen first column, standalone drawing for every type; 58 tests with node parity; agents/playfair/REPORT.md) · Euler ✅ 6682317e 2f0cf736 7a29f1cb (the eleven pages from facts, trims, bviz in the schema, the five gate items all PASS on the dev copy: 1,993 figures equal facts, one owner per measure, no figure twice, 153 bridges and identities hold, anchored; invoice crumb fixed; agents/euler/REPORT.md) · Gauss follow-ups (view comment, pl_monthly totals, transactions by type, renewals and debtors totals, tolerance_abs, stage-scaled targets) · Orwell ✅ 669dea00 (commercial stage: five subjects, pack from facts + targets, gate inside; one real record arr.json accepted first time; 12 tests; system picture entry; agents/orwell/REPORT.md) · Pacioli (budget) in phase 2b · integration: every Commercial block was pending on a DuckDB connection error (the tree's context and the facts tool opened the same file with different configurations in one process); fixed in build/ai_stages/base.py (same config), tree forced, Dashboard fills (only the commentary pending until the commercial stage runs); site rebuilt and pushed 15:06 (8d0d755c): gate on the real data: 2,023 figures equal facts, one owner, 153 bridges and identities, anchored, all PASS; R3 12 failures fixed (Euler fafdd8d3: the P&L table's 12-month column no longer repeats the category totals the barlist shows); demo check 14 MVP-era misses (NEXT); S1 false positives fixed (Louis b55b5f1f: the label scan reads only the chrome); both land at the watchdog's next tree and site build · phase 2a built 15:38 (Gauss ad3a0c5c: 35_facts_pl.sql, the 16 P&L fields, all 20 tiles live, identities to the pound; docs/17 §5.11) · real database reloaded, tree and site rebuilt and pushed 15:51 (ae459b3e): all 20 Dashboard tiles and the P&L page live 15:54; gate 33 of 34 (only the 4 Q5 text rows not yet authored); connector restarted; watchdog restarted 15:51 (pid 22968); dev copy of the database deleted04f39e4, 2f0cf73, 6682317, 669dea0, 7a29f1c, 8d0d755, ad3a0c5, ae459b3, b55b5f1, c3dae09, c9daf42, fafdd8d
✅SaaS metrics contract (S41, S43)Hypatiadocs/17-saas-metrics-contract.md (380 lines; renumbered from 16 by Bernie): one flat Commercial menu of eleven pages (Dashboard, Logos/ARR/Deals, Profit and Loss, ARR, ARR transactions, Budget, Sales, Renewals, Debtors and cash, Reconciliation, Events), five no-doubling rules R1-R5 gate-checked, measures arr_bridge arr_split arr_transactions arr_monthly by org headcount pl_monthly billing_monthly pipeline kpis + world/targets.md, phase 2a definitions / 2b simulated budget, BVIZ bridge and sparkline, five workers (Euler, Gauss, Playfair, Orwell, Pacioli) · Bernie starts phase 1 on the stated assumptions · agents/hypatia/REPORT.mdb4af7f9
✅Chat: instructions v2 + B-Brain deck, Word and visuals templates (David 10:15, 10:25)Cocodocs/CLAUDE_PROJECT_INSTRUCTIONS.md v2 (B-Brain connector only in capitals, every chart through viz, deck and document rules, brand, demo questions); world/brand/B-Brain.pptx + dark + example, B-Brain.docx + example, built by build_deck_template.py (byte-identical reruns); gate tools/check_chat_instructions.py 18 checks, 7 tests; docs/16-chat-surfaces.md · screenshots sent to David · agents/coco/REPORT.md86db824
✅viz chart works outside the siteJoanstandalone SVG with literal Treeline colours (read from theme.css), white surface, title and legend inside, plus a 1200px PNG image block (headless Chrome, cached under data/brain/viz, git-ignored); 60 tests, selftest ok; live after the connector restart · Nikola (11:10): the Ask B panel shows the PNG on a figure card; gate skips the pop-out page20b0943
✅Clean site rebuild pushed (Bernie 10:17, 91411350)one-row header with Find and the lock-up, Ask B panel on every page, refresh line in the banner, Sun dot, favicon rim; Louis's tiles, S42 and Emmy's canonical tag go in the next build
🟢STAGE-25 CASCADE: COMPLETE; watchdog in routine passes (pid 22968, restarted 15:51 after the phase 2a reload; 10844 ran 15:08-15:39)every stage done for all 75 organisations; the commercial commentary stage authored and live (Dashboard shows its note, 15:30); the watchdog's pass at 15:27 pushed f338aecf 08551420 (gate 34 checks, 1 failed: the demo expectations, Mary); it keeps cycling and sleeps on a limit; stop with night.stop · Applies at the next pass: Alonzo's gate relaxations 9b709241 (236 of 492 refusals recovered on replay) and Katherine's brace repair 578fcadb (the 108 missing document reads) · Risk: the tree stage will stop on an empty key-facts payload (org_066, org_073) until Eileen commits her fix · Estimate: the complete 25% site mid-afternoon; later if the subscription limit makes the watchdog sleepf338aec
✅S37 Customer page like wz-intelEileencustomer row; [AI facts, AI opinion, Next step \Profile, Key facts] as 1.5 stacks (the schema allows 1 or 1.5; 2\1 needs STACK_SPANS); story \ARR; usage; documents \open deals; open tickets \activity; contacts; evidence trail; one-line facts with tooltips, ARR once, title once; key facts pending when empty (unblocks the tree build); tests/build+site 174 passed · agents/eileen/REPORT.md · live after the next tree + site builda119f99
🟢S41 SaaS metrics pages in CommercialRachelRachel ✅ review agents/rachel/REPORT.md (43 metrics, 97 DAX measures, six tabs, input contract, quality findings, tab-by-tab fit) · Next: Bernie writes the contract docs/17-saas-metrics-contract.md once David answers the three questions under NEEDS DAVID
Staticmade from

🔴 NEEDS DAVID

TASKS.md as saved 2026-10-11 15:50 UTC

TaskWhoDetailCommits
🔴Reconnect the B-Brain connector in claude.aithe connector now offers seven tools (deck and document added); claude.ai reads the tool list when it connects, so in Settings › Connectors open B-Brain and reconnect (or remove and add it again with the same URL) so the Project chat sees the two new tools; Ask B picks them up by itself
🔴BVIZ v2 (S53): Leonardo's four questions, Bernie building on the bracketed answers unless you say otherwise(1) saved interactive views in chat [both PNG + link and saved views, built last in this wave; views are served from SILVER so they work while the connector is up]; (2) pivot depth [two row levels, one column level, subtotals, expand/collapse, no drill]; (3) small multiples [not now]; (4) which ten types [card, multiRowCard, slicer, clusteredBar, clusteredColumn, stackedColumn, line, waterfall, tableEx, pivotTable, plus stacked bar and stacked area as flags; no pie]
🔴The stage-25 company loses money: scale staff with the stage, or tell the story?phase 2a shows 12-month EBITDA of -192% (£1.05m revenue against about £3.3m of cost) because the simulation keeps 33 of the finished company's 50 staff at a quarter of its ARR; the P&L is right for the data, so every margin and cost tile on the Dashboard reads far off target. Options: (a) accept it as the story (a funded company four years in, investing ahead of revenue; add cash and runway later) and set stage-aware margin targets; (b) make the sim scale staff with the stage (changes staff, calls and emails: a re-authoring of texts). Bernie's recommendation: (a) for now
🔴Chat: three steps (Coco)(1) in the B-Brain Project and any open chat, switch off every connector except B-Brain, Microsoft 365 above all; (2) replace the Project instructions with the whole of docs/CLAUDE_PROJECT_INSTRUCTIONS.md (a new chat's "hi" menu should end "or a deck or document on any of them"); (3) add world/brand/B-Brain.pptx and world/brand/B-Brain.docx to the Project's files (and B-Brain-dark.pptx for dark decks), then try "Make me a three-slide deck on the renewals at risk"
🔴(folded into the three steps above) Project: turn off the Microsoft 365 connector – in the B-Brain Project (and ideally that chat), disable every connector except B-Brain; that is why the chat reached Wazoku's SharePoint; then paste the v2 instructions when Coco delivers and add world/brand/B-Brain.pptx to the Project's files(folded into the three steps above) Project: turn off the Microsoft 365 connector – in the B-Brain Project (and ideally that chat), disable every connector except B-Brain; that is why the chat reached Wazoku's SharePoint; then paste the v2 instructions when Coco delivers and add world/brand/B-Brain.pptx to the Project's files
🔴Claude Project URLthe header's Claude tile opens the B-Brain Project; send the URL from the address bar (goes into site/site_config.json)
🔴S39 Ask B tileLouisLouis made Ask B the home mark as a tile with a thin rim and no "?" (unreadable at 28px); keep it, or want a different glyph on it?
🔴S30 fontsthe specimen page world/brand/colours-v3-treeline.html shows fallback fonts because it loads no web fonts; the site shows the brand fonts (Public Sans, Bricolage, JetBrains Mono). Keep the brand fonts and make the specimen load them? (Everything else in S30 is closed.)
🔴S41 contract: ten questions (docs/17 §9, Hypatia's recommendation in brackets)(1) headline ARR month end or as-of date [both, always dated]; (2) P&L into phase 1 since it needs no new simulation [yes]; (3) financial year [calendar]; (4) implementation staff = services cost of sales, rest of customer success and support = recurring cost of sales [yes]; (5) CAC ratio and LTV:CAC our definitions [ours]; (6) written-off invoices out of the P&L [yes]; (7) depreciation, interest, tax, cash [skip; EBITDA is the bottom line]; (8) industry splits [top eight + Other]; (9) Summary as a digest with linked figures [yes]; (10) menu [one flat list of eleven] · Bernie builds phase 1 on the recommendations unless you say otherwise
🔴S41 SaaS metrics: three decisions before the contract(1) build the four ARR-side tabs first (Logos/ARR/Deals, ARR, ARR transactions, the ARR tiles of the Dashboard: all from data the sim has) and the P&L, Budget and cost tiles second (they need new simulated inputs: cost of sales, a department-to-role map, a budget generated from the plan, our own illustrative targets file)? (2) Rachel's definitions in our words, with her fixes (one ARR engine, no annualising single months, one logo-count rule, time anchored to the as-of date, budget from plan not actuals): agree? (3) BVIZ gains a bridge (waterfall) chart and a sparkline on stat: agree?
🔴Site privacyb-brain.uk is public today; say if it should sit behind Cloudflare Access (one-time PIN, email allow list)
🔴Try Ask B on your phone(live): open any page under b-brain.uk/demo/, press Ask B, type the passphrase once (the BB_CONNECTOR_PASSPHRASE line of secrets\connector.env), ask "When does Brackwell renew?"
Staticmade from

👀 FOR DAVID TO CHECK

TASKS.md as saved 2026-10-11 15:50 UTC

TaskWhoDetailCommits
👀S18, S21, S28, S29built (Massimo c81e77e0 36319ea0, Hans usage dashboard): stacked call tiles, customer page order, one title per block, the Platform usage dashboard with cross-filtering; check against wz-intel36319ea, c81e77e
👀Sonnet transcript qualitydata/text/_runs/ sample or agents/linus/REPORT.md
👀Decisions recordeddocs 01–06, 11–15; skim docs/06-brain-build.md §4 (pages kept and dropped) and §6 (improvements over wz-intel)
Staticmade from

🎯 SITE REQUIREMENTS (David's words; each one is a task for the production renderer)

TASKS.md as saved 2026-10-11 15:50 UTC

Done (✅, gate-checked or verified by Bernie): S1 Ask Brain → Ask B · S2 portraits + logos on calls · S3 document map like wz-intel · S4 compact key facts · S5 platform usage block · S6 lineage explorer · S7 logo-only header (now the mark + "brain" lock-up, S38) · S8 dark/light · S9 Claude mark + Ask in the header · S10 Help & Support · S11 plain one-colour links · S12 full-width pages · S13 nav starts with Summary · S14 Claude-coloured logo · S15 Find in the header · S16 hover menus + mobile · S17 cartoon avatars + emblems · S19 BVIZ · S20 prose with companions · S22 Summary layout rules L1–L34 · S23 Tasks page live · S24 lineage as wz-intel · S25 wide screens gain columns · S26 lists scroll in their card · S27 Find over everything, grouped · S31 mark: clean B, Sun dot · S32 Ask B as an icon · S33 one header row · S34 baseline 1180 (iPad 11 landscape) · S35 data-refresh line in the blue bar, no STALE · S36 Summary: This week prose, two full-width call blocks · S38 lock-up, quiet refresh line · S40 one address (bbrain.uk 301 to b-brain.uk, canonical link)

TaskWhoDetailCommits
👀S18 (amended 00:52)"on the calls blocks put the logo and person icon on top of each other so there is more space for the text" → logo tile above the portrait tile in one narrow column; text takes the width
👀S21 Customer page order and title like wz-intel"You seem to have reorganised customers order and block arrangement, I prefer wz-intel. I also much prefer the line up of the title" (10 Oct 00:20) → one title line, [assessment 2 \Key facts over Profile 1], Next step two wide; superseded in part by S37
👀S28 One title per block"Do not need 2 titles for each here, maybe just one title saying calls, then you can see the dates" (10 Oct 00:54)
👀S29 Platform usage = all customers, filters, cross-filtering"Platform usage should be for all customers with customer filters, more similar to wz-intel including some kind of grouping of activity that you can cross filter on as well as customers by level of activity" (10 Oct 00:57) → BVIZ dashboard over every customer (Hans)
👀S30 Theme as the specimen"Theme seems different to the colours-v3-treeline.html" (11 Oct, about 08:45) → tokens matched (48 of 48); Louis closed 15 differences in use (bar 50px, mark 30px, nav 13px, banner 30px, paddings 16, chips mono 500, lists 14px, table cells 6px, no chevrons, Sky underline); fonts question under NEEDS DAVID
✅S37 Customer page like wz-intel"Need the profile and Key facts to look more like this with only 1 line for each fact and tool tips for detail. You should copy most of the fields here. But I don't like that you have the value of ARR 2 times and then a renewal"; "The layout should be closer to wz-intel as follows: Customer Row · AI Facts · Profile \Key Facts · AI Opinion · Next Step · The story · ARR Journey · Platform Usage · Documents · Open deals · Open Tickets · Activity · Contacts · Evidence trail"; "Also do not repeat the title" (11 Oct, about 08:45) · Eileen a119f99ba119f99
👀S39 Claude and Ask B as tiles"lets make the Claude logo like the attached and do something similar with Ask B so it is just a logo" (11 Oct, about 09:45) → Louis 3cdc4595: Claude = clay tile with a white burst (simple geometry; a site/assets/claude-mark.svg file would be used instead if added), Ask B = the mark as a tile with a rim · question under NEEDS DAVID3cdc459
⬜ S41 SaaS metrics pages in Commercial – "Here is a Power BI template that I built to help analyse a SaaS business, I would like to have a similar idea of the visible pages and included in the Commercial section using our theme and BVIZ. Tabs to include: Dashboard; Logos, ARR and Deals; Profit and Loss Account; ARR; ARR Transactions last 3 months; Budget Analysis" (11 Oct, about 09:45) → Rachel's review done; contract next (NEEDS DAVID)⬜ S41 SaaS metrics pages in Commercial – "Here is a Power BI template that I built to help analyse a SaaS business, I would like to have a similar idea of the visible pages and included in the Commercial section using our theme and BVIZ. Tabs to include: Dashboard; Logos, ARR and Deals; Profit and Loss Account; ARR; ARR Transactions last 3 months; Budget Analysis" (11 Oct, about 09:45) → Rachel's review done; contract next (NEEDS DAVID)
✅S42 No "Summary" in the nav"it doesn't make sense on the top Menu to have Summary and Logo link to the same page, you should remove the word Summary and just have Bbrain as discussed earlier" (11 Oct, about 10:10) → the lock-up is the only home link; nav starts with Organisations; crumbs start with "B-Brain" · Louis (sent 10:12)
⬜ S43 Commercial views like wz-intel, with the SaaS metrics folded in – "when I have looked at the Commercial views they all need updated to reflect similar to what is in wz-intel but incorporating SaaS Metrics so there is no doubling up and all looks great" (11 Oct, about 10:15) → one Commercial design: wz-intel's pages (ARR customers, renewals, deals, tickets, finance) re-read from docs/reference, the six SaaS tabs (S41) as the money pages, no measure shown twice; part of the docs/16 contract⬜ S43 Commercial views like wz-intel, with the SaaS metrics folded in – "when I have looked at the Commercial views they all need updated to reflect similar to what is in wz-intel but incorporating SaaS Metrics so there is no doubling up and all looks great" (11 Oct, about 10:15) → one Commercial design: wz-intel's pages (ARR customers, renewals, deals, tickets, finance) re-read from docs/reference, the six SaaS tabs (S41) as the money pages, no measure shown twice; part of the docs/16 contract
✅S44 Header wordmark like David's image"I want the logo to look more like the attached but cleaned up by you" (11 Oct, about 10:25, agents/louis/lockup-ref.png: big white B with the Sun dot, then "brain" smaller, tight, no tile) → Louis 30919ab8: one-stroke B 26px + Sun dot, "brain" Public Sans 500 19px, no tile; B and dot alone below 440px30919ab
✅S45 Ask B tile = the simple B with the yellow dot"the logo for the chat should just be the simple B logo with yellow dot" → the mark as the favicon shows it, no rim, no badge · Louis 30919ab8 · for David: on the green bar the tile merges with the bar, so the button looks like the wordmark's B; only the tooltip differs30919ab
✅S46 Portal at b-brain.uk, the brain under /demo/"Can you create a couple of basic pages that refer to what this is and then the site should probably be bbrain.uk/demo. It should really be a simple portal into the demo" → Isamu 1dadad60 + Emmy 6eeb8dd4 (old paths 301 to /demo/) · live 11:14 (0c08dd05: portal 200, /demo/ 200, old org page 301); connector restarted on the /demo/ root 11:160c08dd0, 1dadad6, 6eeb8dd
✅S47 Portal v2: on brand, USP block, less demo detail, Contact"The demo should not be described in too much detail in the home page that should be a separate page. Also the home page has text orphaned on the left. This should be a block and then there should be a narrower block on the left showing the key benefits or USPs ... There should be a page that you can link through to for each. There should be a contact us page ... currently provided as a service with Snowflake and sites via SharePoint or Cloudflare but will be developed into a license. Get in early as a consulting gig and you can have licence for free for 3 years once available. You should also refer to B-Brain is your business's brain"; "this does not look like on brand please sort"; "Lineage view should be evidence trail"; "USP should also be to visualise your document store"; "the AI running through all calls, emails and other objects is key but to indicate that it also analyses your documents is really important" (11 Oct, 11:30-11:38) → Isamu: the brain's own page grammar and renderer, six USPs each with a page (visual brain that reads calls, emails, tickets, news and documents; auditable chats; Evidence trail; see your document store; chat in the Claude app or on site; one number one source), The demo page, Contact page · Isamu a34110ea (12 portal pages on the brain's grammar; live 12:20)a34110e
✅S48 BB-Demo is the company in the demo; B-Brain is the tool"B-Brain should be the name of the company providing this tool and BB-Demo should be the name of the Co in the demo" (11 Oct, about 11:30) → applied 14:20-14:54 (a25cf3f8): Ursula's tool renamed 4,821 files (world, sim, texts, raw, store, AI records) and restamped every hash (author loop: 1 to build, same as before; AI stages: nothing re-opened), Pierre's patches (code, labels, docs, bible), real DuckDB reloaded with the SaaS facts layer, entity store 2,175 files, tree and site rebuilt; live 14:55 · agents/ursula/REPORT.md, agents/pierre/REPORT.mda25cf3f
✅S49 Summary: Platform usage as a full-row visual"platform usage on the summary page should be a view from the platform usage page, not a bunch of text. So probably a full row with some simple visuals showing usage trends and you can click through to the usage page" (11 Oct, about 11:50) → Zaha: a compact mode of the usage dashboard renderer in a span-3 block, title linking to the Platform usage page; Key risks beside Support tickets, Actions beside News, Key numbers over Deals · Zaha a83e4dd3 · live 12:20a83e4dd
✅S50 Portal: Start small"there should also be a start small section where you don't have to go all in, you could just pick one data stream and see how it works. Give examples such as calls, crm, email. The power is in having everything but this could just be a taster" (11 Oct, about 11:58) → Isamu, in portal v2: a Start small row and page with example cards (Calls, CRM, Email, Support tickets) linking into the demo · Isamu a34110ea · live 12:20a34110e
✅S51 No blue bar on the portal(live 14:55) – "The non demo pages do not need the blue status bar. This is just for the demo" (11 Oct, about 13:08) → Isamu: portal pages lose the Data-as-of banner; demo pages keep it · Isamu 4b7b4cf5 · live at the next build4b7b4cf
🟢S53 BVIZ with WZVIZ's capabilities, in both chats"bviz has to have all of the same capabilities of wzviz. Please list what I need to do" and "both need to be available in Claude chat and site chat" (11 Oct, about 16:20) → gaps against docs/reference/dashboards.md: the page-spec grammar and field keys, the validator, the ten types (card, slicer, clustered bar, stacked column, line, waterfall, stacked area, pie, tableEx, pivotTable), cross-filter modes with tooltips and rows-behind-it, chart lanes from DuckDB, the WZVIZ-named theme file, chat parity (page spec in, PNG + saved interactive view out) · Leonardo ✅ 9684606e docs/18-bviz-contract.md (493 lines: gap list, v2 grammar on WZVIZ key names with a 24-column grid mapped to the site's spans, the ten types card/multiRowCard/slicer/clusteredBar/clusteredColumn/stackedColumn/line/waterfall/tableEx/pivotTable plus stacked bar and area as flags, interactions, 23-rule validator, lanes, theme JSON, chat parity with saved views at /demo/views/<id>/, five workers, six gate items) · wave started 16:30 on Leonardo's recommendations: Wilkinson (grammar, validator, schema, guide, legacy converter) first; then Bertin (the ten drawers), Shneiderman (browser engine), Codd (lanes, tree migration, gate), Engelbart (viz v2, saved views, Ask B link) after Coco's viz commit lands9684606
Rule (David 10 Oct): site feedback lives HERE as tasks, in his words, numbered S1, S2 …RuleRule (David 10 Oct): site feedback lives HERE as tasks, in his words, numbered S1, S2 …
Staticmade from

📝 NEXT (ready to brief)

TASKS.md as saved 2026-10-11 15:50 UTC

TaskWhoDetailCommits
⬜ Portfolio pack size budget – the renewals_90d portfolio pack has no cap: about 260,000 characters (roughly 65,000 tokens) at 75 organisations and growing with the stage; add a budget in docs/12 §6.1 and the stage before stage 100 (Edith)⬜ Portfolio pack size budget – the renewals_90d portfolio pack has no cap: about 260,000 characters (roughly 65,000 tokens) at 75 organisations and growing with the stage; add a budget in docs/12 §6.1 and the stage before stage 100 (Edith)
⬜ Reconciliation signals at stage 25 (Mary found) – £12,759 of the £140,109 difference has no line; Dunholm Precision has two CRM records and +£7,000 against invoicing yet its row says "agrees"; Harrowden and Clonvara are invoiced below their order forms while the rule text says "above": fix the signals stage so every line closes, or keep the gap as a deliberate admission (David's call?)⬜ Reconciliation signals at stage 25 (Mary found) – £12,759 of the £140,109 difference has no line; Dunholm Precision has two CRM records and +£7,000 against invoicing yet its row says "agrees"; Harrowden and Clonvara are invoiced below their order forms while the rule text says "above": fix the signals stage so every line closes, or keep the gap as a deliberate admission (David's call?)
⬜ Odd renewal prices in the sim – Clonvara shows a 900% price change at renewal and Harrowden 525%; Harrowden and Dunholm renew at £50,000 against £58,000 and £51,000 today: check the price book and the renewal pricing in sim/commercial.py⬜ Odd renewal prices in the sim – Clonvara shows a 900% price change at renewal and Harrowden 525%; Harrowden and Dunholm renew at £50,000 against £58,000 and £51,000 today: check the price book and the renewal pricing in sim/commercial.py
⬜ BVIZ charts on phones – a chart is drawn 540 units wide and shrinks, so at 360px its labels are about 7px (Playfair); a phone layout for line, columns and bridge⬜ BVIZ charts on phones – a chart is drawn 540 units wide and shrinks, so at 360px its labels are about 7px (Playfair); a phone layout for line, columns and bridge
⬜ Next step "When" shows the raw value – this_week appears unformatted in the Next step block (next-step renderer); label it⬜ Next step "When" shows the raw value – this_week appears unformatted in the Next step block (next-step renderer); label it
⬜ SaaS metrics contract (S41) – docs/17-saas-metrics-contract.md on Rachel §6–7: measures, pages, BVIZ bridge + sparkline, sim inputs (P&L role map, cost of sales, plan-based budget, targets file), ownership table; then a wave of workers⬜ SaaS metrics contract (S41) – docs/17-saas-metrics-contract.md on Rachel §6–7: measures, pages, BVIZ bridge + sparkline, sim inputs (P&L role map, cost of sales, plan-based budget, targets file), ownership table; then a wave of workers
⬜ Pro-rated invoices (contract Q4) – at stage 25 org_009 2026-06 invoiced ARR is 54,405 in DuckDB against 58,000 in the sim because raw invoice lines carry no annual value for co-termed pro-rata lines; the sim export must state annual_value on invoice lines (engine + exporter + facts SQL); two xfails in tests/build mark it. Not mid-run: it changes writer events⬜ Pro-rated invoices (contract Q4) – at stage 25 org_009 2026-06 invoiced ARR is 54,405 in DuckDB against 58,000 in the sim because raw invoice lines carry no annual value for co-termed pro-rata lines; the sim export must state annual_value on invoice lines (engine + exporter + facts SQL); two xfails in tests/build mark it. Not mid-run: it changes writer events
⬜ "4.12" demo figure – the release number is written "four-twelve" in the release-notes text because the writer gate had no 4.12 in its allowed figures; the sim's writer events must carry the release number as an allowed figure, then reopen that document⬜ "4.12" demo figure – the release number is written "four-twelve" in the release-notes text because the writer gate had no 4.12 in its allowed figures; the sim's writer events must carry the release number as an allowed figure, then reopen that document
⬜ "24%" gate gap – the writer gate's figure rule never sees "24%" before punctuation (NUM needs a word boundary after "%"); fixing it newly refuses artefacts, so do it between runs with a reingest⬜ "24%" gate gap – the writer gate's figure rule never sees "24%" before punctuation (NUM needs a word boundary after "%"); fixing it newly refuses artefacts, so do it between runs with a reingest
⬜ Mark leftovers (Dieter) – fallback mark in site/render/page.py 51-55, the mockup mark, build_treeline.py Sun rows: align with the clean B⬜ Mark leftovers (Dieter) – fallback mark in site/render/page.py 51-55, the mockup mark, build_treeline.py Sun rows: align with the clean B
⬜ Emblem tie-break – org_050 and org_062 share the visible emblem (SL, slot c2, freight); the logo generator needs a tie-break when initials, slot and glyph match⬜ Emblem tie-break – org_050 and org_062 share the visible emblem (SL, slot c2, freight); the logo generator needs a tie-break when initials, slot and glyph match
⬜ tests/sim conftest import – tests/sim/test_stage25.py does from conftest import and picks the wrong conftest in mixed runs⬜ tests/sim conftest import – tests/sim/test_stage25.py does from conftest import and picks the wrong conftest in mixed runs
⬜ Logon task for the tunnel – .\tools\tunnel.ps1 task (David, once) so the connector and tunnel start after a reboot; today they start by hand with tunnel.ps1 start⬜ Logon task for the tunnel – .\tools\tunnel.ps1 task (David, once) so the connector and tunnel start after a reboot; today they start by hand with tunnel.ps1 start
⬜ Stage-25 people voice cards – 355 people, 87 cards; add cards for the most-mentioned stage-25 people (Virginia's pattern)⬜ Stage-25 people voice cards – 355 people, 87 cards; add cards for the most-mentioned stage-25 people (Virginia's pattern)
⬜ Sim realism for stage 25 (Grace) – CRM contact id per record + new email for the moved contact (per_0501); check the two booked Brackwell renewal calls (call_002_053 Mon 12 Oct, call_002_054 Tue 13 Oct) are intended⬜ Sim realism for stage 25 (Grace) – CRM contact id per record + new email for the moved contact (per_0501); check the two booked Brackwell renewal calls (call_002_053 Mon 12 Oct, call_002_054 Tue 13 Oct) are intended
Staticmade from

📋 BACKLOG (not yet briefed)

TASKS.md as saved 2026-10-11 15:50 UTC

TaskWhoDetailCommits
⬜ Stages 75/100 – world files and storylines after 50 (engine already supports --stage); one night each⬜ Stages 75/100 – world files and storylines after 50 (engine already supports --stage); one night each
⬜ Text into raw exports – fold transcripts, email bodies, ticket comments and document bodies into data/raw/ as connector sources⬜ Text into raw exports – fold transcripts, email bodies, ticket comments and document bodies into data/raw/ as connector sources
⬜ Date shift for derived prose – extend tools/shift_dates.py to data/brain/derived/ records and stamps so a shift does not re-author everything⬜ Date shift for derived prose – extend tools/shift_dates.py to data/brain/derived/ records and stamps so a shift does not re-author everything
⬜ Learnings stage – a People › Learnings AI stage; MVP builds it from staff_insight signals⬜ Learnings stage – a People › Learnings AI stage; MVP builds it from staff_insight signals
⬜ Per-entity page count – ~3,700 pages at 25%, ~15,000 at 100%: revisit before stage 50⬜ Per-entity page count – ~3,700 pages at 25%, ~15,000 at 100%: revisit before stage 50
⬜ Branded documents – templates + worked examples, then the standard B-Brain document set as real files in the store⬜ Branded documents – templates + worked examples, then the standard B-Brain document set as real files in the store
⬜ Ask B for prospects – the relay runs on David's subscription and only while SILVER is on; an API-key route on the Worker can replace it without changing the panel (docs/15-site-chat.md)⬜ Ask B for prospects – the relay runs on David's subscription and only while SILVER is on; an API-key route on the Worker can replace it without changing the panel (docs/15-site-chat.md)
⬜ Semantic search in Phase 3 – Cortex Search once on Snowflake; local hybrid search (BM25 + bge-small) serves until then⬜ Semantic search in Phase 3 – Cortex Search once on Snowflake; local hybrid search (BM25 + bge-small) serves until then
Staticmade from

📅 WHAT HAPPENED

TASKS.md as saved 2026-10-11 15:50 UTC

TaskWhoDetailCommits
11 Oct 2026 (night and morning)stage 25 written and the site reshaped on David's review · Writer run: five relaunches with scoped gate relaxations (Ken, Edsger) and reingests; finished 07:31 with 2,890 of 2,891 texts accepted · Cascade started 07:33; AI gate false refusals measured and fixed on replay (Alonzo), the 108 brace-truncated document reads repaired (Katherine) · Domains: David bought b-brain.uk and bbrain.uk; both live by 08:12 (a config-file route attempt took the Worker down for two minutes, reverted); bbrain.uk now 301s to b-brain.uk (Emmy); decision: B-Brain / b-brain.uk everywhere · Phone chat: named tunnel mcp.b-brain.uk (David's cloudflared login 09:12), claude.ai connector and Project working by 09:20 · Site chat: Ask B relay on SILVER through the connector, Ku-shaped panel (Nikola); connector restarted with it 09:38 · Header and brand: one-row header with Find and the B + "brain" lock-up, Ask B and Claude as tiles, data-refresh line in the blue bar, no STALE, clean B with the Sun dot, favicon rim, 1180 baseline, iPad nav (Charles, Dieter, Louis) · Summary: This week as prose, two full-width call blocks (Zaha); customer page in progress (Eileen) · Tests: stage-25 debt cleared except the 18 that wait for the cascade (Margaret); the Tasks page republishes on its own (Lise) · Rachel reviewed David's SaaS metrics pack and Power BI template for the Commercial pages (S41) · Lessons: never guess timestamps (use the commit clock); the Bash heredoc collapses backslashes (use byte values); a worker's uncommitted renderer edits reach the live site if the Tasks page is republished mid-edit (build in a clean worktree)
10 Oct 2026 (evening) – SILVER set up· gh CLI signed in as davidconsettbyrne (a separate PowerShell window; the app's terminal cannot complete the device flow); per-path git credentials for the two accounts; bb-brain cloned, identity set, push proven · pytest + pyyaml installed; pytest.ini so tests/build is collected; claude CLI repointed to 2.1.289 and signed in · David confirmed the ten site requirements and the gate before stage 25; wz-intel pulled to latest and read-only from then on; "wz-intel must not be changed" restated in capitals · Theme Treeline on David's five anchors; waves 1–4 (writers, exports, DuckDB, entity store, AI stages, site, search, MCP) built and the MVP site live on Cloudflare by 03:00; night runner launched 22:44
10 Oct 2026 (late)foundations: demo script and storylines (Ada), simulation engine with stages (Grace), world to 25% (Marie), author loop + QA gate (Linus), site mockup (Frida), 12 wz-intel reference notes (Alan)
10 Oct 2026planning: wz-intel reviewed read-only (docs/05-plan-review.md); David's answers in docs 01–04; docs/06-brain-build.md and docs/ORCHESTRATION.md; repo and remote; name settled as B-Brain; pages kept and dropped
Staticmade from

✅ DONE (newest first; detail in each worker's `agents/<name>/REPORT.md`)

TASKS.md as saved 2026-10-11 15:50 UTC

TaskWhoDetailCommits
✅Site rebuilt (Bernie 12:20, 517ef07c)portal v2 (on brand, six benefits with pages, Start small, The demo, Contact), Summary with the usage dashboard row, tree over the cascade's records so far (assessments, next steps, person and staff insights, document roll-ups for all 75); gate 28 of 29 (only the 3 MVP demo figures)
✅Site rebuilt with the tree (Bernie 11:14, 0c08dd05)portal at the root, brain under /demo/, Summary rows (Zaha), customer page (Eileen), wordmark and plain Ask B tile (Louis), no Summary nav item, canonical links; gate: only the 3 MVP demo figures and the pop-out page's chrome checks (now exempt, Nikola 3ad65e6f) failed3ad65e6
✅Louis follow-up: iPad nav + logo tiles3cdc4595 · full nav at 1180 on touch, Menu under 861 or touch under 1180; Claude clay tile, Ask B mark tile; 82 site tests3cdc459
✅S40 One addressEmmybbrain.uk and www 301 to b-brain.uk (Worker script beside the assets), canonical link on every page; probed live 09:54a94402f, d337a64
✅SaaS Reporting reviewRachelagents/rachel/REPORT.md · read-only; structure, 43 metrics, six tabs, DAX measures, input contract, quality findings, fit with bb-brain; no Wazoku figures carried
✅Reply parse repairKatherineparse_reply repairs missing closing braces (771 -> 879 of 879 saved replies parse), specific refusal text; 58 tests578fcad
✅Ask B site chatNikolarelay mcp/bb_ask.py on the connector, five tools only, SSE; Ku-shaped panel with maximise, pop out, model picker, attachments, Send; docs/15-site-chat.md; 12 tests; connector restarted 09:38, /ask/health ok8d9cdc3
✅Page chrome S30 S32 S33 S34 S35 S38Louisone header row (lock-up, nav, Find, Ask B, Claude, Help, theme), refresh line in the banner, no STALE, no empty crumb row, Sun dot, favicon rim, theme.md L31–L34, 15 specimen differences closed; 81 site testsa6c4928
✅S36 SummaryZahaThis week prose beside its list; last and next 5 working days as two full-width day blocks (full key); no stale_days60031b0
✅AI gate false refusalsAlonzoscoped relaxations (employee and same-org names, verbs, date words, normalised excerpts, spoken figures, brief dates, price in words) recover 236 of 492 on replay; tools/regate_ai.py; 55 tests9b70924
✅Name: b-brain everywhereDavidrecorded in docs/01-plan-overview.md Key decisions
✅Phone chat worksclaude.ai connector on https://mcp.b-brain.uk/mcp signed in 09:18; facts, search and viz calls in the log
✅Named tunnel mcp.b-brain.ukDavidDavid's cloudflared login + create + tunnel.ps1 config + start (09:12–09:14); tunnel.ps1 path fixed 66f2e57b; signing key set66f2e57
✅Tasks page republish toolLisetools/publish_tasks.py re-renders System › Tasks from TASKS.md, commits and pushes; 3 tests4f421e1
✅Stage-25 test debtMargaret10 tests stage-agnostic, 3 server fixes (bb_public keep-alive 401, get_document fallback, selftest totals); 18 left wait for the cascade9940540
✅Site pushed mid-cascadeBernieCharles's header, Dieter's mark, the stage-25 tree (3,729 pages); AI blocks pending until the stages finisha65df44
✅Phone header: one row, Ask BCharlesone 55px row down to 360px; "Ask B" wording everywhere; 79 site tests875cae2
✅B mark redrawnDieterclean one-stroke B; the dot went Rose then back to Sun on David's word (Louis)0c7cfa5
✅Domains liveb-brain.uk, bbrain.uk and www answer from Cloudflare (08:12); route attempt 214cec2e reverted 21f7de1d after error 1042214cec2, 21f7de1
✅STAGE 25 writer runfinished 07:31: 2,890 of 2,891 texts (9a14a53b); five relaunches 03:48–05:53 with Ken's gate relaxations (7d262e15 c2592c4d 2dafb843 99e7320f 735312bb 315f6f6a bd32b553 26faf0ad), Edsger's output-sized slices 87e33504, tools/reingest_replies.py26faf0a, 2dafb84, 315f6f6, 735312b, 7d262e1, 87e3350, 99e7320, 9a14a53, bd32b55, c2592c4
✅STAGE 25 dataBerniesim/run.py --stage 25 (75 orgs, 355 people, CRM ARR 1,359,650; MVP six byte-identical), raw re-exported, DuckDB reloaded, entity store 3,607; Hedy made tests/build stage-agnostic862559b
✅Public MCP connectorRadiamcp/bb_public.py + bb_auth.py (Streamable HTTP, OAuth 2.1 + DCR + PKCE, passphrase page, signed tokens, rate limits), tools/tunnel.ps1, docs/14, docs/CLAUDE_PROJECT_INSTRUCTIONS.md; 8 tests + e2e38ae4c8
✅Platform usage dashboard (S29)Hanssite/render/usage.py + bviz.js cross-filtering; 78 site testsbcb2389
✅BVIZ charts (S19)Hanssite/render/bviz.py line/columns/barlist/stat on Treeline tokens; 16 testsde2673e
✅Dash gate + reopen tool + writer-gate relaxationsKenqa/gate.py, tools/reopen_text.py, tools/reingest_replies.py, qa/allowed_names.txt, qa/allowed_systems.txt; 65 tests
✅Author loop: per-slice checkpointing and output-sized slicesEdsgertools/author_loop.py as_completed + SLICE_MAX; 19 tests
✅Night runnerDennistools/night_runner.py watchdog (phases A–E, sleeps on a limit, night.stop); 52 tests; keepawake tools/keepawake.py7fc98ff
✅Site = page types filled from the datasetTim12 templates + build/page_resolver.py; per-entity pages no longer stored; S20–S24, S29 blocks, lineage edgesda6dad9
✅Site renderer core (wave 4)Massimo3e32efb … c81e77e 36319ea · S13–S16, S18, S20–S22, S25–S27, Treeline layout panel, stacks, one title per block36319ea, 3e32efb, c81e77e
✅Site visual blocks (wave 4)EdwardEdward 3dd472f 87fc3e6 6523706 bf2b502 · key facts, usage, document bubble map, lineage explorer on wz-intel's shape3dd472f, 87fc3e6, bf2b502
✅Logos, portraits, search, avatars, emblems, grouped search, embeddingsSusan41d5f41 1e2c8b0 · deterministic logos and 55 cartoon avatars, BM25 + bge-small hybrid search, Python/JS parity1e2c8b0, 41d5f41
✅MCP server and Ask Brain (wave 4)Vint5 tools, selftest; 37 tests79ce2d2, 8273b96
✅AI stage runner, gate, demo check (wave 3)Barbarabuild/ai_stage.py, qa/ai_gate.py, qa/demo_check.py; 70 tests; --stage all continues past stalls44f40ea, a0c218b, aef53d1
✅Object reads and people (wave 3)Karenobject_read per kind, person and staff insights67cc183, 9b25564
✅Signals and org stages (wave 3)Florencesignals 82 of 89 docs/08 values; incident pack373df06, d6cace6, fcb9c42
✅Site tree (wave 3)Tim1,061 pages, lineage, search rows89fb313, e27b683
✅Wave 2: raw exports, DuckDB, entity storeHedyHedy 73906d5 03e9642, Edwin, Rosalind 3d309ab · 32 raw files, facts = truth, 1,010 entities; integration 150 tests03e9642, 3d309ab, 73906d5
✅Wave 3 + 4 contractsKatherinedocs/12, docs/13 and 8 briefs; Wave 2 contract – Niels 91be1e5 · docs/1191be1e5, b997685
✅Theme: TreelineJosefDavid's five anchors; 84 contrast checks; LAYOUT rules L1–L30 in world/brand/theme.md61f4217, 6422f48
✅Wave 1 writer run (MVP six)398 of 848 round 1, then the rest; object reads 396 of 398 (10 Oct evening)
✅Voice cards for 22 MVP peopleVirginia8f634bf
✅pytest.iniBernietests/build collected (default norecursedirs skipped it)be381ab
✅Foundations (10 Oct)simulation engine (Grace aed604f 83a49e1), demo script and storylines (Ada 46f3ff9 3f6df93), world (Marie 380bf62 019833b), author loop + QA gate (Linus 61e2d0d 499343b), site mockup (Frida 1e0b958), wz-intel reference notes (Alan ec4ca36), brand options and colour schemes (Saul, Dieter), plan review 8a0ff7c, GitHub set up019833b, 1e0b958, 380bf62, 3f6df93, 46f3ff9, 499343b, 61e2d0d, 83a49e1, 8a0ff7c, aed604f, ec4ca36
✅SILVER set up (10 Oct evening)gh on both accounts with per-path credentials, wz-intel pulled to latest and read-only, claude CLI signed in, mcp package not needed
Staticmade from

BB-Demo is a fictional company; every organisation and person here is invented. B-Brain is the tool. Built by site/build_site.py from the site tree, data as of Fri 9 Oct 2026. Help & Support

Help & Support

Open as a page

Help & Support

B-Brain is one place to read everything the company knows about its customers: the CRM, calls, emails, support tickets, product usage, invoices, documents, news and HR. Every page is built from those systems and the data is current to Fri 9 Oct 2026.

How to use the site

How to ask

Press Ask Brain in the header. Type a question, or pick one of the examples.

The site itself does not call an AI model; answers in Claude come from the same figures you see here.

What the data covers

DataRecords
Organisations75
People at customers290
BB-Demo staff40
Calls784
Email threads1,169
Support tickets449
Documents477
Deals117
Invoices101
Events49
News items56

Data as of Fri 9 Oct 2026. Text marked AI was written by the brain from the records listed in its made-from link; an AI output that cannot cite its evidence is refused and the previous text kept. Where two systems disagree (for example a contract and the CRM), the key facts show both values and mark the difference.

BB-Demo is a fictional company: every organisation, person and figure here is invented for this demonstration. B-Brain is the tool that reads its data.

Who to contact

Email support@b-brain.example or talk to your B-Brain account team. Tell us the page address and what looked wrong; a screenshot helps.

Ask B

Ask B

B-Brain · read-only