feat(cockpit): OBJ-A — assemble + orchestrate the full sovereign cockpit#73
Merged
Conversation
The capstone: fuse Lanes 1-4 + Receipts (now all on main) into one assembled,
governed, runnable surface.
- scripts/assemble-cockpit.sh — build-time stager: runs build-cockpit.sh +
build-agent-machine-sidecar.sh and lays out Contents/Resources/{cockpit, sidecars,
scripts, policy} + a manifest. One command → the whole app staged.
- scripts/bearbrowser-cockpit-up — runtime orchestrator: stands up the GOVERNED
topology and points the cockpit at the gate, never the raw sidecar:
cockpit → gate 127.0.0.1:8080 → agent-machine sidecar :8091 (+ receipts :8092)
loopback only; foreground; tears down all three on exit.
- scripts/build-cockpit.sh — fix a broken self-check: it grepped the resolver file's
CONTENT for 'cockpitRuntime' (0 hits — the module exports resolveBase); now greps
'resolveBase'. The old assert always false-failed once #468 landed.
VERIFIED end-to-end on the assembled staging tree:
• assemble → cockpit (43 files) + 68M sidecar binary (self-smoke 200) + staged scripts
• orchestrator up: gate(→sidecar)=200, receipts=200, cockpit-config→gate
• MOAT HOLDS: allowed read via gate → 200; POST /api/shell/exec via gate → 403 (blocked)
Follow-up: Homebrew/nix formula wiring to run assemble at package-time + install the
orchestrator as a CLI.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
OBJ-A of the Next Assault. Now that Lanes 1–4 + Receipts are all on
main, this fuses them into one assembled, governed, runnable surface — built and verified end-to-end overnight.What lands:
scripts/assemble-cockpit.sh— build-time stager. Runsbuild-cockpit.sh+build-agent-machine-sidecar.sh, lays outContents/Resources/{cockpit, sidecars, scripts, policy}+ a manifest. One command → the whole app staged.scripts/bearbrowser-cockpit-up— runtime orchestrator. Stands up the governed topology and points the cockpit at the gate, never the raw sidecar:scripts/build-cockpit.sh— bug fix: its resolver self-check grepped the module's content forcockpitRuntime(0 hits — the file exportsresolveBase), so it false-failed for every assembly once #468 landed. Now grepsresolveBase.Verified on the assembled staging tree:
gate(→sidecar)=200,receipts=200, cockpit-config rewritten → gatePOST /api/shell/execvia gate → 403 (blocked at decision time)So the sovereign local control plane now stands up as one governed unit from a single command.
Follow-up: Homebrew/nix formula wiring (run
assembleat package-time + installbearbrowser-cockpit-upas a CLI); per-service sovereign loopback map; the connect flow (cloud opt-in).