reports/report.md for the full comparison against the paper’s own numbers.psychscanner.memories.llm_chat_model + langchain_core.messages (the same primitive
01_reward_task’s baseline agent uses under the hood), not ExpCard/ScannerModel. Real
Ollama calls only (smollm2:360m-instruct-fp16), no mocking. See simulation/.metasignal
(stim = the option the agent’s target weights actually favor, resp = the model’s choice,
conf = its self-rated confidence) – d’/meta-d’/M-ratio measure how well the model’s choices
and confidence track its own instilled preferences. The paper has no confidence ratings or SDT
analysis of its own; this is grounded in its decision-trial structure but goes beyond it. See
analysis/analyze.py.psychscanner-primal integration: the decision trials (the part with a real per-trial
correct/incorrect signal – primal’s own inclusion bar) are also shipped as a standalone task
card, psychscanner-primal/examples/tasks/introspection_weights_demo.json, runnable through
primal’s own ExpCard/ScannerModel/task_library quickstart pattern – see
simulation/build_primal_task_card.py and the note in that repo’s
examples/tasks/README.md. No new environment/verifiers package was added; the introspection
(self-report) trials have no scalar ground truth to score, so they’re intentionally left out of
primal, consistent with its own “Excluded” list.See simulation/, data/, analysis/, reports/report.md.