Repository navigation
Conversation
ComputeRulesHash64(rev) promised to represent prior rules exactly, but only the field count was historical: every revision hashed today's constants. #131 (HQ ceiling 2000 -> 3000) therefore rewrote the identity of revisions 1 and 2 retroactively, and the "frozen" golden test could only ever pin the present. Historic revisions now carry literal rows (V1, V2, V3) in a marked source region; ComputeCurrentRulesHash64 is the only path that reads live constants, DescribeCurrentRulesDrift compares both field by field as a tripwire, and a source guard rejects live references inside the literal region. Revisions are append-only: a changed hashed constant means a new revision, never a re-pin. Fixes #138, refs #108. Decision D-120 (draft; binding with the merge). The current RulesHash64 stays 0xD1B683837D12FCEF; the revision 1/2 pins return to 0x531CE8F614A16CB5 / 0x07725EA26668C9F8. None of the four guard baselines is touched. Sim tests 781/781; Unity EditMode mirror not run. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
EditMode 666/666 and PlayMode 15/15 measured on this branch with Unity 6000.5.4f1 via the lane script from #110; no failures, clean tree. Co-Authored-By: Claude Fable 5.1 <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.
Was:
MatchFingerprint.ComputeRulesHash64(rev)liest nur noch eingefrorene Literalzeilen (V1, V2, V3).ComputeCurrentRulesHash64ist der einzige Pfad mit Live-Konstanten;DescribeCurrentRulesDrift()vergleicht beide Feld für Feld (Stolperdraht), ein Quelltextwächter verbietet Live-Referenzen im Literalbereich.Warum: Bisher war nur die Feldzahl historisch, die Werte immer die heutigen. #131 hat so die Identität der Revisionen 1/2 rückwirkend verschoben. Fixes #138, Refs #108.
Bereiche:
Simulation/Replays/(niemand ohne D-ID → D-120, Entwurf), Tests beider Spuren, DecisionLog, CHANGELOG.Hashes: aktueller
RulesHash64bleibt0xD1B683837D12FCEF; Rev-1/2-Pins zurück auf0x531CE8F614A16CB5/0x07725EA26668C9F8. Keine der vier Guard-Baselines berührt.Changelog:
[Unreleased]→ Behoben.Tests:
dotnet test781/781;check_docs.pyOK;check_baseline_guard.py --self-testOK.Unity-Spuren: EditMode 666/666, PlayMode 15/15 (Unity 6000.5.4f1, warme Library).
Spielabnahme: nicht gespielt — keine Verhaltensänderung, Laufzeit-Hash bitgleich.
Reihenfolge: vor der RulesRevisionV4 des Art-Branches mergen; der Art-Strang legt V4 dann als Literalzeile an (Anleitung im Bericht). Offene Inhaberfragen und unabhängiges Read-only-Review:
reports/v8.6.0/issue-lauf-2026-10-17/01-issue-138-*.md,01b-review-1-issue-138.md.🤖 Generated with Claude Code