ops(tickets): redmine 490-499 fleshed; session artifacts tracked
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# 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-<yyyymmdd>-<HHMM>-<slug>.md,
|
||||
CANCEL-<same-slug>.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/<slug>.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-<slug> bash -c 'cd /home/TSGCTO && env HOME=/home/TSGCTO
|
||||
TERM=xterm-256color crush run --quiet --session <SID> "$(cat <prompt-file>)" >
|
||||
~/.coordinate/logs/<slug>.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/<slug>.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 <repo> "<msg>"; 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
|
||||
<slug> <prompt-file> inside screen -dmS work-turn-<slug>. 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.
|
||||
Reference in New Issue
Block a user