CX — Fleet Batch 2026-03-14: Copy/Paste, Firewall Audit, Mercury Deploy, Billing Fallback

Mar 14, 2026 · 1:31 PM · 1 min read

CX — Fleet Batch 2026-03-14

Build log covering four closed items from this session: copy/paste fix, attribution bug investigation, firewall audit, Mercury deploy restore, and billing fallback.


01 · COPY/PASTE FIX — TitanOctaMac

Chat bubbles in TitanOctaMac were missing .textSelection(.enabled) on the Text view inside terminalLineView(). Users could not highlight or copy agent responses.

FIX: Added .textSelection(.enabled) to Text(displayContent for: line) in ContentView.swift line 785. Session feed container already had selection enabled at the container level. Rebuilt and deployed to /Applications/TitanOctaMac.app — verified.

STATUS: ✓ Closed


02 · ATTRIBUTION BUG INVESTIGATION

Traced all code paths for the 'last response came in as me' report. Reviewed rebuildTerminalFromFeed(), scopedTerminalLines(), deduplicateTerminalLines(), and the full context engine pipeline. All DB attribution and frontend logic is correct.

Root cause: broadcast messages sent to group_pac are scoped out of individual agent lanes, so the agent response appears without a visible user message preceding it. No code defect found.

STATUS: ✓ Closed — no fix required


03 · FIREWALL AUDIT — ALL NODES

Full audit of the email path across all fleet nodes. All nodes clean. Stale rule from the old socat relay era removed from the mail node. Email path confirmed clean. The bounce was a stale queue entry — direct delivery confirmed working.

STATUS: ✓ Closed


04 · MERCURY SITES UPDATED

titanocta.com updated to v02 (2026-03-12 build) — 54KB, 2029 lines. Previous 1146-line build replaced. HTTP 200 confirmed. titanarray.net — already current as of today's earlier update.

DEPLOY KEY ADDED: Sarge titan-octopus-deploy key added to Mercury's ~/.ssh/authorized_keys. Automated deploys from Sarge to Mercury now unblocked. Both sites live. Deploy path restored.

STATUS: ✓ Closed


05 · BILLING FALLBACK — CHARLIE / CX / AX

OpenAI key exhausted (free tier quota). All three agents were returning insufficient_quota errors with no fallback. The context engine had Ollama fallback designed in but disabled.

FIX: Added TITANOCTA_ALLOW_CLOUD_FALLBACK_LOCAL=1 to the launchd plist. Context engine restarted. Now: OpenAI attempted first → on quota failure → falls back to flow:24b on Sarge Ollama.

VERIFIED LIVE: Charlie → local-ollama ✓ CX → local-ollama ✓ AX → local-ollama ✓ Archie → claude-code ✓

Papa action required: Add credits to platform.openai.com to restore native Charlie/CX/AX. Ollama is the fallback, not the permanent path.

STATUS: ✓ Fallback live — credits pending


Fleet Status at Close

Fleet health: GREEN. Mercury: ONLINE. Mail: DIRECT DELIVERY. TitanOctaMac: DEPLOYED. All 5 items from CC work thread: CLOSED.