Commit graph

7 commits

Author SHA1 Message Date
randogoth
3279fd3a2d refactor: move author-facing mail copy into a Fluent catalogue
Ports carrier's src/i18n.rs and its locales/en-US/main.ftl layout, same
fluent-bundle and unic-langid versions, so the two catalogues stay portable
between them. Only mail the daemon sends an author moves; operator CLI output
stays inline, since the operator runs the binary and reads English.

The error-reply reasons from dispatch and ApplyError are deliberately left
behind: dispatch is pure by contract, so those become reason identifiers
resolved at the mail-building edge in a separate change rather than having the
pure layer reach for a bundle.

Adds a test carrier lacks. FluentResource::try_new and add_resource both panic
on a malformed or duplicate-id catalogue, and nothing touches the bundle until
the daemon first mails someone, so without it a bad catalogue surfaces inside
poll() on a live instance.

Sentences are verbatim; the bodies are now hard-wrapped where they were single
long lines, which reads better in a plain-text client.
2026-10-14 18:48:31 +03:00
randogoth
f2d2d75063 feat: add flake with static build, release app and NixOS module
packages.static is a static musl binary so a low-power deploy target can
fetch a prebuilt one rather than compile Rust; apps.release-static publishes
it to a Forgejo release, guarded on HEAD carrying the version's tag.

fumi-core is a path dependency on ../fumi, which escapes the flake source, so
fumi is vendored as its own input and re-laid beside the source tree in the
store. Over https, not a local path: a flake importing this one has to resolve
this input too when it locks.

services.smolboid runs as a real user rather than DynamicUser, because admit,
block and the fumi bootstrap are operator commands against the same master and
store and need a stable uid to sudo into.
2026-10-14 17:20:52 +03:00
randogoth
21c7cbe4ed docs: add README and refresh audit 2026-10-05 11:14:23 +03:00
randogoth
267625b411 fix: cap listener connections, serve HEAD, fix feed parser CR round-trip 2026-10-05 11:14:17 +03:00
randogoth
1e782310b6 test: add rig, stress and pentest suites with audit 2026-10-05 11:00:17 +03:00
randogoth
8330b65ff9 feat: add smolboid daemon: mail loop, feed store and HTTP listener 2026-10-05 11:00:17 +03:00
randogoth
fd3f9bcf24 feat: add smolboid-core feed format with payload-signature verification 2026-10-05 11:00:10 +03:00