Icons on every input feature; why-lines; question titles; voice rule
Lint and reload / lint (push) Successful in 3s
Lint and reload / reload (push) Successful in 0s

Desk/receipt titles become questions (What's been proposed? / What
happens to your proposal? / What came in? / Which proposal is this?),
Where to send it and Record a prospect explain why before the field,
lucide icons on input-bearing features, README's alternatives rule
reworded (draw people in with a real path, not necessarily a slogan)
and its stale /develop-proposal + followup references fixed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Bendik Aagaard Lynghaug
2026-08-25 17:04:45 +02:00
co-authored by Claude Fable 5
parent bd19da9959
commit 981a448b30
7 changed files with 29 additions and 13 deletions
+8 -6
View File
@@ -44,7 +44,7 @@ itself. `.gitea/workflows/deploy.yml` pins the portal version:
```yaml
env:
PORTAL_RELEASE: v0.1.0 # a release tag on uhhm/portal
PORTAL_RELEASE: v0.2.3 # a release tag on uhhm/portal
```
Upgrading (or downgrading) portal is bumping that line and pushing —
@@ -132,7 +132,7 @@ entirely in this repo, in this order:
infrastructure repo's `n8n-workflows/`). Rename a page or a label
and its workflow must be updated in lockstep.
5. **Change the system through itself.** `/develop-proposal` takes a
5. **Change the system through itself.** `/develop/proposal` takes a
proposed replacement for any content file (`questions/*.yaml` or
`aggregates.yaml` — nothing else is in scope) — from a person, or
eventually a locally-run model, through the same public form. An
@@ -147,9 +147,11 @@ The rules every page here follows:
- **The title is the only question.** A page asks one thing — its
`name`. Nothing below it asks anything.
- **Alternatives are bold statements**, argued against each other —
positions we'd like a visitor to get behind, in our voice, never
the visitor's presumed voice and never a question.
- **Alternatives draw people in.** Each one suggests a real path a
visitor could take — a position to get behind or a thing to do next,
in our voice, never the visitor's presumed voice and never a
question. A category label ("Our Composition") is not an
alternative; "Follow the build as it lands" is.
- **Explain why, then hand over the field.** Where input is needed,
the feature's name and description state the reason ("the reply is
personal — it needs an address"), and labels are nouns, not
@@ -159,7 +161,7 @@ The rules every page here follows:
that gives them an answer — not segments to self-select into. The
question nav (every page's footer) surfaces all questions the
current visitor qualifies for, so nothing depends on front-page
space; post-submission pages carry `followup: true` and only join
space; post-submission pages (nested non-index files, or `followup: true`) only join
the nav once the visitor holds an answer chain.
## Schema quick reference