[P0] Evolution kernel rejects its own anonymous-dict candidate fixtures #165
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/prolog-rlm#165
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Failure
The restored aggregate runner reaches the evolution suite from merged #148. The kernel's own canonical fixtures use anonymous SWI dicts for candidate genes and constraint schemas:
valid_candidate_shape/1andvalid_constraints/1require rawground/1on those enclosing named dicts. Because a nested anonymous dict carries a variable tag, the valid fixture is rejected before gene validation. The current crossover assertion also compares against a fresh anonymous dict with==, which is representation-unstable.This is the same closed-data representation defect centralized in #158/#159.
Required invariant
rlm_anonymous_dict;Acceptance
test/run_tests.plremains the oracle.Discovered during post-#60 false-green remediation of merged #148.
Completed on current main
ab426de54a54101ca3a6d8197db77e4c1f9d009f. Exact production code matches PR #166. Focused evolution acceptance passed 11/11 and the fresh aggregate on the same SHA passed 767/767 across 74 suites with no failures/timeouts/blocked/fixme. PR #166 was closed as superseded because its old base would regress newer work.