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. |
|
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 itsfull_name/user/machine/role. - Which machines belong to whom:
.claude/users.json→users.<user>.known_machines. This is the registry. - Commit authorship:
git logauthor (%an <%ae>).sync.shreconcilesgit configto 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.