[P1] Add deterministic skill-selection eval corpus and trigger metrics #168
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#168
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?
Parent: #167
Related: #117, #101
Goal
Make
rlm_prompt_compilerskill activation quality measurable instead of inferred from a handful of hand-written examples.This issue evaluates selection, not downstream task success.
Runtime contract
Given a deterministic fixture containing:
produce structured metrics without requiring a live model provider.
Required metrics
Requirements
rlm_prompt_compiler; no second router;Acceptance
Non-goals
Work autonomously and inspect current
main, #167/#117, tests, compiler code, and CI before each slice. Do as much coherent work as possible rather than stopping at one trivial fixture.RAGE realization/verification update for #168.
Exact starting main was
267697bef10a3fffff7c093e1435ece770e7444b. I excluded fresh active #250 (rage/250-skill-catalog-graph) and found no competing downstream implementation; AgentProlog #6 explicitly expects to consume upstream #168.TDD first exposed two evaluator defects on exact head
51e8ae90b215f56559aef11d734b2a75799f57e0: aggregate PlUnit discovered 79 suites / 892 tests and failed only the new evaluator assertions. Provider-visible token cost was incorrectly filtering on hashed context-unit IDs, so it reported zero; the default anonymous context-policy dict also made fingerprint material unsuitable for the demanded repeatability contract. The fingerprint representation assertion additionally expected a string even though the repository'scrypto_data_hash/3convention returns an atom. These failures were preserved and fixed rather than weakened.Realization on current exact head
10cdd81032e452093c1b294537433f478c1262c3:rlm_skill_eval:skill_selection_evaluate/4as a thin measurement layer around canonicalrlm_prompt_compiler; no second selector/router;context_pack.selectedrepresentation by inspecting the selected value'sunit, rather than guessing from hashed context IDs;context_policy{...}and rejects nonground eval/compile options, so both the aggregate eval fingerprint and the underlying per-case compiler fingerprints are required to repeat;Adversarial review: GO. The evaluator only invokes
prompt_compile/4andprompt_explain/3; it neither mutates the catalog nor grants capability/authority/effects. Token accounting comes from the normal packed provider-visible selection. Negative fixture validation is structured failure while CI stays green. No downstream product policy is introduced.Exact-head verification for
10cdd81032e452093c1b294537433f478c1262c3is green: canonical deterministic CI, benchmark/conformance, deep recursion, CLI/trace, graph/artifact restart and whitespace; REAL OpenRouter; Paid OpenRouter; Nix flake; clean SWI pack install; Tree-sitter FFI. Aggregate PlUnit: 79 suites / 893 discovered / 893 passed / 0 failed / 0 timeout / 0 blocked / 0 fixme.This slice satisfies the #168 selection-evaluation contract and is ready for review at PR #251. Merge remains subject to the repository's explicit merge-on-green authorization gate.