diff --git a/STATE-SNAPSHOT-20260828-1630.md b/STATE-SNAPSHOT-20260828-1630.md new file mode 100644 index 0000000..8e26817 --- /dev/null +++ b/STATE-SNAPSHOT-20260828-1630.md @@ -0,0 +1,33 @@ +# STATE-SNAPSHOT-20260828-1630 (pre-compact #2) + +Read order: BOARD.md → this → HUD.md → log.md tail 8. + +## Sessions +- PMO: pinned 78cf63b8a72f4282 (THIS conversation). Screen relaunched 16:27 (scroll fix). +- Work: pinned e1079fafb8c37d60, idle, FOUNDER GATE holds. Screen pid 2664772. + +## Scroll (main arc this session — verdict: "better, needs more work, good enough") +- Charles: iPad 11" + full Logitech kbd/mouse. Wheel fine outside screen, broken inside. +- Root causes: (1) screen 4.09.01 alt-screen blocked client-local scrollback → fixed + via ~/.screenrc `termcapinfo xterm* ti@:te@` (screens must RESTART to load it — + done for PMO+Work via relaunch-screen.sh). (2) screen 4.09 forwards mouse modes + (1002/1006) but MANGLES SGR wheel events (strips '<') → wheel-to-crush glitchy; + unfixable in screen; tmux migration = full fix, DEFERRED (his call, later). +- Fallbacks that always work: Ctrl-A [ copy mode (q exits), PgUp/PgDn. +- Evidence: ~/.coordinate/logs/{crush-cap,outer*,win-catv*,pmo-*}.txt; HOWTO-scroll.md. + +## Pending (Charles queue, in order) +1. Standing-release decision + name pilot Redmine scope → amend + tooling/agent-stack/GOVERNANCE.md, wire redmine-pull into tooling/integrations. +2. Migration go (two-phase per MIGRATION-projects.md; copy→verify→purge on 2nd go). +3. founder-wire-tooling.sh review/run (installs agent-stack kit into 4 TSG homes). +4. chipreverse (~/chipreverse) → CTO? (answer when raised) +5. NEEDS ROOT: sudo bash ~/.coordinate/scripts/root-rename-inbox.sh + (inbox/founder→inbox/rceo; THEN update PROTOCOL.md L17/L20, + tooling/agent-stack/{GOVERNANCE.md,tsg-quota-install.sh} _crossfeed/founder refs). +6. Optional: scroll polish / tmux decision; kill RCEO-ScrollTest. + +## Post-compact first turn +Confirm continuity to Charles in ≤3 lines + rolling HUD; resume queue item 1 +(standing release) unless he steers. Comms protocol is in PROTOCOL.md (spoonfeed +one item/turn, HUD every reply, never "founder", root-*.sh staged scripts). diff --git a/STATE-SNAPSHOT-20260828-1645.md b/STATE-SNAPSHOT-20260828-1645.md new file mode 100644 index 0000000..08380a2 --- /dev/null +++ b/STATE-SNAPSHOT-20260828-1645.md @@ -0,0 +1,41 @@ +# STATE SNAPSHOT — 2026-08-28 16:45 (pre-compact durability dump) + +Session: RCEO-PMO pinned 78cf63b8a72f4282 (PMO-SESSION-ID); Work e1079fafb8c37d60. +Compact/relaunch-safe: all state below is on disk. + +## Org shape +- Sole active vertical: RCEO (PMO+Work, yolo wrappers @7565265 ledger-hooked). +- TSG BOD/CTO/CCO/COO STOOD DOWN, state preserved in homes; reactivate: + rm /home/_crossfeed/metrics/STANDDOWN && sudo bash + /home/_crossfeed/tooling/agent-stack/tsg-stack-relaunch-v2.sh +- COS chief-of-staff stack planned on offstage: 3 NEW verticals; bootstrap + via agent-stack + crossfeed-infra patterns; offstage kit in outbox. + +## Control plane (/home/_crossfeed) +- inbox/{bod,cco,cto,coo,founder}/ 3775 live; MSG---.md. +- tooling/ repos: agent-stack @d997c83 (incl DESIGN-24x7-execution.md), + crossfeed-infra @19de53f, knel-aimiddleware @2440188, integrations, + credentials. commit.sh = group commit as local uid. +- metrics/: ledger+supervisor live; launches.jsonl fills as wrappers restart. +- SOR access verified: ~/.coordinate/SOR-BASELINE.md (tea/redmine/discourse/ + registry all OK; tea default-login fixed). + +## Open loops (awaiting Charles) +1. STANDING RELEASE decision for 24x7 (DESIGN-24x7-execution.md): approve + bounded Redmine scope; then GOVERNANCE.md amendment + redmine-pull in + integrations. PILOT SCOPE not yet named. +2. Migration run: mapping in MIGRATION-projects.md; staged two-phase. +3. founder-wire-tooling.sh review/run (staged; TSG installs at reactivation). +4. chipreverse -> CTO? (~/chipreverse, outside ~/projects) +5. INTRO-PMO.md mission/SoR placeholders still unfilled (nominal). + +## Standing prefs (PREFS-reachableceo.md) +Call him reachableceo/Charles, NEVER "the founder". Careful ops +(preflight/plan/verify, idempotent). Debian 13. sudo = Charles's hands +only. Terse replies, cite paths. Founder gate: every TASK unless standing +release granted. Capture free / execution metered (GOVERNANCE.md). + +## Key paths +~/.coordinate/{BOARD.md,log.md,PROTOCOL.md,SOR-BASELINE.md, +MIGRATION-projects.md,PREFS-reachableceo.md,handoff/cto-state-20260828/, +scripts/}. Wrappers: ~/.coordinate/scripts/pmo-loop.sh (@7565265+ledger). diff --git a/STATE-SNAPSHOT-20260828-1720.md b/STATE-SNAPSHOT-20260828-1720.md new file mode 100644 index 0000000..7e584e1 --- /dev/null +++ b/STATE-SNAPSHOT-20260828-1720.md @@ -0,0 +1,79 @@ +# 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). diff --git a/STATE-SNAPSHOT-20260828-1930.md b/STATE-SNAPSHOT-20260828-1930.md new file mode 100644 index 0000000..e088c7c --- /dev/null +++ b/STATE-SNAPSHOT-20260828-1930.md @@ -0,0 +1,53 @@ +# State snapshot #5 — 2026-08-28 19:30 (pre-compact #5) + +READ FIRST after compact. Rebuild: BOARD.md -> this -> HUD.md -> log.md tail. + +## The build (MOPAC: Go-only, AGPLv3, ukrrs org, ALL DEV IN DOCKER) +RUNNING: harness-skeleton turn (Go 1.26.7 — installed to host ~/.local BEFORE +docker rule; follow-up TASK must dockerize builds + remove host Go). LSP turn +parallel (containerized digest-pinned; node servers = sanctioned exceptions). +QUEUED (work-queue screen, order): study-secrets retry (z.ai flake kill #2, +rc=3 defers auto-retry) -> pmo-ops (DESIGN appends: budget/quota flat-rate + +$200/mo post-09/22, hermes-killed/OWUI-front-door, keyproxy, ukrrs FLOSS +loose-coupling, dev-in-docker, EVENTS-V1; Redmine study-crush/maki -> Done; +REPORT briefs) -> TASK-1975 events-receiver (`mopac events` Go stdlib HTTP, +/hooks/{redmine,discourse,gitea}, sig-verified, trigger->action per DESIGN). +NEXT TASKs (PMO drafts): dockerize-builds+host-Go-cleanup; keyproxy build +(ukrrs/mopac-keyproxy seeded; placeholders mpk_*, material only in Bitwarden +SM REST + Vault KV2/AppRole, NO BW SDK license, MPL vault client ok); +mopac-bitwarden-go CLI (ukrrs seeded); OWUI endpoint (OpenAI-compatible +/v1/chat/completions, stacks-as-models, Cloudron SSO = RBAC). +MVP bar (Charles): harness runs, "tell me about yourself" via LiteLLM, GLM +self-description lands as REPORT. Models: 13 on proxy incl glm-5.3-flash +(live); flash ~= 3x quota stretch; routing = config tier map v0, flash- +classifier auto-pick v1. + +## Tonight's rules from Charles (all recorded in PROTOCOL/DESIGN-queued) +- PMO = traffic cop ONLY: write meaty TASKs, farm to crush -p screens; PMO + context tiny; no meaty work in-session. +- ALL dev in docker; docker pull pre-authorized; host stays clean. +- ukrrs org = ALL LLM work (MOPAC, keyproxy, bitwarden-go, KNEL-AIMiddleware, + TSYSGroupAISystem, TSYS-AIOS-GIS, TSG-COOAndBoard-AIAgents-Public + transferred; KNELSecretsManager STAYS KNEL; Gitea redirects old paths). +- Hermes KILLED (was Node); OWUI = interactive front door; events = V1. +- No time-tracking of Charles; he says when he steps away. +- FLOSS posture: every tool standalone repo, config-driven, exec+JSON + contracts, TSYS policy outside tools. + +## Infra state +litellm+litellm-db up (postgres vkeys verified); glm-5.3-flash added +(config.yaml + restart; hot-reload endpoint lied-200 — restart worked). +keyproxy repo branch main; bitwarden-go main; MOPAC main @ b69d387+ +skeleton-turn commits coming. Redmine MOPAC 7 issues (statuses being +mirrored by ops TASK). Discourse docs = repo fallback until admin key. + +## Open items (Charles, none blocking) +1. sudo root-migrate-coordinate.sh — only when NO work-turns running. +2. Discourse admin-scoped key (docs port). +3. Q4 OAuth-defer confirmed-by-default. (Q5 events answered: V1.) +4. Post-09/22 budget $200/mo: 2x $80 z.ai max + $40 OpenRouter. + +## Session pins +PMO interactive 78cf63b8a72f4282; Work e1079fafb8c37d60. Screens: RCEO-PMO, +RCEO-Work, work-chain-harness(done/halted history), work-turn-lsp, +work-turn-harness-skeleton, work-queue, RCEO-ScrollTest (kill when idle). diff --git a/STATE-SNAPSHOT-20260828-2000.md b/STATE-SNAPSHOT-20260828-2000.md new file mode 100644 index 0000000..2ccf23c --- /dev/null +++ b/STATE-SNAPSHOT-20260828-2000.md @@ -0,0 +1,75 @@ +# STATE-SNAPSHOT-20260828-2000 (pre-compact #4) + +Read order: BOARD.md -> this -> HUD.md -> log tail. PMO pinned session +78cf63b8a72f4282 (screen RCEO-PMO). Work pinned e1079fafb8c37d60 (RCEO-Work). + +## THE PIVOT (dominates everything) +Charles decreed: custom agent harness in GO ("MOPAC") replaces the +bash/screen/doorbell/_crossfeed hack stack. All patterns from 2026-08-28 +carry over; only substrate changes. Done by 0800 target; slow/steady grind, +no quota burn, keep going overnight. + +## MOPAC layout (/home/reachableceo/projects/meta/MOPAC/) +- harness/ : git repo, AGPLv3 VERBATIM LICENSE, DESIGN.md (v0 + additions), + go.mod. PUBLIC on gitea reachableceo/MOPAC (pushed, 5+ commits, + https remote works). Committed: spec, parity target, org model + (verticals first-class), interaction layer = Redmine/Discourse/Gitea ONLY, + Go-only toolchain HARD RULE (CMMC/SCI/ITAR; node exceptions = containerized + + logged, Playwright-class needs his sign-off), dedicated CLIs (approved): + MOPAC/tools/{redmine-cli,discourse-cli,bitwarden-go}. +- reference/ : clones crush (charmbracelet), maki (tontinton), + KNELSecretsManager. STUDY = PORTING-NOTES-*.md in harness/docs/. +- siblings/ : KNEL-AIMiddleware moved here (from _crossfeed/tooling); + ~/projects/KNEL-AIMiddleware symlink repointed. +- lsp/ : LSP task creating (gopls critical; dockerfile/marksman/yaml/bash; + node ones containerized, accepted exceptions). + +## SoR status (interaction layer) +- Redmine: projects.knownelement.com (creds ~/.creds/redmine.env; was hung on + Cloudron, he bounced it, works). Project MOPAC created PUBLIC + 7 issues. + ALL MOPAC work tracked there. +- Gitea: reachableceo/MOPAC public, AGPL-3.0 detected. tea works + (`tea repo create --name X` no --owner; https push OK). +- Discourse: category creation 403 (key not admin). Fallback: repo docs; + port when he drops admin key in ~/.creds/discourse.env. + +## Infra live +- LiteLLM proxy: 192.168.3.78:4001 (4000 taken). 8 virtual keys (receo $50/30d, + TSG $30, offstage $15; values in tooling/credentials/litellm-virtual-keys.md + 600 gitignored). REQUIRES postgres for vkeys/spend (he approved -db container; + litellm-db.env exists — VERIFY it actually got deployed; sqlite path failed). + crush wiring: ~/.config/crush/crush.json (600) — NOT providers.json (crush + auto-regenerates it; caused transient 401). Backups: *.pre-litellm.bak. + Usage API verified: /key/info shows spend. +- Known flake: z.ai "Message content shorter than read bytes" on ~2 of 5 + headless turns — redispatch works; LiteLLM adds retry layer eventually. + +## Overnight machinery (running now) +- work-chain-harness screen: sequential chain via + ~/.coordinate/scripts/work-chain.sh harness — status + ~/.coordinate/logs/harness.status. Order: study-crush DONE -> study-maki + RUNNING -> study-secrets -> harness-skeleton (TASK-20260828-1903). + BUG FIXED: launch with ABSOLUTE task paths; missing task = halt not skip. +- Parallel turn: work-turn-lsp (TASK-20260828-1915-lsp-stack): containers, + wrappers per KNEL pattern, crush wiring, verify diagnostics flow. +- dispatch-turn.sh: semaphore-gated headless turns; doorbell to RCEO-PMO is + OK tonight (accepted), dies with harness v1. +-Founder gate: tonight's standing go covers MOPAC build chain (he said keep + grinding); NO live-stack cutover; pilot = read-only/demo scope. + +## Open items (owner) +- HIM: 0800 acceptance criteria proposed (skeleton+dry-run+1 real turn + writeback+LSP+3 notes; NOT mcp/clis/bitwarden) — awaiting his confirm. +- HIM: discourse admin key; oauth-defer (default yes); events T0 (default + yes); sudo root-migrate-coordinate.sh (morning fine). +- PMO: verify litellm-db postgres actually deployed (report said approved + path; confirm container running + db_url set). +- PMO: when chain REPORTs land -> verify, archive TASK, UPDATE REDMINE ISSUE + statuses (mirroring = new standing practice). +- PARKED: D2 pilot scope (MOPAC redmine project IS it now), D4, account-split + beyond shared assets, MIGRATION-projects, chipreverse->CTO, vertical + reactivation, scroll polish, founder/ dir rename, RCEO-ScrollTest kill. + +## Comms protocol reminder +Spoonfeed ONE item/turn; HUD table end of every reply; longform to files; +never "founder"; medium verbosity per his iPad ask tonight; keep him focused. diff --git a/STATE-SNAPSHOT-20260829-0530.md b/STATE-SNAPSHOT-20260829-0530.md new file mode 100644 index 0000000..b50ede7 --- /dev/null +++ b/STATE-SNAPSHOT-20260829-0530.md @@ -0,0 +1,75 @@ +# STATE SNAPSHOT #6 — 2026-08-29 ~05:30 CST (pre-wrap, crush update pending) + +READ THIS FIRST after relaunch. Then: `~/.coordinate/log.md` tail, +`~/.coordinate/logs/queue.status` tail, `screen -ls`. + +## Who/where +PMO agent reachableceo-PMO, host ultix-streaming, screen `RCEO-PMO` +(relaunch PMO under EXACTLY this name — heartbeat stuffs into it). +Charles = reachableceo (never "founder"; never track his time/availability). +PMO = traffic cop ONLY: meaty TASK prompts -> headless workers, verify +REPORTs, archive to ~/.coordinate/archive/, mirror Redmine. One item per +turn, HUD table at end, medium verbosity. + +## Mission status (spec of record: harness/docs/SPEC-20260829-charles-brief.md) +- MVP bar MET (8/28 19:29) and **V1 FEATURE-COMPLETE**: harness loop + (self-hosting PROVEN live, issue 487), events (:4100 webhooks), serve + (:8090 OWUI front door), keyproxy v0 (mpk_ refs, file/env backends, + BW/Vault stubs), mopac-bitwarden-go v0 (fake-server tested). +- Timeline: **beta 8/31 0600 CST, production + first 3-COS briefing + 9/1 0630 CST**. +- Redmine backlog: tickets 490-499 (490 quota, 491 resource, 492 phase + routing, 493 queue selection, 494 multi-account deploy, 495 briefing, + 496 review chain, 497 keyproxy BW live, 498 MCP fleet, 499 PDF). + +## QUOTA CRISIS — careful-weekend mode (Charles at 93% weekly) +- Worker turns default **glm-4.7-flash** (dispatch-turn.sh, TURN_MODEL + override for escalation to glm-5.2). AFTER CRUSH UPDATE: check catalog + for glm-5.3-flash; if present switch the default in dispatch-turn.sh. +- queue-after.sh has QUOTA WALL GUARD: any q-*.log with "Usage limit + reached" halts the gated chain + pings RCEO-PMO. +- Do NOT freeze the weekend — careful sustained building (Charles's order). +- 1900 tonight Charles connects: 1. Bitwarden creds (ticket 497), 2. + Signal/Discord, 3. Google, 4. **OpenRouter key** (separate quota pool). + +## Chain running (survives crush update; gates use fresh crush runs) +- work-q9 RUNNING (quota/back-pressure + resource gate, tickets 490+491, + on glm-5.2 — sunk cost, let finish) -> work-q11 deploy (494, flash) -> + work-q12 briefing (495, flash) -> work-q10 dispatcher (492+493, + escalate to 5.2 if flash output garbage). +- TASK files: ~/.coordinate/inbox-work/TASK-20260829-{0500-quota, + 0700-dispatcher, 0900-deploy, 1100-briefing}.md +- pmo-heartbeat screen: 1h interval, wakes PMO with chain-check prompt. +- If q9 was mid-flight during the binary update: running proc unaffected + (old inode); gates launch NEW crush runs post-update. + +## Ops facts (hard-won) +- LiteLLM http://192.168.3.78:4001, 13 z.ai models; /config/update + hot-reload LIES — docker restart litellm (~60s). +- Harness vkey: ~/.coordinate/secrets/mopac-harness-vkey.env (0600, + alias mopac-harness-demo-v1). Redmine: source ~/.creds/redmine.env with + `set -a`, var REDMINE_API_KEY. +- dispatch rc: 3=deferred(cap), 99=gate unavailable, 143=self-pkill + (happened once — TASKs now say never broad pkill), z.ai flake "Message + content shorter than read bytes" = redispatch. +- dispatch-turn doorbell targets ${USER}-PMO (dead, cosmetic); real wake + = pmo-heartbeat. +- PMO cannot ssh/sudo: ticket 494 deploy runs via Charles window (~10 min). +- keyproxy repo: default branch fixed to main (was master). +- Absolute paths for dispatch TASK args (relative path = empty prompt bug). +- Gitea API pattern: tea token from ~/.config/tea/config.yml, never echo. + +## First moves for fresh PMO +1. Confirm chain state (queue.status, screens). Verify q9 REPORT when it + lands -> archive -> Redmine 490+491 Done. +2. Post-update: check `crush.json`/catalog for glm-5.3-flash; switch + dispatch default if present. +3. Continue verify->archive->mirror->redispatch loop per heartbeat. +4. At 1900: walk Charles's connection list (BW > Signal/Discord > Google > + OpenRouter); dispatch ticket 497 turn after BW creds land. + +## AMENDMENT ~06:30 +Charles upgraded to MAX PLAN — all quota buckets ZERO. Crisis over; +quality-first restored (dispatch default glm-5.2; flash via TURN_MODEL for +grind). q9 must verify its polling against MAX-plan bucket shapes. PDF +pipeline (499) dispatched parallel (work-q13, new repo, no collision). diff --git a/STATUS-20260828-2100.md b/STATUS-20260828-2100.md new file mode 100644 index 0000000..a001cb4 --- /dev/null +++ b/STATUS-20260828-2100.md @@ -0,0 +1,29 @@ +# STATUS — 2026-08-28 21:00 (for Charles, on return) + +## MVP bar: MET (19:29) +`harness once --demo` ran live: class=primary -> glm-5.3 via LiteLLM, GLM +self-description landed as REPORT (reports/REPORT-demo-demo-1-20260829-002937.md). +Exit 0, 731 tokens, 9.4s. Ahead of the 0800 bar. + +## Your directive -> TASKs (queued, serial chain) +1. docs-standards — RUNNING now: README rewrite + doc standard across + MOPAC, mopac-keyproxy, mopac-bitwarden-go (your "README is garbage" decree). +2. events-receiver — queued (webhook door: Gitea HMAC, Discourse, Redmine). +3. keyproxy-v0 — queued: mpk_ interface LIVE on file backend (~/.creds + + litellm-secrets), Bitwarden/Vault stubs drop in later. Placeholder-in-front + exactly as you sketched. +4. selfhost-core — queued: `harness loop` polls Redmine, runs its own turns, + writes REPORTs back; retires semaphore/_crossfeed/queue scripts + the dead + doorbell (it targets reachableceo-PMO, screen is RCEO-PMO — silent since + forever). Bash stack stays until you sign off on deletion. + +## Tonight's reality +- z.ai quota wall hit 19:30 (both queued turns died on it) — freed 20:59. + Quota-watch script now guards dispatch: probes before firing chains. +- pmo-ops verified + archived; study-crush/maki Redmine 480/481 closed. +- Heartbeat (30 min) wakes PMO to verify/archive/redispatch — chain runs + without you. + +## Waiting on you (no rush) +- sudo root-migrate-coordinate.sh (only in a no-turns window) +- Discourse admin-scoped API key (category creation 403s; repo fallback) diff --git a/STATUS-20260829-0130.md b/STATUS-20260829-0130.md new file mode 100644 index 0000000..c895ebf --- /dev/null +++ b/STATUS-20260829-0130.md @@ -0,0 +1,42 @@ +# STATUS — 2026-08-29 01:30 — V1 FEATURE-COMPLETE (for Charles) + +All five V1 pieces built, verified live, pushed, Redmine-mirrored. +The 0800 MVP bar was passed at 19:28 yesterday; everything below is bonus. + +## Shipped tonight (ukrrs org, all digest-pinned Docker builds) +1. **harness skeleton + conductor** — `once`, --dry-run/--demo, exit codes, + model routing v0 (class->tier->model, 13-model LiteLLM behind it). + MVP bar met 19:28: glm-5.3 self-description REPORT, live. +2. **harness loop — SELF-HOSTING PROVEN** (issue 487 selftest): Redmine SoR + scan -> own bounded turn -> REPORT -> journal note writeback -> status + map -> dedup JSONL. The bash stack (semaphore/_crossfeed/queue scripts/ + dead doorbell) is RETIRABLE on your word; nothing deleted yet. +3. **harness events** — webhook door (:4100): Gitea HMAC-SHA256, Redmine/ + Discourse shared-secret, deny-first, normalize+dedup JSONL. +4. **keyproxy v0** — mpk_ placeholders live: file/env backends over ~/.creds + + litellm-secrets; BW/Vault 501 stubs; :8082; zero persistence, redacted. +5. **mopac-bitwarden-go v0** — Secrets Manager REST client + CLI, fake- + server green; plugs into keyproxy's bitwarden: stub when creds exist. +6. **harness serve** — OWUI front door (:8090): /v1/chat/completions, + /v1/models (9-model catalog), stateless v0, vkey auth. + OWUI connection: base URL http://192.168.3.78:8090/v1, vkey per REPORT. +7. **Docs standard applied** — READMEs rewritten (MOPAC, keyproxy, + bitwarden-go, KNEL-AIMiddleware fixes), verified quickstarts. + +## Infra notes +- z.ai quota wall 19:30-20:59 (misleading 09:53 message) — quota-probe + script now guards chain launches. +- keyproxy repo default-branch trap fixed (was master, now main, pruned). +- 2 flakes + 1 self-pkill + 1 my-path-bug: all caught by heartbeat + verifies and redispatched same night. + +## Awaiting you (nothing blocking) +- Cutover: run `harness loop` as the standing PMO mechanism (scope query + needs your released-scope definition) + retire the bash stack. +- OWUI deployment + mopac-serve connection (settings above). +- Bitwarden machine-account creds when available (config-only after). +- sudo root-migrate-coordinate.sh in a no-turns window; Discourse admin key. +- Phase-3 candidates queued in my head: serve streaming+tools, events-> + loop trigger wiring, BW/Vault backends live. + +Chain drained; heartbeat self-terminates on next tick. — PMO