Files
felhom-controller/.claude/rules/ui-hungarian.md
T
admin 7db42c5fec
gates / gates (push) Successful in 12s
docs: CLAUDE.md becomes a core plus path-scoped rules (R-229)
215 lines -> 110 (92 effective; block-level HTML comments are stripped before
injection and never reach the model, verified empirically on Claude Code 2.1.222
with a control and a treatment run).

Four new .claude/rules/*.md, each with a paths: glob list so it loads only when a
matching file is read: gates, ui-hungarian, backup-paths, agent-coupling.

The ## Layout tree was deleted as derivable; REUSE.md already owns the per-package
seams its annotations stood in for. The host/access table was deleted in favour of
a pointer to documentation/operations/nodes.md -- it carried three defects at once:
demo-felhom given as the LAN fallback address as if it were the route, a pinned
"agent 0.93.0" against the project's own no-versions-in-docs rule, and the claim
that no drill VM was provisioned on demo-hp. Measured live: qm list shows VM 300
drill-r50. felhom-agent/CLAUDE.md was right; this file was wrong.

Kept verbatim: the seven session-critical invariants, the F9 live-validation fence,
the end-of-session checklist.

controller_gates.py registers the shared instructions gate (felhom.eu/scripts/,
never copied here; an absent sibling clone FAILS).

Docs only -- no Go, no version bump, no image, no deploy.
Ledger: felhom.eu/documentation/audits/LEDGER-instruction-trim-2026-08-06.md

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JJc8sAGRWmavP3rMtdpkr2
2026-08-06 09:38:27 +02:00

28 lines
1.3 KiB
Markdown

---
paths: ["controller/internal/web/templates/**", "controller/internal/web/**/*.go", "**/*.css", "**/*.html"]
---
# UI and Hungarian copy — felhom-controller
- **All UI text is Hungarian**, Budapest timezone.
- Design tokens, badge/colour rules, the 2px/no-shadow/no-emoji/BOM hard rules and the mechanical
gate to run after each surface: **use the `felhom-ui-design` skill.**
- Template methods need **value receivers** — pointer receivers compile, pass `go vet`, pass the
suite, and then 500 at render time.
## Grep fetched pages with ASCII-only substrings
Accented Hungarian patterns get mangled through the `ssh → pct exec → bash -c` chain and return a
false `0` — which reads exactly like the banner or string being gone. Use `kezel`, `Utols`,
`Biztons`. **Never let an accented pattern gate a conclusion.**
<!--
From the 2026-07-20 remediation: an accented grep nearly produced a wrong "banner cleared" claim.
This is the "an absent line is not evidence" rule aimed at a UTF-8 transport, not at a log.
-->
## Credentials containing `!` or `'` break in heredoc-built helper scripts
History expansion eats `!!`. Use the proven inline `-d "password=$PW"` form for authed curl, and
delete any credential-bearing helper from `/tmp` (host AND guest) when done.