Commit Graph

594 Commits

Author SHA1 Message Date
operator fff5556eb6 chore(retention): archive retired jobs [646-opm-watch, 646-pip-sync, 646-sidechat-task, auto-work-queue-f02, auto-work-queue-f06, auto-work-queue-f10, auto-work-queue-f14, auto-work-queue-f18, auto-work-xop-e02, auto-work-xop-e06, auto-work-xop-e10, auto-work-xop-e14, auto-work-xop-e18, mainloop-p1-pilot, mainloop-p2-noswitcher, mainloop-p3-bridge, mainloop-p4-steady] 2026-10-07 03:26:50 +00:00
operator 094bd7d691 feat(muse): harden choice watcher concurrency, add rules dictionary, resume pool, and session bind 2026-10-07 01:50:18 +00:00
operator 90f4ef661a feat(tmux): add server death watchdog daemon and multi-socket approver enhancements 2026-10-07 01:50:06 +00:00
operator f2527f183c test(fleet): link test_followup_fixes into tests/ with unittest adapter 2026-10-07 01:49:56 +00:00
operator a09337ec48 chore(legacy): archive early prototype listener and relay scripts 2026-10-07 01:49:48 +00:00
box-ctl 3c6bfa5120 Update job auto-work-xop-e18 via box-ctl 2026-10-07 01:10:45 +00:00
box-ctl 808ec78598 Update job auto-work-xop-e14 via box-ctl 2026-10-07 01:10:40 +00:00
box-ctl ebf429671a Update job auto-work-xop-e10 via box-ctl 2026-10-07 01:10:35 +00:00
box-ctl f6e9e7709d Update job auto-work-xop-e06 via box-ctl 2026-10-07 01:10:30 +00:00
box-ctl 73549f6d45 Update job auto-work-xop-e02 via box-ctl 2026-10-07 01:10:25 +00:00
box-ctl 65b66c6c08 Update job auto-work-queue-f14 via box-ctl 2026-10-07 01:10:16 +00:00
box-ctl b9739689b4 Update job auto-work-queue-f06 via box-ctl 2026-10-07 01:10:08 +00:00
box-ctl 9a9e90b396 Update job auto-work-queue-f02 via box-ctl 2026-10-07 01:10:00 +00:00
box-ctl b992ec713e Update job auto-work-queue-f18 via box-ctl 2026-10-07 01:09:51 +00:00
operator b3464b0ac0 feat(systemd): track tmux-auto-approver.service definition in repo 2026-10-07 00:49:26 +00:00
operator e25d2cf4cc feat(systemd): add and enable continuous tmux-auto-approver user daemon 2026-10-07 00:49:23 +00:00
operator 34b0ef9fe2 chore(fleet): sync operator memory, hatch menu dialogs, and watchdog alerts 2026-10-07 00:25:51 +00:00
operator 0065d11e97 feat(supervision): add choice watcher daemon, HTTPS spec docs, and test suites
- bin/muse_choice_watcher.py + systemd/muse-choices-reconcile.*: automatic choice answering and timer reconciliation
- bin/digest.py: fleet log and health summarization
- docs/BOX-*-HTTPS.md: comprehensive HTTPS execution contracts and API documentation
- docs/MUSE-CHOICES-POLICY.md & docs/SUPERVISION-SPEC.md: autonomous execution specs
- tests/test_*.py: unit test suites for HTTPS API, choice watcher, fleet heal, and swarm pruning
2026-10-07 00:25:46 +00:00
operator 04339bad14 feat(box): wire tmux tallies, auto-approvals, and onboard connects into CLI and API
- bin/box-ctl.py: wire tmux-tally, tmux-auto-status, tmux-auto-toggle, tmux-auto-once, and onboard-connects actions with idempotent allowlists
- bin/exec-constrained.py: register tmux.tally, tmux.auto_status, and onboard.connects ops for HTTPS execution
- bin/super-cli.py: wire box tmux dispatch to approver, add cmd_run/cmd_watch, and json unread formatting
- .agents/skills/box/SKILL.md: document tmux worker tally and auto-approval capabilities
2026-10-07 00:25:27 +00:00
operator 9f2a0e836d feat(tmux): implement multi-socket worker tally, regex auto-approver, and onboard TUI
- bin/tmux_auto_approver.py: multi-socket worker discovery across user and netns sockets
- Regex matching engine with 7 terminal prompt rules and hard security guardrails
- bin/box-onboard-tui.py: dedicated 4-tab curses TUI for fleet connects, tmux workers, rules, and audit logs
- Audit logging stream in logs/tmux/auto-approvals.jsonl and state in .state/
- Unit test suites covering engine, rules, guardrails, and curses rendering
2026-10-07 00:25:14 +00:00
operator d834c3187d feat(web): add Operator PIN 3128 auth and Agentic Dev console tab
- Add front-door operator authentication modal with PIN 3128 and ops_session cookie
- Add 6th navigation tab: Agentic Dev & Tmux Console with live worker badge
- Implement 5 sub-panels: Onboard Connects, Tmux Workers, Regex Rules, Dev/Git & Tests, Audit Logs
- Implement modals for worker spawning, OTP verification, and regex evaluator
- Integrate with HTTPS exec endpoints and realistic live machine fallbacks
2026-10-07 00:25:00 +00:00
operator 0c6d2235ab feat(kpi): add autonomous worker auto-spawn engine and watchdog reconciliation 2026-10-06 23:03:52 +00:00
box-ctl 02a2189773 Update job auto-work-pip-b20 via box-ctl 2026-10-06 22:06:50 +00:00
box-ctl 7985d92bff Update job auto-work-pip-b19 via box-ctl 2026-10-06 22:06:49 +00:00
box-ctl a37d5f6487 Update job auto-work-pip-b18 via box-ctl 2026-10-06 22:06:47 +00:00
box-ctl b6de1e1a5b Update job auto-work-pip-b17 via box-ctl 2026-10-06 22:06:45 +00:00
box-ctl 2d1f72d0c2 Update job auto-work-pip-b16 via box-ctl 2026-10-06 22:06:44 +00:00
box-ctl 1ecbd745c5 Update job auto-work-pip-b15 via box-ctl 2026-10-06 22:06:42 +00:00
box-ctl e6fd553671 Update job auto-work-pip-b14 via box-ctl 2026-10-06 22:06:40 +00:00
box-ctl f2caf38d44 Update job auto-work-pip-b13 via box-ctl 2026-10-06 22:06:39 +00:00
box-ctl ebcb28ee7a Update job auto-work-pip-b12 via box-ctl 2026-10-06 22:06:37 +00:00
box-ctl 2609431fd9 Update job auto-work-pip-b11 via box-ctl 2026-10-06 22:06:35 +00:00
box-ctl 0eae50ee0f Update job auto-work-pip-b10 via box-ctl 2026-10-06 22:06:32 +00:00
box-ctl da19927703 Update job auto-work-pip-b09 via box-ctl 2026-10-06 22:06:30 +00:00
box-ctl 8fd69ea9c9 Update job auto-work-pip-b08 via box-ctl 2026-10-06 22:06:29 +00:00
box-ctl 8301f9c9f0 Update job auto-work-pip-b07 via box-ctl 2026-10-06 22:06:27 +00:00
box-ctl 40cbd3acbf Update job auto-work-pip-b06 via box-ctl 2026-10-06 22:06:25 +00:00
box-ctl 34688bf3f6 Update job auto-work-pip-b05 via box-ctl 2026-10-06 22:06:24 +00:00
box-ctl b5011f0e0d Update job auto-work-pip-b04 via box-ctl 2026-10-06 22:06:22 +00:00
box-ctl 3d93557641 Update job auto-work-pip-b03 via box-ctl 2026-10-06 22:06:21 +00:00
box-ctl b171e49498 Update job auto-work-pip-b02 via box-ctl 2026-10-06 22:06:18 +00:00
box-ctl 95a33bde07 Update job auto-work-pip-b01 via box-ctl 2026-10-06 22:06:15 +00:00
operator ae4df2f29c feat(kpi): expand KPI runtime monitoring, prompt advisory envelopes, and missing field resiliency 2026-10-06 20:02:48 +00:00
operator b824f6d405 feat(box): add invite code handler, Settings RPA, and agent onboarding pipeline
- Support invite code discovery in main chat and redemption in settings menu
- Add Settings RPA primitives with Radix UI mouse dispatch and retry polling for async DOM
- Attribute 'has_redeemed' binary from the Additional tokens ticker / entrypoint visibility
- Unblock agent @646 by repairing warp-def/dev tunnels and redeeming REDCJ7 via dev (+1B tokens)
- Implement 'box onboard' pipeline to provision infra, authenticate, and auto-redeem queued codes
- Add 'box onboard feed-matrix' ranking all agents by work done over time, job count, and role
- Register 'InputType.SALVAGE' in loop modulation (CRITICAL priority, 600s timeout, 3 nudges to opm)
- Ingest recurring balance audits into canonical HEARTBEAT.md and TOOLS.md
2026-10-06 19:33:17 +00:00
operator 4998ffddb6 feat(tui): SGR mouse fallback, focus partition highlights, multi-trigger context menus & box tui
- bin/muse-tui.py:
  * Parse raw SGR 1006 (\033[<btn;x;yM/m) and Xterm mouse escape sequences in _handle_escape_sequence fallback.
  * Multi-trigger context menus: Button 3, Button 2, Ctrl/Shift/Alt+Click, double-click, click on active item, or click [⚡] / [sid] target.
  * Render permanent [⚡] action target across all sidebar thread rows.
  * Separate focus partitions for FLEET AGENTS and SIDECHATS with partition-specific wheel scrolling and keyboard navigation (j/k, Enter, h/l).
  * Space key support in NORMAL mode to open context menus.
  * Active pane highlighting and updated footer hints.
- bin/super-cli.py:
  * Add 'box tui' command dispatching directly to muse-tui.py --mode box.
- tests:
  * Add unit tests in test_context_menus.py, test_focus_highlight.py, and test_main_nav.py (51/51 passing).
2026-10-06 19:29:22 +00:00
Muse Sidechat 66c8900a58 feat: setup-fed watchdog supervision for all registry nodes
Close the def/dev supervision gap at the source: every node brought
up gets watched, and every supervisor enumerates the registry.

- bin/ensure-node-supervision.sh (new, idempotent): appends the
  NODES.md row (netvm-names port, honors CDP_PORT_OVERRIDE so it
  never fights provision's picker) and installs/enables
  chromebox-watchdog-<node>.timer. --all heals drift (registry +
  /etc/netvm identities). Template verified byte-identical to the
  installed def unit.
- netvm-node-up.sh: calls ensure (non-fatal) at the end. Provision
  and the onboarding pipeline reach it transitively.
- relay-health-check.sh, cdp-latency-check.sh: registry-driven
  watched_nodes() + LIB_ONLY guards (were hardcoded 4 nodes).
- tests/test_node_supervision.py (6): row add/idempotent/override,
  timer render, node-up wiring, both watched_nodes().
- CHROMEBOX-RUNBOOK.md: setup-fed supervision section.

Pairs with the registry-driven relay/chromebox watchdogs: new rows
are picked up on the next run with no per-node code edits.
2026-10-06 19:28:29 +00:00
Muse Sidechat c9143a558b fix: truthful fleet status in blind shells + agent-health circuit breaker
box fleet status / approvals check misreported every node as STOPPED /
CDP-unreachable from sandboxed shells (own PID+net namespaces: pgrep
blind, no route to 10.201.x.x, no sudo). Fleet was healthy throughout.

- bin/host_evidence.py (new): host watchdog evidence fallback. Recent
  timer runs (journal -o json, exact UNIT match) with no newer failure
  line in cdp-relay-watchdog.log / chromebox-watchdog.log (both
  silent-when-healthy) prove a node is up. def/dev have no watchdog
  coverage: browser verdict via chromebox-<node>.log freshness
  (alive-only), CDP verdict unknown.
- super-cli.py: effective status/source/evidence per node. Host
  evidence decides ONLY the fully-blind pattern (both local probes
  negative); live local signals always win. New UNKNOWN badge, [*]
  footnote; approvals UNREACHABLE splits into BLIND / OFFLINE(host
  agrees) / unreachable-evidence-inconclusive, with honest footer.
  proc_alive/cdp_ok keep local-probe meaning; status/source/evidence
  are new JSON fields.
- approvals.py: host_cdp_ok flag on the unreachable path.
- agent-health.sh: restart circuit breaker. 3 consecutive futile
  restarts (restart leaves agent still failing) opens the circuit:
  no more kills for 1800s, ALERT to log+journal, half-open probe
  after cooldown, reset on any success. Stops the def murder loop
  (57 restarts / 155 API FAILs for an account-layer failure).
- tests/test_fleet_status.py (25), tests/test_agent_health.py (6).
- CHROMEBOX-RUNBOOK.md: blind-shell status + futile-restart sections.

Tests: 98/98 focused green (agent_health + fleet_status +
completion + tool_calls). Live-verified: 4 ACTIVE [*] + 2 UNKNOWN.
2026-10-06 18:16:14 +00:00
Muse Sidechat a9f014f9fa feat: completion-enforcement loop (fallback, proof, emit-model, auditor)
Close the loop so dispatched work actually completes on bl:

- on_no_result fallback in followup-sweeper (op + job forms via
  exec-constrained registry / job-dispatch), seeded on the three
  autonomy-pulse jobs; fallback_due() dedupes the gravity path
- gravity.py: add __main__ entry (loop-remediator.timer was a no-op),
  300s re-arm budget, fallback firing + stamp/skip logic
- harvester: proof-of-result followups (result_has_evidence),
  acted-variant NACK, emit-model tool-hint wording
- envelope: RESPONSE RULE states the emit model (agents EMIT
  directives verbatim; runtime executes; works from bare containers)
- completion-audit.py + systemd 15-min timer: per-family funnel,
  swarm drain, followup backlog; digest DM when degraded, 6h heartbeat
- tests/test_completion.py (29 tests), JOB-SPEC.md docs

Tests: 67/67 focused green (completion + tool_calls).
2026-10-06 08:20:14 +00:00
operator b7e45010c3 feat(tui): clean transcript style, right-click context menus, rate limits & dual copy
- Add clean line-by-line transcript style toggle ('b' key / /clean / /boxed)
- Implement right-click context menus for chat list, fleet agent panel, and transcript
- Add cooldown mode lock bypass (2-second double-confirm force sync)
- Implement dual copy support: clean text (strip reply metadata) vs full context
- Add clickable [📋 Copy] and [📑+ Context] buttons to message headers
- Add unit test suites for transcript cleaning, context menus, rate limits, and copy actions
2026-10-06 07:55:27 +00:00
operator-main f2640397ed feat(messaging): balanced TOOL parsing, DM shorthand, box.exec, tools.list
- response-harvester: extract [TOOL]/[EXEC] JSON args with balanced-brace
  scanning (']' and nesting inside args no longer truncate calls); add
  [DM {...}] shorthand mapping to dm.send; native aliases (dm, box,
  tools) plus arg-synonym normalization; formatters and expanded hints.
- exec-constrained: new read-only box.exec op (27 allowlisted box-ctl
  reads) and tools.list op backed by --list-ops for dynamic discovery.
- prompt_envelope: advertise dm.send/box.exec/tools.list in every timer
  DM; add dm_call builder.
- lookup_engine + regex_patterns.json: canonical tool_call pattern
  accepts the DM engine, ']' in args, one nesting level.
- tests/test_tool_calls.py: 38 tests; docs/INBAND-MESSAGING-SPEC.md:
  accepted decision record (Final).
2026-10-06 07:29:16 +00:00