Tree Comparison — v2 vs v2-port

plans/mentor-brains/BUILD-REPORT.md
**Run date:** 2026-07-19 · autonomous parallel-agent build (Opus drafters) · consolidating two independent handoff sets (`.tmp/handoffs/` pair + `plans/mentor-brains/HANDOFF-PROMPT.md`). Matt's rulings that shaped this run: both agent trees built side-by-side · mentor vectors into the **existing** `selfi-journal` index (namespaces `mentor_*`) · source = clientsflow Google Drive · wire the read path **and deploy** · fully autonomous (gates → logged auto-decisions) · Google Doc = review mirror · finale = mentor-council demo.

BUILD REPORT — Mentor Brains + Agentic Setup v2

**Run date:** 2026-07-19 · autonomous parallel-agent build (Opus drafters) · consolidating two independent handoff sets (`.tmp/handoffs/` pair + `plans/mentor-brains/HANDOFF-PROMPT.md`). Matt's rulings that shaped this run: both agent trees built side-by-side · mentor vectors into the **existing** `selfi-journal` index (namespaces `mentor_*`) · source = clientsflow Google Drive · wire the read path **and deploy** · fully autonomous (gates → logged auto-decisions) · Google Doc = review mirror · finale = mentor-council demo.

**Run date:** 2026-07-19 · autonomous parallel-agent build (Opus drafters) · consolidating two independent handoff sets (`.tmp/handoffs/` pair + `plans/mentor-brains/HANDOFF-PROMPT.md`).

Matt's rulings that shaped this run: both agent trees built side-by-side · mentor vectors into the **existing** `selfi-journal` index (namespaces `mentor_*`) · source = clientsflow Google Drive · wire the read path **and deploy** · fully autonomous (gates → logged auto-decisions) · Google Doc = review mirror · finale = mentor-council demo.

What exists now

No body text in this section.

1. Mentor knowledge base — LIVE in `selfi-journal`, queryable in one hop

**Provenance:** every record carries `drive_file_id`, `author`, `source_type`, `corpus:"mentor"`, deterministic `_id`. 65 promo/boilerplate chunks dropped at ingest (`.tmp/mentors/DROPPED.md`); 0 chunks over the 512-token embed truncation ceiling. **Safety proven:** `stats-before.json` vs after — **every pre-existing namespace unchanged**; the `assert NAMESPACE.startswith("mentor_")` + `TARGET:` line held; NDJSON backup taken pre-ingest (`.tmp/backups/2026-07-19_selfi-journal.ndjson`, 198 MB). Idempotency confirmed (re-run of rian_doris kept 495).
| Namespace | Vectors | Corpus extracted | Coverage |
|---|---|---|---|
| `mentor_alex_hormozi` | 2,644 | 605K words, 25 files (books, handbooks, ACQ course, 7hr YT) | RICH |
| `mentor_sam_ovens` | 3,705 | 990K words, 8 files (Consulting Accelerator, FB Ads, Uplevel, Sales) | RICH (deepest) |
| `mentor_charlie_morgan` | 1,453 | 330K words, 28 files (Self-Transcendence, Discipline & Self-Control, ops SOPs) | RICH (mindset slice thinner) |
| `mentor_rian_doris` | 495 | 101K words, 117 files (Zero-to-Dangerous decks, FRC newsletters) | RICH breadth / THIN density — mostly slide decks, not verbatim transcripts |
| **Total** | **8,297** | ~2.03M words | all Drive-traceable |
  • **Provenance:** every record carries `drive_file_id`, `author`, `source_type`, `corpus:"mentor"`,
  • deterministic `_id`.

    65 promo/boilerplate chunks dropped at ingest (`.tmp/mentors/DROPPED.md`); 0 chunks over the 512-token embed truncation ceiling.

  • **Safety proven:** `stats-before.json` vs after — **every pre-existing namespace unchanged**; the
  • `assert NAMESPACE.startswith("mentor_")` + `TARGET:` line held; NDJSON backup taken pre-ingest (`.tmp/backups/2026-07-19_selfi-journal.ndjson`, 198 MB).

    Idempotency confirmed (re-run of rian_doris kept 495).

  • **Retrieval smoke: 12/12 probes** returned the mentor's own words through the coach's real
  • `store.query_mentor` path (not ad-hoc search).

    2. Read path — WIRED and DEPLOYED

    `store.query_mentor(query, mentor, k)` · `store._GC_FORBIDDEN_PREFIXES` now includes `mentor` · `actions.quote_mentor(mentor, query)` registered (ACTIONS + EXECUTORS). `scripts/ingest_mentors.py` — re-runnable, `--mentor` required, dry-run prints its target, promo filter, header-block metadata contract. Deployed to the **correct** account (`matyas-sarudi00`) after hitting the known `load_dotenv` token gotcha; production health = pinecone/sheets/gemini/volume all `ok`. Deterministic gate **164/164**.
  • `store.query_mentor(query, mentor, k)` · `store._GC_FORBIDDEN_PREFIXES` now includes `mentor` ·
  • `actions.quote_mentor(mentor, query)` registered (ACTIONS + EXECUTORS).

  • `scripts/ingest_mentors.py` — re-runnable, `--mentor` required, dry-run prints its target, promo
  • filter, header-block metadata contract.

  • Deployed to the **correct** account (`matyas-sarudi00`) after hitting the known `load_dotenv`
  • token gotcha; production health = pinecone/sheets/gemini/volume all `ok`.

    Deterministic gate **164/164**.

    3. Two agent-setup trees (DRAFTS — not deployed; Matt edits before promotion)

    **`agent-root-v2/`** — the three-call redesign from the 2026-07-18 recording (evening-planning / morning-launch / block-close + support). **10 skills, all load.** **`agent-root-v2-port/`** — conservative: all 21 production skills preserved (additive superset, zero deletions per the review's diff) + `MENTORS.md` + 4 new mentor skills. **25 skills, all load.** Doctrine: 4 × `*-DOCTRINE.md` + `CONTRADICTIONS.md` (6 load-bearing conflicts, source-tagged). **Google Doc review mirror** (52+ tabs, one per file, nested by tree):
  • **`agent-root-v2/`** — the three-call redesign from the 2026-07-18 recording (evening-planning /
  • morning-launch / block-close + support). **10 skills, all load.**

  • **`agent-root-v2-port/`** — conservative: all 21 production skills preserved (additive superset,
  • zero deletions per the review's diff) + `MENTORS.md` + 4 new mentor skills. **25 skills, all load.**

  • Doctrine: 4 × `*-DOCTRINE.md` + `CONTRADICTIONS.md` (6 load-bearing conflicts, source-tagged).
  • **Google Doc review mirror** (52+ tabs, one per file, nested by tree):
  • https://docs.google.com/document/d/1E41s3nEW51mjbPi3tQhfADJo89p--LzJ7n1oDUeUaRY/edit

    4. Planning artifacts (`.tmp/agent-v2/`)

    `SKILL-DISPOSITION.md` (all 21 folders ruled) · `WIRING-PLAN.md` (exact go-live diffs, **not** applied) · `TOOLS-REQUIRED.md` · `GAPS.md` (seeded claims verified against code) · `TRACKER-CHANGES.md` · `DEFERRED-CHECK.md`.

    `SKILL-DISPOSITION.md` (all 21 folders ruled) · `WIRING-PLAN.md` (exact go-live diffs, **not** applied) · `TOOLS-REQUIRED.md` · `GAPS.md` (seeded claims verified against code) · `TRACKER-CHANGES.md` · `DEFERRED-CHECK.md`.

    What Matt must decide before promoting anything

    1. **Which tree** (or a merge). The redesign is the recording's intent; the port loses nothing from today's coach. Both are drafts written to be hand-edited. 2. **Adversarial-review BLOCKER B1** — the port tree's 4 standalone mentor skills (`mentor-consult`/`offer-clinic`/`flow-protocol`/`pipeline-review`) load but are **never selected** (no on-demand skill-load path; not in `PHASE_SKILL`).

    1. **Which tree** (or a merge).

    The redesign is the recording's intent; the port loses nothing from today's coach.

    Both are drafts written to be hand-edited.

    2. **Adversarial-review BLOCKER B1** — the port tree's 4 standalone mentor skills (`mentor-consult`/`offer-clinic`/`flow-protocol`/`pipeline-review`) load but are **never selected** (no on-demand skill-load path; not in `PHASE_SKILL`).

    Mentor behaviour there survives only via the inline `quote_mentor` lines woven into phase skills.

    Fix options A/B in `WIRING-PLAN.md` (recommend B). *The redesign tree doesn't have this problem — its mentor use is inline.* 3. **New tools the design needs but doesn't have** (`TOOLS-REQUIRED.md`): a checkable to-do list / `save_checklist`, `read_block_checklist`, a distraction-list read+clear.

    Without them, the physical checklist and mid-block triage run on conversation memory only.

    4. **Tracker fields** (`TRACKER-CHANGES.md`) — the three-call protocol needs new habit-extraction fields (block completed/duration, checklist items, cold shower, breathing).

    Changing them touches the Sheet mirror + scoring + streaks — proposed, not applied.

    Honest thin spots

    **Rian Doris** is the shallowest corpus — Zero-to-Dangerous is slide decks, so retrieval returns fragments and story snippets more than clean protocol prose. His flow-cycle/goal-specificity chunks are good; his "what kills flow" retrieval is weaker. A verbatim ZTD transcript would fix it. **Charlie Morgan** mindset content is real but a minority of his footprint (bulk is agency SOPs). The mentor-council demo shows genuine divergence (Hormozi build-once vs Ovens/Morgan sell-first), which is the point — but the coach only *surfaces* conflicts if `CONTRADICTIONS.md`'s framing is carried into whichever tree gets promoted (it is, in both AGENT.md law 19 + MENTORS.md).
  • **Rian Doris** is the shallowest corpus — Zero-to-Dangerous is slide decks, so retrieval returns
  • fragments and story snippets more than clean protocol prose.

    His flow-cycle/goal-specificity chunks are good; his "what kills flow" retrieval is weaker.

    A verbatim ZTD transcript would fix it.

  • **Charlie Morgan** mindset content is real but a minority of his footprint (bulk is agency SOPs).
  • The mentor-council demo shows genuine divergence (Hormozi build-once vs Ovens/Morgan sell-first),
  • which is the point — but the coach only *surfaces* conflicts if `CONTRADICTIONS.md`'s framing is carried into whichever tree gets promoted (it is, in both AGENT.md law 19 + MENTORS.md).

    Recommended next steps

    **V1** Pick a tree; I apply `WIRING-PLAN.md` + build the 2–3 missing tools, then sync (no redeploy). **V2** Run the paid agent-vs-agent sim (`coach-sim-e2e`) to prove `quote_mentor` behaves in a live mentor-consult conversation — needs Gemini-budget go-ahead. **V3** Backfill a verbatim Rian Doris transcript to deepen the one thin namespace, then re-ingest (idempotent).
  • **V1** Pick a tree; I apply `WIRING-PLAN.md` + build the 2–3 missing tools, then sync (no redeploy).
  • **V2** Run the paid agent-vs-agent sim (`coach-sim-e2e`) to prove `quote_mentor` behaves in a live
  • mentor-consult conversation — needs Gemini-budget go-ahead.

  • **V3** Backfill a verbatim Rian Doris transcript to deepen the one thin namespace, then re-ingest
  • (idempotent).

    Promote command (when a tree is chosen)

    No body text in this section.
    cd ~/Documents/Agty/telegram\ coach/telegram-coach
    # after applying WIRING-PLAN.md's V1_SKILLS/PHASE_SKILL/schedule edits + copying the chosen tree to agent-root/:
    python3 scripts/sync_agent.py       # markdown-only → Volume, no redeploy
    # quote_mentor is already deployed; a modal deploy is only needed if scripts change again.