Canonicalize recursive-plan fingerprints before cycle detection #135
No reviewers
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!135
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "agent/42-canonical-recursive-fingerprints"
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?
Closes #42.
What changed
Recursive-plan cycle/duplicate fingerprints now come from a stable canonical executable representation instead of hashing the raw SWI term.
non_ground_recursive_plan;Regression coverage
term_hash/2unbound;child_capability_denied(tool(secret_tool))result;TDD / CI note
The initial regression-only exact head unexpectedly reported green instead of providing a trustworthy red checkpoint. Investigation found a separate pre-existing CI integrity bug:
test/load_all.plcan emit a real SWI production-module loadERRORwhile the deterministic job still exits green. That defect is now tracked explicitly in #136.The implementation itself is therefore validated by the focused behavioral regressions plus the exact final-head suites, but this PR will remain draft and will not be merged while the repository's production static-load merge oracle is known to be unsound.
Exact-head validation
Head:
6fef2c8889be4bb1bf15ce917580be9c16fa169bThe deterministic gate's static-load substep is not being treated as trustworthy evidence until #136 is repaired.
Non-goals
No weakening of duplicate/cycle protection, no JSON parser rewrite, no capability expansion, and no unrelated recursion-policy redesign.