diff --git a/README.md b/README.md index df28dac..670a7dc 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/questions/develop/index.yaml b/questions/develop/index.yaml index 5cb5a33..c7d8180 100644 --- a/questions/develop/index.yaml +++ b/questions/develop/index.yaml @@ -1,4 +1,4 @@ -name: Development proposals +name: What's been proposed? qualifies: owners description: > Proposed changes to the questions repo, awaiting a decision. diff --git a/questions/develop/proposal.yaml b/questions/develop/proposal.yaml index 114aafe..dd3a69a 100644 --- a/questions/develop/proposal.yaml +++ b/questions/develop/proposal.yaml @@ -21,6 +21,7 @@ alternatives: - Every proposal gets read by a person before anything moves. features: - name: The reference + icon: lucide:book-open description: > Every page this site serves, verbatim — check what exists before proposing against it. @@ -32,6 +33,7 @@ alternatives: jq: > {name: .full_name, description: .description, url: .html_url} - name: Sign it + icon: lucide:pen-line description: > A proposal is a stance — it carries a name, and an address if you want the outcome to reach you. @@ -43,6 +45,7 @@ alternatives: type: email optional: true - name: The change + icon: lucide:git-branch description: > Pick the page you're changing and its current content loads below, ready to edit in place — or name a new file's path if diff --git a/questions/develop/proposed.yaml b/questions/develop/proposed.yaml index 88565a0..879a9cf 100644 --- a/questions/develop/proposed.yaml +++ b/questions/develop/proposed.yaml @@ -1,7 +1,7 @@ # Reached from the proposal form only - and provably so: the visitor # must hold a ?chain= lineage ending at an answer to proposal.yaml. requires_chain: proposal -name: Proposal received +name: What happens to your proposal? description: > It's in the queue. An owner reads every proposal in full — approved ones open a real pull request, and the same checks every human diff --git a/questions/index.yaml b/questions/index.yaml index ec1086e..3b420bf 100644 --- a/questions/index.yaml +++ b/questions/index.yaml @@ -16,6 +16,7 @@ alternatives: - We read every word before breaking ground. features: - name: What we've built + icon: lucide:layers description: A few things already out in the world. resource: source: @@ -35,6 +36,7 @@ alternatives: elif .private then null else .html_url end)} - name: Your brief + icon: lucide:file-text description: > A few lines are enough to begin a conversation — we need a name and an address because the reply is personal, and the @@ -66,7 +68,10 @@ alternatives: - Consider yourself posted. features: - name: Where to send it - description: "" + icon: lucide:mail + description: > + Notes go to a person, not a list — a name and an address is + all it takes. requirements: - name: name label: Name @@ -86,6 +91,7 @@ alternatives: - Knock — we actually answer. features: - name: A way to reach you + icon: lucide:at-sign description: The reply is personal — it needs a name and an address. requirements: - name: name @@ -94,6 +100,7 @@ alternatives: label: Email type: email - name: Your angle + icon: lucide:compass description: > We build around what each person actually brings — say what that is, in your own words. diff --git a/questions/review/[record].yaml b/questions/review/[record].yaml index 5eb52c7..dfac076 100644 --- a/questions/review/[record].yaml +++ b/questions/review/[record].yaml @@ -2,7 +2,7 @@ # addressed by its record key. The {record} placeholder receives the # URL segment; the section's qualifies (plus the resource's own # requires_group) keeps it owner-only. -name: One proposal +name: Which proposal is this? description: > A single development proposal, addressed by its record key — link or paste a chain hash from the desk. diff --git a/questions/review/index.yaml b/questions/review/index.yaml index 9615685..100889e 100644 --- a/questions/review/index.yaml +++ b/questions/review/index.yaml @@ -1,4 +1,4 @@ -name: The review desk +name: What came in? description: > Sign in as an organizational owner to see what's come in. alternatives: @@ -55,13 +55,17 @@ alternatives: label: Churn - name: Record a prospect - description: "" + description: > + A relationship worth tracking before it's a project — enter it + here and walk it through its states from the desk. action: /review consequence: [Record] record_as: organizations + encouragements: + - Written down is halfway to followed up. features: - name: "" - description: "" + description: The organization and one person there to reach. requirements: - name: name label: Organization