Skip to content

doc: align version-guard, loop-helper, and reclassify docs with the code - #1013

Merged
bpowers merged 1 commit into
mainfrom
doc-stale-claims
Aug 9, 2026
Merged

doc: align version-guard, loop-helper, and reclassify docs with the code#1013
bpowers merged 1 commit into
mainfrom
doc-stale-claims

Conversation

@bpowers

@bpowers bpowers commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Follow-up to #1012, addressing the three codex review findings that arrived as it merged. All three are the stale-claim class: documentation describing a state of the world the code no longer has.

  • simlin-mcp version guard: the comment and skip message described CI as a tagless shallow clone where the guard "is a no-op" — the opposite of what ci.yaml's fetch-tags: true checkout (added in tests: remove implementation-asserting tests repo-wide #1012) does. An unexpected skip in CI would have been misread as documented-normal behavior. Both now state that CI fetches tags specifically so the guard runs, and that a skip is expected only on a local clone without them. (Verified live: with the fresh pysimlin-v0.8.0 tag fetched, the guard passes against the 0.8.0 release.)
  • Engine module map: src/ltm/ still advertised the deleted top-level detect_loops helper; anyone following the documented surface would import a nonexistent API.
  • reclassify_loops_from_results rustdoc: claimed pysimlin Run.loops "still reclassifies via its own Python LoopPolarity.from_runtime_scores mirror (slot-0 only)" and "exposes the all-slots engine path separately as Run.loops_runtime" — both false: Run.loops rides this helper via Sim.get_loops_runtime, there is no separate property, and the Python classifier no longer exists. The A2A-semantics note is now correctly a two-site comparison (this helper's all-slots concatenation vs discovery's strongest-path scalar) instead of three.

🤖 Generated with Claude Code

https://claude.ai/code/session_01S3vQ72pUeYXdMgCv7sSjaB

Three codex findings on PR #1012, all stale-claim class. The pysimlin
version-tag guard's comment and skip message described CI as a tagless
shallow clone, the opposite of what ci.yaml's fetch-tags checkout does
-- an unexpected skip would have been misread as normal CI behavior.
The engine module map still listed ltm::detect_loops, and
reclassify_loops_from_results' rustdoc still described a Python slot-0
reclassification path and a Run.loops_runtime property; pysimlin's
Run.loops rides this helper via Sim.get_loops_runtime, so the A2A note
is a two-site comparison (this helper's all-slots concatenation vs
discovery's strongest-path scalar), not three.
@bpowers

bpowers commented Aug 9, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@claude

claude Bot commented Aug 9, 2026

Copy link
Copy Markdown

Reviewed. This is a docs-only alignment PR and all three claims check out against the code:

  • simlin-mcp/src/main.rs.github/workflows/ci.yaml:33 sets fetch-tags: true on the Build job, so the new comment is accurate and the old "no-op in CI" framing would have masked a legitimate skip as expected behavior.
  • simlin-engine/CLAUDE.mdsrc/simlin-engine/src/ltm/mod.rs defines MAX_LTM_SCC_NODES but no detect_loops helper; dropping the stale mention matches the code.
  • db/analysis.rs rustdoc — pysimlin/simlin/run.py's _populate_loop_behavior (line 326) calls self._sim.get_loops_runtime() at line 342; there is no Run.loops_runtime attribute anywhere in pysimlin, and the only from_runtime_scores mention in the Python code (analysis.py:81) is a docstring pointer to the Rust implementation rather than a Python mirror. The reduced "two sites" A2A note (all-slots vs. discovery's strongest-path scalar) is consistent with the surviving reclassification callers.

No findings — LGTM.

Overall correctness verdict: CORRECT.

@codecov

codecov Bot commented Aug 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.18%. Comparing base (c7ba043) to head (f07b463).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1013   +/-   ##
=======================================
  Coverage   92.18%   92.18%           
=======================================
  Files         247      247           
  Lines      158229   158229           
=======================================
+ Hits       145856   145857    +1     
+ Misses      12373    12372    -1     

☔ 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@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: f07b463958

ℹ️ 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 on lines +153 to +154
visible. CI fetches tags (fetch-tags: true in ci.yaml), so this skip is \
expected only on a local clone without them; run `git fetch --tags` to \

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P3 Badge Limit the no-tag diagnostic to the Build job

In the Code Coverage job, .github/workflows/ci.yaml:116-117 uses the default checkout without fetch-tags, while .github/workflows/ci.yaml:161-163 runs every workspace test, including this one. That job will therefore legitimately take this branch in CI, so saying the skip is expected only on a local clone misattributes a normal coverage run. Either fetch tags in the coverage checkout too or clarify that only the Build job guarantees them.

Useful? React with 👍 / 👎.

@bpowers
bpowers merged commit a555fd1 into main Aug 9, 2026
17 checks passed
@bpowers
bpowers deleted the doc-stale-claims branch August 9, 2026 14: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