Document executed error norms in BackendHistory

Open Beginner friendly
#628 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
1/5
Estimated time
Under an hour
Newbie friendliness
86/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Active
Tech stack
python

Research direction

Read src/solprop/backends/protocol.py at the linked revision and compare BackendHistory.error_norm with _march_to and _record in src/solprop/backends/driver.py. Update the attribute documentation to describe the executed trial norm and keep the equivalent controller history distinct. Done when the public record documentation matches the driver's contract and documentation checks pass, with no arithmetic or defaults changed.

Written by the indexing model from the issue text.

Description

documentation priority: medium

What happens

BackendHistory.error_norm is documented as the error rescaled to the controller's unclipped proposal. The actual Runge–Kutta march records the executed trial norm. Only the controller's private accepted-norm history receives the equivalent proposal norm.

Why it matters

A backend implementing the session contract from the public record documentation could report different error histories at clipped or stretched landings even while making the correct numerical decisions.

Reproduction

Read, not a new numerical run: compare BackendHistory at ba7bee7a with _march_to and _record in the reference driver. _march_to computes equivalent, passes the original norm to _record, and appends equivalent to controller history. _record explicitly documents this executed-norm contract.

Context

Found during the independent Julia-owned session implementation in #611, tracking #608. Related session work is #607.

To do

  • Correct the BackendHistory.error_norm attribute documentation to describe the executed norm.
  • Keep the separate equivalent controller history explicit and preserve numerical behavior.

Done when

The public record documentation agrees with the existing driver's contract and documentation checks pass. No arithmetic or defaults change.

Dominant language
Python
Stars
3
Forks
3
Avg merge
8h 28m
Merged PRs (30d)
176

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from LupoLab/solprop

All issues in LupoLab/solprop

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.