Rename buckets, fold inquiry into project, add showcase + org fields
Lint and reload / lint-and-reload (push) Successful in 2s

Bucket names describe content, not their relation to portal:
portal_applicants -> applicants, portal_subscribers -> subscribers,
portal_project_inquiries -> projects. ResourceSpec's `bucket:` field
becomes `source: {kind: kv, bucket: ...}` to match portal's new
generalized ResourceSource schema.

The project-inquiry alternative now also shows a live "what we've
built" showcase (a gitea_starred resource, jq-shaped) and asks who the
work is for (organization/contact fields) - b2b framing. Review desk's
"Inquiries" -> "Projects", transitions to accepted/declined instead of
a generic "handled".

Front page gets a `responsible` contact for the "report this question"
mechanism.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Bendik Aagaard Lynghaug
2026-08-06 08:53:01 +02:00
co-authored by Claude Sonnet 5
parent 731f307ce1
commit a424c6d3c2
3 changed files with 37 additions and 10 deletions
+22 -3
View File
@@ -2,6 +2,9 @@ id: /
name: What are you here for? name: What are you here for?
description: > description: >
Strategies that address problems — applied in software. Strategies that address problems — applied in software.
responsible:
name: bl
contact: bl@uhhm.no
alternatives: alternatives:
- name: I want something built - name: I want something built
description: > description: >
@@ -9,10 +12,20 @@ alternatives:
reads the whole brief before answering. reads the whole brief before answering.
action: /project action: /project
consequence: [Tell us what you're after] consequence: [Tell us what you're after]
record_as: portal_project_inquiries record_as: projects
encouragements: encouragements:
- We read every word before breaking ground. - We read every word before breaking ground.
features: features:
- name: What we've built
description: A few things already out in the world.
resource:
source:
kind: gitea_starred
username: bl
public: true
jq: >
.[] | {name: .name, description: .description, url: .html_url,
stars: .stargazers_count}
- name: What are you after? - name: What are you after?
description: A few lines are enough to begin a conversation. description: A few lines are enough to begin a conversation.
requirements: requirements:
@@ -25,6 +38,12 @@ alternatives:
label: What do you need built? label: What do you need built?
type: textarea type: textarea
placeholder: Just the shape of it — we'll ask the right questions. placeholder: Just the shape of it — we'll ask the right questions.
- name: organization
label: Organization
placeholder: Who's this for?
- name: org_contact
label: Best way to reach them, if not you
optional: true
- name: Keep me posted - name: Keep me posted
description: > description: >
@@ -32,7 +51,7 @@ alternatives:
there's something worth saying. there's something worth saying.
action: /subscribed action: /subscribed
consequence: [Subscribe] consequence: [Subscribe]
record_as: portal_subscribers record_as: subscribers
encouragements: encouragements:
- Consider yourself posted. - Consider yourself posted.
features: features:
@@ -49,7 +68,7 @@ alternatives:
by hand, through a real conversation. by hand, through a real conversation.
action: /applied action: /applied
consequence: [Apply] consequence: [Apply]
record_as: portal_applicants record_as: applicants
encouragements: encouragements:
- Knock — we actually answer. - Knock — we actually answer.
features: features:
+14 -6
View File
@@ -11,7 +11,9 @@ alternatives:
- name: "" - name: ""
description: "" description: ""
resource: resource:
bucket: portal_applicants source:
kind: kv
bucket: applicants
requires_group: owners requires_group: owners
transitions: transitions:
- to: invited - to: invited
@@ -19,17 +21,21 @@ alternatives:
- to: declined - to: declined
label: Decline label: Decline
- name: Inquiries - name: Projects
description: "" description: ""
features: features:
- name: "" - name: ""
description: "" description: ""
resource: resource:
bucket: portal_project_inquiries source:
kind: kv
bucket: projects
requires_group: owners requires_group: owners
transitions: transitions:
- to: handled - to: accepted
label: Mark handled label: Accept
- to: declined
label: Decline
- name: Subscribers - name: Subscribers
description: "" description: ""
@@ -39,7 +45,9 @@ alternatives:
- name: "" - name: ""
description: "" description: ""
resource: resource:
bucket: portal_subscribers source:
kind: kv
bucket: subscribers
requires_group: owners requires_group: owners
- name: Compose newsletter - name: Compose newsletter
description: > description: >
+1 -1
View File
@@ -18,6 +18,6 @@ alternatives:
Using the link from one of our emails? Confirm below and we'll Using the link from one of our emails? Confirm below and we'll
stop writing. stop writing.
self_transition: self_transition:
bucket: portal_subscribers bucket: subscribers
to: unsubscribed to: unsubscribed
label: Unsubscribe me label: Unsubscribe me