fix: pin Kai to she/her and default everyone else to they/them #106

Merged
coilysiren merged 4 commits from fix/pronoun-defaults into main 2026-08-11 09:58:25 +00:00
Member

Deep answered "Kai ... he runs the Eco server" in the 2026-08-10 identity battery. The pronoun was never in the prompt, so the model read it off her name.

What was missing

Nothing in the prompt or either validator said anything about third-party pronouns. The only prior matches for "pronoun" in the tree were the neutral style's ban on first-person and collective pronouns, which is a terseness rule and does not touch this.

The rule

Kai is she/her. For anyone else, use they/them unless this conversation stated
that person's pronouns. A name is never evidence of pronouns, so do not infer
them from one.

It bans inference rather than only naming Kai. A rule that just says "Kai is she/her" leaves the identical failure in place for every other named person, which the issue calls out directly.

It lives in the shared block, so both response styles carry it. pronounPolicy is one constant feeding the rendered prompt and both validators, so the prompt text and the assertion cannot drift apart.

Test

Covers both styles and asserts the negative: strip the policy from a rendered prompt and ValidateSystemPrompt must reject it. Without that half the test would still pass against a validator that had silently stopped checking.

go test ./... green, sirens-echo-policy-check green, snapshots regenerated via ward exec prompt-dump, pre-commit run --all-files green.

Not covered here

The issue's third bullet asks whether the identity eval rubric should assert on pronouns. It should, since the current end-state check passes the bad response, but that is rubric work in the eval matrix rather than prompt work, so it belongs with #81.

Closes #87

Deep answered "**Kai** ... **he** runs the Eco server" in the 2026-08-10 identity battery. The pronoun was never in the prompt, so the model read it off her name. ## What was missing Nothing in the prompt or either validator said anything about third-party pronouns. The only prior matches for "pronoun" in the tree were the neutral style's ban on first-person and collective pronouns, which is a terseness rule and does not touch this. ## The rule ``` Kai is she/her. For anyone else, use they/them unless this conversation stated that person's pronouns. A name is never evidence of pronouns, so do not infer them from one. ``` It bans inference rather than only naming Kai. A rule that just says "Kai is she/her" leaves the identical failure in place for every other named person, which the issue calls out directly. It lives in the shared block, so both response styles carry it. `pronounPolicy` is one constant feeding the rendered prompt and both validators, so the prompt text and the assertion cannot drift apart. ## Test Covers both styles and asserts the negative: strip the policy from a rendered prompt and `ValidateSystemPrompt` must reject it. Without that half the test would still pass against a validator that had silently stopped checking. `go test ./...` green, `sirens-echo-policy-check` green, snapshots regenerated via `ward exec prompt-dump`, `pre-commit run --all-files` green. ## Not covered here The issue's third bullet asks whether the identity eval rubric should assert on pronouns. It should, since the current end-state check passes the bad response, but that is rubric work in the eval matrix rather than prompt work, so it belongs with https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/issues/81. Closes https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/issues/87
fix: pin Kai to she/her and default everyone else to they/them
All checks were successful
ci / test (pull_request) Successful in 3m18s
ci / publish-echo-image (pull_request) Has been skipped
ffca017de2
Deep answered "Kai ... he runs the Eco server" in the live identity battery.
The pronoun was never in the prompt, so the model read it off her name.

Nothing in the prompt or either validator said anything about third-party
pronouns. The only prior matches for "pronoun" were the neutral style's ban on
first-person and collective pronouns, which is a terseness rule and does not
touch this.

The rule bans inference rather than only naming Kai, because a rule that just
says "Kai is she/her" leaves the same failure in place for every other named
person. Kai is pinned, everyone else defaults to they/them until the
conversation states otherwise, and a name is explicitly not evidence.

pronounPolicy is one constant feeding the rendered prompt and both validators,
so the prompt text and the assertion cannot drift apart.

The test covers both response styles and asserts the negative: strip the policy
and the validator must reject the prompt. Without that half, the check passes
against a validator that silently stopped looking.

Closes #87

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Update internal/community/prompt.go
Some checks failed
ci / test (pull_request) Failing after 20s
ci / publish-echo-image (pull_request) Has been skipped
eca3d27955
The copy edit left three things stale: the test asserted the old wording, and
both rendered snapshots still carried the old text, so `prompt-snapshot --check`
failed.

The validators needed no change. Both compare against the `pronounPolicy`
constant rather than a literal, which is what the constant was for.

Retargeted the test the same way. It now asserts the constant plus "she/her"
and "they/them", so it holds through a rewording but still fails if either half
of the rule goes missing. The negative case is unchanged: strip the policy and
validation must reject the prompt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
fix: "should be address as" -> "addressed as"
All checks were successful
ci / test (pull_request) Successful in 35s
ci / publish-echo-image (pull_request) Has been skipped
5d80433044
One-word grammar fix in the new pronoun copy. Isolated in its own commit so it
reverts cleanly if the original wording was deliberate.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
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
coilyco-gaming/sirens-echo!106
No description provided.