Review desk: announced pages (portal_events)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
16e5a27bde
commit
799e2b3c8c
@@ -180,8 +180,9 @@ Question id (derived from the file's path - see routing
|
||||
requires_chain (question ref the visitor's ?chain=
|
||||
lineage must end at), followup (nav-hidden until
|
||||
the visitor carries a chain; inferred from the
|
||||
tree when unset), responsible {name, contact},
|
||||
alternatives[]
|
||||
tree when unset), event {starts, duration, place}
|
||||
(announced page - see below), responsible
|
||||
{name, contact}, alternatives[]
|
||||
Alternative name, description, action, disabled (announced,
|
||||
not yet takeable), consequence[label],
|
||||
encouragements[], images[] (1 = banner, 2+ = card deck),
|
||||
@@ -236,6 +237,28 @@ review resource's transitions — fireable by whoever holds one specific
|
||||
record's `?chain=` link plus its matching email (the unsubscribe
|
||||
pattern).
|
||||
|
||||
**Announced pages.** A question carrying an `event:` block
|
||||
|
||||
```yaml
|
||||
event:
|
||||
starts: 2026-09-12T18:00:00+02:00 # RFC 3339, with offset
|
||||
duration: 3h # m / h / d, e.g. "1d 6h"
|
||||
place: Galleri X, Oslo # optional, shown verbatim
|
||||
```
|
||||
|
||||
is announced in the header of every page (name, when, "in 3 days")
|
||||
while its window is open, instead of listed in the footer nav. The
|
||||
page itself is an ordinary question - RSVP, directions, whatever its
|
||||
alternatives say. When the window closes the page turns into a
|
||||
followup (only visitors carrying an answer chain still see it) and
|
||||
portal moves the page's record in the runtime-owned `portal_events`
|
||||
bucket from `announced` to `awaiting_summary`, publishing that on
|
||||
`portal.answers.submitted` like any decision (alternative "Summary
|
||||
due") - the "post what happened" task. `/review`'s "Announced pages"
|
||||
desk reads that bucket; **Posted what happened** closes the task.
|
||||
Lint warns when pages carry `event:` but nothing reads
|
||||
`portal_events`.
|
||||
|
||||
**Attended buckets** (lint-enforced): every `record_as` bucket must be
|
||||
read by some `kv` resource in this repo (a desk or listing) — or its
|
||||
`aggregates.yaml` entry must carry `attended_by: <who/what consumes
|
||||
|
||||
Reference in New Issue
Block a user