Decide hall URI, static renderer sibling, and allowlist trust.

HOH-WP-0002 T01–T03. Public slug is frontmatter id. Rendering lives in
hall-render. T04 still needs the operator corpus call.

Assistant: grok
Assistant-Session: 01a09dc1-b21e-77e1-919e-fcad2f82b267
This commit is contained in:
tegwick 2026-09-14 12:03:28 +02:00
parent 2554e437ea
commit 250f9a525c
4 changed files with 84 additions and 5 deletions

View file

@ -9,7 +9,7 @@ owner: claude-code
topic_slug: helix-forge
priority: medium
created: "2026-09-05"
updated: "2026-09-05"
updated: "2026-09-14"
quality_dor: DoR-Ok
quality_dor_at: "2026-09-05"
quality_dor_by: claude-code
@ -47,7 +47,7 @@ until those decisions land — that is the intended shape, not an oversight.
```task
id: HOH-WP-0002-T01
status: todo
status: done
priority: high
state_hub_task_id: "fc2e4306-5ecf-50db-9a75-8a241a4ae9bc"
```
@ -68,11 +68,15 @@ Whatever is chosen, **the URI is a permanent commitment**: a hall that breaks it
own links is not a record. Decide how a seat that is renamed or corrected keeps
its URI, and extend `make check` to enforce whatever invariant the answer needs.
**Done 2026-09-14.** URI is frontmatter `id` verbatim. `make check` requires
URL-safe `[A-Za-z0-9-]+` and unique ids. Filename is not the URI. ADR:
`docs/adr/0001-hall-uri-and-renderer-boundary.md`.
## Decide where the service lives and how it is built
```task
id: HOH-WP-0002-T02
status: todo
status: done
priority: high
state_hub_task_id: "b6ccb11c-2cf5-5f32-a2c5-a4f849eec437"
```
@ -95,11 +99,15 @@ content.
Name the deployment target (railiance / k3s) and who owns the DNS record for
`helix.coulomb.social`.
**Done 2026-09-14.** This repo stays publication corpus. Rendering is sibling
`hall-render`, static generation for v1. k3s/Traefik; DNS owned by
railiance-infra/cluster. No public serve until T04.
## Define the renderer contract and trust boundary
```task
id: HOH-WP-0002-T03
status: todo
status: done
priority: high
state_hub_task_id: "64370b21-2b30-5ce9-be63-0379c55dad5b"
```
@ -124,6 +132,9 @@ registry before inventing one.
Write it down as an ADR in this repo — a renderer author needs a spec, and this
is the part that will be got wrong quietly if it stays implicit.
**Done 2026-09-14.** Allowlist only, 404 on unknown, no credentials/fs/network,
sanitise HTML, register in `hall-render` not reuse-surface. Same ADR.
## Clear the corpus for public publication
```task