feat: Workspace Agent — the Voice, conductor for workspace + HowTo example authorship#118
Merged
Merged
Conversation
…ample authorship (#116) One agent, two audience registers (workspace | howto). Decision-only v0: plan mode emits a WorkspaceDecision (family, target repo, register, placement against the target's real scripts/ tree, sibling to mirror, prose tier, format checklist); survey mode inventories/diffs example catalogues (the autoreduce_workspace bootstrap tool). Never writes. Wiring: dispatcher verb + regenerated command-surface tables, /workspace skill body + wrapper, COMMANDS.md + routing rows, conductor bullet and /docs footnote in AGENTS.md, docs/concepts/agents.md live-conductor set (also restoring hygiene + clone), brain.md agent set, project-discovery symlinks (incl. the wake_up set missed by #115). Hermetic contract tests. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Closes #116.
Overview
Adds the Workspace Agent — a new Brain conductor, the Voice: the organism's expressive function, how it speaks to practitioners (workspace examples) and teaches first-time learners (the
howtoregister). One agent, two audience registers; the split trigger for a future dedicated HowTo agent is recorded in its AGENTS.md. Founding assessment: PyAutoMindactive/workspace_examples_agent.md.What it does (decision-only v0 — writes nothing)
pyauto-brain workspace "<raw text>" | <Mind prompt path>→WorkspaceDecision— library family, target repo, register (workspace|howto), placement ranked against the target's realscripts/tree, sibling example to mirror, prose tier (WORKFLOW.md tutorial-prose split), format checklist, routing intostart_dev → start_workspace → ship_workspace. A newborn target with noscripts/tree anchors onautolens_workspace(theautoreduce_workspacebootstrap case).pyauto-brain workspace survey <repo> [--against <sibling>]→ example-catalogue inventory + structural diff (missing/extra packages, per-package script counts).Changes
agents/conductors/workspace/{AGENTS.md,workspace.sh,_workspace.py}— the conductor (stdlib-only core, clone.sh-shaped thin entrypoint).bin/pyauto-brain— verb wiring (AGENT_SCRIPT/AGENT_DESC/CONDUCTOR_ORDERafterrefactor).AGENTS.md— regenerated command-surface tables; conductor bullet;/workspacerouting row;/docsfootnote amended (generic docs stay/docs; example authorship routes via/workspace).skills/workspace/{SKILL.md,workspace.md}+skills/COMMANDS.md(tier-1 row) +skills/route/route.md(routing row) +skills/brain/brain.md(agent set, also restoring the missinghygiene).docs/concepts/agents.md— live conductor set updated (also restoreshygiene+clone, which had drifted).wake_upset missed by refactor: rename morning skill to wake_up (composition door) #115.tests/test_workspace_conductor.py— 10 hermetic contract tests (PYAUTO_ROOT-pointed temp trees): decision structure, both register classifications, newborn fallback anchor, Mind-prompt-path input, survey +--againstdiff, exit codes, never-writes assertion.API Changes
None to the Python libraries — this is Brain CLI/skill infrastructure only. New CLI verb
pyauto-brain workspace(and/workspacecommand); no existing verb, skill, or entrypoint changes behaviour.Verification
pytest tests/— 69 passed (includes the 10 new contract tests;test_skill_installdiscovers the new verb).bin/install.sh --check-agents-surface/--check-project-discovery— no drift.autolens_workspace/scripts/interferometer/; HowToLens intent → howto register + chapter listing;survey autolens_workspace --against autogalaxy_workspace→ real diff (missingellipse; extracluster/group/point_source).Gate note
Heart readiness was RED at ship time for reasons unrelated to this branch (a parallel session's dirty PyAutoLens file, stale 07-09 workspace-validation pointer, install verification not run); PyAutoBrain's own suite is green. Shipped to PR-open on explicit user acknowledgement; merge stays human.
🤖 Generated with Claude Code