Skip to content

fix(docs): fix intro.rst syntax errors, dangling section, and stale claims#549

Merged
petercorke merged 1 commit into
mainfrom
docs/intro-rst-fixes
Jul 5, 2026
Merged

fix(docs): fix intro.rst syntax errors, dangling section, and stale claims#549
petercorke merged 1 commit into
mainfrom
docs/intro-rst-fixes

Conversation

@petercorke

Copy link
Copy Markdown
Owner

Summary

Critical review of intro.rst (a lightly-adapted ICRA2021 paper) found real bugs beyond staleness:

  • Two missing-comma syntax errors in DHRobot([...]) examples (inert :: blocks, never executed/caught by Sphinx)
  • A "Straight line (Cartesian) paths" section with its entire runblock commented out but prose still referencing specific line numbers of invisible code — re-enabled with a verified-working example (seeded batch ikine_LM converges for all 200 poses)
  • Two literal blocks not indented relative to their introducing paragraph, so they silently rendered as plain text instead of code
  • A stray duplicated sentence fragment and an accidental mid-word line break in the opening paragraph

Plus a staleness pass, each claim checked against the actual codebase rather than assumed:

  • Python version 3.6 → 3.10 (matches pyproject.toml)
  • PyBullet → coal (matches the already-tracked tech-debt.md item), with a Windows-wheel-availability note
  • Removed the lgtm.com claim (confirmed dead — no lgtm/CodeQL anywhere in .github/workflows/)
  • Conclusion's "under development" list: mobile robotics (planners/EKF/SLAM) confirmed shipped, moved out. ROS/Dynamixel backends initially looked shipped (real file sizes) but turned out to be non-functional stubs on closer inspection (ROS.py's methods are literally super().step with no parens, # pragma nocover; Dynamixel has no Connector subclass at all) — correctly left as "under development"
  • "over 30 robot models" → "over 50" (actual count: DH=24, URDF=24, ETS=7)

Test plan

  • Full docs build: still 5 warnings (same baseline as before these changes)
  • Full test suite: 653 passed, 13 skipped, no regressions

🤖 Generated with Claude Code

…laims

Bugs (not just staleness):
- Two missing-comma syntax errors in DHRobot() link-list examples (plain
  :: literal blocks, never executed by Sphinx, so never caught).
- The "Straight line (Cartesian) paths" runblock was fully commented out
  but the prose after it still referenced specific line numbers of the
  invisible code. Re-enabled with a working example (verified: seeded
  batch ikine_LM call converges for all 200 poses) and rewrote the prose
  to match the actual output.
- Two literal blocks (closest_point example, default plot() example)
  weren't indented relative to their introducing paragraph, so per reST
  rules they rendered as plain text instead of code.
- A stray duplicated sentence fragment and two accidental blank lines
  splitting a sentence mid-word in the opening history paragraph.

Staleness (checked against the actual codebase, not assumed):
- Python version claims updated 3.6 -> 3.10 (three places), matching
  pyproject.toml's requires-python.
- PyBullet -> coal: the toolbox switched collision backends; added a
  Windows-wheel-availability note matching tech-debt.md's already-tracked
  item.
- Removed the lgtm.com "automated code review" claim -- confirmed no
  lgtm/CodeQL references anywhere in .github/workflows/; the service
  doesn't exist in this repo's actual CI today.
- Conclusion's "currently under development" list: mobile robotics
  motion models/planners/EKF/SLAM are confirmed shipped (mobile/__init__.py
  has 8+ planners, EKF, ParticleFilter, all wired into the public API) --
  moved out of the pending list. ROS/Dynamixel backends were initially
  assumed shipped too (files exist with real line counts) but on closer
  inspection are non-functional stubs (ROS.py's methods are literally
  `super().step` with no parens -- not even calling the parent -- and
  `# pragma nocover`; Dynamixel has no Connector subclass at all) --
  correctly left in the "under development" list.
- "over 30 robot models" -> "over 50" (actual count: DH=24, URDF=24,
  ETS=7).

Verified: full docs build still succeeds at the same 5-warning baseline
as before these changes; full test suite 653 passed, 13 skipped, no
regressions.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (17c67d2) to head (d926531).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@          Coverage Diff          @@
##            main    #549   +/-   ##
=====================================
  Coverage   0.00%   0.00%           
=====================================
  Files        136     136           
  Lines      13438   13438           
=====================================
  Misses     13438   13438           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@petercorke petercorke merged commit 29ee42b into main Jul 5, 2026
18 checks passed
@petercorke petercorke deleted the docs/intro-rst-fixes branch July 5, 2026 12:18
@github-actions github-actions Bot mentioned this pull request Jul 5, 2026
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