feat(tools): self-hosted feedback site for the v4.4.0 design review, plus the design record (#361, #362) #546

Merged
claude-bot merged 1 commit from feat/feedback-site into main 2026-09-07 03:01:13 +00:00
Contributor

Part of #535 (checkpoint A). Two additions, neither touching Quest Board's own code, images or compose stack.

tools/feedback-site/ — a separate container for the beta testers, who have no claude.ai accounts and so cannot open the review artifacts. FastAPI on python:3.12-slim, a JSON-file store in a named volume, four static pages: the players' and GMs' concept review pages (a five-point scale and a comment box under each concept, two picks and four questions at the end), an index that carries the key through, and an admin readout (per-concept count, average, 1–5 distribution and top-two tally, a filter by audience, every response in full, CSV export). A share key on the link gates writing; an admin key gates reading. Writes are validated against the concept list, size-capped and rate-limited per client address; no accounts, cookies or IP addresses are stored. Strict Content-Security-Policy (self plus Google Fonts). Runs as a non-root user with a healthcheck. README covers keys, links, reading the answers three ways, and exposure behind Caddy.

Exercised end to end on the dev box (port 18090): every route 200; a write without the key 403; a bad rating 422; a write with the key stored as a file; the admin list and CSV 403 without the key and correct with it.

docs/design/v4.4.0-concepts/ — the design record behind the checkpoint A pages: the concept specs, the in-person table model, the surface inventory, the wireframe kit and its reference, the sixteen concept fragments, the page templates, and the assemblers that build both the artifact pages and the site's static pages (--target self). The built design page is committed too.

CHANGELOG: one Internal entry.

🤖 Generated with Claude Code

Part of #535 (checkpoint A). Two additions, neither touching Quest Board's own code, images or compose stack. **`tools/feedback-site/`** — a separate container for the beta testers, who have no claude.ai accounts and so cannot open the review artifacts. FastAPI on `python:3.12-slim`, a JSON-file store in a named volume, four static pages: the players' and GMs' concept review pages (a five-point scale and a comment box under each concept, two picks and four questions at the end), an index that carries the key through, and an admin readout (per-concept count, average, 1–5 distribution and top-two tally, a filter by audience, every response in full, CSV export). A **share key** on the link gates writing; an **admin key** gates reading. Writes are validated against the concept list, size-capped and rate-limited per client address; no accounts, cookies or IP addresses are stored. Strict Content-Security-Policy (self plus Google Fonts). Runs as a non-root user with a healthcheck. README covers keys, links, reading the answers three ways, and exposure behind Caddy. Exercised end to end on the dev box (port 18090): every route 200; a write without the key 403; a bad rating 422; a write with the key stored as a file; the admin list and CSV 403 without the key and correct with it. **`docs/design/v4.4.0-concepts/`** — the design record behind the checkpoint A pages: the concept specs, the in-person table model, the surface inventory, the wireframe kit and its reference, the sixteen concept fragments, the page templates, and the assemblers that build both the artifact pages and the site's static pages (`--target self`). The built design page is committed too. CHANGELOG: one Internal entry. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(tools): self-hosted feedback site for the v4.4.0 design review, plus the design record (#361, #362, #535)
All checks were successful
CI / Bot/backend version sync (pull_request) Successful in 51s
CI / Backend lint (ruff) (pull_request) Successful in 1m0s
CI / Summarisation accuracy eval harness (stub provider) (pull_request) Successful in 1m31s
CI / Frontend tests, audit, and build (pull_request) Successful in 2m33s
CI / Bot tests and audit (pull_request) Successful in 2m36s
CI / Docker image build (pull_request) Successful in 4m41s
CI / Backend migration, tests, and audit (pull_request) Successful in 9m33s
CI / Synthetic session harness (no GPU, no LLM) (pull_request) Successful in 15m22s
672bbdf802
tools/feedback-site: a separate container (FastAPI on python:3.12-slim, a
JSON-file store in a volume) that serves the players' and GMs' concept review
pages with a rating form under each concept, four closing questions, and an
admin readout (per-concept averages and distributions, top-two tallies, every
response, CSV). A share key on the link gates writing; an admin key gates
reading. Writes are validated, size-capped and rate-limited; no accounts, no
cookies, no IP addresses stored. It exists because the beta testers have no
claude.ai accounts and cannot open the review artifacts.

docs/design/v4.4.0-concepts: the brief's sources, the surface inventory, the
wireframe kit, the sixteen concept fragments, the page templates and the
assemblers that build both the artifact pages and the site's static pages.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
claude-bot scheduled this pull request to auto merge when all checks succeed 2026-09-07 02:45:59 +00:00
claude-bot deleted branch feat/feedback-site 2026-09-07 03:01:13 +00:00
Sign in to join this conversation.
No description provided.