Files
mopac-pmo/STATE-SNAPSHOT-20260828-1720.md
T

80 lines
4.7 KiB
Markdown

# STATE-SNAPSHOT-20260828-1720 (pre-compact #3)
Read order: BOARD.md -> this -> HUD.md -> log tail. Sessions: PMO pinned
78cf63b8a72f4282 (screen RCEO-PMO), Work pinned e1079fafb8c37d60 (RCEO-Work).
## Mental model (current architecture)
- 8 stacks (5 onstage, 3 offstage), ONE shared z.ai key -> fronted by LiteLLM
proxy (DESIGN v2.2): virtual keys per stack, hard concurrency/budget caps,
usage API = quota truth. Semaphore/ledger demoted to local fast-gates.
- C2 = files in _crossfeed + drip loop: conductor (headless, D1 pending)
consumes REPORTs, shapes TASKs from released Redmine scope, dispatches via
dispatch-turn.sh; nothing ever stuffs Charles's TUI. Events: T0 pull (5-min
supervisor tick) -> T1 webhook receiver (~100 lines) when latency matters;
DB deferred (SQLite-only trigger list in DESIGN v2.1).
- Governance: mechanical release gate (GOVERNANCE.md amended today) —
pre-approved = checks pass + stays in tooling/; founder gate retained for
systemd/relaunchers/perms/credentials/policy. TASK dispatch keeps founder
gate (draft -> present -> go -> dispatch). PMO dispatches, Work executes.
- Redmine = SoR for work; Discourse = docs; Gitea = code. TSG verticals
stood down (STANDDOWN flag); reactivate after pilot.
## Completed today (verify before re-doing anything)
1. Scroll fixed (screenrc ti@:te@); tmux optional later.
2. Inbox renamed founder->receo; PROTOCOL.md L17 wired.
3. /tmp artifacts archived: coo/artifacts-archive + agent-stack/artifacts-archive
(20260828-163636), manifests w/ owners. .crush excluded (COO session data).
4. KNEL-AIMiddleware -> _crossfeed/tooling/knel-aimiddleware (512M, git+remote
intact, symlink from ~/projects). REPORT archived.
5. DESIGN-24x7-execution.md v2/v2.1/v2.2 committed (conductor, quota, classes,
event tiers, LiteLLM, hermes=harness-not-gateway).
6. GOVERNANCE.md mechanical gate amended + committed (92d3887).
7. root-fix-tooling-perms.sh run: tooling group-writable setgid; credentials/
locked 2700 (I locked as owner; script hardened + committed).
8. Role correction: PMO=dispatcher, Work=executor, founder gate on TASKs.
## In flight
- work-turn-litellm (TASK-20260828-1716): container up on 192.168.3.78:4001;
SNAG: current LiteLLM rejects SQLite for virtual-keys/spend (needs Postgres);
Work investigating versions. If BLOCKED: approve dedicated litellm-db
postgres container (standard minimal deploy, not overbuild). Awaiting REPORT
in inbox-pmo; verify keys-not-logged, then archive TASK.
- Known flakiness: 2 headless turns died "Message content shorter than read
bytes" (z.ai stream truncation). Redispatch works; LiteLLM adds retry layer.
## Open queue (owner in caps)
- HIM: D1 conductor split (recommend yes) / D2 pilot scope (Redmine project +
P-level) / D4 event tier (recommend T0) — batched, awaiting one reply.
- HIM: sudo root-migrate-coordinate.sh (idle window, no work-turns) ->
_crossfeed/state/rceo + symlink.
- HIM: rename _crossfeed/founder/ STATUS dir? (GOVERNANCE L25, tsg-quota-install
L56 refs; ties to never-"founder" preference).
- PMO: on LiteLLM REPORT -> verify, wire RCEO providers.json backup/restore,
record virtual key NAMES, test usage endpoint; log one真实 quota datapoint.
- PMO: review founder-wire-tooling.sh (Charles wants past-weeks tooling WIRED
IN — this is that item); present what it wires; his go -> dispatch to Work.
- HIM/PMO: account-split status = shared assets moved (tooling, archives,
inbox); account-level separation NOT started; decide scope (new RCEO account?
or just shared-asset split, which is done).
- PARKED (explicit): MIGRATION-projects two-phase (his go), chipreverse->CTO,
vertical reactivation (rm STANDDOWN + relaunch v2), scroll polish/tmux,
kill RCEO-ScrollTest screen.
## Quota truth for Charles (7% context worry)
- Context % = CONTEXT WINDOW, not quota spend; compact resets it, routine.
- Ledger all-time spend ~$0.015 — quota is NOT the constraint today.
- LiteLLM: enforces caps WE set (keys/budgets/concurrency) + measures TRUE
per-call tokens (usage API). It does NOT read z.ai's server-side quota
number; if z.ai exposes account usage/headers we poll it separately
(downgraded spike, DESIGN v2 §2 fallback).
## Plan to 2200
- 1720-1800: snapshot (this file); batch D1/D2/D4 + founder-rename decision to
Charles; LiteLLM REPORT -> verify/close (or approve postgres fallback).
- 1800-1930: founder-wire-tooling.sh review -> dispatch; run
root-migrate-coordinate.sh in idle window; update PROTOCOL refs.
- 1930-2100: on decisions: draft conductor-turn.sh + redmine-pull scope TASKs;
Work grinds; PMO verifies.
- 2100-2200: all REPORTs consumed, TASKs archived, log close-out entry, HUD
green or explicitly parked-with-owner; housekeeping (ScrollTest kill).