# TSGCTO .coordinate — agent-to-agent scratch channel Both agents (TSGCTO-PMO, TSGCTO-Work) run as the TSGCTO user. This directory is LOCAL SCRATCH under $HOME: not git-tracked, not durable. It exists so routine agent-to-agent traffic costs a local file write instead of a network round trip. Safe to wipe and rebuild; agents should not treat anything here as permanent. Durable artifacts stay here until the founder attaches systems of record for this stack. Layout: - inbox-work/ PMO writes, Work reads: TASK---.md, CANCEL-.md to drop a task. - inbox-pmo/ Work writes, PMO reads: REPORT-*.md (done + evidence), QUESTION-*.md (needs a PMO call), BLOCKED-*.md (stuck + why). - archive/ items fully handled get moved here; prune anything >30 days. - BOARD.md roster + standing state (roles, current focus). - log.md append-only journal, one line per event: date -Is | WHO | what happened - prompts/ standing prompt/intro files. logs/ worker output. TASK file fields: Objective / Context (paths) / Constraints / Deliverable(s) / Priority (P1 first, then P2, P3). Turn-start checklist (both agents, every turn): read BOARD.md, scan your inbox, tail log.md. Rules: - PMO plans, prioritizes, writes TASKs, reports to the founder on drop-in. - Work executes inbox-work in priority order; one turn = do work, then reply in inbox-pmo and archive the TASK. Work never self-assigns scope (suggest via QUESTION instead). - Empty inbox when pinged: say so and stop. No watchers/polling loops. - No sudo for either agent; root needs go BLOCKED -> PMO -> founder. - NO repos, git remotes, or SSH on this account (founder policy): no clone/init/push, no SSH, no git network operations. - Shared account courtesy: never kill the other session screen, no long locks. Activation: __USR__-Work sits idle between turns. After writing a TASK, PMO pings it (same account, no sudo): screen -S TSGCTO-Work -X stuff "New TASK in inbox-work - process per protocol now.$(printf '\r')" Never attach to its screen. Headless worker output goes to logs/.log. ## Crossfeed (founder directive, 2026-08-28) - /home/_crossfeed/{bod,cto,cco,coo,founder}/ — cross-vertical awareness. Rules: /home/_crossfeed/README.md (authoritative). - PMO turn-start: also read peer STATUS.md files (incl. founder/ = RCEO vertical). - PMO turn-end (active turns): publish/update /home/_crossfeed/cto/STATUS.md (shape per README). Work does not touch crossfeed. - Ambient awareness ONLY; requests with teeth go founder or SoR. ## Dispatch mechanics v2 (adopted from TSGCOO PATTERN-agent-orchestration.md, 2026-08-28; LIVE) - screen -X stuff is DOORBELL-ONLY: fixed short line, never task text. Doorbell to Work: "New TASK in inbox-work - process per protocol now." Doorbell to PMO (completion): scripts/ping-pmo.sh ("Work turn done..."). - Dispatch = headless run with session continuity: screen -dmS work-turn- bash -c 'cd /home/TSGCTO && env HOME=/home/TSGCTO TERM=xterm-256color crush run --quiet --session "$(cat )" > ~/.coordinate/logs/.log 2>&1; ~/.coordinate/scripts/ping-pmo.sh' Prompt files live in prompts/ (preamble + TASK content); first dispatch omits --session; capture lineage id after via `crush session last --json` into BOARD.md. - Serialize: check `screen -ls` for live work-turn-* before dispatching. - Interactive TSGCTO-Work screen: RETIRED from dispatch duty (kept alive, idle). Monitor workers by reading logs/.log — never attach, no watchers. ## Founder approve/release gate (founder directive, adopted 2026-08-28) - NO work-turn dispatch without explicit founder release ("go") for that batch. - PMO stages TASKs in inbox-work (queued, not dispatched) and presents the batch for approval. Exception: none. Interruption: kill at tool boundary, record lineage SID, reconcile from logs/TODO.md. ## Shared tooling repos (org standard, 2026-08-28) - Canonical source: /home/_crossfeed/tooling/{agent-stack,credentials,integrations} (group users, setgid; commit via ../commit.sh ""; never secrets/ tokens/session pins/logs in git). NO founder-run scripts from /tmp ever again. - Fix wrappers/screens in agent-stack repo + reinstall (keep `# source:` stamps). - Offstage/COS flows: clone from tagged SHA; changes back via git bundle in /home/_crossfeed/outbox. Runtime secrets live in ~/.coordinate/secrets/ (700). ## Dispatch v3 — quota-metered (2026-08-28, GOVERNANCE.md) - Work-turns launch ONLY via ~/.coordinate/scripts/dispatch-turn.sh inside screen -dmS work-turn-. Semaphore-gated (org cap; DEFER doorbell if full), FRESH session by default (small context; turns self-bootstrap from prompt), OK/FAIL doorbells automatic. - Long lineage sids: PMO conversations only, never work-turns. - Capture vs execution: ideas/backlog from reachableceo land as P3 TASKs or Redmine issues (zero quota); execution sequenced by PMO under the gate. - Grinder pattern: big bodies of work = chunk TASKs; each completion doorbell authorizes the next chunk dispatch. No daemons, no watchers.