layered-soul/USER.md

62 lines
2.9 KiB
Markdown
Raw Permalink Normal View History

# 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
`Proposed``Accepted — 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.