← Testing HQ
Brain seeded journey · Round 2 of 3

Uglywoo Bali

Instagram-only fork (@uglywoobali — no website step). Account: peytonworkprojects@gmail.com. First CLEAN round — ran after reset-brain-data.sh was fixed to also clear brain_read_inventory, so this is a genuinely fresh baseline, unlike Round 1.

Status: Complete
Cost: $27.31 → $27.01 (−$0.30, 3 image reads + 3 organize-content calls)
Run date: 2026-07-30
Interceptor: installed before first request — 0 hits on /rest/v1/* confirmed this round
Input gap: Post 3 (Screenshot 2026-07-23 at 21.40.13.png) was an un-materialized iCloud stub on the test machine (189 bytes) — brctl download and Finder-reveal both failed to pull it down in reasonable time. This round ran with the profile grid + 2 posts, not 3. Reported plainly rather than reconstructed.
1 · Raw image extraction (verbatim)

Instagram-only fork — no website-research call this round by design.

Image 1 — profile grid (2560×4881, aspect 1.91), "read the text off it"
POST brain-generate
REQUEST: {"template_id":"TMPL-BRVX01","section":"voice_sample","mode":"vision","config":{"image":{"base64":"<3,411,868 chars, omitted>","mediaType":"image/jpeg"}}}
RESPONSE:
{
  "success": true, "mode": "vision",
  "extracted_text": "uglywoobali\n174 posts 650 followers 114 following\nRestaurant\n🥟Dumplings & Asian Comfort Food\n📍SANUR (10AM - 10PM)\n✨Dine In • Take Away • GoFood • GrabFood\n❤️... more\nlinktr.ee/uglywoo",
  "structured": {
    "ocr_text": "[identical to extracted_text above]",
    "voice_notes": "Inviting, community-focused, and lifestyle-oriented. The brand positions itself as a space for connection, creativity, and comfort.",
    "visual_style": "Warm, earthy, and aesthetic. Uses a mix of soft lighting, lifestyle photography, and clean, minimalist graphic design for event announcements. Consistent use of neutral tones with occasional pops of soft pink or green.",
    "offers_or_events": ["Perfume Making Workshop - EVERY 2nd & 4th Sunday - 365K","Valentine Workshop - SUN, 15 FEB - 365K","Women's Day - 8 March 2025"],
    "writing_style": "Uses a mix of casual, conversational English and structured event details. Frequent use of emojis (🥟, 📍, ✨, ❤️) and clear, concise formatting for business information."
  },
  "run_id": "ed85c242-b7aa-44f5-ab19-63fd60c020ac", "model": "google/gemini-3.1-flash-lite"
}

ONE call. No tiling. No "reading it in N parts" copy anywhere — confirmed from both interface and network layer. Matches the 1.91 < 2.4 prediction exactly.

Image 2 — post 1 ("Journal Date"), "read the text off it"
POST brain-generate  (base64 2,726,812 chars omitted, image/png)
RESPONSE:
{
  "success": true, "mode": "vision",
  "extracted_text": "Journal Date at UGLY WOO\nbilasaja.\nJournal Date\n\nuglywoobali Sometimes all you need is a beautiful space, a journal, and a gentle reminder to slow down #uglywoo #indonesianfood #asianfood #sanur #bali",
  "structured": {
    "voice_notes": "Calm, reflective, and inviting. The brand positions itself as a space for mindfulness and relaxation.",
    "visual_style": "Minimalist and aesthetic. Features a textured wall background, a paper sign with a binder clip, floral paper cut-out decorations, and a row of colorful leather-bound journals in the foreground.",
    "offers_or_events": [],
    "writing_style": "Sentence case with minimal punctuation. Uses hashtags at the end of the caption."
  },
  "run_id": "2a98cabe-cf0e-4ce7-9f8d-617b573591a1", "model": "google/gemini-3.1-flash-lite"
}
Image 3 — post 2 ("Perfume Making Workshop"), "read the text off it"
POST brain-generate  (base64 2,573,612 chars omitted, image/png)
RESPONSE:
{
  "success": true, "mode": "vision",
  "extracted_text": "uglywoobali A slow afternoon.\nA scent that's uniquely yours.\n\nThis Sunday, join our Perfume Making Workshop at Ugly Woo; a gentle, sensory experience where you create your own fragrance to take home.\n\nCome with a friend, your daughter, or just for yourself 🥭\n\n🕒 15:30 onwards\n📍 Ugly Woo, Sanur\n\nLimited spots available\nTap to reserve ✨",
  "structured": {
    "voice_notes": "Inviting, calm, and sophisticated. The tone is gentle and focused on the sensory experience.",
    "visual_style": "Elegant and warm. The image features a golden, glowing gradient background with a high-quality product shot of a perfume bottle. Typography uses a mix of clean sans-serif and elegant script fonts.",
    "offers_or_events": ["Perfume Making Workshop - Every 2nd & 4th Sunday - 15:30 onwards - 365K (includes tea/coffee with dumpling)"],
    "writing_style": "Concise and descriptive. Uses emojis (🥭, 🕒, 📍, ✨) to break up text and add a friendly touch. Proper sentence case with clear line breaks."
  },
  "run_id": "2ecdf630-8488-42d7-b1a0-0a366ca261cb", "model": "google/gemini-3.1-flash-lite"
}

Each image read was immediately followed by its own organize-content call, cumulative over all text read so far — 3 separate organize-content calls total, not one merge at the end.

2 · Analysis — ground-truth checks
Did the profile grid tile? No. One brain-generate call, no "N parts" language anywhere — matches the 1.91 < 2.4 prediction exactly.
Is the bio text legible in what came back? Yes — fully, verbatim. Ground truth read directly from the screenshot file: "uglywoobali / 174 posts 650 followers 114 following / Restaurant / 🥟 Dumplings & Asian Comfort Food / 📍 SANUR (10AM - 10PM) / Dine In • Take Away • GoFood • GrabFood / ❤️... more / linktr.ee/uglywoo". Extracted text matches word-for-word and number-for-number (174 / 650 / 114 all exact). Every word, every number, and the URL came through clean — the opposite of a garbled/lost-content finding. At 1.91 aspect, single-pass (no tiling) produced a clean, accurate read.
3 · Defect watch
D2 (Round 1)
business_name → "My Business"? CLEARED this round
After Confirm All, "About your business" correctly shows "Ugly Woo" — no placeholder. Difference from Round 1: this round's first real confirm was the IG "Confirm all" batch action (writes business_name + description together from one organize-content-sourced payload); Round 1's reproduction was a single-field "Use" click on a site-read draft card. Consistent with the root cause later confirmed and fixed in #2988 — batch confirm doesn't hit the bootstrap-placeholder path, per-field confirm does.
D3 (Round 1)
[PERSON_NAME] / [ADDRESS]? Not observed
No personal names or street addresses in the source material this round — doesn't confirm or clear the bug, just no surface for it to appear on.
website_url null? Expected, not a bug
No website this round by design — "Where & how you operate" shows "SANUR" (from the bio's location line), not a URL. Never populated, as expected.
D6 (Round 1)
Bare "N% ready", no denominator — reproduced again
Masthead reads "63% of required" with no total shown. Consistent with Round 1's AC-BRAIN-60 finding.
D9 (Round 1)
Billing line — reproduced again
Billing → Recent Activity shows only $0.00 "AI usage" rows, no line item that reads as "$0.30 for Instagram read." (Root-caused as a sub-cent display-rounding bug, fixed in #2988/PR #2997.)
NEW
Error boundary crash, recovered by reload
Mid-scroll on the Brain playbook page (after confirming all drafts), the app hit a full-screen "Having trouble loading" error. Console-error tracking wasn't attached before it happened, so the underlying JS error wasn't captured. Reloading recovered cleanly with no data loss (63% state, "Ugly Woo" name, all confirmed drafts intact).
NEW
organize-content runs once per image, not once per session
3 images → 3 full re-organize calls over cumulative text, each reprocessing everything read so far rather than one merge at the end. Cost/architecture note, not a correctness bug — N images = N AI organize calls.
NEW
business_name and about flapped across the 3 incremental passes
"uglywoobali" → "UGLY WOO" (all-caps, after post 1's journal text) → "Ugly Woo" (title case, after post 2) — three different capitalizations of the same business in one session, none matching the real logo casing ("ugly woo," lowercase with comma). about similarly went present → "" (empty, flagged missing) → present again. A founder who stopped after image 2 would see a real required field regress to "missing." (Root-caused: this turned out to be correct-by-construction on the data side — nothing wrong is stored, the real gap is a missing UI gate that should disable "Confirm all" while a read is still in flight. Fixed in #2988/PR #2997.)
NEW
Duplicate offering not deduped
"Perfume Making Workshop" appears twice in "What you sell" — once from the bio highlight, once fuller from post 2's caption — both tagged "you told us," no merge.
D7 (Round 1)
Concatenated multi-source voice/visual text — reproduced again
Branding section again shows back-to-back paragraphs glued together, same pattern as Round 1.