You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Should the differential compare initials(), which moved in #408 with every role field identical? #484
The gate compares the seven role fields plus _ambiguities. Initials are a derived render view, so #408's reordering (M. H. A. A. → M. A. A. H. on folded-middle names) was invisible to it by construction — tests/v2/cases.py's header records that the table has no initials column and the pin lives in rules.md#R3 + test_render.py.
Both surfaces expose initials(); comparing it as a pseudo-field (the _ambiguities precedent) would catch render-layer drift on real names at the baseline boundary.
Open questions:
Does the pseudo-field join _RULE_FIELDS so ledger rules can classify initials-only diffs?
Closed by #494. Answers to the three questions in the issue:
Does the pseudo-field join _RULE_FIELDS? Yes, as _initials, and it stands alone: it enters a name's diff only when the seven roles and _ambiguities agree on every compared surface (a role move drags its initials with it, so that movement is the role diff's consequence, not render drift). A rule listing _initials therefore lists nothing else; validate_rules refuses the mix. Strict subset semantics were measured and rejected: 53 / 43 / 36 existing rules at 1.4.0 / 2.0.0 / 2.1.0 would have needed _initials for no added discrimination. Full record in docs/design/decisions.md, "differential-ledger, the initials view".
Is initials() a template for other derived views, family_base say? Not added. A second view is two rows per surface (worker template and tree side) plus its own roles-identical guard, and nothing needs it today; the entry above records the decision rather than the issue.
Activity
derek73 commentedon Sep 2, 2026
Closed by #494. Answers to the three questions in the issue:
Does the pseudo-field join
_RULE_FIELDS? Yes, as_initials, and it stands alone: it enters a name's diff only when the seven roles and_ambiguitiesagree on every compared surface (a role move drags its initials with it, so that movement is the role diff's consequence, not render drift). A rule listing_initialstherefore lists nothing else;validate_rulesrefuses the mix. Strict subset semantics were measured and rejected: 53 / 43 / 36 existing rules at 1.4.0 / 2.0.0 / 2.1.0 would have needed_initialsfor no added discrimination. Full record indocs/design/decisions.md, "differential-ledger, the initials view".Do the
initials()ignores the folded-word ordering that thefamilyfield applies (der, y vangivesy. d. v.vs the facade'sy. v. d.) #408-era movements need classification at 1.4.0 / 2.0.0? No. At 1.4.0 they ARE parity, and the one corpus nameinitials()ignores the folded-word ordering that thefamilyfield applies (der, y vangivesy. d. v.vs the facade'sy. v. d.) #408 moves at the default order,der, y van, diffs on roles underfix(#379)at all three baselines, so the pseudo-field never enters for it. What the column did surface and classify: the R2 all-particle readmission (27 names, three ledgers),Mc DonaldandSte Marieread the particle as the given name #360'slos(1), the facade initialing each word of a joined run since 2.0.0 (98 names at 1.4.0, recorded late in the 2.3.0 log), andHumanName('Scott E. Werner').initials()drops the middle initial — the facade readsEas the conjunction #462 (14 names, fixed in the same PR).Is
initials()a template for other derived views,family_basesay? Not added. A second view is two rows per surface (worker template and tree side) plus its own roles-identical guard, and nothing needs it today; the entry above records the decision rather than the issue.tooling(differential): compare initials() on roles-identical names (#484
docs(design): the initials view in the differential, and the facade's…
Merge pull request #494 from derek73/claude/v2-3-prioritization-ca7dea