develop/ holds the whole proposal flow (index = owners desk, proposal = public form, proposed = chain-gated receipt) with relative actions; review/ gains _section.yaml (one owners gate for the directory) and a [record].yaml dynamic page - /review/<chain-hash> shows a single proposal. Top-level files drop their now-derived id: and fossil route: fields. URLs /develop-proposal and /proposed become /develop/proposal and /develop/proposed (no automation references them - n8n filters checked). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
82 lines
3.0 KiB
YAML
82 lines
3.0 KiB
YAML
# Nested for the flow, but a public entry point - without this it
|
|
# would infer followup and drop out of the nav.
|
|
followup: false
|
|
name: How can this website improve?
|
|
description: >
|
|
This site is built on the same question architecture you're using
|
|
right now — and changes to it are proposed through it. Tell us what
|
|
should change and why; an owner reads every proposal, and approved
|
|
ones become real commits.
|
|
alternatives:
|
|
- name: The change you propose
|
|
description: >
|
|
The proposed content replaces (or creates) one content file —
|
|
a page under questions/, or aggregates.yaml — verbatim, so it
|
|
has to be complete, valid YAML for that file, not a diff.
|
|
Nothing outside those files is in scope.
|
|
action: proposed
|
|
consequence: [Propose it]
|
|
record_as: development_proposals
|
|
encouragements:
|
|
- Every proposal gets read by a person before anything moves.
|
|
features:
|
|
- name: The reference
|
|
description: >
|
|
Every page this site serves, verbatim — check what exists
|
|
before proposing against it.
|
|
resource:
|
|
public: true
|
|
source:
|
|
kind: url
|
|
url: https://project.uhhm.no/api/v1/repos/uhhm/questions
|
|
jq: >
|
|
{name: .full_name, description: .description, url: .html_url}
|
|
- name: Sign it
|
|
description: >
|
|
A proposal is a stance — it carries a name, and an address
|
|
if you want the outcome to reach you.
|
|
requirements:
|
|
- name: submitted_by
|
|
label: Name (or what to call you)
|
|
- name: email
|
|
label: Email
|
|
type: email
|
|
optional: true
|
|
- name: The change
|
|
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
|
|
the proposal creates one.
|
|
requirements:
|
|
- name: target_path
|
|
label: The file to change
|
|
type: select
|
|
optional: true
|
|
id_field: path
|
|
resource:
|
|
public: true
|
|
source:
|
|
kind: url
|
|
url: https://project.uhhm.no/api/v1/repos/uhhm/questions/contents/questions?ref=main
|
|
jq: >
|
|
.[] | select(.type == "file") | {path: .path, name: .name}
|
|
- name: new_path
|
|
label: Or a new file's path
|
|
placeholder: questions/example.yaml
|
|
optional: true
|
|
- name: rationale
|
|
label: The rationale
|
|
type: textarea
|
|
- name: proposed_yaml
|
|
label: Proposed file content (complete YAML)
|
|
type: textarea
|
|
bind:
|
|
field: target_path
|
|
param: path
|
|
resource:
|
|
public: true
|
|
source:
|
|
kind: url
|
|
url: https://project.uhhm.no/api/v1/repos/uhhm/questions/contents/{path}?ref=main
|
|
jq: ".content | @base64d"
|