Skip to content

docs: correct README setup, run, and feature claims - #12

Merged
dmccoystephenson merged 2 commits into
mainfrom
feature/readme-accuracy-sweep
Aug 7, 2026
Merged

docs: correct README setup, run, and feature claims#12
dmccoystephenson merged 2 commits into
mainfrom
feature/readme-accuracy-sweep

Conversation

@dmccoystephenson

Copy link
Copy Markdown
Member

Summary

A repo-wide documentation accuracy sweep was performed against the actual source. Every claim in README.md was checked against main.py, graphik.py, .gitmodules, and the three .bat scripts. Only documentation was changed; no code was touched.

Drift that was found and corrected:

  • Setup pointed at a repository that does not exist. git clone https://github.com/dmccoystephenson/testing-drawing-grid.git / cd testing-drawing-grid was replaced with Preponderous-Software/patchwork.
  • The Viron submodule was undocumented. main.py imports EnvironmentService and LocationService from Viron/, so a clone without --recurse-submodules cannot run. Both the recursive-clone and the after-the-fact git submodule update --init --recursive forms are now documented.
  • pip install -r requirements.txt was referenced. No requirements.txt is present in the tree; pip install pygame is documented instead.
  • bash run.sh was referenced. No run.sh is present in the tree; that instruction was removed.
  • The CLI was undocumented. The optional grid-size argument (default 50, with a 50 fallback on an unparseable value) and --exit-after-create are now described, including the fact that the flag is read positionally from sys.argv[2] and therefore requires a grid size before it, and that it has no effect when the requested key is already cached.
  • The environments.json cache was undocumented. Its key format (<numGrids>x<gridSize>, with the grid count currently fixed at 1) and its re-load-instead-of-re-create behavior are now described.
  • The .bat scripts were undocumented. up.bat, down.bat, and create_environments.bat are now described alongside the equivalent docker compose -f Viron/compose.yml ... commands for non-Windows platforms, together with the http://localhost:9999 expectation.
  • "Interactive toggling of cell states" was listed as a shipped feature. The render loop in main.py handles only pygame.QUIT, and Graphik.drawButton is defined but never called anywhere. The item was moved from Features to Roadmap.

No tracking issue — the drift was found during triage.

Test plan

  • python3 -m py_compile main.py graphik.py __init__.py passes.
  • Absence of run.sh and requirements.txt was confirmed by listing the tree.
  • Absence of interactive handling was confirmed by grepping main.py and graphik.py for MOUSE, KEYDOWN, drawButton, and event.type; the only hit in main.py is event.type == pygame.QUIT.
  • Every documented argument and default was traced against main.py lines 21-38 and 96-103.
  • Every documented .bat behavior was read out of up.bat, down.bat, and create_environments.bat.
  • Viron/compose.yml was confirmed to exist at the path used in the documented commands.
  • The interactive pygame anchor is recorded UNVERIFIED-not-applicable: this change is documentation-only and modifies no rendering code or Viron service call, and no Viron server is reachable from this environment.

Deferred issues

The remaining open backlog was not picked up this cycle. Skip reasons are recorded here for auditability:

Note on PR #10

Draft PR #10 remains open and blocked on two maintainer-only actions: it is still marked Draft (gh pr ready is not permitted in this run's tooling), and it carries a stale CHANGES_REQUESTED review that was left before the concern was addressed. No third status comment was added there, since two already exist. This PR was kept documentation-only and its README.md edits sit outside the section PR #10 adds, so the two are expected to merge without conflict.

This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).

dmccoystephenson and others added 2 commits August 7, 2026 01:29
The Setup section pointed at a repository URL and directory name that no
longer exist (dmccoystephenson/testing-drawing-grid) and referenced a
requirements.txt that is not in the tree. The Running section referenced a
run.sh script that does not exist, and neither the Viron submodule nor the
CLI arguments accepted by main.py were documented anywhere.

- Point Setup at Preponderous-Software/patchwork and document the Viron
  submodule, which main.py imports from at runtime
- Drop the run.sh and requirements.txt instructions
- Document the gridSize and --exit-after-create arguments, including the
  positional constraint and the environments.json cache behavior
- Document up.bat, down.bat, and create_environments.bat, plus the
  cross-platform docker compose equivalents
- Move "Interactive toggling of cell states" from Features to Roadmap; the
  render loop only handles pygame.QUIT and drawButton is never called

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@dmccoystephenson

Copy link
Copy Markdown
Member Author

Self-review rubric (documentation accuracy sweep):

  • Scope: PASS — a single file (README.md) is modified; no code, no .bat scripts, no .gitmodules, no submodule pointer. Net diff is 52 insertions / 10 deletions, far inside the scope ceiling.
  • Tests-new: n/a — no new public methods or functions are introduced by a documentation-only change.
  • Tests-fix: n/a — no bug fix is included, so there is nothing to stash-and-run against.
  • Sibling structure: PASS — no new file is created; README.md is the only documentation file in the repository root and its existing heading hierarchy (## Getting Started with ### subsections) is preserved by the two new ### sections.
  • Sibling renames: n/a — no identifier or heading in a parallel pair or series was renamed.
  • Docs: PASS — both rows of the sources-of-truth table were checked. The Getting Started steps now name the entry point that actually exists (python main.py, no run.sh); the Roadmap gained the un-implemented interactivity item that had been mislabeled as shipped. create_environments.bat, up.bat, and down.bat were read line by line and every documented behavior (the environments.json deletion, the 1-to-max_size loop, the 100 default, the output.txt / error_log.txt redirections, the docker compose flags) was taken from the script text rather than from memory.
  • Issue resolution: n/a — no Closes #N is claimed. The drift was found during triage and no tracking issue existed for it, which is stated in the PR body.
  • Manual validation: UNVERIFIED-not-applicablepython3 -m py_compile main.py graphik.py __init__.py passes on the PR head. The interactive pygame anchor was not run: the change modifies no rendering code and no Viron service call, and no Viron server is reachable at :9999 from this environment. Per the loop's own gating rule, that combination is recorded as not-applicable rather than claimed green.

One rubric item was fixed during review rather than deferred:

README.md:56 — the documented down.bat / docker compose ... down --remove-orphans --volumes invocation was presented without any indication that --volumes destroys Viron's database volumes, which would silently invalidate every environment id cached in environments.json. A caution line was added in commit 57f6161.

Two observations are folded into this body rather than left inline, since they fall outside the diff hunks:

  • README.md:19 — the Python 3.10+ prerequisite was left unchanged and remains unsubstantiated. No 3.10-only syntax appears in main.py or graphik.py, no requirements.txt / pyproject.toml / setup.py exists anywhere under Viron/src/main/python, and this sweep ran under Python 3.8.10. Lowering the stated floor would have amounted to inventing a compatibility claim, so the line was deliberately left alone; confirming or correcting it is a maintainer call.
  • up.bat:3 / down.bat:3 — both scripts reference .\viron\compose.yml in lowercase while the submodule path recorded in .gitmodules is Viron. This resolves correctly on Windows, which is the only platform those scripts target, so it was not treated as drift and the scripts were not modified. The cross-platform commands documented in the README use the case-correct Viron/compose.yml.

This PR comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).

@dmccoystephenson
dmccoystephenson merged commit 0bcbad6 into main Aug 7, 2026
@dmccoystephenson
dmccoystephenson deleted the feature/readme-accuracy-sweep branch August 7, 2026 07:31
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