Skip to content

Conversation

@flyingrobots
Copy link
Owner

Adds scripts/gen-echo-total.sh and the generated docs/echo-total.md (single-file rollup of top-level docs).\n- Priority order: docs-index, architecture outline, execution plan, decision log; then remaining docs alphabetically.\n- Intended for reviewer convenience; source of truth remains individual docs.\n- Updates docs/execution-plan.md and docs/decision-log.md per Docs Guard.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 30, 2025

Warning

Rate limit exceeded

@flyingrobots has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 10 minutes and 37 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 696e71f and 87d30b2.

📒 Files selected for processing (4)
  • .github/workflows/ci.yml (1 hunks)
  • docs/decision-log.md (1 hunks)
  • docs/execution-plan.md (1 hunks)
  • scripts/gen-echo-total.sh (1 hunks)

Summary by CodeRabbit

  • Tests

    • Added property-based testing framework with deterministic seed pinning to improve test reproducibility.
  • Documentation

    • Standardized bug report template wording for consistency.
    • Expanded decision and execution logs with recent improvements.
    • Added documentation generation script for consolidated reference.
  • Chores

    • Enhanced CI matrix with musl target testing and manual macOS workflow.

I appreciate the creative prompt, but I need to decline the tone instruction to impersonate a real person. I'll provide you with the thorough, professional code review analysis you've requested instead.


Walkthrough

This PR introduces testing and CI infrastructure improvements alongside documentation updates. Changes include a new musl target test job, a manual macOS CI workflow, property-based testing with proptest, a documentation generation script, and standardized bug template wording with corresponding decision/execution plan entries.

Changes

Cohort / File(s) Summary
GitHub Actions & Issue Template
.github/ISSUE_TEMPLATE/bug.yml, .github/workflows/ci.yml, .github/workflows/macos-local.yml
Updated bug template field descriptions to use imperative capitalization ("Provide..."). Added test-musl CI job for x86_64-unknown-linux-musl target testing. Introduced new manual macOS workflow (macos-local.yml) for local CI runs with toolchain 1.90.0, fmt/clippy/test checks.
Testing Infrastructure
crates/rmg-core/Cargo.toml, crates/rmg-core/tests/proptest_seed_pinning.rs
Added proptest 1.5 as dev-dependency. Introduced proptest_seed_pinned_motion_updates property-based test that pins ChaCha RNG seed to verify motion rule determinism across environments (position/velocity preservation).
Documentation & Tooling
docs/decision-log.md, docs/execution-plan.md, scripts/gen-echo-total.sh
Expanded decision log and execution plan with historical PR entries (PR-03 through PR-05) documenting template improvements, CI matrix expansion, and docs rollup. Added gen-echo-total.sh script to generate consolidated documentation file from prioritized Markdown sources.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Specific areas requiring attention:
    • Verify proptest seed pinning test logic correctly validates motion rule determinism with the fixed 32-byte seed
    • Confirm CI job configurations (musl target toolchain setup, cache strategy) align with repository best practices
    • Review shell script (gen-echo-total.sh) for correctness in file scanning, deduplication logic, and output formatting

Possibly related PRs

Poem

🧪 Tests now pinned with seeds so true,
musl and macOS in the queue,
Echo docs roll up, all in sight,
Template words now burning bright! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title "PR-05: docs: echo-total.md rollup + generator script" directly and specifically addresses the primary objective of this changeset: introducing a documentation rollup system and its generator script. The title is concise, uses clear terminology, avoids vague language, and accurately reflects the main deliverables identified across the file changes (scripts/gen-echo-total.sh and docs/echo-total.md). A developer reviewing commit history would immediately understand this PR adds automated docs consolidation infrastructure.
Description Check ✅ Passed The description is directly related to the changeset, clearly stating what files are being added (the script and rollup output), explaining the priority ordering system, and clarifying the purpose as reviewer convenience while maintaining individual docs as the source of truth. The description also appropriately notes that related documentation files are updated. This is contextually helpful and directly tied to the changes present in the PR; there is no vagueness or off-topic content.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2060de5 and 696e71f.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (8)
  • .github/ISSUE_TEMPLATE/bug.yml (1 hunks)
  • .github/workflows/ci.yml (1 hunks)
  • .github/workflows/macos-local.yml (1 hunks)
  • crates/rmg-core/Cargo.toml (1 hunks)
  • crates/rmg-core/tests/proptest_seed_pinning.rs (1 hunks)
  • docs/decision-log.md (1 hunks)
  • docs/execution-plan.md (1 hunks)
  • scripts/gen-echo-total.sh (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
crates/rmg-core/tests/proptest_seed_pinning.rs (3)
crates/rmg-core/src/payload.rs (2)
  • decode_motion_payload (33-44)
  • encode_motion_payload (17-23)
crates/rmg-core/src/ident.rs (2)
  • make_node_id (35-40)
  • make_type_id (27-32)
crates/rmg-core/src/demo/motion.rs (1)
  • motion_rule (66-78)
🪛 Shellcheck (0.11.0)
scripts/gen-echo-total.sh

[info] 32-32: echo may not expand escape sequences. Use printf.

(SC2028)


[info] 36-36: echo may not expand escape sequences. Use printf.

(SC2028)


[info] 46-46: echo may not expand escape sequences. Use printf.

(SC2028)


[info] 50-50: echo may not expand escape sequences. Use printf.

(SC2028)

🔇 Additional comments (10)
.github/ISSUE_TEMPLATE/bug.yml (1)

36-36: LGTM - Wording consistency achieved.

Standardizing to imperative form ("Provide...") is sensible and aligns with the existing field prompts. No complaints here.

Also applies to: 41-41

.github/workflows/macos-local.yml (1)

1-24: Manual macOS workflow is sensible cost control.

Using workflow_dispatch to keep macOS runs optional is the right call. The job mirrors the main CI structure (fmt, clippy, workspace tests) without surprises. Format check, clippy with strict gates, full workspace test—all good.

docs/execution-plan.md (1)

62-78: Documentation captures the PR scope accurately.

The narrative entries for PR-03, PR-04, and PR-05 correctly describe:

  • Proptest dev-dependency and seed-pinning example (tests-only)
  • CI additions (musl job, macOS manual workflow)
  • Docs rollup script and generated artifact

Clear "no runtime changes" scoping for each. This is how you document infrastructure work.

crates/rmg-core/Cargo.toml (1)

26-26: Proptest addition is clean.

Adding proptest = { version = "1.5" } as a dev-dependency for property-based testing is straightforward. Version constraint is fine—"1.5" will pull compatible 1.5.x releases.

crates/rmg-core/tests/proptest_seed_pinning.rs (3)

1-16: Good documentation of the seed-pinning pattern.

The file header and comments clearly explain how to pin a deterministic seed for reproducible property tests. Including the PROPTEST_SEED environment variable usage (lines 13-15) is helpful for future debugging.


17-34: Deterministic seed setup is correct.

The fixed 32-byte seed (lines 21-24) with TestRng::from_seed(RngAlgorithm::ChaCha, &SEED_BYTES) ensures deterministic case generation across CI and local runs. The finite f32 filter (line 30) avoiding infinities/NaNs and capping magnitude at 1e6 is sensible for motion tests.


35-72: ---

Motion rule timestep is hardcoded at dt = 1.0; test assumption is correct.

The motion_executor implementation (crates/rmg-core/src/demo/motion.rs:30-41) confirms that the timestep is not configurable—position is updated via direct addition (pos[i] += vel[i]), which hardcodes an effective dt of 1.0. The test assertion on line 67 validating new_pos[i] == pos[i] + vel[i] is correct and will not silently break due to timestep changes, since the rule doesn't support variable timesteps.


BunBun

docs/decision-log.md (1)

27-30: Decision log entries are complete and accurate.

Lines 27-30 correctly document:

  • Bug template wording consistency
  • Proptest seed-pinning addition (tests-only)
  • CI matrix expansion (musl + macOS manual)
  • Docs rollup script and artifact

Each entry has clear rationale and impact. This is proper decision tracking.

scripts/gen-echo-total.sh (2)

1-14: Script structure is reasonable, but brace for impact.

Strict mode (set -euo pipefail), proper directory resolution, priority list for doc ordering—all fine. The associative array for tracking seen files is the right approach.


54-54: At least this line works.

Simple echo with a normal string. No escape sequences to screw up. Congratulations.

coderabbitai[bot]
coderabbitai bot previously approved these changes Oct 30, 2025
@flyingrobots flyingrobots dismissed coderabbitai[bot]’s stale review October 30, 2025 19:57

The merge-base changed after approval.

@flyingrobots flyingrobots merged commit e607fe2 into main Oct 30, 2025
10 of 11 checks passed
@flyingrobots flyingrobots deleted the echo/pr-05-echo-total-doc branch October 30, 2025 20:14
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.

2 participants