Files
smallwebwaf/AGENTS.md
T
sneak 879d3a9583
check / check (push) Successful in 4m27s
Every time in UTC, and every day as YYYY-MM-DD (closes #313)
AbuseIPDB's daily count keeps its day as a civil.Date, taken from the UTC
clock and written to reputation.json as "YYYY-MM-DD"; it was a time.Time
at midnight. A test runs sww discriminator with TZ 14 hours ahead of UTC
and checks the process line, the request line and clients.json are in
UTC. SPEC.md states the rule near its start; AGENTS.md makes it an iron
rule.

Model: opus-5-5
2026-11-11 00:15:46 +00:00

1.5 KiB

Agents

These are the rules for agents working on this repository.

Branches

  • main is the stable branch, and next is the development branch.
  • Every PR is cut from next and targets next.
  • Only sneak merges next into main.
  • Each issue lands on next as one squashed commit whose title ends (closes #N). A PR may instead be exactly two commits: first tests that fail against the current code, then the fix with no test assertion changed. Such a PR lands as both commits.

Entrypoints

  • Work through the Makefile targets, which call the scripts in script/. The README's Entrypoints section lists them.
  • Never run go, golangci-lint or prettier directly.
  • make check passes before every push.

Editing

  • Edit files by hand.
  • Format only with make fmt, and run it before committing any change.

Iron rules

  • The request log records query strings exactly as received.
    • Secrets belong in POST data. An app that puts a secret in a query string is fixed in the app.
    • Never propose redacting a query string, Gitea's ?token= included.
  • The default of SWRP_TRUSTED_PROXIES is the RFC 1918 set.
    • The set is:
      • 10.0.0.0/8;
      • 172.16.0.0/12;
      • 192.168.0.0/16.
    • SPEC.md states that default.
    • Forwarded headers count only when the peer is a trusted proxy.
  • Every time is in UTC, whatever TZ or the host's time zone says.
    • Every day is a date written YYYY-MM-DD, never a time.
    • SPEC.md states this near its start.