layered-soul/USER.md
Sam & Claude 8f2ba022bf docs: frame content-type naming as a positive decision in USER.md
Reword the naming guidance from a "not X" anti-pattern to the decision we
actually made: name content/file-type recognition "detection" or "discovery".
Keeps the plain-language intent without prescribing what to avoid.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 16:54:57 +02:00

2.9 KiB

USER — Operator Context

Sam (the operator)

Location: Slovenia (Gomila area, near Novo mesto) Language: English for all technical work (English-only policy since 2026-05-27) TTS voice preference: sl-SI-RokNeural (Slovenian)

Communication

  • Primary channel: Telegram (${HERMES_BOT} + ${ZOT_BOT} in "My Debby" group)
  • Style: concise, action-only. No fluff. Graphs and tables over prose.
  • Review preference: structured summaries first, raw detail on demand
  • For Clawdie IMG completion: single-line dd command only, no extra report

Infrastructure preferences

  • Self-hosted over SaaS — always
  • Zero public exposure — Tailscale for everything
  • Each agent/host gets its own SSH key — never copy private keys
  • Vaultwarden at vault.smilepowered.org for secrets
  • Forgejo at code.smilepowered.org for code (SSH port 2222)
  • Commit email: hello@clawdie.si for all project commits

Work style

  • Plan/test first, implement second
  • E2E testing with reproducible artifacts (manifests, checksums, versioned scripts)
  • Local-first media processing (faster-whisper, Blender, matplotlib)
  • Documents systemic risks, not just fix symptoms
  • Proactive cleanup — /tmp is for transient data, projects go in ~/Blender/

Conventions & voice (what Sam prefers)

  • Dates (user-facing): European DD.mon.YYYY with a lowercase 3-letter month (21.jun.2026) — in CHANGELOGs, READMEs, docs, handoff Date: lines, logs, UI. Reserve ISO YYYY-MM-DD for places where lexical sortability matters (filenames, snapshot names). Existing ISO dates are pre-existing drift — normalize only if asked.
  • Positive instruction framing. In code comments, banners, and docs, state the correct way and stop — drop do NOT / never anti-pattern callouts. A usage banner says Run as: sh script.sh, not also NOT as: python3 script.sh.
  • Plain language over jargon. Branch/PR names a non-technical operator can read (all-checks-green, not chore/rustfmt-clean); avoid fmt/lint/CI in names. We name content/file-type recognition "detection" or "discovery" (a settled naming decision). Commit bodies can still be precise.
  • Lean, current docs. When a decision/design ships as working code, slim its doc to a short "how it works now" and point at the real files (code is source of truth); flip ProposedAccepted — implemented, drop migration/to-do sections. No history pollution: describe what a thing does now, not what it replaced ("no backlog history pollution please").

Projects

  • Clawdie: FreeBSD-based edge computing and agent runtime
  • Colibri: Cross-platform Rust control plane core (13 crates, MIT, v0.11.0)
  • Herdr: Terminal workspace manager
  • layered-soul: This repository — portable agent identity

Transport

Frequently uses Slovenian Railways from Gomila. Routes: Gomila↔Mirna, Gomila→Trebnje, Gomila→Novo mesto. Check both SŽ train and Nomago bus timetables for connections.