Files
claudetools/.claude/memory/feedback_attribution_from_identity.md
Mike Swanson 4e97e20a2f sync: auto-sync from GURU-KALI at 2026-05-26 18:47:58
Author: Mike Swanson
Machine: GURU-KALI
Timestamp: 2026-05-26 18:47:58
2026-05-26 18:48:02 -07:00

2.2 KiB

name, description, metadata
name description metadata
Attribution is read, never inferred Who-did-what (user + machine) comes only from identity.json + users.json + git authorship. Never infer it from hostname patterns, the userEmail hint, or memory notes.
type
feedback

When attributing work to a person or machine — in session logs, wiki articles, coord messages, commit authorship, or conversation — the attribution MUST come from authoritative sources, never from inference:

  • Who sits at this keyboard: .claude/identity.json (per-machine, gitignored). Greet and stamp logs from its full_name / user / machine / role.
  • Which machines belong to whom: .claude/users.jsonusers.<user>.known_machines. This is the registry.
  • Commit authorship: git log author (%an <%ae>). sync.sh reconciles git config to identity.json on every run, so the author is always correct going forward.
  • Session-log User block: generated by bash .claude/scripts/whoami-block.sh — paste verbatim, do not hand-write.

Why: On 2026-05-26 Mike reported recurring misattributions (Howard tied to Mike's machines and vice versa). Investigation proved git history and session logs were actually CLEAN (0 author-vs-machine-owner mismatches across 892 commits / 180 logs). The misattributions were a reasoning-time inference problem fed by stale, owner-less memory items — e.g. an "ACG-5070 workstation" note with no owner, and Howard's note saying "desktop hostname TBD". A session would then guess ownership and guess wrong. The fix was deterministic attribution + binding every machine in memory to its owner. Compare feedback_identity_precedence (identity.json beats the userEmail hint).

How to apply:

  • Never write "this was probably done by X" or assign a machine to a person from a hostname pattern (e.g. the "5070" box is Mike's per users.json — it had names OC-5070 / ACG-5070 / acg-guru-5070 / GURU-5070; see reference_workstation_setup).
  • If identity/ownership is unknown, read users.json/identity.json or ASK — do not infer.
  • When you add a machine to a memory note, state its owner and point at users.json as the source of truth; don't restate the machine list as if it were authoritative.