Repository navigation
Add orchestrator view and privileged commands - #157
Conversation
Co-authored-by: Web Dev Cody <webdevcody@gmail.com>
af6ddbb to
ec84fe1
Compare
| cloud_session_id: r.get(13)?, | ||
| alive: false, | ||
| issue_url: r.get(16)?, | ||
| role: nebula_core::AgentRole::Worker, |
There was a problem hiding this comment.
role is never persisted: row_to_agent hardcodes AgentRole::Worker, and this PR changes no schema, insert_agent, or SELECT column list (grep role store.rs shows only test fixtures). So every agent loaded from the store is a Worker, and require_orchestrator (crates/nebula-daemon/src/orchestrator.rs, agent.role != AgentRole::Orchestrator) always bails. The whole orchestrator command surface (list/read/send/spawn/review) is unusable. The unit test only_orchestrator_role_can_use_privileged_list should also fail, since it inserts an Orchestrator row and expects orchestrator_tree to succeed. The PR description says the role is "persisted", but there is no migration or column.
Fix: add a role column with a migration, write it in insert_agent, and read it here. Alternatively, build the role from the stored value instead of hardcoding it.
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
Co-authored-by: Web Dev Cody <webdevcody@gmail.com>
Co-authored-by: Web Dev Cody <webdevcody@gmail.com>
Co-authored-by: Web Dev Cody <webdevcody@gmail.com>
Co-authored-by: Web Dev Cody <webdevcody@gmail.com>
Summary
AgentRoleand daemon-gated orchestrator command surface (list,read,send,spawn,review) over the existing unix-socket protocol.orchestrator_view = auto|always|nevermobile default.docs/orchestrator.mdand update README, commands, keys, and configuration docs.Design decisions
orchestrator), not by prompt text. Normal agents can know the command names and still be refused.--worktreetargets the project main checkout; naming a missing branch cuts it through existing worktree logic.autoat <= 60 columns), withalways/neveroverrides and an F10 runtime toggle.Verification
cargo +stable fmt --all --checkcargo +stable build --lockedcargo +stable test -p nebula-core -p nebula-daemon -p nebula-tui --libcargo +stable test -p nebula --test e2e_ptycargo +stable test -p nebula-daemon orchestratorcargo +stable test -p nebula-tui review_modalNote:
cargo +stable test --workspacepassed unit/browser/config/e2e_pty portions, then hung intui_drag_past_the_pane_top_autoscrolls_and_copies_the_run; the process was stopped after several minutes with no new output.Follow-ups