Repository navigation
Fix directional annotation tie boundaries - #556
johnml1135 wants to merge 1 commit into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #556 +/- ##
==========================================
+ Coverage 74.57% 74.62% +0.04%
==========================================
Files 453 453
Lines 38314 38317 +3
Branches 5280 5281 +1
==========================================
+ Hits 28573 28594 +21
+ Misses 8576 8561 -15
+ Partials 1165 1162 -3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| return true; | ||
| } | ||
|
|
||
| break; |
There was a problem hiding this comment.
FYI: F1. The public Find(start, example, dir) overload can now return a tie that comes before start, and which tie it returns depends on random node levels. Example: start S ties example with Levels == 2, and tie T (level 1) sits between S.GetPrev(1) and S. Before this change the call returned S; now it drops to level 0 and returns T. If S has Levels == 1, it still returns S. Nothing in src/ calls this overload (searched for Find( in src/), so the visible effect is limited to outside callers. Unverified: I reasoned this through but did not reproduce it.
Public API / TFM / package / machine.py parity: the return-value behavior of the public Findings: F1 new, unverified. Reviewed at d98d12a |
Pin full parse multiplicity and application histories from combined Machine #500 and #556 in three derivatives of the #480 truncation grammar. Update fixture-derived coverage, interaction ledgers and their audit pins. The original grammar is unchanged. The complete expectations intentionally remain red on the conformance branch until both engine fixes are applied.
Quick summary
Word copying and segment deletion preserve tied annotations at their lookup boundaries.
BidirList.Findnow descends to level zero before returning an equal node, selecting the first match in the requested search direction. The patch changes the shared lookup and adds deterministic regression tests.Where to look
BidirList.Find: both directions must reach the correct edge of an equal-range group.AnnotationTieTests: fixed layouts exercise lookup,GetNodes, copied/cloned payloads and mapped endpoints, exact survivors, and tied children under shrinking multi-node owners.Deliberately not included
The independent tied-container descendant lookup and flat spanning-annotation end-removal defects are tracked in #554 and #555. The
a/gaconformance fixture update is being prepared separately for #480.Validation
./local_check.sh --agent-strict: passed with one-node WSL settings and the existing native CI build output restored; all normal stages ran.AnnotationTieTestson committedd98d12a5: 1,200 passed, 0 failed, 0 skipped; independently rerun by the orchestrator.git diff --check origin/master...HEAD: passed. Independent Sol source/test review passed; final exact-SHA binding recorded separately.aand fivegaidentity multisets, including application order, morph order, allomorph index and features.Issue / porting context
Addresses #506's directional tie-boundary mechanism. Related: #500, #480, #554, #555.
Native prerequisite and evidence scope
Base:
259920414132bdd5a85542722d9af5509aed8943. Candidate:d98d12a5d514ce589d7495c71d055830e061a418.The WSL environment lacks CMake. The existing
sp4c-linux-x64output from the successful exact-base CI run was restored after verifying the native wrapper's source inputs were unchanged. Its required tcmalloc runtime was downloaded, hash-checked and extracted under task-private/tmp; no system package was installed and no product dependency changed. The normal strict gate used a command-scopedLD_LIBRARY_PATHfor that runtime.The full local script does not collect CI-equivalent coverage. The finite identity checks and deterministic layouts establish the exercised cases; #554/#555 remain separate findings.
Generated with OpenAI Codex.
This change is