Skip to content

fix: retire status.sh --repos, which sources a deleted file #331

Description

@Jammy2211

Overview

PyAutoMind/scripts/status.sh --repos sources scripts/pyauto_status.sh, which
does not exist in the repo. The branch is vestigial: skills/OWNERSHIP.md
records that pyauto-status / pyauto-status-full were retired into the
Heart-owned $health door (/health status, /health full). Worse than a
plain failure, the branch exits 0, so the flag looks like it worked:

$ bash scripts/status.sh --repos
scripts/status.sh: line 20: .../scripts/pyauto_status.sh: No such file or directory
scripts/status.sh: line 21: pyauto-status: command not found
$ echo $?
0

Found by the 2026-08-19 readability-pass census (#248).

Plan

  • Confirm no caller passes --repos (done: PyAutoMind, PyAutoBrain and
    PyAutoHeart were all searched — nothing invokes status.sh with any flag).
  • The retired replacement is an agent-driven procedure, not a sourceable
    shell function, so the branch cannot be repointed — delete it.
  • Leave a short retirement pointer in its place so anyone with muscle memory for
    --repos is told where the cross-repo dashboard went, and exit non-zero
    instead of the current silent success.
  • Update the script's usage header, and add a regression test that drives the
    real script.
Detailed implementation plan

Work Classification

Library / Workspace / Both → neither — this is Mind infrastructure
(PyAutoMind only, single repo).

Affected Repositories

  • PyAutoMind (primary)

Branch Survey

Repository Current Branch Dirty?
./PyAutoMind claude/status-sh-repos-missing-source-rj332c clean

Suggested branch: claude/status-sh-repos-missing-source-rj332c (the
session's designated branch; this is a web-github run with no task worktree).

Worktree root: n/a — web-github environment, session clone only.
worktree_check_conflict status-sh-repos-missing-source PyAutoMind → exit 0
(no other task claims PyAutoMind).

Implementation Steps

  1. scripts/status.sh — delete the --repos branch (the
    source "$ROOT/scripts/pyauto_status.sh" + pyauto-status + exit 0
    block). Replace it with a message on stderr naming the replacement
    (/health status, PyAutoHeart via the /health door) and exit 2.
  2. scripts/status.sh — update the usage comment block: [--full] only, with
    one line recording that --repos was retired into $health status.
  3. tests/test_status_script.py (new) — drive the real script:
    • --repos exits non-zero, points at /health status, and emits no
      No such file or directory / command not found shell error;
    • a bare run still exits 0 and prints the == Registry == section.
      Fictional/no-fixture only, per test_spawn_privacy.pytests/** is
      KEEP-copied verbatim into the public template.

Key Files

  • scripts/status.sh — the vestigial branch (lines 8, 12, 18-22).
  • tests/test_status_script.py — new regression test.
  • skills/OWNERSHIP.md — already records the retirement; no change needed.
  • REFERENCE.md — already points at /health status for the dashboard; the
    only status.sh mentions are the flagless inventory run; no change needed.

Testing

python3 -m pytest tests/test_status_script.py plus a manual
bash scripts/status.sh / bash scripts/status.sh --repos.

Original Prompt

Click to expand starting prompt
# status.sh --repos sources a file that no longer exists

Type: bug
Target: pyautomind
Repos:
- PyAutoMind
Difficulty: small
Autonomy: supervised
Priority: low
Status: formalised
Filed: 2026-08-19 (backfilled from git)

Found by the 2026-08-19 readability-pass census (#248).
@PyAutoMind/scripts/status.sh's `--repos` branch does
`source scripts/pyauto_status.sh`, and that file does not exist in `scripts/``bash scripts/status.sh --repos` fails. `skills/OWNERSHIP.md` records that
`pyauto-status` was retired into the `$health status` leg (PyAutoHeart), so
the branch is probably vestigial.

Decide and fix: either delete the `--repos` branch (and any docs offering it),
or repoint it at the Heart-owned replacement. Check the callers first
(Brain `wake_up.md`, `nightly.sh`, `bin/overnight_status.sh`; Heart `tick.sh`,
`ci_status.sh`, `heart-health.yml`) to confirm none of them pass `--repos`.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions