plan: the guidance names records that answer records, members-only needs and a group contact

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-30 08:38:44 +02:00
co-authored by Claude Fable 5.1
parent 28ef235906
commit 9776dc1808
+22 -5
View File
@@ -149,9 +149,25 @@ rest. Each is one line in the plan, and the builder does the wiring:
a note. `moves_by: { <stage>: [submitter] }` gives them a move of
their own through their link: confirm, withdraw, say it is solved.
- **Let a decision do the work.** `grants` makes an approval into
membership; `deadlines` lets a stage end on its own (a notice that
expires, a request nobody took up); `invites_by` lets a desk bring a
person in without anyone touching an admin tool.
membership: the person gets an account and a place in the group the
moment the case gets there; `deadlines` lets a stage end on its own
(a notice that expires, a request nobody took up); `invites_by` lets
a desk bring a person in without anyone touching an admin tool.
- **Let one record answer another.** A need `about` another need is
one answer per record of it, from that record's own row on the
public list: a neighbour saying "I can lend you that" to a notice, a
bid to a request. `mails: { open: owner }` sends the answer straight
to whoever posted the record, and the site keeps no queue - the
poster's inbox is the queue. The site never becomes a go-between.
- **Keep some things for members.** A need with `door` and `enters_as`
is offered to everyone on the door and taken on the group's page
behind sign-in, with name and address filled from the account: a
seat on a committee for members, a discount for customers. The
group is one a decision `grants`, so nobody has to be waved in.
- **Answer for the pages as a group.** `contact: { name, email, group }`
makes the contact a group's inbox rather than a person: no account
is made for it, and every member of the group may suggest changes
to the pages from the page itself.
- **Make the choices real.** `groups` with labels, and a select with
`options_from: groups`, so a form offers exactly the committees or
teams that exist; `multiple: true` where a person can pick several.
@@ -167,8 +183,9 @@ Rules:
- Groups are the roles the intake names, as snake_case identifiers.
- The front door opens with `does` (at most two features, one role
each) and `shows`, then holds at most seven offers: doors plus needs
with no door. A door with no need behind it, or a door on a need with
`enters_as`, is refused. A role `does` speaks for must have a move
with no door. A door with no need behind it is refused; a door on a
need with `enters_as` is the way to the members' page. A role `does`
speaks for must have a move
of its own after sending (`moves_by` with `submitter`) or a public
view, or it is a spectator.
- Every need whose form collects an email should tell the person on