Skip to content

Commit d6cf2b1

Browse files
authored
Merge pull request #152 from PyAutoLabs/feature/rename-autobuild-to-autohands
refactor: rename autobuild package and CLI to autohands
2 parents 7305b68 + ad6dc76 commit d6cf2b1

19 files changed

Lines changed: 35 additions & 33 deletions

File tree

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ the `/<verb>` slash commands.
157157
<!-- pyauto:commands:end -->
158158

159159
Like the other PyAuto repos, PyAutoBrain runs from its checkout (no pip install);
160-
it resolves the sibling `pyauto-heart` and `autobuild` binaries from PATH or the
160+
it resolves the sibling `pyauto-heart` and `autohands` binaries from PATH or the
161161
`~/Code/PyAutoLabs/` checkouts.
162162

163163
## The command surface (Brain implicit)

ORGANISM.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ organs plan, build, test and release it, and you make every judgment call.
2323
*Hands* and *Build* name the **same organ** (PyAutoHands) throughout this
2424
document: the organ is the **Hands**, and *Build* is the call-chain step it
2525
performs. (The Hands repo was renamed PyAutoBuild → PyAutoHands; the *Build*
26-
call-chain shorthand and the `autobuild` package/CLI keep their names.
26+
call-chain shorthand and the `autohands` package/CLI keep their names.
2727
`PyAutoConf` likewise remains the Nerves repo's name, aligned with its
2828
`autoconf` package.)
2929

agents/_common.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/usr/bin/env bash
22
# agents/_common.sh — shared helpers for PyAutoBrain's specialist agents.
33
#
4-
# Resolves the sibling PyAuto organ CLIs (pyauto-heart, autobuild) the same way
5-
# the autobuild shim resolves them: prefer PATH, fall back to the sibling
4+
# Resolves the sibling PyAuto organ CLIs (pyauto-heart, autohands) the same way
5+
# the autohands shim resolves them: prefer PATH, fall back to the sibling
66
# checkout under ~/Code/PyAutoLabs/. Nothing here is pip-installed.
77

88
PYAUTO_ROOT="${PYAUTO_ROOT:-$HOME/Code/PyAutoLabs}"
@@ -31,8 +31,8 @@ resolve_heart() {
3131
_resolve_bin pyauto-heart "$PYAUTO_ROOT/PyAutoHeart/bin/pyauto-heart"
3232
}
3333

34-
resolve_autobuild() {
35-
_resolve_bin autobuild "$PYAUTO_ROOT/PyAutoHands/bin/autobuild"
34+
resolve_autohands() {
35+
_resolve_bin autohands "$PYAUTO_ROOT/PyAutoHands/bin/autohands"
3636
}
3737

3838
# _resolve_dir <env-var-name> <repo-name> — echo the path to a sibling PyAuto

agents/conductors/bug/_bug.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
# (the organs themselves), not library-source or workspace work.
3636
INFRA_TARGETS = {
3737
"pyautobrain": "PyAutoBrain", "pyautoheart": "PyAutoHeart",
38-
"pyautobuild": "PyAutoHands", "autobuild": "PyAutoHands",
38+
"pyautobuild": "PyAutoHands", "autohands": "PyAutoHands",
39+
"autobuild": "PyAutoHands", # back-compat: the package was renamed autobuild -> autohands
3940
"pyautomind": "PyAutoMind", "pyautomemory": "PyAutoMemory",
4041
}
4142

agents/conductors/build/AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ mode/action.
8686
"requested_action": "<PyAutoHands capability>",
8787
"health_status": "green|yellow|red|unknown",
8888
"decision": "proceed|proceed-with-caution|abort",
89-
"execution_plan": ["autobuild <action> <args>"],
89+
"execution_plan": ["autohands <action> <args>"],
9090
"execution_summary": "<one line>",
9191
"warnings": ["..."],
9292
"blockers": ["..."],

agents/conductors/build/BUILD_CAPABILITIES.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
This audit records the execution surface the PyAutoBrain Build Agent reasons over
44
and **calls**. The agent must treat every item here as a PyAutoHands capability,
5-
not as logic to reimplement inside Brain. Source of truth: the `autobuild`
6-
dispatcher (`PyAutoHands/bin/autobuild`) and `PyAutoHands/CLAUDE.md`.
5+
not as logic to reimplement inside Brain. Source of truth: the `autohands`
6+
dispatcher (`PyAutoHands/bin/autohands`) and `PyAutoHands/CLAUDE.md`.
77

88
## Execution capabilities (the Build Agent calls these)
99

10-
From `autobuild help`. **Mode** is the Build Agent allowlist that *may* route
10+
From `autohands help`. **Mode** is the Build Agent allowlist that *may* route
1111
the capability (`build.sh`); **Consumer today** is who actually drives it now.
1212
The two diverge for the workspace-run surface — see the note below.
1313

@@ -24,26 +24,26 @@ The two diverge for the workspace-run surface — see the note below.
2424
| `script_matrix` | Output a JSON `{name, directory}` matrix for GitHub Actions. | build | **Heart** `workspace-validation.yml` (CI) |
2525
| `aggregate_results` | Aggregate per-job JSON into a release-readiness report. | build, release | **Heart** `workspace-validation.yml` (CI) |
2626
| `slow_skip_check` | Surface SLOW / NEEDS_FIX entries in workspace `no_run.yaml`. | build | `run_all.py` + Heart `test_run` check |
27-
| `repro_command` | Emit the shell command autobuild uses to run one script. | build | triage (manual handoff) |
27+
| `repro_command` | Emit the shell command autohands uses to run one script. | build | triage (manual handoff) |
2828
| `bump_colab_urls` | Rewrite Colab URLs in cwd from an old to a new date-tag. | build, deploy | `release.yml` (CI) + deploy |
2929

3030
**Reading the Consumer column — the run\* seam is latent, not active.** The
31-
capabilities still *exist* and match the `autobuild` dispatcher and the
31+
capabilities still *exist* and match the `autohands` dispatcher and the
3232
`build.sh` allowlists exactly; the *Mode* column remains accurate as the
3333
allowlist of record. What changed is the driver. The workspace full-run →
3434
report → issue flow moved **out of `release.yml` into PyAutoHeart's
3535
`workspace-validation.yml`** (see `PyAutoHands/docs/internals.md` and the
3636
`release.yml` comment recording the removed `run_scripts` / `run_notebooks` /
3737
`analyze_results` jobs). Heart checks these primitives out from Build and reuses
3838
them directly — calling `run.py` / `run_python.py` / `script_matrix.py` /
39-
`aggregate_results.py`, **not** `autobuild run_*` and **not** `pyauto-brain build
39+
`aggregate_results.py`, **not** `autohands run_*` and **not** `pyauto-brain build
4040
run_*`. Nothing invokes `run` / `run_python` / `run_all` through the Build Agent
4141
today, so their build-mode allowlist entries are a **latent seam** — kept so the
4242
Build Agent could re-own execution without churn, but **Heart is the live
4343
consumer**. This is the execution/health boundary the audit below argues for,
4444
now made visible in the table itself.
4545

46-
Underlying implementation assets the agent never re-owns: `autobuild/run_python.py`,
46+
Underlying implementation assets the agent never re-owns: `autohands/run_python.py`,
4747
`run.py`, `generate.py`, `script_matrix.py`, `aggregate_results.py`,
4848
`tag_and_merge.sh`, `build_util.py`, the `release.yml` GitHub workflow, and the
4949
per-workspace `config/build/{no_run,env_vars,visualise_notebooks}.yaml`.

agents/conductors/build/build.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#
2828
# Usage:
2929
# build.sh [--mode build|deploy|release] [--force] [--accept-red=<reason>]...
30-
# [--dry-run] [--json] [<action>] [-- <args forwarded to autobuild>]
30+
# [--dry-run] [--json] [<action>] [-- <args forwarded to autohands>]
3131
#
3232
# --force proceed on a YELLOW verdict (deploy/release).
3333
# --accept-red=<r> authorize proceeding despite the RED reason <r>. Repeatable.
@@ -193,7 +193,7 @@ case "$eff" in
193193
esac
194194

195195
# ----- execution plan -----
196-
plan_cmd="autobuild $action"
196+
plan_cmd="autohands $action"
197197
[[ ${#forward[@]} -gt 0 ]] && plan_cmd+=" ${forward[*]}"
198198
plan=("$plan_cmd")
199199

@@ -250,6 +250,6 @@ if [[ "$dry_run" -eq 1 ]]; then
250250
exit 0
251251
fi
252252

253-
autobuild="$(resolve_autobuild)" || exit $?
253+
autohands="$(resolve_autohands)" || exit $?
254254
[[ "$json_only" -eq 1 ]] || echo "== exec: $plan_cmd =="
255-
exec "$autobuild" "$action" "${forward[@]}"
255+
exec "$autohands" "$action" "${forward[@]}"

agents/conductors/clone/DESIGN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ bad usage).
121121
partition, generation plan, CloneDecision. No writer at all. Proves the
122122
reasoning on `PyAutoFit → autofit_assistant` as the dry-run case study.
123123
2. **v1 — seed births. SHIPPED.** `--apply` for **lightweight-seed** via a
124-
PyAutoHands primitive (`autobuild/clone_seed.py`: repo creation + generic-set
124+
PyAutoHands primitive (`autohands/clone_seed.py`: repo creation + generic-set
125125
copy + scaffolds + the `PENDING.md` growth queue). Heart gained the
126126
newborn-validation checklist (`PyAutoHeart/docs/newborn_validation.md`).
127127
3. **v2 — differentiated siblings.** Skill/wiki regeneration from the domain

agents/conductors/clone/_clone.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ def apply_seed(args, decision):
428428
plan_path = Path(tempfile.mkstemp(prefix="clone_plan_", suffix=".json")[1])
429429
plan_path.write_text(json.dumps(plan, indent=2))
430430

431-
seed_script = PYAUTO_ROOT / "PyAutoHands" / "autobuild" / "clone_seed.py"
431+
seed_script = PYAUTO_ROOT / "PyAutoHands" / "autohands" / "clone_seed.py"
432432
if not seed_script.exists():
433433
fail(4, f"Build primitive not found: {seed_script}")
434434
cmd = [sys.executable, str(seed_script), str(plan_path)]

agents/conductors/intake/_intake.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@
8686
"autogalaxy": "PyAutoGalaxy", "autolens": "PyAutoLens",
8787
"pyautomind": "PyAutoMind", "pyautobrain": "PyAutoBrain",
8888
"pyautoheart": "PyAutoHeart", "pyautobuild": "PyAutoHands",
89-
"pyautomemory": "PyAutoMemory", "autobuild": "PyAutoHands",
89+
"pyautomemory": "PyAutoMemory", "autohands": "PyAutoHands",
90+
"autobuild": "PyAutoHands", # back-compat: the package was renamed autobuild -> autohands
9091
"workspaces": "workspaces",
9192
}
9293
PRIORITY_HIGH = ["urgent", "asap", "blocker", "blocking", "critical", "important",

0 commit comments

Comments
 (0)