Report a branch whose reference parameters cannot be computed#69
Merged
Conversation
Every element takes its reference from the one before it, so the whole branch rests on the first element's: it is either written on that element (a BeginningEle's ReferenceP) or propagated in from the Fork that created the branch. When neither happens there is no species and no energy to propagate, and nothing later in the branch can supply them -- a ReferenceP further down is read as that element's own upstream values, not as a starting point for the ones before it. Until now the bookkeeper wrote a ReferenceP holding only `time_ref: 0` and said nothing. This is what `lattice_files/fork.pals.yaml` hits: `b_fork` sets `propagate_reference: false` and `b_line` opens on `m`, a Marker with no ReferenceP of its own, so the branch has no reference at all. It is now the one problem that file reports. Species and energy are reported separately, because either alone leaves the reference unusable: the species supplies the mass that converts between energy and momentum, and without one of those two there is nothing to convert. The check runs on the first element after it has been bookkept, so it sees the reference the element ended up with, fork seed and all, and the branch name is in scope to name it by -- an element name alone would be ambiguous, since the same definition can open several branches. Five test fixtures declared no reference at all. Four are given one (they are testing forks and expressions, not references); the fifth is the deliberately broken lattice, where the new message joins the ones it already collects. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Every element takes its reference from the one before it, so the whole branch
rests on the first element's: it is either written on that element (a
BeginningEle's ReferenceP) or propagated in from the Fork that created the
branch. When neither happens there is no species and no energy to propagate, and
nothing later in the branch can supply them -- a ReferenceP further down is read
as that element's own upstream values, not as a starting point for the ones
before it. Until now the bookkeeper wrote a ReferenceP holding only
time_ref: 0and said nothing.
This is what
lattice_files/fork.pals.yamlhits:b_forksetspropagate_reference: falseandb_lineopens onm, a Marker with noReferenceP of its own, so the branch has no reference at all. It is now the one
problem that file reports.
Species and energy are reported separately, because either alone leaves the
reference unusable: the species supplies the mass that converts between energy
and momentum, and without one of those two there is nothing to convert.
The check runs on the first element after it has been bookkept, so it sees the
reference the element ended up with, fork seed and all, and the branch name is
in scope to name it by -- an element name alone would be ambiguous, since the
same definition can open several branches.
Five test fixtures declared no reference at all. Four are given one (they are
testing forks and expressions, not references); the fifth is the deliberately
broken lattice, where the new message joins the ones it already collects.
🤖 Generated with Claude Code