AntFleet

Anatomy · d121d4bf-0

Script docstrings and usage mention .sh instead of .py, causing user invocation confusion

mediumdocs-gap
repo a16d2030·PR #4·reviewed 1 week ago

The vulnerable code

symbiosis/scripts/symbiosis-quote.py:2-6

Code snippet unavailable.

The reasoning

Opus

Docstring usage strings reference non-existent .sh wrappers

lowdocs-gaphigh
  • symbiosis/scripts/symbiosis-quote.py:4-6
  • symbiosis/scripts/symbiosis-swap.py:4-7
  • symbiosis/SKILL.md:36-46
The Python files are named `.py` and SKILL.md correctly invokes them as `.py`, but the `__doc__` printed when arg-count validation fails tells the user to run `./symbiosis-quote.sh` / `./symbiosis-swap.sh`. There are no `.sh` wrappers in the slice. Users who misuse the script will be told to run a non-existent file. This is a misleading message produced exactly at the error path, which is the worst place for it.

Recommendation

Update docstrings to say `symbiosis-quote.py` / `symbiosis-swap.py`.

GPT-5

Script docstrings and usage mention .sh instead of .py, causing user invocation confusion

mediumdocs-gaphigh
  • symbiosis/scripts/symbiosis-quote.py:2-6
  • symbiosis/scripts/symbiosis-swap.py:2-7
Both scripts are Python (.py) but their embedded help strings and examples instruct users to run .sh files. This is likely to cause immediate failures and confusion when following the on-script instructions.

Recommendation

Update the docstrings in both scripts to reference .py filenames (symbiosis-quote.py and symbiosis-swap.py) in Usage and Example lines.

The agreement

Both frontier models flagged this within the same line range. AntFleet's unanimous gate fired — the finding posted on the PR.

Closure

Tweet thread template

tweet 1 of 8176 / 280

Two frontier models reviewed PR #4 on a16d2030. Both found this bug: medium docs-gap: Script docstrings and usage mention .sh instead of .py, causing user invocation confusion

tweet 2 of 8126 / 280

The vulnerable code (symbiosis/scripts/symbiosis-quote.py:2-6): (full snippet at https://www.antfleet.dev/anatomy/d121d4bf-0)

tweet 3 of 8280 / 280

What Opus saw: "The Python files are named `.py` and SKILL.md correctly invokes them as `.py`, but the `__doc__` printed when arg-count validation fails tells the user to run `./symbiosis-quote.sh` / `./symbiosis-swap.sh`. There are no `.sh` wrappers in the slice. Users who mis…

tweet 4 of 8226 / 280

What GPT-5 saw: "Both scripts are Python (.py) but their embedded help strings and examples instruct users to run .sh files. This is likely to cause immediate failures and confusion when following the on-script instructions."

tweet 5 of 897 / 280

Both flagged the same line range. AntFleet's unanimous gate fired — the finding posted on the PR.

tweet 6 of 893 / 280

The fix landed in commit pending: (view diff at https://www.antfleet.dev/anatomy/d121d4bf-0)

tweet 7 of 881 / 280

AntFleet reviews every PR with two frontier models. Only unanimous findings post.

tweet 8 of 877 / 280

Full anatomy + reasoning + diffs: https://www.antfleet.dev/anatomy/d121d4bf-0

Paste into X composer one tweet at a time. X has no multi-tweet intent API.