Commit Graph

651 Commits

Author SHA1 Message Date
opm ce1b8def77 fix(approvals): harden target regex against scheme truncation
The target-extraction regex stopped at ':' and '/', so a dialog
containing a full URL (e.g. 'http://verify.muse-dev.online/api/...')
was captured as just the scheme ('http'). Add an optional
'(?:https?://)?' prefix so the hostname is captured instead.

This is defense-in-depth: the 2026-10-11 bare-scheme dialogs render
'http' directly from the app (closed source), but if the app resumes
rendering full URLs, the extractor will now yield the hostname rather
than the scheme.

Verified against 5 cases: bare 'http' unchanged, full http/https URLs
now yield hostnames, IPs and single-label hosts unchanged.
2026-10-11 20:06:32 -04:00
super 78d22bd950 Merge pull request #212 from dev/opm/211-container-ssh-recovery
feat(ssh): add node SSH dial-in verification script

Fixes #211
2026-10-09 22:43:09 +00:00
opm c0113c1ebf feat(ssh): add node SSH dial-in verification script
Adds bin/verify-node-ssh.sh: checks reverse-tunnel listeners and SSH
auth for each fleet node port from the VM. Distinguishes dark nodes
(no listener) from auth failures (authorized_keys perms/keys).

Verification 2026-10-09:
- muse/2225, 646/2226, pip/2227, muse-main/2224, opm/2228: LISTEN
- def/2229, dev/2230: DARK (no reverse tunnel)
- All listening nodes reject VM super key (expected: nodes authorize
  per-operator/id_frontdoor keys, not the VM super key)

Fixes #211
2026-10-09 21:56:08 +00:00
operator 69555f809c fix(platform): verify Gitea integration and automated task dispatch Fixes #208 Fixes #209 2026-10-09 21:38:50 +00:00
operator 198603060d test(webhook): verify automated issue closure and loop terminus Fixes #210 2026-10-09 21:38:33 +00:00
operator 87be6ae4fc feat(supervisor): implement and verify automated tunnel recovery supervisor with test coverage 2026-10-09 12:57:28 +00:00
operator 6d2cbabe34 feat(ssh): mint and register def@netvm signing key, authorize fleet keys (dev, pip, 646, opm, def) on front-door VM 2026-10-09 12:56:34 +00:00
operator a5990a08b6 feat(recovery): standardize recover-after-rebuild.sh with single apt txn, machine.env per-node identity, persistent crontab restore, and test coverage 2026-10-09 12:54:29 +00:00
operator 229c37f383 fix(completion): resolve 4x failures by finding jobs in archive directories and patching proof test fixture 2026-10-09 12:42:38 +00:00
box-ctl c6e9a0d66a Delete job auto-work-swarm-g07 via box-ctl 2026-10-08 04:31:18 +00:00
box-ctl 086cf19291 Delete job auto-work-swarm-probe1 via box-ctl 2026-10-08 04:31:18 +00:00
operator 6595169a3c docs(policy): agy hold-all exit criteria grill record (Final)
E1-E6: supervised 3-observation proof bar per kind, independent flips,
automatic on proof, single-miss rollback, fleet-wide, grill questions
stay coordinator-gated. Scope accepted verbatim in-record.
2026-10-08 04:03:45 +00:00
operator 41499e069d feat(identity): per-scope network identity plane (slices 1-5)
Fingerprint map + pure resolver (account umbrella / key-level scope
rule), live Warp provider on warp-* structures, broker lifecycle
(up/down/cycle/exec/routes/status/bind), wireguard+socks boilerplate
stubs, agent-manager bind integration. CLI carries emails and
fingerprints only; key bytes never appear. 41 committed tests.
2026-10-08 04:03:45 +00:00
operator 88ddc54a78 feat(tui): agent-manager tailnet agent-run dashboard
Read-only curses TUI (box-fleet-tui structure): per-device SSH scan of
tmux panes + process table, joined locally, runs sorted by agent type
across tailnet devices. Open harness taxonomy (muse/agy/known plus
other:<bin>), multi-socket enumeration, --once/--json dump mode.
2026-10-08 04:03:45 +00:00
operator b746d4cb5e chore(retention): archive retired jobs [auto-work-swarm-g01, auto-work-swarm-g02, auto-work-swarm-g03, auto-work-swarm-g04, auto-work-swarm-g05, auto-work-swarm-g06, auto-work-swarm-g08, auto-work-swarm-g09, auto-work-swarm-g10, auto-work-swarm-g11, auto-work-swarm-g12, auto-work-swarm-g13, auto-work-swarm-g14, auto-work-swarm-g15, auto-work-swarm-g16, auto-work-swarm-g17, auto-work-swarm-g18, auto-work-swarm-g19, auto-work-swarm-g20, auto-work-sweep-j01, auto-work-sweep-j02, auto-work-sweep-j03, auto-work-sweep-j04, auto-work-sweep-j05, auto-work-sweep-j06, auto-work-sweep-j07, auto-work-sweep-j08, auto-work-sweep-j09, auto-work-sweep-j10, auto-work-sweep-j11, auto-work-sweep-j12, auto-work-sweep-j13, auto-work-sweep-j14, auto-work-sweep-j15, auto-work-sweep-j16, auto-work-sweep-j18, auto-work-sweep-j19, auto-work-sweep-j20] 2026-10-08 03:00:00 +00:00
box-ctl ac282e33a3 Update job auto-work-swarm-g20 via box-ctl 2026-10-08 02:45:06 +00:00
box-ctl 8f1b51f7d1 Update job auto-work-swarm-g19 via box-ctl 2026-10-08 02:45:06 +00:00
box-ctl d63aa979de Update job auto-work-swarm-g18 via box-ctl 2026-10-08 02:45:05 +00:00
box-ctl 6a54320d69 Update job auto-work-swarm-g17 via box-ctl 2026-10-08 02:45:04 +00:00
box-ctl d963a5104b Update job auto-work-swarm-g16 via box-ctl 2026-10-08 02:45:02 +00:00
box-ctl 489f7335f6 Update job auto-work-swarm-g15 via box-ctl 2026-10-08 02:45:01 +00:00
box-ctl fdd6ebd29d Update job auto-work-swarm-g14 via box-ctl 2026-10-08 02:45:01 +00:00
box-ctl 82a0eb9b35 Update job auto-work-swarm-g13 via box-ctl 2026-10-08 02:45:00 +00:00
box-ctl 35f0be13cf Update job auto-work-swarm-g12 via box-ctl 2026-10-08 02:44:59 +00:00
box-ctl f497a026e3 Update job auto-work-swarm-g11 via box-ctl 2026-10-08 02:44:59 +00:00
box-ctl 2afac9542e Update job auto-work-swarm-g10 via box-ctl 2026-10-08 02:44:58 +00:00
box-ctl bd81568db1 Update job auto-work-swarm-g09 via box-ctl 2026-10-08 02:44:57 +00:00
box-ctl fd0262cdb1 Update job auto-work-swarm-g08 via box-ctl 2026-10-08 02:44:56 +00:00
box-ctl c59c2effe3 Update job auto-work-swarm-g06 via box-ctl 2026-10-08 02:44:56 +00:00
box-ctl e50c505e16 Update job auto-work-swarm-g05 via box-ctl 2026-10-08 02:44:55 +00:00
box-ctl 8ee2913627 Update job auto-work-swarm-g04 via box-ctl 2026-10-08 02:44:54 +00:00
box-ctl ef031890a9 Update job auto-work-swarm-g03 via box-ctl 2026-10-08 02:44:53 +00:00
box-ctl 97d2ff6fc6 Update job auto-work-swarm-g02 via box-ctl 2026-10-08 02:44:52 +00:00
box-ctl 03933f2c3e Update job auto-work-swarm-g01 via box-ctl 2026-10-08 02:44:52 +00:00
box-ctl 6ca67d849c Update job auto-work-sweep-j20 via box-ctl 2026-10-08 02:44:51 +00:00
box-ctl c0f230b575 Update job auto-work-sweep-j19 via box-ctl 2026-10-08 02:44:50 +00:00
box-ctl 99386d9581 Update job auto-work-sweep-j18 via box-ctl 2026-10-08 02:44:50 +00:00
box-ctl 1e1cc2ff44 Update job auto-work-sweep-j16 via box-ctl 2026-10-08 02:44:49 +00:00
box-ctl 44916a6f1a Update job auto-work-sweep-j15 via box-ctl 2026-10-08 02:44:48 +00:00
box-ctl 2616cddafe Update job auto-work-sweep-j14 via box-ctl 2026-10-08 02:44:47 +00:00
box-ctl 4b796e9762 Update job auto-work-sweep-j13 via box-ctl 2026-10-08 02:44:47 +00:00
box-ctl b5d4622c4f Update job auto-work-sweep-j12 via box-ctl 2026-10-08 02:44:46 +00:00
box-ctl 1200397385 Update job auto-work-sweep-j11 via box-ctl 2026-10-08 02:44:45 +00:00
box-ctl 7a5c188756 Update job auto-work-sweep-j10 via box-ctl 2026-10-08 02:44:44 +00:00
box-ctl ef46e37b79 Update job auto-work-sweep-j09 via box-ctl 2026-10-08 02:44:44 +00:00
box-ctl 75d4d713ac Update job auto-work-sweep-j08 via box-ctl 2026-10-08 02:44:43 +00:00
box-ctl d5834e6f7a Update job auto-work-sweep-j07 via box-ctl 2026-10-08 02:44:42 +00:00
box-ctl 31004acb7c Update job auto-work-sweep-j06 via box-ctl 2026-10-08 02:44:41 +00:00
box-ctl 12dc867e6d Update job auto-work-sweep-j05 via box-ctl 2026-10-08 02:44:41 +00:00
box-ctl 442a84e3ce Update job auto-work-sweep-j04 via box-ctl 2026-10-08 02:44:40 +00:00