[P0] Prompt compiler rejects closed anonymous-dict schemas and false-fails most compiler tests #158
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#158
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
Restoring the real aggregate PlUnit runner in #151/#152 exposes a near-total failure of
rlm_prompt_compiler_test.pl.The first common boundary is deterministic catalog registration. Normal tool schemas in the existing fixtures contain SWI anonymous dicts such as:
sanitize_tool_schema/2currently calls rawground/1throughrequire_ground/2onarguments,result, andlimits. In SWI-Prolog an anonymous dict tag is a variable, so otherwise-closed declarative schema data is rejected as nonground. The compiler therefore never reaches trigger scoring, conflict/supersession, dependency closure, capability filtering, ledgering, or fingerprint behavior in most tests.This is the same representation-class bug tracked generically in #154 and already fixed narrowly for recursive-plan fingerprints in #135.
Required invariant
Closed model-visible/configuration data must treat only the anonymous dict tag as representation metadata:
Do not relax capability/authority semantics or accept executable callables.
Acceptance
test/run_tests.plremains the merge oracle.Discovered during post-false-green remediation after #60.
Completed on current main by the rlm_closed_data-backed schema boundary integrated in #177. Focused exact-head verification passed 26/26 across closed-data and prompt-compiler contracts; full aggregate remains 762/762. PR #159 was closed as superseded.