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
HermitCrab: complete cross-engine correctness controls for final-template pruning #507
Final-template pruning must skip only analysis paths that cannot lead to a valid parse. This issue tracks the controls needed to demonstrate that guarantee across Machine and PanGloss.
Who is affected: users with final/non-final templates, partial words or rules, and maintainers reviewing #491 or porting its optimization.
This is a coverage gap, not a newly established Machine regression. The ten-word final-template-partial-discriminators fixture is now on Machine's conformance branch, but its passing results do not demonstrate that analysis pruning executes.
Done when: exact positive/negative identities and multiplicities survive optimized/unoptimized runs; discriminators reach the pruning branch; and claimed fixes fail when removed. Cover actual invocation role for rules shared between a stratum and a template, partial roots, lower-stratum continuations, and memoization on/off. Keep safe defaults separate from forced experimental overrides.
Published controls and remaining evidence
Commit a20bce12, through #480, adds conformance/edge-cases/final-template-partial-discriminators. Its rationale is in conformance/docs/final-template-partial-discriminators.md.
The recorded check passes all ten rows with memoization on/off. Mutating the partial-rule flag, partial-word producer, and non-final-template flag produces the predicted 2/10, 1/10, and 2/10 disagreements.
These establish synthesis/grammar sensitivity, not prune hits or fix-removed engine evidence. A zero prune count is not optimization coverage. Finite agreement does not prove universal soundness or completeness.
Related: #491 and #456. No parser code changed in this fixture update. Sparse forests and memory containment are outside scope.
Coverage update: commit a20bce1 on integrate-conformance-framework (PR #480) adds final-template-partial-discriminators. All ten rows pass with memoization on/off. Independent mutations of the partial-rule flag, partial-word producer, and non-final-template flag yield the predicted 2/10, 1/10, and 2/10 disagreements. Derivations and limitations are in conformance/docs/final-template-partial-discriminators.md. This verifies synthesis controls, not that the analysis-pruning optimization executes. Actual dual-role rules, partial roots, lower-stratum continuation and prune-hit/fix-removed evidence remain open. No parser code changed.
Activity
johnml1135 commentedon Sep 15, 2026
Coverage update: commit a20bce1 on integrate-conformance-framework (PR #480) adds final-template-partial-discriminators. All ten rows pass with memoization on/off. Independent mutations of the partial-rule flag, partial-word producer, and non-final-template flag yield the predicted 2/10, 1/10, and 2/10 disagreements. Derivations and limitations are in conformance/docs/final-template-partial-discriminators.md. This verifies synthesis controls, not that the analysis-pruning optimization executes. Actual dual-role rules, partial roots, lower-stratum continuation and prune-hit/fix-removed evidence remain open. No parser code changed.