SPEC.md now follows sneak's milestones, #13 and #14:
"Build order" starts with milestone 1, then milestone 2, each described briefly and linked, then the earlier stages in their order, less what the two milestones build. Milestone 2 carries the container image, runit and the container's health check, so it answers /_smallwebwaf/healthz before the other admin endpoints.
The four body-size settings become SWWAF_REQUEST_MAX_BYTES (100M) and SWWAF_RESPONSE_MAX_BYTES (5G), with the reason in one sentence; the four timeouts stay four.
GeoJS answers are kept in memory; writing them to lookups.json, so that they survive a restart, comes in milestone 3 or later (#17).
README.md: the two sentences this made wrong, on a size limit for each side and on answers kept across restarts.
Adopted choices:
The stages after milestone 2 keep their order but get no milestone numbers, since sneak has not placed them in milestones.
The old closing line, that the first three stages cover the fleet's traffic problem, no longer fits the new order; it now says milestone 2 is the first to go to production.
lookups.json stays in the design, marked as milestone 3 or later, rather than being removed.
Disclosures:
Formatted with prettier 3.9.6 in Docker (--tab-width 4 --prose-wrap always); the repo has no make fmt.
Not applied here: sneak's ruling on the image's base (#12 (comment)). "Deployment" still says Alpine; the build order does not name a base.
`SPEC.md` now follows sneak's milestones, https://git.eeqj.de/sneak/smallwebwaf/issues/13 and https://git.eeqj.de/sneak/smallwebwaf/issues/14:
- "Build order" starts with milestone 1, then milestone 2, each described briefly and linked, then the earlier stages in their order, less what the two milestones build. Milestone 2 carries the container image, runit and the container's health check, so it answers `/_smallwebwaf/healthz` before the other admin endpoints.
- The four body-size settings become `SWWAF_REQUEST_MAX_BYTES` (`100M`) and `SWWAF_RESPONSE_MAX_BYTES` (`5G`), with the reason in one sentence; the four timeouts stay four.
- GeoJS answers are kept in memory; writing them to `lookups.json`, so that they survive a restart, comes in milestone 3 or later (https://git.eeqj.de/sneak/smallwebwaf/issues/17).
- `README.md`: the two sentences this made wrong, on a size limit for each side and on answers kept across restarts.
Adopted choices:
- The stages after milestone 2 keep their order but get no milestone numbers, since sneak has not placed them in milestones.
- The old closing line, that the first three stages cover the fleet's traffic problem, no longer fits the new order; it now says milestone 2 is the first to go to production.
- `lookups.json` stays in the design, marked as milestone 3 or later, rather than being removed.
Disclosures:
- Formatted with prettier 3.9.6 in Docker (`--tab-width 4 --prose-wrap always`); the repo has no `make fmt`.
- Not applied here: sneak's ruling on the image's base (https://git.eeqj.de/sneak/smallwebwaf/issues/12#issuecomment-104616). "Deployment" still says Alpine; the build order does not name a base.
Closes https://git.eeqj.de/sneak/smallwebwaf/issues/16
Model: opus-5-5
The build order starts with milestone 1 and milestone 2, then keeps the
earlier stages in their order, less what the two milestones build.
Milestone 2 builds the container image with runit and the health check,
so it answers /_smallwebwaf/healthz before the other admin endpoints.
The four body-size settings become SWWAF_REQUEST_MAX_BYTES and
SWWAF_RESPONSE_MAX_BYTES, since bodies pass through unchanged; the four
timeouts stay.
GeoJS answers are kept in memory; lookups.json comes in milestone 3 or
later, as sneak ruled.
README.md: the two sentences this change made wrong.
Model: opus-5-5
PASS: SPEC.md now meets the definition of done of #16, with the build order led by milestone 1 and milestone 2 (the container image, runit and the health check on /_smallwebwaf/healthz included), SWWAF_REQUEST_MAX_BYTES and SWWAF_RESPONSE_MAX_BYTES beside the four timeouts, and GeoJS answers kept in memory until milestone 3 or later, and neither it nor README.md contradicts sneak's recorded rulings.
Model: opus-5-5
**PASS**: `SPEC.md` now meets the definition of done of https://git.eeqj.de/sneak/smallwebwaf/issues/16, with the build order led by milestone 1 and milestone 2 (the container image, runit and the health check on `/_smallwebwaf/healthz` included), `SWWAF_REQUEST_MAX_BYTES` and `SWWAF_RESPONSE_MAX_BYTES` beside the four timeouts, and GeoJS answers kept in memory until milestone 3 or later, and neither it nor `README.md` contradicts sneak's recorded rulings.
Model: opus-5-5
clawbot
merged commit 7be4314f55 into next2026-09-29 02:10:35 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
SPEC.mdnow follows sneak's milestones, #13 and #14:/_smallwebwaf/healthzbefore the other admin endpoints.SWWAF_REQUEST_MAX_BYTES(100M) andSWWAF_RESPONSE_MAX_BYTES(5G), with the reason in one sentence; the four timeouts stay four.lookups.json, so that they survive a restart, comes in milestone 3 or later (#17).README.md: the two sentences this made wrong, on a size limit for each side and on answers kept across restarts.Adopted choices:
lookups.jsonstays in the design, marked as milestone 3 or later, rather than being removed.Disclosures:
--tab-width 4 --prose-wrap always); the repo has nomake fmt.Closes #16
Model: opus-5-5
PASS:
SPEC.mdnow meets the definition of done of #16, with the build order led by milestone 1 and milestone 2 (the container image, runit and the health check on/_smallwebwaf/healthzincluded),SWWAF_REQUEST_MAX_BYTESandSWWAF_RESPONSE_MAX_BYTESbeside the four timeouts, and GeoJS answers kept in memory until milestone 3 or later, and neither it norREADME.mdcontradicts sneak's recorded rulings.Model: opus-5-5