Skip to content

desk: list each desk in the agents list with a bercail copy of Herdr's agents mod - #27

Merged
simoncrypta merged 1 commit into
masterfrom
desk-agents-row
Nov 1, 2026
Merged

simoncrypta merged 1 commit into
masterfrom
desk-agents-row

Conversation

@simoncrypta

Copy link
Copy Markdown
Owner

Summary

Since #26 the desk is a sub-agent of the space's bash Shell. Herdr's shipped agents mod only draws sub-agents as child rows under an agent that is already in agents() (mods/agents/main.js tree() / withKids), and a bash Shell never is, so desks had no row in the agents list.

  • bercail/mods/bercail-agents/: herdr-app do mod.clone '{"name":"agents","as":"bercail-agents"}' of the shipped mod (0.1.11), plus a small addition: deskRows() gives every live bercail.role=agent terminal that isn't in agents() and whose parent isn't either a top-level row, with its terminals() status (read like kidStatus); withDesks() puts it first among its space's agents; a click runs bercail-desk.agent:<desk>. Against the shipped mod the diff is only those functions, a header comment, two lines in render() and the two on_clicks.
  • bercail/mods/bercail-desk: the agent command focuses the desk through focusAgent (selects the desk's space and its desk block first).
  • bercail/layouts/bercail.json: the agents block uses bercail-agents. lib/config.sh installs and herdr-app checks both mods; lib/uninstall.sh removes both.
  • docs/herdr-agents-subagents.md: written proposal and patch for Herdr's shipped agents mod (list sub-agents whose ancestors aren't agents). Not filed upstream.
  • README / RECIPE updated; new tests/agents_mod_test.sh.

Review

No bstack council ran on this one (desk run overnight). Reviewed by Shep: confirmed the mod is the shipped agents mod plus the additions above (diffed against ~/.config/herdr-app/mods/agents/main.js); no shipped mod edited in place; space changes only on a click.

Test evidence

  • All 25 tests/*.sh pass locally; tests/agents_mod_test.sh fails against the shipped mod ("a Shell sub-agent desk has no row") and passes with the clone.
  • herdr-app check passes for bercail-desk and bercail-agents.
  • shellcheck: no new findings on changed shell files.
  • Live data: the installed mod's deskRows/withDesks run against live hc get + herdr-app ls data give rows for desks t72 (Desk-agents-row_Bercail, under Shell t71), t2x (RedwoodGQL) and t46, plus the pane agents. The live app runs the layout with bercail-agents and reports no errors. Not watched on screen (the window wasn't drawing for herdr-app shot), so the on-screen working -> idle row is left to check by eye.
  • No "Agent" tab on any new desk (only the pre-desk: run the desk as a sub-agent of the Shell, drop the Agent tab #26 desk t6v still has one).

Closes bercail-dwo

…s agents mod

Herdr's shipped agents mod draws sub-agents only under a listed agent, so a desk under a bash Shell had no row. bercail-agents is a mod.clone of it plus deskRows/withDesks: each live bercail.role=agent terminal that neither agents() nor a listed parent covers gets a top-level row with its terminals() status; a click runs bercail-desk.agent:<desk>. The bercail layout uses it, install/uninstall handle both mods, and docs/herdr-agents-subagents.md has the upstream proposal.
@simoncrypta
simoncrypta merged commit c1bed8b into master Nov 1, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant