Encode prompt: participants are node ids, never an entity id

Both bad-form refusals in orig-5 put the speaker entity (entity:keeper) in
context.participants. One sentence, pinned by a plain test; no new rule.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Weksa 2026-11-10 19:27:48 +00:00
commit 707e0204bf
2 changed files with 2 additions and 1 deletions

View file

@ -59,7 +59,7 @@ Fields:
- predications: a list of {id, concept, frame, roles, features}; roles is a list of {role, filler}, filler a node id.
- relations: a list of {relation, from, to, features}.
- stance: {features}; the speaker's felt affect and restraint, never the affect the line displays.
Node ids are n1, n2, and so on, one per referent and predication. Every other id comes from the inventory listed below and must be live at its revision. Write each id in full, exactly as the inventory lines spell it, family prefix included: concept:7, never 7. An entity comes only from the entities line. A referent's concept is never null, even when it carries an entity: give the nearest concept id.
Node ids are n1, n2, and so on, one per referent and predication. Every other id comes from the inventory listed below and must be live at its revision. Write each id in full, exactly as the inventory lines spell it, family prefix included: concept:7, never 7. An entity comes only from the entities line. A referent's concept is never null, even when it carries an entity: give the nearest concept id. Participants and audience list the node ids of referents, never an entity id: an entity speaker is a referent whose entity field holds it, and participants lists that referent's node id.
A feature is {feature, value}; value is {\"Grade\": 0 to 1000}, {\"Option\": label} or {\"Flag\": true or false}, as the inventory lists the feature's kind.";
/// The instructions a lowering prompt starts with: the lowerer's whole brief.

View file

@ -751,6 +751,7 @@ mod lowering {
fn the_encode_prompt_states_the_id_form_the_inventory_lines_use() {
assert!(ENCODE.contains("family prefix included: concept:7, never 7"));
assert!(ENCODE.contains("A referent's concept is never null, even when it carries an entity: give the nearest concept id."));
assert!(ENCODE.contains("Participants and audience list the node ids of referents, never an entity id: an entity speaker is a referent whose entity field holds it, and participants lists that referent's node id."));
let w = world();
let run = run_over(w.dir.path());
let inv = run.inventory().inventory().unwrap();