Prompt::lower: the item's speaker becomes a fixed token with its forms #85

Merged
weksa merged 3 commits from weksa-lowering/speaker-alias-token into main 2026-11-13 17:28:14 +00:00
Member

Persona ruling (follow-up t15): replacing the speaker's entity id by a fixed opaque token in the packet JSON, keying entities: by it and keeping the speaker's forms satisfies lower-prompt-no-item-text, since forms are shared by every item. Restores the speaker's name that PR 84 cost the lowerer. Multi-speaker test first (74ab508), fix (b97ec1d), Soul pass s1 held all 3 claims, its 2 Lows fixed in 8794deb. A real entity named entity:speaker is refused at lowering (SpeakerTokenTaken). Full cargo test -p weksa and clippy clean.

🤖 Generated with Claude Code

Persona ruling (follow-up t15): replacing the speaker's entity id by a fixed opaque token in the packet JSON, keying `entities:` by it and keeping the speaker's forms satisfies lower-prompt-no-item-text, since forms are shared by every item. Restores the speaker's name that PR 84 cost the lowerer. Multi-speaker test first (74ab508), fix (b97ec1d), Soul pass s1 held all 3 claims, its 2 Lows fixed in 8794deb. A real entity named entity:speaker is refused at lowering (SpeakerTokenTaken). Full cargo test -p weksa and clippy clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The speaker's id never prints; its forms, shared by every item, print under
the constant entity:speaker. A speaker with no form in the language names no
entity and does not refuse. A referent citing the real id entity:speaker is
refused (SpeakerTokenTaken). Docs state what the promise guards.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
weksa merged commit 2bb9870338 into main 2026-11-13 17:28:14 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Weksa!85
No description provided.