Rewrite the README as a technical reference, require Python 3.12 #6

Merged
cristhian merged 2 commits from fix/gamepad-layout-and-pad-calibration into main 2026-09-17 20:07:40 +00:00
Owner

README

Rewritten as a hands-on reference instead of prose: system diagram up top, quick start first, hardware run with the dora 1.0.1 git: gotchas as numbered notes, a single gamepad table carrying both the base-frame directions and the indices, spec-style Ports/Environment/Safety-style tables throughout.

  • The gamepad tables were merged: each control listed once, with its index (axes 0, 1 … button 11) and its base-frame direction (+X stick up, +Y stick right, triggers are the only Z path), as coded in mapping.py.
  • "Ports" renamed to "Inputs and outputs" — dora's own vocabulary.

Tooling

  • requires-python raised to >=3.12; uv.lock re-resolved (3.11 markers and wheels drop out). Local and CI venvs already run 3.12.

Verification

  • uv run pytest — 149 passed; uv run ruff check . and ruff format --check clean; markdown tables and the mermaid block parse-verified against mermaid 11 (what Gitea 1.27 bundles).
## README Rewritten as a hands-on reference instead of prose: system diagram up top, quick start first, hardware run with the dora 1.0.1 `git:` gotchas as numbered notes, a single gamepad table carrying both the base-frame directions and the indices, spec-style Ports/Environment/Safety-style tables throughout. - The gamepad tables were merged: each control listed once, with its index (`axes 0, 1` … `button 11`) and its base-frame direction (`+X` stick up, `+Y` stick right, triggers are the only Z path), as coded in `mapping.py`. - "Ports" renamed to "Inputs and outputs" — dora's own vocabulary. ## Tooling - `requires-python` raised to `>=3.12`; `uv.lock` re-resolved (3.11 markers and wheels drop out). Local and CI venvs already run 3.12. ## Verification - `uv run pytest` — 149 passed; `uv run ruff check .` and `ruff format --check` clean; markdown tables and the mermaid block parse-verified against mermaid 11 (what Gitea 1.27 bundles).
cristhian added 2 commits 2026-09-17 20:03:36 +00:00
docs: rewrite the README as a technical reference
validate / validate (pull_request) Successful in 58m41s
validate / test (pull_request) Successful in 58m43s
validate / markdownlint (pull_request) Successful in 58m35s
e0f5e332ca
cristhian changed title from fix gamepad layout, calibrate pads at rest, rewrite the README to Rewrite the README as a technical reference, require Python 3.12 2026-09-17 20:03:49 +00:00
Author
Owner

/bot review

/bot review
bot reviewed 2026-09-17 20:06:34 +00:00
bot left a comment
Owner

Summary

Rewrites the README as a spec-style reference, merges the gamepad tables, and raises requires-python to 3.12 with a re-resolved uv.lock. The 3.12 change is clean and internally consistent, and the merged gamepad table matches mapping.py exactly; the problem is guidance the rewrite deleted, including guidance the PR body claims it kept.

Findings

README.md:54 -- The "Running with hardware" section is a bare table, but the PR body promises "the dora 1.0.1 git: gotchas as numbered notes": the deleted warnings that --uv fails on git: dataflows (Could not find source path dora-joy within uv), that dora start refuses them outright, and the build-into-one-venv workaround are gone with nothing to replace them. A reader following the Quick start's dora run dataflow.yml --uv pattern onto dataflow-robot.yml hits that failure with no explanation; restore the notes under this section (or drop the claim from the description and document the failure mode).

README.md:62 -- The Gamepad section keeps the table and the index numbers but deletes the entire verification half of the old README: dora-teleop-probe is no longer mentioned, and the "sweep a new pad before the arm is powered" warning — recording that against the shipped indices X toggled freedrive and LB was the E-STOP — is gone, while line 60 still advertises dataflow-gamepad.yml as "plus the probe" and mapping.py still names the probe as the only check. An operator with a differently numbered pad now has no documented way to verify buttons before the arm moves; keep at least the probe invocation and the sweep-before-power warning.

Recommendation

Request changes -- Both findings are safety- and runbook-relevant guidance the diff removes, one of them claimed by the PR body but absent from the change.

## Summary Rewrites the README as a spec-style reference, merges the gamepad tables, and raises `requires-python` to 3.12 with a re-resolved `uv.lock`. The 3.12 change is clean and internally consistent, and the merged gamepad table matches `mapping.py` exactly; the problem is guidance the rewrite deleted, including guidance the PR body claims it kept. ## Findings **`README.md:54`** -- The "Running with hardware" section is a bare table, but the PR body promises "the dora 1.0.1 `git:` gotchas as numbered notes": the deleted warnings that `--uv` fails on `git:` dataflows (`Could not find source path dora-joy within uv`), that `dora start` refuses them outright, and the build-into-one-venv workaround are gone with nothing to replace them. A reader following the Quick start's `dora run dataflow.yml --uv` pattern onto `dataflow-robot.yml` hits that failure with no explanation; restore the notes under this section (or drop the claim from the description and document the failure mode). **`README.md:62`** -- The Gamepad section keeps the table and the index numbers but deletes the entire verification half of the old README: `dora-teleop-probe` is no longer mentioned, and the "sweep a new pad before the arm is powered" warning — recording that against the shipped indices X toggled freedrive and LB was the E-STOP — is gone, while line 60 still advertises `dataflow-gamepad.yml` as "plus the probe" and `mapping.py` still names the probe as the only check. An operator with a differently numbered pad now has no documented way to verify buttons before the arm moves; keep at least the probe invocation and the sweep-before-power warning. ## Recommendation **Request changes** -- Both findings are safety- and runbook-relevant guidance the diff removes, one of them claimed by the PR body but absent from the change.
cristhian merged commit ed47d61780 into main 2026-09-17 20:07:40 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: liria/dora-teleop#6