Repository navigation
Conversation
A native Adams trial swapped its prediction into the state around its
source evaluation (elementwise and fused trials) or wrote it there and
copied the accepted state back afterwards (coupled trial and startup). A
source that threw skipped the restore, so the failed run's terminal
checkpoint and march snapshot held the prediction.
The swap is now a scope guard, and adams_evaluate restores the state
before rethrowing. A test hook, adams_march_fault("trial_source", ...),
raises inside the source evaluation; the regression test compares its
checkpoint and snapshot with a fault before the prediction on all three
paths.
Closes #129
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XGENPwwkUUG9KSAwneHjgH
When a rejection's shrunk proposal fell below dz_min, both the NumPy reference and the native march raised the floor before recording the completed trial, so it had no attempt row. The floor is now deferred, as an accepted step's is, and raised after the row is recorded; the proposal, accepted state, ledger and message are unchanged. A replay still raises it at once. On native, a failed release of that attempt stays a note on the floor's error, as on the reference. The pre-refactor trace corpus is not regenerated: floor_after_rejections joins the CHANGED scenarios with an explicit test of the one added row. Closes #651 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XGENPwwkUUG9KSAwneHjgH
Fold the two floor exits into one helper and merge the rejection's replay and floor branches, so run() stays under clang-tidy's 300-line threshold. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XGENPwwkUUG9KSAwneHjgH
Contributor
Author
|
GPU lane on an NVIDIA A40 (CUDA 12.8.1, AMPERE86 build) at 8281643:
The later commit 0bde86e only restructures host-side |
jtravs
marked this pull request as ready for review
November 13, 2026 18:11
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Contributor
Author
|
Pre-existing radial device crash filed as #815. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XGENPwwkUUG9KSAwneHjgH
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two Adams failure-semantics fixes, one commit each.
#129: a failed native Adams source no longer leaves the prediction in the state
std::swap(current_, adams_saved_)pairs inadams_fused_trialandadams_elementwise_trialbecome aSwappedAsidescope guard (native/src/general/kernels.hpp), andadams_evaluate(coupled trial and startup) restorescurrent_before rethrowing.adams_march_fault("trial_source", …)throws once at the start of the next source evaluation, while the prediction is in the state.#651: record the completed rejected attempt before raising the floor
host/adams.py):_rejectholds the floor error, andmarch_toraises it after_record, as_proposealready does for accepted steps. Native (adams_march.cpp) does the same. A replay is unchanged (no row; the floor is raised first). Proposal, state, ledger and message are unchanged.floor_after_rejectionsjoins the existingCHANGEDsets, and an explicit test checks that the new trace equals the corpus trace plus exactly one rejected row. The issue's witness scenario is tested on both marches.docs/dev/kernel-contract.mddocuments the floor ordering.Checks: ruff, basedpyright,
poe docstrings, clang-format, codespell; 252 targeted tests on CPU (Adams traces, native march traces, TDSE native, march lifecycle, session history, resident Adams, exponential march). Not run locally: clang-tidy, sanitizers, device builds (CI device-compile covers the builds; an NVIDIA A40 GPU test run will be reported here).Closes #129
Closes #651
🤖 Generated with Claude Code
https://claude.ai/code/session_01XGENPwwkUUG9KSAwneHjgH