brainstack

Team Brain — Demo & Office Hours

One-pager for AT-AT, Office Hours, and social sharing.


What is Team Brain?

Team Brain is collaborative AI memory for engineering crews working on the same Jira ticket.

Without Team Brain, each engineer’s AI starts cold — re-researching the same things, missing context from teammates, and duplicating work.

With Team Brain, knowledge compounds:

┌─────────────────────────────────────────────────────────────┐
│   Alice (AI)              Bob (AI)              Carol (AI)  │
│      ↓                       ↓                      ↓       │
│   remember ──────────────────┼──────────────────────┘       │
│      │                       │                              │
│      └──────────> Shared Memory <───────── recall ─────────┘│
│                  (Supabase)                                 │
└─────────────────────────────────────────────────────────────┘

The Demo Flow (3 minutes)

1. Start sync (one manual trigger)

# In Cursor chat:
"I'm starting on YOU_JIRA_TICKET_HERE — start Team Brain sync."

What happens:

2. AI researches → remembers

# AI finds something useful:
bash core/scripts/team-brain-api.sh remember YOU_JIRA_TICKET_HERE research \
  --source-ref "YOU_JIRA_TICKET_HERE#cli-entrypoint" \
  "CLI entrypoint is in pkg/scaffold — start here for EE schema."

3. Teammate recalls

# Bob's AI pulls the knowledge:
bash core/scripts/team-brain-api.sh recall YOU_JIRA_TICKET_HERE "scaffold"

Result:

{
  "total": 1,
  "memories": [{
    "author": "Alice",
    "body": "CLI entrypoint is in pkg/scaffold — start here for EE schema.",
    "source_ref": "YOU_JIRA_TICKET_HERE#cli-entrypoint"
  }]
}

4. Breakdown into stories

bash core/scripts/team-brain-api.sh breakdown YOU_JIRA_TICKET_HERE

Generates a draft epic breakdown from shared memory — stories, spikes, implementation hints.


Key Features

Feature What it does
Sync mode One trigger → live shared context
Merge-safe writes Same source_ref = update, not duplicate
Idle sleep + wake Conserves resources; prompts to resume
Peer push Signal broadcast when teammates remember
Roles Admin / member (read+write+delete) / viewer (read-only)
Delete Tombstone poisoned memory (delete_memory RPC) — member/admin only
Correction loop Fix bad research → learning memory
History / rollback Soft restore prior findings
Governance Explicit role at onboard; delete for poisoned context
Feedback engine Blocks near-duplicate remember; admin pending approve <pending-id> (#67)
MCP tools Native AI tool access (Cursor, Claude Code)

Who It’s For

Role Benefit
Junior engineer Onboard in 10 minutes; instant context from seniors
Senior engineer Never re-explain the same finding twice
Tech lead breakdown turns research into stories
AI agent Recall before research; remember after findings

Security Highlights


Quick Start

Admin (once per crew):

bash core/scripts/team-brain-api.sh bootstrap \
  --team "Spike Crew" --admin "Alice" \
  --url "https://….supabase.co" --anon "eyJ…" \
  --db-url "postgresql://…" --jira YOU_JIRA_TICKET_HERE --write-env

Teammate (admin assigns role):

# Contributor (read + write + delete):
bash core/scripts/team-brain-api.sh onboard <INVITE> "Bob" YOU_JIRA_TICKET_HERE --role member

# Read-only observer:
bash core/scripts/team-brain-api.sh onboard <INVITE> "Carol" YOU_JIRA_TICKET_HERE --role viewer

Admin audit crew permissions:

bash core/scripts/team-brain-api.sh list-members
bash core/scripts/team-brain-api.sh pending list YOU_JIRA_TICKET_HERE   # review queued overrides (#67)

Work session:

I'm starting on YOU_JIRA_TICKET_HERE — start Team Brain sync.

Demo Assets

Terminal Demo Script

# Demo: Team Brain in 60 seconds

# 1. Alice remembers
bash core/scripts/team-brain-api.sh remember DEMO-1 research \
  --source-ref "DEMO-1#api-auth" \
  "API uses bearer tokens from /auth/token endpoint."

# 2. Bob recalls
bash core/scripts/team-brain-api.sh recall DEMO-1 "auth"

# 3. Carol joins and gets context
bash core/scripts/team-brain-api.sh onboard ABC123 "Carol" DEMO-1 --role member
bash core/scripts/team-brain-api.sh start DEMO-1
# → AI summarizes: "Auth uses bearer tokens from /auth/token..."

# 4. Breakdown
bash core/scripts/team-brain-api.sh breakdown DEMO-1

# 5. Governance — remove poisoned memory (member/admin)
bash core/scripts/team-brain-api.sh delete DEMO-1 --source-ref "DEMO-1#bad-claim"
# Peer A's cache evicts on realtime tombstone or next sync poll — no manual cache wipe.
# Viewer attempt → forbidden: delete requires member role

# 6. Feedback engine — Bob tries duplicate research (blocked, then admin approves)
bash core/scripts/team-brain-api.sh remember DEMO-1 research \
  "API uses bearer tokens from /auth/token endpoint."
# → redundant_candidate: true (not stored — matches DEMO-1#api-auth)

bash core/scripts/team-brain-api.sh remember DEMO-1 research \
  --source-ref "DEMO-1#api-auth" --queue \
  "API uses OAuth2 device flow (preferred for CLI clients)."
# → pending_submitted — admin: pending list DEMO-1 · pending approve <id>

Cursor Chat Demo

User: I'm starting on YOU_JIRA_TICKET_HERE — start Team Brain sync.

AI: ✓ Loaded 3 crew memories for YOU_JIRA_TICKET_HERE.

Summary:
• CLI entrypoint in pkg/scaffold (Alice)
• EE schema validation via ansible-language-server (Bob)
• Watch for deprecated executionEnvironment fields (Alice, corrected)

Ready to dig in. What would you like to work on?

Screenshot Sequence (for GIF)

  1. Start — Chat shows “start Team Brain sync”
  2. Memory loads — AI summarizes 2-3 bullet points
  3. Remember — AI saves a finding with source_ref
  4. Peer recall — Second terminal shows teammate’s finding
  5. Breakdown — Story draft markdown generated

Note: GIF asset to be recorded and added to docs/assets/team-brain-demo.gif.
Placeholder: run the terminal demo script above for live demos.



Office Hours Talking Points

  1. Why not just Confluence / Notion?
    • Those are for humans. Team Brain is for AI agents.
    • Structured memories, not prose documents.
  2. Why not just share BRAIN.md?
    • BRAIN.md is personal (career, growth).
    • Team Brain is initiative-scoped (YOU_JIRA_TICKET_HERE work only).
  3. What about privacy?
    • Each crew runs their own Supabase project.
    • No anon access to memory content — even the realtime push body travels app-layer encrypted (per-team key), never plaintext, never decrypted by the DB.
    • Role-based: viewers can read but not write or delete.
    • Admin assigns viewer or member at onboard time (--role required).
  4. Does it work with Claude Code / VS Code?
    • MCP server works with any MCP-compatible client.
    • CLI works everywhere (bash, zsh, any terminal).
  5. How do I try it?
    • Local Docker: bootstrap --local
    • Hosted: free Supabase tier is enough
  6. How do we avoid duplicate research?
    • remember returns redundant_candidate when content overlaps existing crew memory
    • Members queue with remember … --queue; admins pending list → pending approve <pending-id>
    • Visual inbox: #69 (CLI is v1)

Built for the Ansible DevTools team. MIT licensed.