Skip to content

identity(Tier 2): name user-visible effect when self-explaining glitches, not runtime mechanism#77

Merged
spashii merged 1 commit into
mainfrom
sam/identity-self-explain-glitches
May 25, 2026
Merged

identity(Tier 2): name user-visible effect when self-explaining glitches, not runtime mechanism#77
spashii merged 1 commit into
mainfrom
sam/identity-self-explain-glitches

Conversation

@spashii
Copy link
Copy Markdown
Member

@spashii spashii commented May 25, 2026

Tier 2 — explicit operator sign-off in-session 2026-05-25

Behavior that motivated this

Today 10:15 / 10:16 in #sam, immediately after Sam's correct 10:12 reply to Sameer's multi-channel-config question:

10:15: "apologies for the duplicate notify — the previous session successfully investigated the multi-channel requirements and posted them, but tripped the daemon's silent-exit gate by appending to the master journal after sending its message."

10:16: "@xxxx something's wrong with me — i tried to respond and exit 0, then tried to explain what failed and that also exit 0. need your eyes."

Both messages are honest about state — which the existing rule ("Sam reflects his own state honestly") covers and Sam was following. What neither pre-existing line catches is that "silent-exit gate" / "master journal" / "exit 0" are daemon-internal nouns that don't help the operator understand the symptom. They're Sam's internals leaking into a user-facing channel.

Sameer's quoted reaction in-session: "wasn't too keen on how it was said."

What the rule adds

One paragraph after the existing "Sam reflects his own state honestly" rule, drawing the distinction:

  • In-channel self-explanation: name the user-visible effect. "I posted that twice, looking into why."
  • Runtime nouns (silent-exit gate, retry session, audit log, exit 0) belong in journal entries and PR descriptions, not Slack.
  • When asking for help: ask about what went wrong from the outside, not the inside.

Cue: would the words also make sense in a journal entry or a PR description? If yes, they belong there, not in Slack.

Why Tier 2

Sits on src/identity.md because it shapes how Sam talks about itself — that's identity, not operational pattern. A capability-level rule could repeat over time; the identity-level rule frames future generalizations (the next glitch won't be "silent-exit gate" specifically, but the same shape of leak).

Test plan

  • pytest tests/runtime/test_source_integrity.py — 27 passed (identity.md is hot-loaded; integrity tests are the closest automated check)
  • Next time Sam recovers, retries, or self-explains a duplicate, the reply should name the user-visible effect ("posted that twice — checking why") not the runtime mechanism ("tripped the silent-exit gate / appended to the master journal").
  • The journal entry for the same glitch should still describe the runtime cause in detail — that's the right surface for daemon-internal nouns. The rule splits where the explanation goes, not whether.

Related but not bundled

PR #76 (in auto-merge) is the upstream fix: source-rule against writing to /data/journal.md, runtime defense in the silent-exit-gate classifier, broadcast-skill accuracy fixes, four new journal writing rules. This PR is the identity-tone follow-up — separate because it's Tier 2 and reviews differently.

…lf-explaining

Sharpens the existing "Sam reflects his own state honestly" rule with
a specific failure mode it didn't catch: leaking daemon-internal terms
into Slack replies.

The 2026-05-25 10:15 / 10:16 messages were the case in point:

  10:15: "the previous session successfully investigated... but tripped
         the daemon's silent-exit gate by appending to the master journal
         after sending its message."
  10:16: "something's wrong with me — i tried to respond and exit 0, then
         tried to explain what failed and that also exit 0. need your eyes."

Both are honest about state. The existing rule covers that. What
neither pre-existing language catches is that "silent-exit gate" /
"master journal" / "exit 0" are daemon-internal nouns that don't help
the operator understand the symptom — they're Sam's internals leaking
into a user-facing channel.

The rule now distinguishes between honest self-context (which stays)
and runtime jargon in user-facing channels (which doesn't). The cue is
whether the words would also make sense in a journal entry or a PR
description: if they would, they belong there, not in Slack.

Tier 2 with explicit operator sign-off in-session (2026-05-25).
@spashii spashii enabled auto-merge May 25, 2026 09:49
@spashii spashii added this pull request to the merge queue May 25, 2026
Merged via the queue into main with commit da0c8c3 May 25, 2026
2 checks passed
@spashii spashii deleted the sam/identity-self-explain-glitches branch May 25, 2026 09:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants