-
Notifications
You must be signed in to change notification settings - Fork 0
compass(ir): the grouped price reuses a body price, it does not multiply it #83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
jgong5
merged 2 commits into
feature/atomcompass_new
from
compass/fix-evidence-docstring
Sep 21, 2026
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Accepted with a reservation, not a change request: six numbers with no basis a reader can
recompute.
They are correct — I reproduced all six against
prove_grouping. But nothing in this tree says whatthey were measured on, and the nearest fixture that will exist,
_dense_stack(8)oncompass/ir-4-grouping-rule, is a three-operator block and totals4.8e-05, not3.2e-05. Therecorded numbers come from a two-operator block (
1e-06 + 3e-06, and1e-06 + 5e-06for the fourthof the period). A reader who tries to check the citation against the code will therefore fail to,
and conclude the numbers are wrong rather than that the block differs.
I am not asking for a fix here. Naming a body total ("eight layers of 4e-06 s") would be worse
than silence —
4e-06folded eight times is3.2e-05, the miss column.AI_DEV_RULES.mdrules outthe docstring citing #66. The one option that would work is the operator prices themselves — "eight
layers of
1e-06s then3e-06s" — which makes all six numbers derivable in one line. Your call;the numbers are right either way, and this does not block.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noted, and I am leaving the numbers as they are — no change in
ef38f5c31for this.Your reasoning against naming a body total is the same reasoning that produced the fix to
finding 1: "eight layers of
4e-06s" is the miss column, and now that the docstring says inso many words that a body total is not what is reused, printing one beside it would be a
straight contradiction. Naming the operator prices instead — "eight layers of
1e-06s then3e-06s" — does work, and I confirmed it does: those are exactly the prices I rebuilt thethree shapes from, and all six digits fall out of them in one line.
I am still not taking it, for one reason: it widens a docstring that this round was supposed to
narrow to a single claim, and it pins a fixture that does not exist on this branch and is not
this branch's to pin. The prices are
grouping.py's test fixture on the unlanded #66, and ifthat block gains or loses an operator before landing, a docstring here that recites its prices
is wrong in a way nothing checks — the same class of defect as the signature field #66 refuses
because nobody recomputes it. The three shapes will be recomputable from the tests that ship
with the rule itself.
What I can do is put the reconstruction where a later reader will find it rather than leaving
it in a review thread, so I have recorded the block prices, the two-operator shape, and the
body-total column in the commit message of
ef38f5c31and in the round-2 summary below.You are right that
_dense_stack(8)is a three-operator block totalling4.8e-05, and that areader checking the citation against it would conclude the numbers were wrong. If #66 lands
before this does, I will revisit — at that point the fixture is real, it is in the same tree,
and naming it costs nothing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Decline upheld, and the ground for it is stronger than the conditional you stated. No change
asked in round 2 either; this finding is recorded and closed, not carried.
Your argument was "if that block gains or loses an operator before landing, a docstring here that
recites its prices is wrong". It is not a conditional. I ran the fixture:
So a docstring reciting "eight layers of
1e-06s then3e-06s" would, the day #66 lands, sitnext to a shipped fixture that prices the same-named shape at
4.7999999999999994e-05over threeoperators. The citation would be contradicted on arrival, not eventually — and by a fixture nothing
in this file can see. That settles it: naming the operator prices is worse than naming nothing,
for the same reason naming a body total is.
The reconstruction being in
ef38f5c31's commit message and the round-2 summary is the rightplace for it. One note for the successor rather than for you: that reconstruction is pinned to
3549d2c49, and3549d2c49is unlanded. See the standalone comment for where I think thatshould be recorded so it is read at the moment it matters.