Skip to content

docs: refresh public repo scorecard and onboarding#58

Open
squaeragent wants to merge 1 commit into
mainfrom
docs/public-refresh-95
Open

docs: refresh public repo scorecard and onboarding#58
squaeragent wants to merge 1 commit into
mainfrom
docs/public-refresh-95

Conversation

@squaeragent

@squaeragent squaeragent commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds just env-doctor and scripts/env_doctor.py so fresh clones fail fast on Python/Rust/just prerequisite issues instead of surfacing opaque Python 3.9 import errors.
  • Routes Justfile Python invocations through a selected Python 3.11+ interpreter when available, while preserving CI behavior on Ubuntu where python3 is already 3.12.
  • Updates README/QA onboarding and regenerated docs/llms-full.txt with the env-doctor + uv fallback path.
  • Replaces stale hard 100/100 current claims with a timestamped scorecard table that keeps all public dimensions at 95+ while clearly separating launch baseline from active release freshness.

Verification

  • just env-doctor
  • just docs-check
  • cd engine && uv run --python 3.11 --with pytest --with cryptography --with hypothesis -- python -m pytest -q -p no:cacheprovider
  • cd cli && cargo test --workspace

Safety / boundary notes

  • No live-capital behavior changed.
  • No public claim adds live trading, PnL, custody, latency, or win-rate promises.
  • Maintains paper-first/default-local runtime boundary.

Co-authored-by: Hermes Agent hermes@nousresearch.com

Summary by CodeRabbit

  • New Features

    • Added a new environment check command to help verify local setup before bootstrapping.
    • Improved setup instructions with a clearer quickstart sequence and fallback guidance for older Python installations.
  • Bug Fixes

    • Strengthened CI and docs checks to ensure the environment check tool is present and executable.
    • Updated onboarding steps to reduce setup failures by requiring prerequisite checks first.
  • Documentation

    • Refreshed launch scorecard wording and updated release-readiness guidance.

@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@squaeragent, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 53 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e2fdd7b7-9521-4ed7-99fb-e5365fe7f8a4

📥 Commits

Reviewing files that changed from the base of the PR and between 4ecf23f and 99aa7db.

📒 Files selected for processing (8)
  • .github/workflows/ci.yml
  • README.md
  • docs/launch-scorecard.md
  • docs/llms-full.txt
  • docs/qa-onboarding-checklist.md
  • engine/tests/test_env_doctor.py
  • justfile
  • scripts/env_doctor.py
📝 Walkthrough

Walkthrough

Adds a new scripts/env_doctor.py prerequisite-check script with tests, integrates it into justfile as a required bootstrap dependency and Python interpreter selector across many recipes, enforces its executability in CI and docs-check, and updates README/docs/checklist content and the launch scorecard.

Changes

Environment Doctor Integration

Layer / File(s) Summary
env_doctor.py implementation
scripts/env_doctor.py
New script with Check primitives, Python/tool version evaluators, exit-code logic, rendering, and main() entrypoint.
env_doctor tests
engine/tests/test_env_doctor.py
Tests dynamically load the script and verify python_status thresholds and exit_code aggregation.
justfile python selector and env-doctor wiring
justfile
Adds python variable selection, shell/env exports, env-doctor recipe, and makes bootstrap depend on it.
Recipe-wide {{python}} substitution
justfile
Many recipes (examples, network smoke, GitHub/label checks, release/proof-pack, homebrew, live canary/cockpit, checksum) switch from hard-coded python3 to {{python}}.
CI and docs-check enforcement
.github/workflows/ci.yml, justfile
Both add assertions that scripts/env_doctor.py is executable.
Quickstart and onboarding docs
README.md, docs/llms-full.txt, docs/qa-onboarding-checklist.md
Add just env-doctor step to quickstart/onboarding flows, plus uv run fallback for old Python.
Launch scorecard revisions
docs/launch-scorecard.md
Rewrites scope, current scores, baseline score, trust score, remaining-actions, and score definitions.

Estimated code review effort: 2 (Simple) | ~15 minutes

Estimated code review effort: 2 (Simple) | ~15 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately captures the main documentation refresh, especially the scorecard and onboarding updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/public-refresh-95

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.

@squaeragent squaeragent enabled auto-merge (squash) July 1, 2026 03:35

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
.github/workflows/ci.yml (1)

164-164: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

env_doctor.py executable check added but never invoked in CI.

Other scripts in this same list (e.g. scripts/openapi_contract_check.py, scripts/issue_template_check.py) are both checked for -x and then actually executed later in the job. scripts/env_doctor.py only gets the -x check; it is never run, so CI won't catch a regression in the script's own logic (e.g. version-threshold bugs).

Consider adding scripts/env_doctor.py (or just env-doctor) to the executed steps for parity with the other prerequisite checks.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yml at line 164, The CI job currently only verifies
that scripts/env_doctor.py is executable but never runs it, unlike the other
prerequisite checks. Update the workflow step sequence in the CI job to actually
invoke scripts/env_doctor.py (or the equivalent just env-doctor target) after
the existing -x check, keeping it consistent with the other script checks such
as scripts/openapi_contract_check.py and scripts/issue_template_check.py.
justfile (1)

3-3: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Interpreter probing only checks python3.11; misses newer-only installs and bare "no python" case.

The fallback chain only tries plain python3 (version-checked) then specifically python3.11. On systems where only e.g. python3.12/python3.13 is installed (common via Homebrew python@3.12 without a python3.11 symlink) and the default python3 resolves to an older interpreter (e.g. Apple's system Python), the selector falls through to else echo python3, silently choosing the too-old interpreter instead of a usable one. Separately, if python3 doesn't exist at all, the 2>/dev/null swallows the "command not found" error and the fallback still emits python3, so later {{python}} scripts/env_doctor.py fails with a raw shell error instead of env_doctor's intended friendly message.

♻️ Suggested more robust probing
-python := `if python3 -c 'import sys; raise SystemExit(0 if sys.version_info >= (3, 11) else 1)' 2>/dev/null; then echo python3; elif command -v python3.11 >/dev/null; then echo python3.11; else echo python3; fi`
+python := `for candidate in python3 python3.13 python3.12 python3.11; do if command -v "$candidate" >/dev/null 2>&1 && "$candidate" -c 'import sys; raise SystemExit(0 if sys.version_info >= (3, 11) else 1)' 2>/dev/null; then echo "$candidate"; exit 0; fi; done; echo python3`
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@justfile` at line 3, The interpreter selection in the `python` variable only
checks `python3` and then `python3.11`, so it can miss newer installed versions
or fall back to a nonexistent/too-old `python3`. Update the probing logic in the
`justfile` so it validates availability and version for a broader set of
candidates (for example, newer `python3.x` executables) before defaulting, and
ensure the fallback only emits a usable interpreter path. Also handle the
no-python-installed case explicitly instead of silently returning `python3`, so
`env_doctor` can show its intended friendly error.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/ci.yml:
- Line 164: The CI job currently only verifies that scripts/env_doctor.py is
executable but never runs it, unlike the other prerequisite checks. Update the
workflow step sequence in the CI job to actually invoke scripts/env_doctor.py
(or the equivalent just env-doctor target) after the existing -x check, keeping
it consistent with the other script checks such as
scripts/openapi_contract_check.py and scripts/issue_template_check.py.

In `@justfile`:
- Line 3: The interpreter selection in the `python` variable only checks
`python3` and then `python3.11`, so it can miss newer installed versions or fall
back to a nonexistent/too-old `python3`. Update the probing logic in the
`justfile` so it validates availability and version for a broader set of
candidates (for example, newer `python3.x` executables) before defaulting, and
ensure the fallback only emits a usable interpreter path. Also handle the
no-python-installed case explicitly instead of silently returning `python3`, so
`env_doctor` can show its intended friendly error.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8f752191-3eb1-4333-862b-05ef13a1ae67

📥 Commits

Reviewing files that changed from the base of the PR and between c75a2cc and 4ecf23f.

📒 Files selected for processing (8)
  • .github/workflows/ci.yml
  • README.md
  • docs/launch-scorecard.md
  • docs/llms-full.txt
  • docs/qa-onboarding-checklist.md
  • engine/tests/test_env_doctor.py
  • justfile
  • scripts/env_doctor.py

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4ecf23f9ba

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread justfile
@@ -1,68 +1,72 @@
set shell := ["bash", "-uc"]
export PYTHONDONTWRITEBYTECODE := "1"
python := `if python3 -c 'import sys; raise SystemExit(0 if sys.version_info >= (3, 11) else 1)' 2>/dev/null; then echo python3; elif command -v python3.11 >/dev/null; then echo python3.11; else echo python3; fi`

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Validate python3.11 before selecting it

When python3 is still older than 3.11 but a pyenv-style python3.11 shim is present and not activated, command -v python3.11 succeeds even though invoking it exits 127. Because this resolver only checks for the command name, just env-doctor and just bootstrap select the unusable shim and fail before scripts/env_doctor.py can print the actionable Python-version guidance; probe python3.11 -c ... the same way as python3 before echoing it, or fall back to python3 so the doctor can explain the failure.

Useful? React with 👍 / 👎.

@squaeragent squaeragent force-pushed the docs/public-refresh-95 branch from 4ecf23f to 99aa7db Compare July 1, 2026 03:41
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