Repository navigation
Ask the maiden take's numeral candidates the one-case fact (#731) - #732
Merged
Merged
Conversation
M2's take builds a clause-free view from the clause's trailing candidates, and its candidate test asked the numeral fork's shape test with no one-case fact, as a superset. But a candidate is also cut out of the view, which changes the word in front of the numeral: in 'john smith nee x x' the lowercase first 'x' is not initial-shaped, so the second became a candidate and the view read it behind 'smith' as the generation (suffix 'x', maiden 'x'), where 'JOHN SMITH NEE X X' keeps maiden 'X X'. trailing_candidates now takes the one-case fact; 'john smith nee j x' moves the same way. The superset check still passes. The one-case grid gains the two clause shapes: ad486f6 disagreed on 36 of 4,752 pairs, this tree on none; a fourth recorded control holds the 36. 2.3.0 through 2.4.2 gave the old lowercase reading, so #723's release bullet links this too. No corpus name moved. T4 says it, with an example; decisions/T4 records it. Closes #731 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…iew) The first version passed the own-words fact, but the word in front of a candidate numeral is always a clause word, which T4 reads by the whole name's case: 'MARY SMITH NEE j x' (mixed case) moved to maiden 'j x' where every release and 'Mary Smith nee j x' read suffix 'x', maiden 'j'. The take now passes the whole name's fact. A new invariant pairs own words in capitals with Title case, clause letters lowercase in both, over fields: 0 now, 72 with the first version's fact (its control); reports still differ on 108 pairs, on master too, since S10's case-settles rule asks the own words there -- recorded, not decided. Docs: trailing_candidates states its one exception to the superset; M2 names S10 among the trailing rules; decisions/M2 and decisions/T4 record it; version claims corrected (2.2.0 through 2.4.2 read the lowercase spelling as the generation, 2.0 and 2.1 as now). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… review)
The code review found the gap recorded as report-only also moves
fields with one own name word in front ('SMITH NEE j x' against 'Smith
Nee j x'), on master too. Passing the whole name's fact to the take's
view closes it but moves S6's credential lean, which P3 asks of the
own words: test_a_maiden_clause_does_not_change_how_a_trailing_word_reads
fails on 270 of 20,412 pairs. Declined with that evidence; the test
comment and decisions/T4 now state the grid's two-own-word reach and
the open gap, and two docstrings no longer say the candidate test asks
"as the fork does".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #732 +/- ##
=======================================
Coverage 99.04% 99.04%
=======================================
Files 46 46
Lines 4588 4589 +1
=======================================
+ Hits 4544 4545 +1
Misses 44 44 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
derek73
added a commit
that referenced
this pull request
Oct 19, 2026
Derek: rules/T4 and maiden names do not really interact, because nobody writes a maiden marker followed by an initial. #731 (PR #732, 6008c8c) bought 'john smith nee x x' and 'john smith nee j x' their capitals' reading with a case argument on trailing_candidates, a whole-name case test in the take, an exception to the candidates' superset contract, two grid shapes and a second invariant -- and the gap it left would need the peel to carry two case facts. Reverted. The readings go back to 2.2.0 through 2.4.2's ('john smith nee x x' suffix 'x', maiden 'x'), stated as an Accepted clause of T4 with both spellings as examples. Kept: M2 naming S10 among its trailing rules, true before #731. decisions/T4 and decisions/M2 keep their #731 entries and gain superseding ones. Code and tests match ad486f6. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
derek73
added a commit
that referenced
this pull request
Oct 19, 2026
…s.md, compact shipped measurements (#759) (#764) * Archive decisions/differential-ledger to tombstones and the retirement entry (#759) The ledgers #664 retired took 33,103 words across eleven arcs, every one superseded by the snapshot. Each arc is cut to a tombstone under decisions/README's rule 3 (date, issue, verdict, SUPERSEDED by 2026-10-13 #664); the retirement entry stands in full. The three passages other entries cite stay as one line each: the 'Donald mc' decline (decisions/suffix-acronym-collisions, decisions/v1-xfail-triage), the initials view (decisions/R4, the 2.3.0 release log) and the Policy-annotation Declined entry (decisions/3-0-reevaluations). The full text is pointed to at fe85bb3. mechanisms.md#RECORDED-ROSTERS said the entry keeps the ledger rosters' measurements; it now points to git through it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Tidy mechanisms.md: one paragraph per label, contracts without case history (#759) Every entry's template labels (Problem shape, Contract statement, How it works, Lives in, Reach for it when) now open their own paragraph. That is load-bearing and the preamble says so: test_doc_citations reads a Contract statement to the end of its paragraph, so in the one-paragraph layout every sentence of an entry was quotable. ONE-PREDICATE-PER-QUESTION (1,856 words) and RENDER-HONORS-THE-PARSE (2,771) are cut to their contract, a short How it works and pointers. The two sentences code comments quote from outside the old contract proper ("where the reader comes AFTER the decider, ..." in _group.py, "a token the parse never saw ..." in _render.py) move into the Contract statement paragraphs, so no comment in nameparser/ changes. The instance census and the case history are in git at fe85bb3 and in the decisions entries the rosters now name; the one piece no decisions entry held, the facade's spliced-field divergence under a caller's conjunction (#528, measured 2026-09-13 and re-run on this tree), moves to decisions/R3 as a dated entry. LEDGER-RULE-SEPARATION and CROSS-RULE-OUTCOME-PINS, both already "Retired with the ledgers" stubs living in nothing, are removed; the only references left are prose names in decisions/differential-ledger. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Compact shipped measurements and superseded passages in the largest decisions files (#759) A sweep under decisions/README's rule 3 over the 22 largest files after differential-ledger, every change checked shipped in v2.5.0 or earlier (the unshipped PRs are #737, #741-#746, #755, #756). Three triggers only: a whole entry headed SUPERSEDED by, cut to a tombstone; a superseded passage inside a live entry, cut to its decision and what replaced it; a measurement paragraph of a shipped change (what moves, cost, blast radius, gate and grid results), cut to one line naming population, counts, baseline and PR. Verdicts, reasons, Accepted costs, Declined/Excluded/Open blocks, measurements of declined or unshipped changes, harvested framing lines, and anything quoted or pointed at from elsewhere stay. RECOMPUTE recipes a release-log bullet rests on stay; others fold into the one line with their PR. The two #731 entries (decisions/M2, decisions/T4), reverted by PR #733 the same day, gain the SUPERSEDED by marker rule 1 asks for and become tombstones. About 13,400 words come out across the 22 files (M2 14,882 -> 12,190, R4 13,819 -> 12,877, the rest listed in the PR). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Fix the design-docs review's findings on the #759 trim - decisions/T4: the #731 tombstone had cut a gap and a declined option that predate #731 (ad486f6) and still stand; both are restored verbatim under the tombstone, re-measured on this tree. - decisions/differential-ledger: the tombstones keep the tooling and dormancy arcs' harvested framing lines (rule 3: "a tombstone included"); the `_check_tree` and DEFAULT_BASELINE Declined entries, about code and process that survive the ledgers, stand as written; the initials-view tombstone says the 2.3.0 release bullet's evidence is at fe85bb3. - decisions/H5: the population line no longer calls `毛 泽东 Dr.` a rules example; the #623 line keeps the corpus-and-case-text null result and the 500-parse characterization; three bold heads keep their closing period. - decisions/S2: the #614 line no longer classifies the stress grid's 8,472 movers, which were not classified; it gives the 12-parse slice that was. - decisions/S6: the frame totals decisions/S9 says "hold exactly" are back; the verification-round head keeps "AND ITS RECIPE". - decisions/R3: the facade spliced-field divergence moved from mechanisms.md is a continuation of the 2026-09-13 #528 entry rather than a second entry of that date, so the existing pointers to "the 2026-09-13 #528 bullet" resolve to one entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Fix the second review's findings; record the compaction traps in rule 3 (#759) - decisions/differential-ledger: the initials-view tombstone gave the cluster sizes as 19 / 66 / 11 / 2, which is cluster (iii) split by vocabulary; the three clusters are 27 / 14 / 98. - decisions/T4: the restored gap paragraph was written under #731 and names "the committed grid", which the revert deleted; the lead now says so, points at PR #732, and scopes the re-measurement (the 108 and the readings hold on a rebuild; the 270 was not re-run). - decisions/H5: the #623 frames line said frames move "only" where a part holds a particle; the names without one moved too, and pay less. - decisions/README rule 3 gains the two traps the reviews found, so the next compaction meets them: a tombstone keeps what the entry recorded about the state before its change, and a one-line replacement keeps each count's own classification. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Scope T4's declined-option claim; fold the tombstone trap into rule 3's definition (#759) Third review round, on a4fed35: - decisions/T4: the lead scoped only the 270 as un-re-run; the paragraph's "closes both (0 field and 0 report differences)" is the same #731-era measurement. An approximation of the option re-run 2026-10-19 closes the fields but leaves 27 of 396 rebuilt pairs differing in their reports, so the lead now says the claim is #731's, unconfirmed since. - decisions/README rule 3: the new trap sentence changed what a tombstone keeps without amending the definition two sentences earlier, which still read as a complete list. The definition now says it, and the trap sentence keeps only the one-line-replacement half. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <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.
Closes #731.
M2's maiden take builds a clause-free view of the name from the clause's trailing candidates and lets
tail_readingdecide what the run takes. Its candidate test (_pieces.trailing_candidates) asked the numeral fork's shape test with no one-case fact, meaning to admit more than the fork as a safe superset. But a candidate is also cut out of the view, which changes the word in front of the numeral there:john smith nee x xx, maidenx, reportedx x, asJOHN SMITH NEE X Xjohn smith nee j xx, maidenj, reportedj x, asJOHN SMITH NEE J XChange.
trailing_candidatestakes a one-case fact, and the take passes the whole name's (one_case and is_one_case(<every token>)). The word in front of a candidate is always a clause word, which rules/T4 reads by the whole name's case. The first version passed the own-words fact, and the design-docs review found it movedMARY SMITH NEE j x(mixed case) to maidenj x; ee0962e fixes that.Versions. 2.2.0 through 2.4.2 gave the old lowercase reading; 2.0.0 and 2.1.0 gave the one this restores. The #723 release bullet links #731.
Tests.
{a} {b} nee {n} {n}and{a} {b} nee j {n}: ad486f6 disagreed on 36 of 4,752 pairs, this branch on none (new control: 36).test_a_clause_letter_beside_capitals_reads_as_beside_title_case, pairs own words in capitals with Title case, the clause letters lowercase in both: 0 field differences, 72 with the first version's fact (its control).A gap left open, on master too. The view itself still reads by the own words' case, so a lowercase clause numeral behind own words in capitals counts as a capital would. With two own words only the report differs (
JOHN SMITH nee x xreportssuffix-or-name,John Smith nee x xdoes not; 108 pairs). With one own word the fields differ too (SMITH NEE j xmaidenj x,Smith Nee j xsuffixx). Passing the whole name's fact to the view closes both, but it also moves S6's credential lean, which P3 asks of the own words:test_a_maiden_clause_does_not_change_how_a_trailing_word_readsfails on 270 of 20,412 pairs (J. nee Smith BAwould read the credential whereJ. BAreads a name). Closing it needs the peel to take the numeral's case fact apart from the lean's. That is declined here with this evidence and recorded in decisions/T4; the new invariant's grid states it holds two own words only.Docs. rules/T4 (statement clause, example,
implemented:/interacts:), rules/M2 names S10 among its trailing rules, decisions/T4 and decisions/M2 entries (the candidate test's one stated exception to its superset contract), and thetrailing_candidatesandis_trailing_numeral_suffixdocstrings.Reviews. The design-docs review found the mixed-case regression, the superset wording, the version dates and M2's missing S10. The code review confirmed the fix (8,100 lowercase/capital moves on a ~1M-parse grid, no mixed-case moves, superset check holding with lowercase input) and found the one-word-head field gap and two stale docstrings. All are addressed in ee0962e and 5f989e2.
🤖 Generated with Claude Code