Commit graph

4 commits

Author SHA1 Message Date
randogoth
801c66d3b0 feat: follow upstream twtxt post rules: reject control characters, allow U+2028, make the length cap configurable 2026-10-15 14:05:33 +03:00
randogoth
4dab1540ac docs: describe self-service registration and restate what replaced the old guard
README gains an Admission section covering both routes, the admin commands,
and the six new config keys. The author's side leads with Twt-Register and
says plainly not to accept this mailbox: doing so makes a client attach an
accept token to every later mail, and a record is verified by rebuilding the
exact signed bytes, which cannot include one — so every post would be refused.

audit.md's "requests-tier mail is structurally invisible" was a stated
hardening property, and this change deliberately reverses it. Rewritten as the
chain of gates that replaces it, each named with the probe that proves it, and
the feed-path property restated: the grammar widened for host-namespaced
slugs, so traversal stopped being structurally impossible and became a rule
that has to be right. Added the subject-truncation property the rig found.

PLAN.md was the design document and is kept as the record of intent, with its
status corrected — it still claimed nothing in src/ existed — and a "since
implemented" note wherever the shipped behaviour diverges, rather than quietly
editing the original intent away.
2026-10-14 21:01:21 +03:00
randogoth
21c7cbe4ed docs: add README and refresh audit 2026-10-05 11:14:23 +03:00
randogoth
1e782310b6 test: add rig, stress and pentest suites with audit 2026-10-05 11:00:17 +03:00