Commit Graph

2739 Commits

Author SHA1 Message Date
Logan Johnson
d216bbed7e refactor(beehive): put agent actions inside the detail pane
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 14:58:01 -04:00
BetterCallSol
7071a16e1d fix(beehive): match Buzz Databricks auth intent
Signed-off-by: BetterCallSol <886fabdb38ceb1aede220bc237b7bb34736490f12a7d79e235e5ecfd63a36514@buzz.block.builderlab.xyz>
2026-09-16 14:28:59 -04:00
BetterCallSol
4fbaeb12f7 fix(beehive): repair provider credential forms
Signed-off-by: BetterCallSol <886fabdb38ceb1aede220bc237b7bb34736490f12a7d79e235e5ecfd63a36514@buzz.block.builderlab.xyz>
2026-09-16 14:20:38 -04:00
BetterCallSol
438daa1b89 perf(beehive): hydrate only owned agent candidates
Signed-off-by: BetterCallSol <886fabdb38ceb1aede220bc237b7bb34736490f12a7d79e235e5ecfd63a36514@buzz.block.builderlab.xyz>
2026-09-16 14:00:21 -04:00
BetterCallSol
1085eadf45 fix(beehive): filter agent roster by owner
Signed-off-by: BetterCallSol <886fabdb38ceb1aede220bc237b7bb34736490f12a7d79e235e5ecfd63a36514@buzz.block.builderlab.xyz>
2026-09-16 13:35:59 -04:00
Logan Johnson
9aef40a3f6 fix(beehive): derive first-use owner directly from Buzz key
Bypass manual routing for Buzz sign-in, derive and validate identity in the controller, and initialize only public owner routing using the current Host relay after the stale/cancel fence. Retained owners still must match; custody remains session-only.

Regression drives the real Node/Bun UI once with no controller owner configured and an explicit synthetic credential fixture. Focused 12-test checks, typecheck, and first-use PTY walkthrough pass. Earlier broad-suite 400-second failure remains unresolved; no production Keychain access or native rebuild.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 13:22:09 -04:00
Logan Johnson
e9d5a0d9f9 fix(beehive): sign in with Buzz key on selection alone
Selecting Sign in with Buzz key now dispatches the read of the saved Buzz
owner key immediately. The extra Beehive confirmation before it is removed:
selection itself is the explicit user gesture. While the read is in flight
the status line keeps the custody disclosure (Keychain read only, session
only, no local copy) and states that an OS keychain permission dialog is
separate and never bypassed or promised away.

Saved-key and matching-key import sign-in keep their confirmation and
input paths; helper source, owner matching, session-only custody,
cancellation and all backend behavior are unchanged. The test-only fixture
gains an inert env-gated pacing knob so a PTY driver can observe the
pending state and exercise Esc cancellation deterministically.

Verified with the synthetic source-UI PTY driver in a fresh
beehive-pairing-cli- HOME with explicit BEEHIVE_TEST_CREDENTIAL_FILE,
installed loader and service fences; production Keychain never read: one
selection reaches signed-in controls with no further Beehive input, and
Esc still cancels the in-flight read. Focused 12/12 backend and 8/8
renderer suites and package typecheck re-passed.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 13:07:11 -04:00
Logan Johnson
eecde35de7 fix(beehive): remove private draft action from Agents controls
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 12:25:46 -04:00
Logan Johnson
1f4c78591b beehive: add explicit read-only Buzz owner key sign-in
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 12:19:05 -04:00
Logan Johnson
1157e98f7f fix(beehive): name action targets and retire transient UX state
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 11:22:38 -04:00
Logan Johnson
7d455ded43 feat(beehive): keep controls visible beside details and preserve scroll across pushes
Move the action list out of the Details scroll into a bordered, bounded
Controls region in the right pane so agent actions stay reachable and
visibly focused beside arbitrarily long detail text, for pointer and
keyboard alike. Map clicks through the pinned SelectRenderable's
deterministic window so every visible action runs exactly itself when
the real 13-action Agents menu overflows the bounded region; wheel and
keyboard movement keep the remaining actions reachable.

Only a genuine item or section change re-routes selection and presents
its details from the top. Unchanged snapshot pushes, background or
explicit refresh, preserve the user's Details scroll position.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 11:10:05 -04:00
Logan Johnson
446bbbca4d feat(beehive): align saved providers and model choices with Desktop
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 10:22:16 -04:00
Logan Johnson
86921025b1 feat(beehive): enroll local agents under explicit owner Start
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 10:04:35 -04:00
Logan Johnson
f59436c1aa feat(beehive): authenticate pinned-assignment Move between private hosts
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 09:48:34 -04:00
Logan Johnson
c6795ccc5f docs(beehive): record first-enrollment authority scope and checkpoint evidence
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 09:28:51 -04:00
Logan Johnson
8c15d7d736 feat(beehive): checkpoint directory and registration continuation (partial)
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 09:26:08 -04:00
Logan Johnson
63a7be1c67 feat(beehive): configure runtime environment and type manager completion
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 08:59:46 -04:00
Logan Johnson
a83a47b19a feat(beehive): separate manager sections and enable guarded restart
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-16 08:49:42 -04:00
Logan Johnson
176497874f docs(beehive): narrow delivery scope and record readiness failures
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-12 12:20:23 -04:00
Logan Johnson
747d011a70 fix(beehive): isolate Codex homes for ordinary saved-runtime slots
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-12 12:15:27 -04:00
Logan Johnson
4b338d3371 fix(beehive): publish manager-credential fixture PID marker atomically
The orchestration test polls for the fixture's readiness marker with
existsSync and then reads the PID. The fixture published the marker with
a single writeFileSync, so a child descheduled between the internal open
and write exposed a zero-byte file; Number('') is 0 and process.kill(0, 0)
probes the caller's process group, so the protected ESRCH assertion failed
with "Missing expected exception" while the production SIGKILL plus
awaited-close teardown had demonstrably worked.

Publish through a staging file and renameSync, the same atomic pattern
as the blocker() fixture in credential-helper.test.ts, so a reader that
sees the marker always sees the complete owned PID. Assertions, poll
budget, timeout and production behavior are unchanged; negative controls
in the task triage report show broken kill or broken awaited-close still
fail the protected assertion.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-12 12:12:17 -04:00
Logan Johnson
8f02dd3c2b feat(beehive): execute Pi with saved providers and owned refresh
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-12 12:09:50 -04:00
Logan Johnson
344585fb77 feat(beehive): connect saved OpenAI providers to Codex runtime bindings
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-12 11:55:15 -04:00
Logan Johnson
dfa54c7b8d feat(beehive): capture optional NIP-11 relay name for the host footer
Bounded optional relay display name for the host-settings footer. One
unauthenticated NIP-11 document read per configured relay URL (4 s timeout,
32 KiB cap, no redirects, cancellable) supplies a terminal-sanitized name
shown before the exact configured URL and actual connection state. Missing,
failed, oversized or control-bearing names keep the truthful URL-only
footer; the name never changes reported connection state, blocks startup,
resets configuration, carries credentials or invents a name. A relay switch
aborts the in-flight read and a late completion is never applied to a new
relay. Installed smoke loader stubs the new HTTP path; no live relay is
contacted in tests.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-12 11:50:44 -04:00
Logan Johnson
2a3fbf9078 Integrate run-owned Databricks refresh and capability-aware runtime settings
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-12 11:47:45 -04:00
Logan Johnson
4b1b8affb5 feat(beehive): add native Databricks OAuth setup and launch preflight
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-12 11:34:05 -04:00
Logan Johnson
4eada242e3 fix(beehive): bound projected settings inventory before adoption
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-12 11:19:57 -04:00
Logan Johnson
78f0c3738f Build Beehive settings catalogs and owned detached host service checkpoint
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-12 11:13:48 -04:00
Logan Johnson
4bdb5f09a9 Use ordinary keys and plain-language Beehive manager copy
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-11 18:47:56 -04:00
Logan Johnson
cb1b341ccb Polish Beehive manager summaries, contextual actions and compact forms
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-11 14:48:00 -04:00
Logan Johnson
6390e5947c feat(beehive): connect OpenTUI manager to Node services and launcher
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-11 14:11:10 -04:00
Logan Johnson
d6b34118eb wip(beehive): isolate OpenTUI presentation and synthetic smoke
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-11 13:59:56 -04:00
Brother Darryl
ec3a22f8ce feat(beehive): separate local host and owner management
Signed-off-by: Brother Darryl <7d7dea84f63f17682fa12720e0bb802a127c378d835b3ef416f80ed0ef0f6705@buzz.block.builderlab.xyz>
2026-09-11 12:04:47 -04:00
Logan Johnson
caedde0d83 fix(beehive): report post-submission metadata interruption as unknown not failed
An authority-check exception after the accepted POST /events - while reading
the response or during the final latest-kind0 query - previously became the
host's generic failed receipt even though the relay may already hold the
signed event. publishPublicMetadata now maps authority-guard interruptions to
the dedicated metadataPublicationInterrupted result once a submission may be
live: after the /events response and across the final readback query entry
and post-body checks. Pre-send query checks and the /events entry remain
definitive refusals and the guard itself is unchanged. intents.ts maps the
metadata-only result to unknown, matching interrupted-reconcile-locally.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 23:26:22 -04:00
Logan Johnson
e56e2434ad docs(beehive): correct immutable Desktop profile attribution
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 22:47:01 -04:00
Logan Johnson
b577ff0112 feat(beehive): edit public metadata and deliberately publish with agent identity
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 22:46:03 -04:00
Logan Johnson
e43b0c2464 feat(beehive): persist owner drafts and publish private instruction revisions
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 22:33:43 -04:00
Logan Johnson
45b1c95fd4 beehive: remove membership subsystem and connect private transport directly
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 18:59:35 -04:00
Logan Johnson
fcb82cf74b feat(beehive): configure owner npub and join communities without approval exchange
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 17:34:41 -04:00
Logan Johnson
91d2246c5e feat(beehive): discover configured hosts without infrastructure approval
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 17:21:00 -04:00
Logan Johnson
f2152725eb fix(beehive): remove mechanical setup and exchange inputs
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 16:08:34 -04:00
Logan Johnson
70daf9a67b beehive: real beehive command launcher with default host folder
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 15:09:20 -04:00
Logan Johnson
0e5d44243c beehive: record first-demo publication state
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 14:48:11 -04:00
Logan Johnson
41f45d59ec beehive: restore pending offline import guidance for first demo
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 14:47:59 -04:00
Logan Johnson
ac32ae0d24 beehive: integrate private public-CLI Start reply Stop with fresh membership
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 14:39:55 -04:00
Logan Johnson
7176028b7c beehive: bound chunked body acquisition and signer settling
fetchRelayTransport now acquires response bytes through the stream
reader and cancels it the moment the 256 KB cap is exceeded or the
stream fails, so a chunked body with no usable Content-Length is
rejected while it is still arriving instead of after response.text()
has already buffered it all. The injected host signer is an async
boundary like the transport: its await is raced against the same
per-request timeout and caller cancellation, so a signer that never
settles cannot hold a claim or evidence run open. Redirect refusal,
error redaction and abort semantics are unchanged.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 14:39:55 -04:00
Logan Johnson
ac781fd953 beehive: verify direct relay membership over the relay HTTP contract
NIP-11 requirement discovery, host-keyed NIP-98 invite claim and
membership-gated /query evidence against the relay-signed kind 13534
roster, per the verified contract at block/buzz 051c3a2. Signer output
is re-verified before any request leaves; redirects, timeouts and
aborts are bounded; invite material never surfaces in errors.

Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 14:34:16 -04:00
Logan Johnson
1315af75cc beehive: keep public assignment and auth guidance credential-neutral
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 14:34:16 -04:00
Logan Johnson
3dbf9aaaab beehive: integrate owner-public immutable bindings and local wizard
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 14:22:58 -04:00
Logan Johnson
6caa4150de beehive: recover interrupted added slots through explicit reconcile-agent
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-09-10 14:08:26 -04:00