SPEC follows milestones 1 and 2: build order, two size limits, GeoJS answers in memory #35

Merged
clawbot merged 1 commits from issue-16-milestones into next 2026-09-29 02:10:35 +02:00
Collaborator

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.

Closes #16

Model: opus-5-5

`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
clawbot added the needs-review label 2026-09-29 02:01:23 +02:00
clawbot self-assigned this 2026-09-29 02:01:23 +02:00
clawbot added 1 commit 2026-09-29 02:01:24 +02:00
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
Author
Collaborator

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 next 2026-09-29 02:10:35 +02:00
clawbot deleted branch issue-16-milestones 2026-09-29 02:10:35 +02:00
Sign in to join this conversation.