build: a model may not lose the submitter's link; uhhm round 7, the mails
Sonnet wrote the ten uhhm mails and replaced the decide link with a
bare {chain}. keep_links puts the fallback's link line back into any
mail that lost it. The mails read easier than the fallbacks (LIX 9 to
33 against 18 to 28) and say something.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
b5f5c46ff2
commit
72a081ed59
@@ -101,3 +101,23 @@ from portal@uhhm.no. The subjects and bodies are the builder's
|
||||
fallbacks (what happened, and the link to the submitter's own move
|
||||
where they have one); a model has not reworded them yet. This is what
|
||||
the `trainer-rebuild` branch carries.
|
||||
|
||||
## Round 7: the mails, worded by a model
|
||||
|
||||
`build --llm-for aggregates.yaml` lets Sonnet write the ten mails
|
||||
alone, every other word as in round 5. It dropped the submitter's
|
||||
link the first time (a bare `{chain}` in its place), so the builder
|
||||
now puts the link back whenever a model loses it. `rate --repo` rates
|
||||
each mail's prose on its own:
|
||||
|
||||
| Mail | Fallback LIX | Sonnet LIX |
|
||||
|---|---|---|
|
||||
| projects:open | 18 | 9 |
|
||||
| trials:open | 18 | 13 |
|
||||
| custody_requests:open | 25 | 32 |
|
||||
| all ten, range | 18 to 28 | 9 to 33 |
|
||||
|
||||
Easier on the whole, and specific where the fallback was formulaic:
|
||||
"Your brief is in front of us. We read the whole thing before we
|
||||
reply, so it may take a few days." `words-r7.json` is the words as
|
||||
used; the branch carries them.
|
||||
|
||||
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"collaborate": {
|
||||
"pages": [
|
||||
{
|
||||
"control": {
|
||||
"asked": 0,
|
||||
"next": 0,
|
||||
"where": 0,
|
||||
"which": 0
|
||||
},
|
||||
"control_ok": true,
|
||||
"followup_shown": true,
|
||||
"lix": 25.81998092513114,
|
||||
"options": 8,
|
||||
"overloaded": true,
|
||||
"page": "/",
|
||||
"personas": 3,
|
||||
"required_fields": 3,
|
||||
"understanding": {
|
||||
"asked": 3,
|
||||
"next": 3,
|
||||
"where": 3,
|
||||
"which": 3
|
||||
}
|
||||
}
|
||||
],
|
||||
"steps": 1
|
||||
},
|
||||
"commission": {
|
||||
"pages": [
|
||||
{
|
||||
"control": {
|
||||
"asked": 0,
|
||||
"next": 0,
|
||||
"where": 0,
|
||||
"which": 0
|
||||
},
|
||||
"control_ok": true,
|
||||
"followup_shown": true,
|
||||
"lix": 26.73015873015873,
|
||||
"options": 8,
|
||||
"overloaded": true,
|
||||
"page": "/",
|
||||
"personas": 3,
|
||||
"required_fields": 4,
|
||||
"understanding": {
|
||||
"asked": 3,
|
||||
"next": 3,
|
||||
"where": 3,
|
||||
"which": 3
|
||||
}
|
||||
}
|
||||
],
|
||||
"steps": 1
|
||||
},
|
||||
"custody": {
|
||||
"pages": [
|
||||
{
|
||||
"control": {
|
||||
"asked": 0,
|
||||
"next": 0,
|
||||
"where": 0,
|
||||
"which": 0
|
||||
},
|
||||
"control_ok": true,
|
||||
"followup_shown": true,
|
||||
"lix": 27.915853336850432,
|
||||
"options": 8,
|
||||
"overloaded": true,
|
||||
"page": "/",
|
||||
"personas": 3,
|
||||
"required_fields": 4,
|
||||
"understanding": {
|
||||
"asked": 3,
|
||||
"next": 3,
|
||||
"where": 3,
|
||||
"which": 3
|
||||
}
|
||||
}
|
||||
],
|
||||
"steps": 1
|
||||
},
|
||||
"mail custody_requests:declined": {
|
||||
"lix": 28.275,
|
||||
"words": 31
|
||||
},
|
||||
"mail custody_requests:open": {
|
||||
"lix": 25.15,
|
||||
"words": 31
|
||||
},
|
||||
"mail custody_requests:resolved": {
|
||||
"lix": 28.275,
|
||||
"words": 31
|
||||
},
|
||||
"mail projects:accepted": {
|
||||
"lix": 22.666666666666668,
|
||||
"words": 29
|
||||
},
|
||||
"mail projects:declined": {
|
||||
"lix": 22.666666666666668,
|
||||
"words": 29
|
||||
},
|
||||
"mail projects:open": {
|
||||
"lix": 18.391941391941394,
|
||||
"words": 35
|
||||
},
|
||||
"mail trials:approved": {
|
||||
"lix": 20.757894736842104,
|
||||
"words": 36
|
||||
},
|
||||
"mail trials:declined": {
|
||||
"lix": 20.757894736842104,
|
||||
"words": 36
|
||||
},
|
||||
"mail trials:open": {
|
||||
"lix": 18.126315789473686,
|
||||
"words": 36
|
||||
},
|
||||
"mail trials:previewed": {
|
||||
"lix": 20.757894736842104,
|
||||
"words": 36
|
||||
},
|
||||
"propose": {
|
||||
"pages": [
|
||||
{
|
||||
"control": {
|
||||
"asked": 0,
|
||||
"next": 0,
|
||||
"where": 0,
|
||||
"which": 0
|
||||
},
|
||||
"control_ok": true,
|
||||
"followup_shown": true,
|
||||
"lix": 27.536719122556033,
|
||||
"options": 8,
|
||||
"overloaded": true,
|
||||
"page": "/",
|
||||
"personas": 2,
|
||||
"required_fields": 3,
|
||||
"understanding": {
|
||||
"asked": 2,
|
||||
"next": 2,
|
||||
"where": 2,
|
||||
"which": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"steps": 1
|
||||
},
|
||||
"subscribe": {
|
||||
"pages": [
|
||||
{
|
||||
"control": {
|
||||
"asked": 0,
|
||||
"next": 0,
|
||||
"where": 0,
|
||||
"which": 0
|
||||
},
|
||||
"control_ok": true,
|
||||
"followup_shown": true,
|
||||
"lix": 26.73015873015873,
|
||||
"options": 8,
|
||||
"overloaded": true,
|
||||
"page": "/",
|
||||
"personas": 2,
|
||||
"required_fields": 2,
|
||||
"understanding": {
|
||||
"asked": 2,
|
||||
"next": 2,
|
||||
"where": 2,
|
||||
"which": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"steps": 1
|
||||
},
|
||||
"trial": {
|
||||
"pages": [
|
||||
{
|
||||
"control": {
|
||||
"asked": 0,
|
||||
"next": 0,
|
||||
"where": 0,
|
||||
"which": 0
|
||||
},
|
||||
"control_ok": true,
|
||||
"followup_shown": true,
|
||||
"lix": 27.441049146931498,
|
||||
"options": 8,
|
||||
"overloaded": true,
|
||||
"page": "/",
|
||||
"personas": 2,
|
||||
"required_fields": 6,
|
||||
"understanding": {
|
||||
"asked": 2,
|
||||
"next": 2,
|
||||
"where": 2,
|
||||
"which": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"steps": 1
|
||||
}
|
||||
}
|
||||
@@ -28,37 +28,22 @@ aggregates:
|
||||
declined:
|
||||
event: declined
|
||||
mail:
|
||||
body: |-
|
||||
Hello {name},
|
||||
|
||||
What you sent about an answer from a custodian, and action where the network keeps something it should not is now declined.
|
||||
|
||||
Bendik Aagaard Lynghaug at bl@uhhm.no
|
||||
subject: 'UHHM: Declined'
|
||||
body: We've read your message and decided this isn't something we can take on as custodians. If you think we've missed something, write back and tell us.
|
||||
subject: On your message to the custodians
|
||||
to: submitter
|
||||
in_dialogue:
|
||||
event: in_dialogue
|
||||
open:
|
||||
event: received
|
||||
mail:
|
||||
body: |-
|
||||
Hello {name},
|
||||
|
||||
We have received what you sent about an answer from a custodian, and action where the network keeps something it should not.
|
||||
|
||||
Bendik Aagaard Lynghaug at bl@uhhm.no
|
||||
subject: 'UHHM: Open'
|
||||
body: Your message reached the custodians of the first node. We read everything that comes in - expect a real reply, not an autoresponder.
|
||||
subject: We have your message
|
||||
to: submitter
|
||||
resolved:
|
||||
event: resolved
|
||||
mail:
|
||||
body: |-
|
||||
Hello {name},
|
||||
|
||||
What you sent about an answer from a custodian, and action where the network keeps something it should not is now resolved.
|
||||
|
||||
Bendik Aagaard Lynghaug at bl@uhhm.no
|
||||
subject: 'UHHM: Resolved'
|
||||
body: This is resolved. Here's what we found and what we did about it - write back if it isn't settled from where you sit.
|
||||
subject: Your case is resolved
|
||||
to: submitter
|
||||
transitions:
|
||||
in_dialogue:
|
||||
@@ -101,37 +86,23 @@ aggregates:
|
||||
accepted:
|
||||
event: accepted
|
||||
mail:
|
||||
body: |-
|
||||
Hello {name},
|
||||
|
||||
What you sent about a considered reply to a brief, from people who read the whole thing is now accepted.
|
||||
|
||||
Bendik Aagaard Lynghaug at bl@uhhm.no
|
||||
subject: 'UHHM: Accepted'
|
||||
body: We want to take this on. Next we'll be in touch to talk through scope, timing and how we'll work together.
|
||||
subject: We'd like to take this on
|
||||
to: submitter
|
||||
declined:
|
||||
event: declined
|
||||
mail:
|
||||
body: |-
|
||||
Hello {name},
|
||||
|
||||
What you sent about a considered reply to a brief, from people who read the whole thing is now declined.
|
||||
|
||||
Bendik Aagaard Lynghaug at bl@uhhm.no
|
||||
subject: 'UHHM: Declined'
|
||||
body: We've read your brief and this isn't one we're taking on. It isn't a judgment on the problem - just not a fit for us right now.
|
||||
subject: On your brief
|
||||
to: submitter
|
||||
open:
|
||||
event: submitted
|
||||
mail:
|
||||
body: |-
|
||||
Hello {name},
|
||||
|
||||
We have received what you sent about a considered reply to a brief, from people who read the whole thing.
|
||||
Your brief is in front of us. We read the whole thing before we reply, so it may take a few days - you'll hear from us either way.
|
||||
|
||||
What you can do next: {site}/decide/commission?chain={chain}&email={email}
|
||||
|
||||
Bendik Aagaard Lynghaug at bl@uhhm.no
|
||||
subject: 'UHHM: Open'
|
||||
subject: We have your brief
|
||||
to: submitter
|
||||
transitions:
|
||||
open:
|
||||
@@ -155,46 +126,26 @@ aggregates:
|
||||
approved:
|
||||
event: approved
|
||||
mail:
|
||||
body: |-
|
||||
Hello,
|
||||
|
||||
What you sent about a first draft of a site for their own roles, built from their own words and approved by a person first is now approved.
|
||||
|
||||
Bendik Aagaard Lynghaug at bl@uhhm.no
|
||||
subject: 'UHHM: Approved'
|
||||
body: Your draft is approved and on its way. We built it from your own words - have a look when it's ready and tell us what to change.
|
||||
subject: Your draft is approved
|
||||
to: submitter
|
||||
declined:
|
||||
event: declined
|
||||
mail:
|
||||
body: |-
|
||||
Hello,
|
||||
|
||||
What you sent about a first draft of a site for their own roles, built from their own words and approved by a person first is now declined.
|
||||
|
||||
Bendik Aagaard Lynghaug at bl@uhhm.no
|
||||
subject: 'UHHM: Declined'
|
||||
body: We've decided not to build this draft. If the situation changes, get back in touch and we'll take another look.
|
||||
subject: On your draft
|
||||
to: submitter
|
||||
open:
|
||||
event: received
|
||||
mail:
|
||||
body: |-
|
||||
Hello,
|
||||
|
||||
We have received what you sent about a first draft of a site for their own roles, built from their own words and approved by a person first.
|
||||
|
||||
Bendik Aagaard Lynghaug at bl@uhhm.no
|
||||
subject: 'UHHM: Open'
|
||||
body: We have what you sent. A person will read it and build your draft, or tell you why not - you'll hear from us either way.
|
||||
subject: We're looking at your draft
|
||||
to: submitter
|
||||
previewed:
|
||||
event: previewed
|
||||
mail:
|
||||
body: |-
|
||||
Hello,
|
||||
|
||||
What you sent about a first draft of a site for their own roles, built from their own words and approved by a person first is now previewed.
|
||||
|
||||
Bendik Aagaard Lynghaug at bl@uhhm.no
|
||||
subject: 'UHHM: Previewed'
|
||||
body: Your draft is ready to look at. It's built from your own words - the link below takes you straight to it.
|
||||
subject: Your draft is ready to view
|
||||
to: submitter
|
||||
transitions:
|
||||
approved:
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: aggregates.yaml
|
||||
It is the mails the site sends. Under each bucket, each stage that sends one has a `subject` and a `body`: the mail a person gets the moment their case enters that stage, saying what happened and what, if anything, they can do now. Plain text, short, in the business's voice. Keep every `{...}` placeholder exactly as it is - `{site}`, `{chain}`, `{email}` and any field name are filled in by the site - and keep any line with a link in it.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"custody_requests": {
|
||||
"declined": {
|
||||
"body": "<WRITE: a form label for the field `body`>",
|
||||
"subject": "<WRITE: a form label for the field `subject`>"
|
||||
},
|
||||
"open": {
|
||||
"body": "<WRITE: a form label for the field `body`>",
|
||||
"subject": "<WRITE: a form label for the field `subject`>"
|
||||
},
|
||||
"resolved": {
|
||||
"body": "<WRITE: a form label for the field `body`>",
|
||||
"subject": "<WRITE: a form label for the field `subject`>"
|
||||
}
|
||||
},
|
||||
"projects": {
|
||||
"accepted": {
|
||||
"body": "<WRITE: a form label for the field `body`>",
|
||||
"subject": "<WRITE: a form label for the field `subject`>"
|
||||
},
|
||||
"declined": {
|
||||
"body": "<WRITE: a form label for the field `body`>",
|
||||
"subject": "<WRITE: a form label for the field `subject`>"
|
||||
},
|
||||
"open": {
|
||||
"body": "<WRITE: a form label for the field `body`>",
|
||||
"subject": "<WRITE: a form label for the field `subject`>"
|
||||
}
|
||||
},
|
||||
"trials": {
|
||||
"approved": {
|
||||
"body": "<WRITE: a form label for the field `body`>",
|
||||
"subject": "<WRITE: a form label for the field `subject`>"
|
||||
},
|
||||
"declined": {
|
||||
"body": "<WRITE: a form label for the field `body`>",
|
||||
"subject": "<WRITE: a form label for the field `subject`>"
|
||||
},
|
||||
"open": {
|
||||
"body": "<WRITE: a form label for the field `body`>",
|
||||
"subject": "<WRITE: a form label for the field `subject`>"
|
||||
},
|
||||
"previewed": {
|
||||
"body": "<WRITE: a form label for the field `body`>",
|
||||
"subject": "<WRITE: a form label for the field `subject`>"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"custody_requests": {
|
||||
"declined": {
|
||||
"body": "We've read your message and decided this isn't something we can take on as custodians. If you think we've missed something, write back and tell us.",
|
||||
"subject": "On your message to the custodians"
|
||||
},
|
||||
"open": {
|
||||
"body": "Your message reached the custodians of the first node. We read everything that comes in - expect a real reply, not an autoresponder.",
|
||||
"subject": "We have your message"
|
||||
},
|
||||
"resolved": {
|
||||
"body": "This is resolved. Here's what we found and what we did about it - write back if it isn't settled from where you sit.",
|
||||
"subject": "Your case is resolved"
|
||||
}
|
||||
},
|
||||
"projects": {
|
||||
"accepted": {
|
||||
"body": "We want to take this on. Next we'll be in touch to talk through scope, timing and how we'll work together.",
|
||||
"subject": "We'd like to take this on"
|
||||
},
|
||||
"declined": {
|
||||
"body": "We've read your brief and this isn't one we're taking on. It isn't a judgment on the problem - just not a fit for us right now.",
|
||||
"subject": "On your brief"
|
||||
},
|
||||
"open": {
|
||||
"body": "Your brief is in front of us. We read the whole thing before we reply, so it may take a few days - you'll hear from us either way.",
|
||||
"subject": "We have your brief"
|
||||
}
|
||||
},
|
||||
"trials": {
|
||||
"approved": {
|
||||
"body": "Your draft is approved and on its way. We built it from your own words - have a look when it's ready and tell us what to change.",
|
||||
"subject": "Your draft is approved"
|
||||
},
|
||||
"declined": {
|
||||
"body": "We've decided not to build this draft. If the situation changes, get back in touch and we'll take another look.",
|
||||
"subject": "On your draft"
|
||||
},
|
||||
"open": {
|
||||
"body": "We have what you sent. A person will read it and build your draft, or tell you why not - you'll hear from us either way.",
|
||||
"subject": "We're looking at your draft"
|
||||
},
|
||||
"previewed": {
|
||||
"body": "Your draft is ready to look at. It's built from your own words - the link below takes you straight to it.",
|
||||
"subject": "Your draft is ready to view"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -1,174 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/build/index.yaml
|
||||
It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"needs": {
|
||||
"commission": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"encouragement": "<WRITE: one reassuring sentence: what happens with what they send, or how little it takes; or empty>",
|
||||
"form_description": "<WRITE: one short line of guidance above the form, or empty>",
|
||||
"form_title": "<WRITE: a title for the form, two to four words>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"hints": {
|
||||
"email": "<WRITE: an example answer for the field `email`, as a placeholder; or empty>",
|
||||
"name": "<WRITE: an example answer for the field `name`, as a placeholder; or empty>",
|
||||
"org_contact": "<WRITE: an example answer for the field `org_contact`, as a placeholder; or empty>",
|
||||
"organization": "<WRITE: an example answer for the field `organization`, as a placeholder; or empty>",
|
||||
"project": "<WRITE: an example answer for the field `project`, as a placeholder; or empty>"
|
||||
},
|
||||
"icon": "<WRITE: an icon name from the list at the end, the one that fits this best; or empty>",
|
||||
"labels": {
|
||||
"email": "<WRITE: a form label for the field `email`>",
|
||||
"name": "<WRITE: a form label for the field `name`>",
|
||||
"org_contact": "<WRITE: a form label for the field `org_contact`>",
|
||||
"organization": "<WRITE: a form label for the field `organization`>",
|
||||
"project": "<WRITE: a form label for the field `project`>"
|
||||
},
|
||||
"road_description": "<WRITE: one or two sentences walking the reader through the stages this goes through, in order (the stages are listed above), in their words>",
|
||||
"road_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"road_title": "<WRITE: a short title, two to four words, for the line that says what happens after sending>",
|
||||
"who_description": "<WRITE: one sentence: who reads what they send, and how to reach them meanwhile>",
|
||||
"who_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"who_title": "<WRITE: a short title, two to four words, for the line that says who reads it>"
|
||||
},
|
||||
"trial": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"encouragement": "<WRITE: one reassuring sentence: what happens with what they send, or how little it takes; or empty>",
|
||||
"form_description": "<WRITE: one short line of guidance above the form, or empty>",
|
||||
"form_title": "<WRITE: a title for the form, two to four words>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"hints": {
|
||||
"business": "<WRITE: an example answer for the field `business`, as a placeholder; or empty>",
|
||||
"email": "<WRITE: an example answer for the field `email`, as a placeholder; or empty>",
|
||||
"what_slows_us_down": "<WRITE: an example answer for the field `what_slows_us_down`, as a placeholder; or empty>",
|
||||
"what_we_do": "<WRITE: an example answer for the field `what_we_do`, as a placeholder; or empty>",
|
||||
"what_we_keep_track_of": "<WRITE: an example answer for the field `what_we_keep_track_of`, as a placeholder; or empty>",
|
||||
"who_comes_to_us": "<WRITE: an example answer for the field `who_comes_to_us`, as a placeholder; or empty>",
|
||||
"who_is_involved": "<WRITE: an example answer for the field `who_is_involved`, as a placeholder; or empty>"
|
||||
},
|
||||
"icon": "<WRITE: an icon name from the list at the end, the one that fits this best; or empty>",
|
||||
"labels": {
|
||||
"business": "<WRITE: a form label for the field `business`>",
|
||||
"email": "<WRITE: a form label for the field `email`>",
|
||||
"what_slows_us_down": "<WRITE: a form label for the field `what_slows_us_down`>",
|
||||
"what_we_do": "<WRITE: a form label for the field `what_we_do`>",
|
||||
"what_we_keep_track_of": "<WRITE: a form label for the field `what_we_keep_track_of`>",
|
||||
"who_comes_to_us": "<WRITE: a form label for the field `who_comes_to_us`>",
|
||||
"who_is_involved": "<WRITE: a form label for the field `who_is_involved`>"
|
||||
},
|
||||
"road_description": "<WRITE: one or two sentences walking the reader through the stages this goes through, in order (the stages are listed above), in their words>",
|
||||
"road_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"road_title": "<WRITE: a short title, two to four words, for the line that says what happens after sending>",
|
||||
"who_description": "<WRITE: one sentence: who reads what they send, and how to reach them meanwhile>",
|
||||
"who_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"who_title": "<WRITE: a short title, two to four words, for the line that says who reads it>"
|
||||
}
|
||||
},
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"description": "Have a problem software should solve, or want to see your own way of working as a site before you pay anyone?",
|
||||
"needs": {
|
||||
"commission": {
|
||||
"button": "Send the brief",
|
||||
"description": "You know the problem and want it solved. Write it up and send it to people who will read the whole thing.",
|
||||
"encouragement": "Someone here reads every brief in full before writing back.",
|
||||
"form_description": "The more of the problem you put in, the better the reply.",
|
||||
"form_title": "Tell us the problem",
|
||||
"heading": "A considered reply to your brief",
|
||||
"hints": {
|
||||
"email": "sara@company.com",
|
||||
"name": "Sara Nilsen",
|
||||
"org_contact": "Sara Nilsen, ops manager",
|
||||
"organization": "Nilsen Transport AS",
|
||||
"project": "Our drivers log hours on paper and it takes a day to get them into payroll."
|
||||
},
|
||||
"icon": "briefcase",
|
||||
"labels": {
|
||||
"email": "Your email",
|
||||
"name": "Your name",
|
||||
"org_contact": "Who we should talk to",
|
||||
"organization": "Your organization",
|
||||
"project": "The problem you want solved"
|
||||
},
|
||||
"road_description": "We read your brief and either take it on or tell you honestly if it's not a fit.",
|
||||
"road_icon": "route",
|
||||
"road_title": "What happens next",
|
||||
"who_description": "One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly.",
|
||||
"who_icon": "user-check",
|
||||
"who_title": "Who reads this"
|
||||
},
|
||||
"trial": {
|
||||
"button": "Start the draft",
|
||||
"description": "See your own requests, approvals and handovers as a working site, before you commit to anything.",
|
||||
"encouragement": "A person looks at what you send before anything gets built.",
|
||||
"form_description": "Answer in your own words - there's no wrong way to describe your business.",
|
||||
"form_title": "Describe your business",
|
||||
"heading": "A first draft of your own site",
|
||||
"hints": {
|
||||
"business": "Nilsen Transport AS",
|
||||
"email": "sara@company.com",
|
||||
"what_slows_us_down": "Approvals sit in someone's inbox for days before anyone acts on them.",
|
||||
"what_we_do": "We move freight for local businesses and handle the paperwork for them.",
|
||||
"what_we_keep_track_of": "Bookings, driver hours, and which loads are still waiting on a signature.",
|
||||
"who_comes_to_us": "Local businesses that need something moved on short notice.",
|
||||
"who_is_involved": "Drivers, dispatchers, and the customers waiting on their delivery."
|
||||
},
|
||||
"icon": "layers",
|
||||
"labels": {
|
||||
"business": "Your business",
|
||||
"email": "Your email",
|
||||
"what_slows_us_down": "What slows you down",
|
||||
"what_we_do": "What you do",
|
||||
"what_we_keep_track_of": "What you keep track of",
|
||||
"who_comes_to_us": "Who comes to you",
|
||||
"who_is_involved": "Who's involved"
|
||||
},
|
||||
"road_description": "We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further.",
|
||||
"road_icon": "route",
|
||||
"road_title": "What happens next",
|
||||
"who_description": "An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly.",
|
||||
"who_icon": "user-check",
|
||||
"who_title": "Who reads this"
|
||||
}
|
||||
},
|
||||
"question": "Do you already know the problem, or do you want to see your own business as a site first?"
|
||||
}
|
||||
```
|
||||
@@ -1,108 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/custodians/index.yaml
|
||||
It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open. Under `invites`, each entry is a form that invites a person into that group - they get an account and a one-time link - and `invited` is the list of invites sent.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"buckets": {
|
||||
"custody_requests": {
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"moves": {
|
||||
"in_dialogue->declined": "<WRITE: a button, two to four words, for a case going in_dialogue->declined>",
|
||||
"in_dialogue->resolved": "<WRITE: a button, two to four words, for a case going in_dialogue->resolved>",
|
||||
"open->declined": "<WRITE: a button, two to four words, for a case going open->declined>",
|
||||
"open->in_dialogue": "<WRITE: a button, two to four words, for a case going open->in_dialogue>"
|
||||
}
|
||||
}
|
||||
},
|
||||
"confirm": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"invited": {
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"done": "<WRITE: a form label for the field `done`>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
|
||||
},
|
||||
"invites": {
|
||||
"custodians": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"form_title": "<WRITE: a title for the form, two to four words>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"labels": {
|
||||
"email": "<WRITE: a form label for the field `email`>",
|
||||
"name": "<WRITE: a form label for the field `name`>"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {},
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"buckets": {
|
||||
"custody_requests": {
|
||||
"description": "Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it.",
|
||||
"heading": "Custody cases waiting on you",
|
||||
"moves": {
|
||||
"in_dialogue->declined": "Close, no action",
|
||||
"in_dialogue->resolved": "Mark resolved",
|
||||
"open->declined": "Decline case",
|
||||
"open->in_dialogue": "Open dialogue"
|
||||
}
|
||||
}
|
||||
},
|
||||
"confirm": "Send invite",
|
||||
"description": "The desk for custodians: open custody cases, and the people invited to answer them.",
|
||||
"invited": {
|
||||
"description": "Custodians invited but not yet signed in.",
|
||||
"done": "Signed in",
|
||||
"heading": "Invited custodians"
|
||||
},
|
||||
"invites": {
|
||||
"custodians": {
|
||||
"button": "Invite custodian",
|
||||
"description": "Give someone an account and a one-time link to join as a custodian.",
|
||||
"form_title": "Invite a custodian",
|
||||
"heading": "Bring in another custodian",
|
||||
"labels": {
|
||||
"email": "Email",
|
||||
"name": "Name"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {},
|
||||
"question": "What does the network owe the people it affects, right now?"
|
||||
}
|
||||
```
|
||||
@@ -1,60 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/decide/subscribe.yaml
|
||||
It is a page the person who sent a form reaches later, through a private link, to make a decision that is theirs: under `moves`, each entry is one thing they can decide.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"moves": {
|
||||
"unsubscribed": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
|
||||
}
|
||||
},
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"description": "You're on our list. Change your mind whenever you like.",
|
||||
"moves": {
|
||||
"unsubscribed": {
|
||||
"button": "Unsubscribe",
|
||||
"description": "You'll stop hearing from us. Nothing else changes.",
|
||||
"heading": "Stop getting notes from us"
|
||||
}
|
||||
},
|
||||
"question": "Do you want to keep hearing from us?"
|
||||
}
|
||||
```
|
||||
@@ -1,136 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/index.yaml
|
||||
It is the front door: the first page any visitor sees. `question` is the page's one question. Under `doors`, each entry is one alternative that leads to a page of its own for one kind of visitor: its heading must let that visitor recognise themselves from the heading alone. Under `needs`, each entry is one alternative with a form behind it.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"doors": {
|
||||
"build": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"for_whom": "<WRITE: a few words naming who this is for, addressed to them; or empty>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"icon": "<WRITE: an icon name from the list at the end, the one that fits this best; or empty>"
|
||||
},
|
||||
"join": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"for_whom": "<WRITE: a few words naming who this is for, addressed to them; or empty>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"icon": "<WRITE: an icon name from the list at the end, the one that fits this best; or empty>"
|
||||
}
|
||||
},
|
||||
"needs": {
|
||||
"custody": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"encouragement": "<WRITE: one reassuring sentence: what happens with what they send, or how little it takes; or empty>",
|
||||
"form_description": "<WRITE: one short line of guidance above the form, or empty>",
|
||||
"form_title": "<WRITE: a title for the form, two to four words>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"hints": {
|
||||
"about": "<WRITE: an example answer for the field `about`, as a placeholder; or empty>",
|
||||
"email": "<WRITE: an example answer for the field `email`, as a placeholder; or empty>",
|
||||
"name": "<WRITE: an example answer for the field `name`, as a placeholder; or empty>",
|
||||
"what": "<WRITE: an example answer for the field `what`, as a placeholder; or empty>"
|
||||
},
|
||||
"icon": "<WRITE: an icon name from the list at the end, the one that fits this best; or empty>",
|
||||
"labels": {
|
||||
"about": "<WRITE: a form label for the field `about`>",
|
||||
"email": "<WRITE: a form label for the field `email`>",
|
||||
"name": "<WRITE: a form label for the field `name`>",
|
||||
"what": "<WRITE: a form label for the field `what`>"
|
||||
},
|
||||
"road_description": "<WRITE: one or two sentences walking the reader through the stages this goes through, in order (the stages are listed above), in their words>",
|
||||
"road_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"road_title": "<WRITE: a short title, two to four words, for the line that says what happens after sending>",
|
||||
"who_description": "<WRITE: one sentence: who reads what they send, and how to reach them meanwhile>",
|
||||
"who_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"who_title": "<WRITE: a short title, two to four words, for the line that says who reads it>"
|
||||
}
|
||||
},
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"description": "UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath.",
|
||||
"doors": {
|
||||
"build": {
|
||||
"button": "Start here",
|
||||
"description": "Send us the problem, or try your own workflow as a working site before you pay for anything.",
|
||||
"for_whom": "For an organisation with a problem, or a business sizing us up",
|
||||
"heading": "Get software built around your problem",
|
||||
"icon": "hammer"
|
||||
},
|
||||
"join": {
|
||||
"button": "Start here",
|
||||
"description": "Build with us, hear from us now and then, or tell us what should change on this page.",
|
||||
"for_whom": "For anyone who wants in, on their own terms",
|
||||
"heading": "Work with us, or just stay in touch",
|
||||
"icon": "handshake"
|
||||
}
|
||||
},
|
||||
"needs": {
|
||||
"custody": {
|
||||
"button": "Send to a custodian",
|
||||
"description": "For anyone who runs on, builds on, or is affected by the redoal network and needs to reach the people who keep its first node.",
|
||||
"encouragement": "A custodian reads every message that comes in here.",
|
||||
"form_description": "Tell us what the network is doing, or not doing, and how we can reach you.",
|
||||
"form_title": "Reach a custodian",
|
||||
"heading": "Get an answer from the people who keep the network",
|
||||
"hints": {
|
||||
"about": "We run our order system on a relay node and it's been dropping messages since Tuesday",
|
||||
"email": "you@yourcompany.com",
|
||||
"name": "Your name",
|
||||
"what": "A relay node is misbehaving"
|
||||
},
|
||||
"icon": "shield",
|
||||
"labels": {
|
||||
"about": "What's going on",
|
||||
"email": "Email",
|
||||
"name": "Name",
|
||||
"what": "In short"
|
||||
},
|
||||
"road_description": "We open it and start a dialogue with you. Once we understand what the network is keeping that it shouldn't, we work it through to resolved, or tell you plainly if we can't.",
|
||||
"road_icon": "route",
|
||||
"road_title": "What happens next",
|
||||
"who_title": "Who reads this",
|
||||
"who_icon": "user-check",
|
||||
"who_description": "A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime."
|
||||
}
|
||||
},
|
||||
"question": "What brings you here?"
|
||||
}
|
||||
```
|
||||
@@ -1,208 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/join/index.yaml
|
||||
It is a page one kind of visitor reaches from the front door. `question` is what this page asks them; under `needs`, each entry is one alternative they can pick, with the form behind it.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"needs": {
|
||||
"collaborate": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"encouragement": "<WRITE: one reassuring sentence: what happens with what they send, or how little it takes; or empty>",
|
||||
"form_description": "<WRITE: one short line of guidance above the form, or empty>",
|
||||
"form_title": "<WRITE: a title for the form, two to four words>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"hints": {
|
||||
"email": "<WRITE: an example answer for the field `email`, as a placeholder; or empty>",
|
||||
"interest": "<WRITE: an example answer for the field `interest`, as a placeholder; or empty>",
|
||||
"name": "<WRITE: an example answer for the field `name`, as a placeholder; or empty>",
|
||||
"note": "<WRITE: an example answer for the field `note`, as a placeholder; or empty>"
|
||||
},
|
||||
"icon": "<WRITE: an icon name from the list at the end, the one that fits this best; or empty>",
|
||||
"labels": {
|
||||
"email": "<WRITE: a form label for the field `email`>",
|
||||
"interest": "<WRITE: a form label for the field `interest`>",
|
||||
"name": "<WRITE: a form label for the field `name`>",
|
||||
"note": "<WRITE: a form label for the field `note`>"
|
||||
},
|
||||
"road_description": "<WRITE: one or two sentences walking the reader through the stages this goes through, in order (the stages are listed above), in their words>",
|
||||
"road_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"road_title": "<WRITE: a short title, two to four words, for the line that says what happens after sending>",
|
||||
"who_description": "<WRITE: one sentence: who reads what they send, and how to reach them meanwhile>",
|
||||
"who_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"who_title": "<WRITE: a short title, two to four words, for the line that says who reads it>"
|
||||
},
|
||||
"propose": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"encouragement": "<WRITE: one reassuring sentence: what happens with what they send, or how little it takes; or empty>",
|
||||
"form_description": "<WRITE: one short line of guidance above the form, or empty>",
|
||||
"form_title": "<WRITE: a title for the form, two to four words>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"hints": {
|
||||
"email": "<WRITE: an example answer for the field `email`, as a placeholder; or empty>",
|
||||
"page": "<WRITE: an example answer for the field `page`, as a placeholder; or empty>",
|
||||
"proposed_yaml": "<WRITE: an example answer for the field `proposed_yaml`, as a placeholder; or empty>",
|
||||
"rationale": "<WRITE: an example answer for the field `rationale`, as a placeholder; or empty>",
|
||||
"submitted_by": "<WRITE: an example answer for the field `submitted_by`, as a placeholder; or empty>"
|
||||
},
|
||||
"icon": "<WRITE: an icon name from the list at the end, the one that fits this best; or empty>",
|
||||
"labels": {
|
||||
"email": "<WRITE: a form label for the field `email`>",
|
||||
"page": "<WRITE: a form label for the field `page`>",
|
||||
"proposed_yaml": "<WRITE: a form label for the field `proposed_yaml`>",
|
||||
"rationale": "<WRITE: a form label for the field `rationale`>",
|
||||
"submitted_by": "<WRITE: a form label for the field `submitted_by`>"
|
||||
},
|
||||
"road_description": "<WRITE: one or two sentences walking the reader through the stages this goes through, in order (the stages are listed above), in their words>",
|
||||
"road_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"road_title": "<WRITE: a short title, two to four words, for the line that says what happens after sending>",
|
||||
"who_description": "<WRITE: one sentence: who reads what they send, and how to reach them meanwhile>",
|
||||
"who_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"who_title": "<WRITE: a short title, two to four words, for the line that says who reads it>"
|
||||
},
|
||||
"subscribe": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"encouragement": "<WRITE: one reassuring sentence: what happens with what they send, or how little it takes; or empty>",
|
||||
"form_description": "<WRITE: one short line of guidance above the form, or empty>",
|
||||
"form_title": "<WRITE: a title for the form, two to four words>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"hints": {
|
||||
"email": "<WRITE: an example answer for the field `email`, as a placeholder; or empty>",
|
||||
"name": "<WRITE: an example answer for the field `name`, as a placeholder; or empty>"
|
||||
},
|
||||
"icon": "<WRITE: an icon name from the list at the end, the one that fits this best; or empty>",
|
||||
"labels": {
|
||||
"email": "<WRITE: a form label for the field `email`>",
|
||||
"name": "<WRITE: a form label for the field `name`>"
|
||||
},
|
||||
"road_description": "<WRITE: one or two sentences walking the reader through the stages this goes through, in order (the stages are listed above), in their words>",
|
||||
"road_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"road_title": "<WRITE: a short title, two to four words, for the line that says what happens after sending>",
|
||||
"who_description": "<WRITE: one sentence: who reads what they send, and how to reach them meanwhile>",
|
||||
"who_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"who_title": "<WRITE: a short title, two to four words, for the line that says who reads it>"
|
||||
}
|
||||
},
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"description": "Three ways to be part of what UHHM builds: work with us, hear from us, or fix something on this site.",
|
||||
"needs": {
|
||||
"collaborate": {
|
||||
"button": "Get in touch",
|
||||
"description": "You want to build software with people who read the whole brief, not just the summary.",
|
||||
"encouragement": "A person reads this, not a form filter — worth the ten minutes.",
|
||||
"form_description": "Tell us who you are and what kind of work you're after.",
|
||||
"form_title": "Say hello",
|
||||
"heading": "Work with people who read the whole thing",
|
||||
"hints": {
|
||||
"email": "you@example.com",
|
||||
"interest": "Backend work, or something design-heavy",
|
||||
"name": "Your name",
|
||||
"note": "A bit about what you'd want to work on, or a link to your work"
|
||||
},
|
||||
"icon": "handshake",
|
||||
"labels": {
|
||||
"email": "Email",
|
||||
"interest": "What kind of work",
|
||||
"name": "Name",
|
||||
"note": "Tell us more"
|
||||
},
|
||||
"road_description": "We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too.",
|
||||
"road_icon": "route",
|
||||
"road_title": "What happens next",
|
||||
"who_description": "One of the owners reads this directly — for anything urgent, write to bl@uhhm.no.",
|
||||
"who_icon": "user-check",
|
||||
"who_title": "Who reads this"
|
||||
},
|
||||
"propose": {
|
||||
"button": "Send change",
|
||||
"description": "You've spotted something on this site that should read differently, and you know roughly how.",
|
||||
"encouragement": "Even a rough version helps — we can tidy the wording ourselves.",
|
||||
"form_description": "Point us to the page and show us the change.",
|
||||
"form_title": "Propose a change",
|
||||
"heading": "Get a page fixed the way you'd write it",
|
||||
"hints": {
|
||||
"email": "you@example.com",
|
||||
"page": "questions/join/index.yaml",
|
||||
"proposed_yaml": "heading: \"A clearer way to say this\"",
|
||||
"rationale": "The current heading doesn't say what you actually get",
|
||||
"submitted_by": "Your name"
|
||||
},
|
||||
"icon": "pencil",
|
||||
"labels": {
|
||||
"email": "Email",
|
||||
"page": "Which page",
|
||||
"proposed_yaml": "Your proposed text",
|
||||
"rationale": "Why this is better",
|
||||
"submitted_by": "Your name"
|
||||
},
|
||||
"road_description": "Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back.",
|
||||
"road_icon": "route",
|
||||
"road_title": "What happens next",
|
||||
"who_description": "An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive.",
|
||||
"who_icon": "user-check",
|
||||
"who_title": "Who reads this"
|
||||
},
|
||||
"subscribe": {
|
||||
"button": "Sign up",
|
||||
"description": "You'd rather hear from us now and then than check back on your own.",
|
||||
"encouragement": "One click unsubscribes you later, no questions asked.",
|
||||
"form_description": "Just your email, or your name too if you'd like.",
|
||||
"form_title": "Stay in the loop",
|
||||
"heading": "Hear from us only when there's something to say",
|
||||
"hints": {
|
||||
"email": "you@example.com",
|
||||
"name": "Your name"
|
||||
},
|
||||
"icon": "mail",
|
||||
"labels": {
|
||||
"email": "Email",
|
||||
"name": "Name"
|
||||
},
|
||||
"road_description": "You're on the list. We write when there's something worth saying, and you can leave the list whenever you like.",
|
||||
"road_icon": "bell",
|
||||
"road_title": "What happens next",
|
||||
"who_description": "An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first.",
|
||||
"who_icon": "user-check",
|
||||
"who_title": "Who reads this"
|
||||
}
|
||||
},
|
||||
"question": "How do you want to be part of this?"
|
||||
}
|
||||
```
|
||||
@@ -1,236 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/owners/index.yaml
|
||||
It is a desk: the page one role inside the business works from. Under `buckets`, each entry is a list of cases; `moves` are the buttons that move a case from one stage to the next (key `from->to`), so label each with what the person has just done. Under `links` are pages this role can open. Under `invites`, each entry is a form that invites a person into that group - they get an account and a one-time link - and `invited` is the list of invites sent.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"buckets": {
|
||||
"applicants": {
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"moves": {
|
||||
"active->declined": "<WRITE: a button, two to four words, for a case going active->declined>",
|
||||
"active->departed": "<WRITE: a button, two to four words, for a case going active->departed>",
|
||||
"invited->active": "<WRITE: a button, two to four words, for a case going invited->active>",
|
||||
"invited->declined": "<WRITE: a button, two to four words, for a case going invited->declined>",
|
||||
"open->declined": "<WRITE: a button, two to four words, for a case going open->declined>",
|
||||
"open->invited": "<WRITE: a button, two to four words, for a case going open->invited>"
|
||||
}
|
||||
},
|
||||
"custody_requests": {
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"moves": {}
|
||||
},
|
||||
"development_proposals": {
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"moves": {
|
||||
"open->approved": "<WRITE: a button, two to four words, for a case going open->approved>",
|
||||
"open->rejected": "<WRITE: a button, two to four words, for a case going open->rejected>"
|
||||
}
|
||||
},
|
||||
"organizations": {
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"moves": {
|
||||
"client->past_client": "<WRITE: a button, two to four words, for a case going client->past_client>",
|
||||
"prospect->client": "<WRITE: a button, two to four words, for a case going prospect->client>",
|
||||
"prospect->past_client": "<WRITE: a button, two to four words, for a case going prospect->past_client>"
|
||||
}
|
||||
},
|
||||
"projects": {
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"moves": {
|
||||
"open->accepted": "<WRITE: a button, two to four words, for a case going open->accepted>",
|
||||
"open->declined": "<WRITE: a button, two to four words, for a case going open->declined>"
|
||||
}
|
||||
},
|
||||
"subscribers": {
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"moves": {
|
||||
"open->unsubscribed": "<WRITE: a button, two to four words, for a case going open->unsubscribed>"
|
||||
}
|
||||
},
|
||||
"trials": {
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"moves": {
|
||||
"approved->declined": "<WRITE: a button, two to four words, for a case going approved->declined>",
|
||||
"approved->previewed": "<WRITE: a button, two to four words, for a case going approved->previewed>",
|
||||
"open->approved": "<WRITE: a button, two to four words, for a case going open->approved>",
|
||||
"open->declined": "<WRITE: a button, two to four words, for a case going open->declined>"
|
||||
}
|
||||
}
|
||||
},
|
||||
"confirm": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"invited": {
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"done": "<WRITE: a form label for the field `done`>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
|
||||
},
|
||||
"invites": {
|
||||
"custodians": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"form_title": "<WRITE: a title for the form, two to four words>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"labels": {
|
||||
"email": "<WRITE: a form label for the field `email`>",
|
||||
"name": "<WRITE: a form label for the field `name`>"
|
||||
}
|
||||
},
|
||||
"owners": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"form_title": "<WRITE: a title for the form, two to four words>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"labels": {
|
||||
"email": "<WRITE: a form label for the field `email`>",
|
||||
"name": "<WRITE: a form label for the field `name`>"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"prospect": {
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>"
|
||||
}
|
||||
},
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
{
|
||||
"buckets": {
|
||||
"applicants": {
|
||||
"description": "People who've asked to build with us, waiting on a decision or already working alongside us.",
|
||||
"heading": "People who want to build with us",
|
||||
"moves": {
|
||||
"active->declined": "End collaboration",
|
||||
"active->departed": "Mark departed",
|
||||
"invited->active": "Confirm active",
|
||||
"invited->declined": "Withdraw invite",
|
||||
"open->declined": "Decline applicant",
|
||||
"open->invited": "Send invite"
|
||||
}
|
||||
},
|
||||
"custody_requests": {
|
||||
"description": "Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands.",
|
||||
"heading": "What's been raised with custodians",
|
||||
"moves": {}
|
||||
},
|
||||
"development_proposals": {
|
||||
"description": "Changes visitors have proposed for pages on this site, waiting on a yes or no.",
|
||||
"heading": "Proposed changes to the site",
|
||||
"moves": {
|
||||
"open->approved": "Approve change",
|
||||
"open->rejected": "Reject change"
|
||||
}
|
||||
},
|
||||
"organizations": {
|
||||
"description": "Organizations you've met, tracked from first contact through to client and beyond.",
|
||||
"heading": "Organizations you're tracking",
|
||||
"moves": {
|
||||
"client->past_client": "Mark past client",
|
||||
"prospect->client": "Mark as client",
|
||||
"prospect->past_client": "Mark not pursued"
|
||||
}
|
||||
},
|
||||
"projects": {
|
||||
"description": "Briefs sent in by organizations with a problem they want solved.",
|
||||
"heading": "Briefs waiting on a reply",
|
||||
"moves": {
|
||||
"open->accepted": "Accept brief",
|
||||
"open->declined": "Decline brief"
|
||||
}
|
||||
},
|
||||
"subscribers": {
|
||||
"description": "People who want to hear from you now and then.",
|
||||
"heading": "Who's hearing from you",
|
||||
"moves": {
|
||||
"open->unsubscribed": "Unsubscribe them"
|
||||
}
|
||||
},
|
||||
"trials": {
|
||||
"description": "Businesses who want to see their own workflow as a working site before committing to anything.",
|
||||
"heading": "Trial sites in progress",
|
||||
"moves": {
|
||||
"approved->declined": "Decline trial",
|
||||
"approved->previewed": "Mark previewed",
|
||||
"open->approved": "Approve trial",
|
||||
"open->declined": "Decline trial"
|
||||
}
|
||||
}
|
||||
},
|
||||
"confirm": "Confirm",
|
||||
"description": "Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.",
|
||||
"invited": {
|
||||
"description": "People you've invited in, and whether they've taken it up yet.",
|
||||
"done": "Taken up",
|
||||
"heading": "Invites you've sent"
|
||||
},
|
||||
"invites": {
|
||||
"custodians": {
|
||||
"button": "Send invite",
|
||||
"description": "Bring someone in to help keep the first node and answer for the network.",
|
||||
"form_title": "Invite a custodian",
|
||||
"heading": "Bring in a custodian",
|
||||
"labels": {
|
||||
"email": "Their email",
|
||||
"name": "Their name"
|
||||
}
|
||||
},
|
||||
"owners": {
|
||||
"button": "Send invite",
|
||||
"description": "Bring someone in to work this desk alongside you.",
|
||||
"form_title": "Invite an owner",
|
||||
"heading": "Bring in another owner",
|
||||
"labels": {
|
||||
"email": "Their email",
|
||||
"name": "Their name"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"prospect": {
|
||||
"button": "Add prospect",
|
||||
"description": "Write down an organization worth following up, and track it from first contact onward.",
|
||||
"heading": "Track a new organization"
|
||||
}
|
||||
},
|
||||
"question": "What's waiting on me today?"
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/owners/prospect-sent.yaml
|
||||
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"back": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"next_description": "<WRITE: one or two short sentences>",
|
||||
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"back": "Back to site",
|
||||
"description": "Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking.",
|
||||
"next_description": "An owner walks it from prospect to client, and on to past client, as the relationship moves.",
|
||||
"next_heading": "It's on the desk now",
|
||||
"question": "What happens to this now?"
|
||||
}
|
||||
```
|
||||
@@ -1,92 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/owners/prospect.yaml
|
||||
It is a page only one role inside the business can open, holding one form.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"button": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"encouragement": "<WRITE: one reassuring sentence: what happens with what they send, or how little it takes; or empty>",
|
||||
"form_description": "<WRITE: one short line of guidance above the form, or empty>",
|
||||
"form_title": "<WRITE: a title for the form, two to four words>",
|
||||
"heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"hints": {
|
||||
"contact": "<WRITE: an example answer for the field `contact`, as a placeholder; or empty>",
|
||||
"name": "<WRITE: an example answer for the field `name`, as a placeholder; or empty>",
|
||||
"note": "<WRITE: an example answer for the field `note`, as a placeholder; or empty>"
|
||||
},
|
||||
"icon": "<WRITE: an icon name from the list at the end, the one that fits this best; or empty>",
|
||||
"labels": {
|
||||
"contact": "<WRITE: a form label for the field `contact`>",
|
||||
"name": "<WRITE: a form label for the field `name`>",
|
||||
"note": "<WRITE: a form label for the field `note`>"
|
||||
},
|
||||
"page_description": "<WRITE: one or two short sentences>",
|
||||
"question": "<WRITE: the one question this page asks its reader>",
|
||||
"road_description": "<WRITE: one or two sentences walking the reader through the stages this goes through, in order (the stages are listed above), in their words>",
|
||||
"road_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"road_title": "<WRITE: a short title, two to four words, for the line that says what happens after sending>",
|
||||
"who_description": "<WRITE: one sentence: who reads what they send, and how to reach them meanwhile>",
|
||||
"who_icon": "<WRITE: an icon name from the list at the end that fits this section; or empty>",
|
||||
"who_title": "<WRITE: a short title, two to four words, for the line that says who reads it>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"button": "Add to prospects",
|
||||
"description": "One line per organization worth watching, moved through the stages as things develop.",
|
||||
"encouragement": "Takes a minute, and it's yours to update later.",
|
||||
"form_description": "Name the organization and where things stand.",
|
||||
"form_title": "New prospect",
|
||||
"heading": "Keep an organization on your radar",
|
||||
"hints": {
|
||||
"contact": "met at the bakers' conference, [email protected]",
|
||||
"name": "Nordvik Bakery",
|
||||
"note": "wants a booking flow, follow up after harvest season"
|
||||
},
|
||||
"icon": "briefcase",
|
||||
"labels": {
|
||||
"contact": "Contact",
|
||||
"name": "Organization",
|
||||
"note": "Note"
|
||||
},
|
||||
"page_description": "Write down an organization worth following up, and move it through client and past client as things develop.",
|
||||
"question": "Is there an organization I should be keeping track of?",
|
||||
"road_description": "It sits as a prospect until something moves - then you mark it client, and later past client if the work ends.",
|
||||
"road_icon": "route",
|
||||
"road_title": "Moves as you update it",
|
||||
"who_description": "Only you see this, so keep it wherever you check next.",
|
||||
"who_icon": "user",
|
||||
"who_title": "Just for you"
|
||||
}
|
||||
```
|
||||
@@ -1,52 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/received/collaborate.yaml
|
||||
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"back": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"next_description": "<WRITE: one or two short sentences>",
|
||||
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"back": "Back to site",
|
||||
"description": "Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring.",
|
||||
"next_description": "If it looks like a fit, we'll reach out to talk about where you could help.",
|
||||
"next_heading": "We'll write if there's a fit",
|
||||
"question": "What happens to what I just sent?"
|
||||
}
|
||||
```
|
||||
@@ -1,52 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/received/commission.yaml
|
||||
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"back": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"next_description": "<WRITE: one or two short sentences>",
|
||||
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"back": "Back to home",
|
||||
"description": "Your brief is in. An owner reads every commission end to end before replying.",
|
||||
"next_description": "Expect a reply within a few working days, either way, straight to your inbox.",
|
||||
"next_heading": "A real reply from someone who read it",
|
||||
"question": "What happens now that we've sent our brief?"
|
||||
}
|
||||
```
|
||||
@@ -1,52 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/received/custody.yaml
|
||||
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"back": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"next_description": "<WRITE: one or two short sentences>",
|
||||
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"back": "Back to the site",
|
||||
"description": "A custodian reads every message about the redoal network and what it keeps.",
|
||||
"next_description": "Expect a reply once your report has been looked at and the network checked.",
|
||||
"next_heading": "A custodian is on it",
|
||||
"question": "Who looks after what the network keeps?"
|
||||
}
|
||||
```
|
||||
@@ -1,52 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/received/propose.yaml
|
||||
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"back": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"next_description": "<WRITE: one or two short sentences>",
|
||||
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"back": "Back home",
|
||||
"description": "Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page.",
|
||||
"next_description": "We'll write back once it's been read — approved and made live, or turned down with a reason.",
|
||||
"next_heading": "A read, then a decision",
|
||||
"question": "What happens to my proposal now?"
|
||||
}
|
||||
```
|
||||
@@ -1,52 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/received/subscribe.yaml
|
||||
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"back": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"next_description": "<WRITE: one or two short sentences>",
|
||||
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"back": "Back to site",
|
||||
"description": "You'll hear from us when there's something worth saying, not on a schedule.",
|
||||
"next_description": "You're on the list. Every note has an unsubscribe link if it stops being useful.",
|
||||
"next_heading": "You're on the list",
|
||||
"question": "What happens now that I've subscribed?"
|
||||
}
|
||||
```
|
||||
@@ -1,52 +0,0 @@
|
||||
You write the words for one page of a website for this business.
|
||||
|
||||
Business: UHHM
|
||||
About: UHHM builds software around a clear argument: infrastructure, tools and products for organizations that can say what problem they have. It also builds and carries the redoal network - the gesture math, the relay, the first node, and the portal this site runs on - and answers for what that network keeps.
|
||||
Contact: Bendik Aagaard Lynghaug <bl@uhhm.no>
|
||||
Language to write in: en
|
||||
|
||||
Everyone the site serves:
|
||||
- door build: for an organization with a problem software should solve, or a business that wants to see its own workflow as a working site before paying anyone; behind it: commission, trial
|
||||
- door join: for someone who wants to build with us, hear from us now and then, or change this site; behind it: collaborate, subscribe, propose
|
||||
- commission: an organization with a problem it wants software to solve - wants: a considered reply to a brief, from people who read the whole thing. Handled by owners. Stages: open -> accepted -> declined.
|
||||
- trial: someone who runs a business where requests, approvals and handovers get lost, and wants to see it as a site before committing to anything - wants: a first draft of a site for their own roles, built from their own words and approved by a person first. Handled by owners. Stages: open -> approved -> previewed -> declined.
|
||||
- collaborate: someone who wants to work with us on what we build - wants: to be read as a person, and invited in if there is a fit. Handled by owners. Stages: open -> invited -> active -> departed -> declined.
|
||||
- subscribe: someone who wants to hear from us when there is something to say - wants: a note now and then, and an easy way out. Handled by owners. Stages: open -> unsubscribed.
|
||||
- propose: a visitor who sees how a page on this site should change - wants: the change read by a person and, if approved, made. Handled by owners. Stages: open -> approved -> rejected.
|
||||
- custody: someone who runs, builds on, or is affected by the redoal network and needs the people who keep its first node - wants: an answer from a custodian, and action where the network keeps something it should not. Handled by custodians. Stages: open -> in_dialogue -> resolved -> declined.
|
||||
- prospect: an owner who has met an organization worth following up - wants: it written down and walked through its states from the desk. Handled by owners. Stages: prospect -> client -> past_client.
|
||||
|
||||
The page: questions/received/trial.yaml
|
||||
It is a page shown right after someone has sent a form. Say who reads it, when they answer, and what happens next.
|
||||
|
||||
Below is the page as JSON. Every value is a slot that says what to write there. Return the same JSON with every slot replaced by your words. Keep every key exactly as it is. A slot left as it is counts as no answer.
|
||||
|
||||
Rules for the words:
|
||||
- `question` is a question the reader could ask themselves.
|
||||
- A heading says what the reader gets, in the reader's own words, and must work without its description.
|
||||
- Lead with what a thing enables. No negations in headings. No trade jargon the reader would not use.
|
||||
- Descriptions are one or two short sentences. Labels and buttons are a few words.
|
||||
- The button says what pressing it does; the encouragement says what happens next or how little it takes; the form's guidance line says what to have ready. Placeholders are example answers in the reader's words.
|
||||
- An icon is one name from this list, chosen for what the reader is doing, or empty: house, building-2, store, school, map-pin, route, footprints, trees, leaf, snowflake, sun, users, user, user-plus, user-check, baby, heart-handshake, hand-helping, handshake, smile, mail, phone, message-circle, megaphone, bell, send, inbox, alert-triangle, siren, shield, construction, hammer, wrench, ruler, package, truck, car, bus, train-front, bike, calendar, clock, file-text, clipboard-list, receipt, wallet, coins, banknote, credit-card, key, lock, search, star, gift, shopping-cart, lightbulb, flag, thumbs-up, check-circle, briefcase, stethoscope, activity, camera, pencil, refresh-cw, list, layers, vote, scale
|
||||
- Write the way people in this trade and country actually speak.
|
||||
|
||||
{
|
||||
"back": "<WRITE: a button, one to three words, saying what pressing it does>",
|
||||
"description": "<WRITE: one or two short sentences>",
|
||||
"next_description": "<WRITE: one or two short sentences>",
|
||||
"next_heading": "<WRITE: a heading, at most eight words, saying what the reader gets>",
|
||||
"question": "<WRITE: the one question this page asks its reader>"
|
||||
}
|
||||
|
||||
Reply with the JSON object only.
|
||||
|
||||
=== REPLY ===
|
||||
```json
|
||||
{
|
||||
"back": "Back to site",
|
||||
"description": "We read every trial request ourselves before anything gets built.",
|
||||
"next_description": "If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live.",
|
||||
"next_heading": "A first draft, built from your own words",
|
||||
"question": "What happens now that you've sent this?"
|
||||
}
|
||||
```
|
||||
@@ -2,48 +2,48 @@
|
||||
"aggregates.yaml": {
|
||||
"custody_requests": {
|
||||
"declined": {
|
||||
"body": "Hello {name},\n\nWhat you sent about an answer from a custodian, and action where the network keeps something it should not is now declined.\n\nBendik Aagaard Lynghaug at bl@uhhm.no",
|
||||
"subject": "UHHM: Declined"
|
||||
"body": "We've read your message and decided this isn't something we can take on as custodians. If you think we've missed something, write back and tell us.",
|
||||
"subject": "On your message to the custodians"
|
||||
},
|
||||
"open": {
|
||||
"body": "Hello {name},\n\nWe have received what you sent about an answer from a custodian, and action where the network keeps something it should not.\n\nBendik Aagaard Lynghaug at bl@uhhm.no",
|
||||
"subject": "UHHM: Open"
|
||||
"body": "Your message reached the custodians of the first node. We read everything that comes in - expect a real reply, not an autoresponder.",
|
||||
"subject": "We have your message"
|
||||
},
|
||||
"resolved": {
|
||||
"body": "Hello {name},\n\nWhat you sent about an answer from a custodian, and action where the network keeps something it should not is now resolved.\n\nBendik Aagaard Lynghaug at bl@uhhm.no",
|
||||
"subject": "UHHM: Resolved"
|
||||
"body": "This is resolved. Here's what we found and what we did about it - write back if it isn't settled from where you sit.",
|
||||
"subject": "Your case is resolved"
|
||||
}
|
||||
},
|
||||
"projects": {
|
||||
"accepted": {
|
||||
"body": "Hello {name},\n\nWhat you sent about a considered reply to a brief, from people who read the whole thing is now accepted.\n\nBendik Aagaard Lynghaug at bl@uhhm.no",
|
||||
"subject": "UHHM: Accepted"
|
||||
"body": "We want to take this on. Next we'll be in touch to talk through scope, timing and how we'll work together.",
|
||||
"subject": "We'd like to take this on"
|
||||
},
|
||||
"declined": {
|
||||
"body": "Hello {name},\n\nWhat you sent about a considered reply to a brief, from people who read the whole thing is now declined.\n\nBendik Aagaard Lynghaug at bl@uhhm.no",
|
||||
"subject": "UHHM: Declined"
|
||||
"body": "We've read your brief and this isn't one we're taking on. It isn't a judgment on the problem - just not a fit for us right now.",
|
||||
"subject": "On your brief"
|
||||
},
|
||||
"open": {
|
||||
"body": "Hello {name},\n\nWe have received what you sent about a considered reply to a brief, from people who read the whole thing.\n\nWhat you can do next: {site}/decide/commission?chain={chain}&email={email}\n\nBendik Aagaard Lynghaug at bl@uhhm.no",
|
||||
"subject": "UHHM: Open"
|
||||
"body": "Your brief is in front of us. We read the whole thing before we reply, so it may take a few days - you'll hear from us either way.\n\nWhat you can do next: {site}/decide/commission?chain={chain}&email={email}",
|
||||
"subject": "We have your brief"
|
||||
}
|
||||
},
|
||||
"trials": {
|
||||
"approved": {
|
||||
"body": "Hello,\n\nWhat you sent about a first draft of a site for their own roles, built from their own words and approved by a person first is now approved.\n\nBendik Aagaard Lynghaug at bl@uhhm.no",
|
||||
"subject": "UHHM: Approved"
|
||||
"body": "Your draft is approved and on its way. We built it from your own words - have a look when it's ready and tell us what to change.",
|
||||
"subject": "Your draft is approved"
|
||||
},
|
||||
"declined": {
|
||||
"body": "Hello,\n\nWhat you sent about a first draft of a site for their own roles, built from their own words and approved by a person first is now declined.\n\nBendik Aagaard Lynghaug at bl@uhhm.no",
|
||||
"subject": "UHHM: Declined"
|
||||
"body": "We've decided not to build this draft. If the situation changes, get back in touch and we'll take another look.",
|
||||
"subject": "On your draft"
|
||||
},
|
||||
"open": {
|
||||
"body": "Hello,\n\nWe have received what you sent about a first draft of a site for their own roles, built from their own words and approved by a person first.\n\nBendik Aagaard Lynghaug at bl@uhhm.no",
|
||||
"subject": "UHHM: Open"
|
||||
"body": "We have what you sent. A person will read it and build your draft, or tell you why not - you'll hear from us either way.",
|
||||
"subject": "We're looking at your draft"
|
||||
},
|
||||
"previewed": {
|
||||
"body": "Hello,\n\nWhat you sent about a first draft of a site for their own roles, built from their own words and approved by a person first is now previewed.\n\nBendik Aagaard Lynghaug at bl@uhhm.no",
|
||||
"subject": "UHHM: Previewed"
|
||||
"body": "Your draft is ready to look at. It's built from your own words - the link below takes you straight to it.",
|
||||
"subject": "Your draft is ready to view"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -0,0 +1,501 @@
|
||||
{
|
||||
"aggregates.yaml": {
|
||||
"custody_requests": {
|
||||
"declined": {
|
||||
"body": "We've read your message and decided this isn't something we can take on as custodians. If you think we've missed something, write back and tell us.",
|
||||
"subject": "On your message to the custodians"
|
||||
},
|
||||
"open": {
|
||||
"body": "Your message reached the custodians of the first node. We read everything that comes in - expect a real reply, not an autoresponder.",
|
||||
"subject": "We have your message"
|
||||
},
|
||||
"resolved": {
|
||||
"body": "This is resolved. Here's what we found and what we did about it - write back if it isn't settled from where you sit.",
|
||||
"subject": "Your case is resolved"
|
||||
}
|
||||
},
|
||||
"projects": {
|
||||
"accepted": {
|
||||
"body": "We want to take this on. Next we'll be in touch to talk through scope, timing and how we'll work together.",
|
||||
"subject": "We'd like to take this on"
|
||||
},
|
||||
"declined": {
|
||||
"body": "We've read your brief and this isn't one we're taking on. It isn't a judgment on the problem - just not a fit for us right now.",
|
||||
"subject": "On your brief"
|
||||
},
|
||||
"open": {
|
||||
"body": "Your brief is in front of us. We read the whole thing before we reply, so it may take a few days - you'll hear from us either way.\n\nWhat you can do next: {site}/decide/commission?chain={chain}&email={email}",
|
||||
"subject": "We have your brief"
|
||||
}
|
||||
},
|
||||
"trials": {
|
||||
"approved": {
|
||||
"body": "Your draft is approved and on its way. We built it from your own words - have a look when it's ready and tell us what to change.",
|
||||
"subject": "Your draft is approved"
|
||||
},
|
||||
"declined": {
|
||||
"body": "We've decided not to build this draft. If the situation changes, get back in touch and we'll take another look.",
|
||||
"subject": "On your draft"
|
||||
},
|
||||
"open": {
|
||||
"body": "We have what you sent. A person will read it and build your draft, or tell you why not - you'll hear from us either way.",
|
||||
"subject": "We're looking at your draft"
|
||||
},
|
||||
"previewed": {
|
||||
"body": "Your draft is ready to look at. It's built from your own words - the link below takes you straight to it.",
|
||||
"subject": "Your draft is ready to view"
|
||||
}
|
||||
}
|
||||
},
|
||||
"questions/custodians/index.yaml": {
|
||||
"buckets": {
|
||||
"custody_requests": {
|
||||
"description": "Cases from people who use, build on, or answer for something the redoal network touches, and need a custodian's word on it.",
|
||||
"heading": "Custody cases waiting on you",
|
||||
"moves": {
|
||||
"in_dialogue->declined": "Close, no action",
|
||||
"in_dialogue->resolved": "Mark resolved",
|
||||
"open->declined": "Decline case",
|
||||
"open->in_dialogue": "Open dialogue"
|
||||
}
|
||||
}
|
||||
},
|
||||
"confirm": "Confirm",
|
||||
"description": "The desk for custodians: open custody cases, and the people invited to answer them.",
|
||||
"invited": {
|
||||
"description": "Custodians invited but not yet signed in.",
|
||||
"done": "Signed in",
|
||||
"heading": "Invited custodians"
|
||||
},
|
||||
"invites": {
|
||||
"custodians": {
|
||||
"button": "Invite custodian",
|
||||
"description": "Give someone an account and a one-time link to join as a custodian.",
|
||||
"form_title": "Invite a custodian",
|
||||
"heading": "Bring in another custodian",
|
||||
"labels": {
|
||||
"email": "Email",
|
||||
"name": "Name"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {},
|
||||
"question": "What is waiting on the custodians?"
|
||||
},
|
||||
"questions/decide/commission.yaml": {
|
||||
"description": "",
|
||||
"moves": {
|
||||
"declined": {
|
||||
"button": "Declined",
|
||||
"description": "",
|
||||
"heading": "Declined"
|
||||
}
|
||||
},
|
||||
"question": "What would you like to do?"
|
||||
},
|
||||
"questions/decide/custody.yaml": {
|
||||
"description": "",
|
||||
"moves": {
|
||||
"resolved": {
|
||||
"button": "Resolved",
|
||||
"description": "",
|
||||
"heading": "Resolved"
|
||||
}
|
||||
},
|
||||
"question": "What would you like to do?"
|
||||
},
|
||||
"questions/decide/subscribe.yaml": {
|
||||
"description": "You're on our list. Change your mind whenever you like.",
|
||||
"moves": {
|
||||
"unsubscribed": {
|
||||
"button": "Unsubscribe",
|
||||
"description": "You'll stop hearing from us. Nothing else changes.",
|
||||
"heading": "Stop getting notes from us"
|
||||
}
|
||||
},
|
||||
"question": "Do you want to keep hearing from us?"
|
||||
},
|
||||
"questions/index.yaml": {
|
||||
"description": "UHHM builds software for organisations that can say what problem they have, and keeps the redoal network underneath.",
|
||||
"doors": {},
|
||||
"needs": {
|
||||
"collaborate": {
|
||||
"button": "Get in touch",
|
||||
"description": "A developer, a designer, a student: say what you would want to build with us, and we read it as a person and invite you in if there is a fit.",
|
||||
"encouragement": "A person reads this, not a form filter — worth the ten minutes.",
|
||||
"form_description": "Tell us who you are and what kind of work you're after.",
|
||||
"form_title": "Say hello",
|
||||
"heading": "Work with us",
|
||||
"hints": {
|
||||
"email": "you@example.com",
|
||||
"interest": "Backend work, or something design-heavy",
|
||||
"name": "Your name",
|
||||
"note": "A bit about what you'd want to work on, or a link to your work"
|
||||
},
|
||||
"icon": "handshake",
|
||||
"labels": {
|
||||
"email": "Email",
|
||||
"interest": "What kind of work",
|
||||
"name": "Name",
|
||||
"note": "Tell us more"
|
||||
},
|
||||
"road_description": "We read what you send and get back to you. If there's a fit, we invite you in and you start working with us — and if things ever change, that's fine too.",
|
||||
"road_icon": "route",
|
||||
"road_title": "What happens next",
|
||||
"who_description": "One of the owners reads this directly — for anything urgent, write to bl@uhhm.no.",
|
||||
"who_icon": "user-check",
|
||||
"who_title": "Who reads this"
|
||||
},
|
||||
"commission": {
|
||||
"button": "Send the brief",
|
||||
"description": "You know the problem and want it solved, whether it is infrastructure, a tool, or the first version of a product. Write it up for people who read the whole thing.",
|
||||
"encouragement": "Someone here reads every brief in full before writing back.",
|
||||
"form_description": "The more of the problem you put in, the better the reply.",
|
||||
"form_title": "Tell us the problem",
|
||||
"heading": "Have us build it: send the brief",
|
||||
"hints": {
|
||||
"email": "sara@company.com",
|
||||
"name": "Sara Nilsen",
|
||||
"org_contact": "Sara Nilsen, ops manager",
|
||||
"organization": "Nilsen Transport AS",
|
||||
"project": "Our drivers log hours on paper and it takes a day to get them into payroll."
|
||||
},
|
||||
"icon": "briefcase",
|
||||
"labels": {
|
||||
"email": "Your email",
|
||||
"name": "Your name",
|
||||
"org_contact": "Who we should talk to",
|
||||
"organization": "Your organization",
|
||||
"project": "The problem you want solved"
|
||||
},
|
||||
"road_description": "We read your brief and either take it on or tell you honestly if it's not a fit.",
|
||||
"road_icon": "route",
|
||||
"road_title": "What happens next",
|
||||
"who_description": "One of the owners reads it; write to bl@uhhm.no if you'd rather reach us directly.",
|
||||
"who_icon": "user-check",
|
||||
"who_title": "Who reads this"
|
||||
},
|
||||
"custody": {
|
||||
"button": "Send to a custodian",
|
||||
"description": "UHHM hosts the redoal network's first node and answers for what it keeps. Write here if you run a node, build on the network, or want something it holds about you looked at.",
|
||||
"encouragement": "A custodian reads every message that comes in here.",
|
||||
"form_description": "Say which of the four it is, and what you need, in a few lines.",
|
||||
"form_title": "Reach a custodian",
|
||||
"heading": "You are on the redoal network: a node, an app, or a recording that concerns you",
|
||||
"hints": {
|
||||
"about": "We run our order system on a relay node and it's been dropping messages since Tuesday",
|
||||
"email": "you@yourcompany.com",
|
||||
"name": "Your name",
|
||||
"what": "A relay node is misbehaving"
|
||||
},
|
||||
"icon": "shield",
|
||||
"labels": {
|
||||
"about": "What's going on",
|
||||
"email": "Email",
|
||||
"name": "Name",
|
||||
"what": "In short"
|
||||
},
|
||||
"road_description": "A custodian opens a dialogue with you. A node gets its peer, a builder gets an answer, and something the network should not keep gets removed. Either way you hear what was decided.",
|
||||
"road_icon": "route",
|
||||
"road_title": "What happens next",
|
||||
"who_description": "A custodian reads it directly; if it's urgent, write to bl@uhhm.no in the meantime.",
|
||||
"who_icon": "user-check",
|
||||
"who_title": "Who reads this"
|
||||
},
|
||||
"propose": {
|
||||
"button": "Send change",
|
||||
"description": "You have spotted a page on uhhm.no that should read differently, and you know roughly how.",
|
||||
"encouragement": "Even a rough version helps — we can tidy the wording ourselves.",
|
||||
"form_description": "Point us to the page and show us the change.",
|
||||
"form_title": "Propose a change",
|
||||
"heading": "Suggest a change to this website",
|
||||
"hints": {
|
||||
"email": "you@example.com",
|
||||
"page": "questions/join/index.yaml",
|
||||
"proposed_yaml": "heading: \"A clearer way to say this\"",
|
||||
"rationale": "The current heading doesn't say what you actually get",
|
||||
"submitted_by": "Your name"
|
||||
},
|
||||
"icon": "pencil",
|
||||
"labels": {
|
||||
"email": "Email",
|
||||
"page": "Which page",
|
||||
"proposed_yaml": "Your proposed text",
|
||||
"rationale": "Why this is better",
|
||||
"submitted_by": "Your name"
|
||||
},
|
||||
"road_description": "Someone here reads your proposal and either makes the change or explains why not. Either way, you'll hear back.",
|
||||
"road_icon": "route",
|
||||
"road_title": "What happens next",
|
||||
"who_description": "An owner reads every proposal before anything changes — reach us at bl@uhhm.no if it's time-sensitive.",
|
||||
"who_icon": "user-check",
|
||||
"who_title": "Who reads this"
|
||||
},
|
||||
"subscribe": {
|
||||
"button": "Sign up",
|
||||
"description": "You'd rather hear from us now and then than check back on your own.",
|
||||
"encouragement": "One click unsubscribes you later, no questions asked.",
|
||||
"form_description": "Just your email, or your name too if you'd like.",
|
||||
"form_title": "Stay in the loop",
|
||||
"heading": "Hear from us now and then",
|
||||
"hints": {
|
||||
"email": "you@example.com",
|
||||
"name": "Your name"
|
||||
},
|
||||
"icon": "mail",
|
||||
"labels": {
|
||||
"email": "Email",
|
||||
"name": "Name"
|
||||
},
|
||||
"road_description": "You're on the list. We write when there's something worth saying, and you can leave the list whenever you like.",
|
||||
"road_icon": "bell",
|
||||
"road_title": "What happens next",
|
||||
"who_description": "An owner sends these notes directly — write to bl@uhhm.no if you'd rather ask something first.",
|
||||
"who_icon": "user-check",
|
||||
"who_title": "Who reads this"
|
||||
},
|
||||
"trial": {
|
||||
"button": "Start the draft",
|
||||
"description": "Describe how requests, approvals and handovers move through your business today. We approve it by hand and build a working draft of a site for your own roles, for you to click through.",
|
||||
"encouragement": "A person looks at what you send before anything gets built.",
|
||||
"form_description": "Answer in your own words - there's no wrong way to describe your business.",
|
||||
"form_title": "Describe your business",
|
||||
"heading": "See your own business as a site, before you buy anything",
|
||||
"hints": {
|
||||
"business": "Nilsen Transport AS",
|
||||
"email": "sara@company.com",
|
||||
"what_slows_us_down": "Approvals sit in someone's inbox for days before anyone acts on them.",
|
||||
"what_we_do": "We move freight for local businesses and handle the paperwork for them.",
|
||||
"what_we_keep_track_of": "Bookings, driver hours, and which loads are still waiting on a signature.",
|
||||
"who_comes_to_us": "Local businesses that need something moved on short notice.",
|
||||
"who_is_involved": "Drivers, dispatchers, and the customers waiting on their delivery."
|
||||
},
|
||||
"icon": "layers",
|
||||
"labels": {
|
||||
"business": "Your business",
|
||||
"email": "Your email",
|
||||
"what_slows_us_down": "What slows you down",
|
||||
"what_we_do": "What you do",
|
||||
"what_we_keep_track_of": "What you keep track of",
|
||||
"who_comes_to_us": "Who comes to you",
|
||||
"who_is_involved": "Who's involved"
|
||||
},
|
||||
"road_description": "We look at what you sent and, if it's a fit, build a draft from your own roles and words for you to see before anything moves further.",
|
||||
"road_icon": "route",
|
||||
"road_title": "What happens next",
|
||||
"who_description": "An owner looks at what you send; write to bl@uhhm.no if you'd rather reach us directly.",
|
||||
"who_icon": "user-check",
|
||||
"who_title": "Who reads this"
|
||||
}
|
||||
},
|
||||
"opener": {
|
||||
"description": "Two things, both built here and both running.",
|
||||
"features": {
|
||||
"redoal": {
|
||||
"description": "UHHM builds and carries the redoal network: the gesture math, the relay, the first node, and the portal this page runs on. Run a node, build on it, or have a recording removed, and you say when it is resolved.",
|
||||
"heading": "A network that answers to you",
|
||||
"icon": "waypoints"
|
||||
},
|
||||
"software": {
|
||||
"description": "Infrastructure, tools and products for organizations that can say what problem they have. Bring the brief, or first see your own way of working as a working site, before you pay for anything. The brief stays yours: you can withdraw it yourself.",
|
||||
"heading": "A considered reply to your brief, and software that fits the argument",
|
||||
"icon": "layers"
|
||||
}
|
||||
},
|
||||
"heading": "What UHHM does"
|
||||
},
|
||||
"question": "What is UHHM, and what can you get here?",
|
||||
"shopping": {
|
||||
"description": "Nothing to fill in here. What is already out in the world, and the network as it runs right now.",
|
||||
"heading": "Have a look around first",
|
||||
"items": {
|
||||
"built": {
|
||||
"description": "A few things already out in the world.",
|
||||
"heading": "What we have built",
|
||||
"icon": "hammer"
|
||||
},
|
||||
"voices": {
|
||||
"description": "Straight from the relay, the first node of the network.",
|
||||
"heading": "The redoal network, live",
|
||||
"icon": "activity"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"questions/owners/index.yaml": {
|
||||
"buckets": {
|
||||
"applicants": {
|
||||
"description": "People who've asked to build with us, waiting on a decision or already working alongside us.",
|
||||
"heading": "People who want to build with us",
|
||||
"moves": {
|
||||
"active->declined": "End collaboration",
|
||||
"active->departed": "Mark departed",
|
||||
"invited->active": "Confirm active",
|
||||
"invited->declined": "Withdraw invite",
|
||||
"open->declined": "Decline applicant",
|
||||
"open->invited": "Send invite"
|
||||
}
|
||||
},
|
||||
"custody_requests": {
|
||||
"description": "Questions and issues raised with the people who keep the first node - custodians handle these, but you can see where each one stands.",
|
||||
"heading": "What's been raised with custodians",
|
||||
"moves": {}
|
||||
},
|
||||
"development_proposals": {
|
||||
"description": "Changes visitors have proposed for pages on this site, waiting on a yes or no.",
|
||||
"heading": "Proposed changes to the site",
|
||||
"moves": {
|
||||
"open->approved": "Approve change",
|
||||
"open->rejected": "Reject change"
|
||||
}
|
||||
},
|
||||
"organizations": {
|
||||
"description": "Organizations you've met, tracked from first contact through to client and beyond.",
|
||||
"heading": "Organizations you're tracking",
|
||||
"moves": {
|
||||
"client->past_client": "Mark past client",
|
||||
"prospect->client": "Mark as client",
|
||||
"prospect->past_client": "Mark not pursued"
|
||||
}
|
||||
},
|
||||
"projects": {
|
||||
"description": "Briefs sent in by organizations with a problem they want solved.",
|
||||
"heading": "Briefs waiting on a reply",
|
||||
"moves": {
|
||||
"open->accepted": "Accept brief",
|
||||
"open->declined": "Decline brief"
|
||||
}
|
||||
},
|
||||
"subscribers": {
|
||||
"description": "People who want to hear from you now and then.",
|
||||
"heading": "Who's hearing from you",
|
||||
"moves": {
|
||||
"open->unsubscribed": "Unsubscribe them"
|
||||
}
|
||||
},
|
||||
"trials": {
|
||||
"description": "Businesses who want to see their own workflow as a working site before committing to anything.",
|
||||
"heading": "Trial sites in progress",
|
||||
"moves": {
|
||||
"approved->declined": "Decline trial",
|
||||
"approved->previewed": "Mark previewed",
|
||||
"open->approved": "Approve trial",
|
||||
"open->declined": "Decline trial"
|
||||
}
|
||||
}
|
||||
},
|
||||
"confirm": "Confirm",
|
||||
"description": "Everything waiting on you: briefs, trials, applicants, subscribers, and proposals, all in one place.",
|
||||
"invited": {
|
||||
"description": "People you've invited in, and whether they've taken it up yet.",
|
||||
"done": "Taken up",
|
||||
"heading": "Invites you've sent"
|
||||
},
|
||||
"invites": {
|
||||
"custodians": {
|
||||
"button": "Send invite",
|
||||
"description": "Bring someone in to help keep the first node and answer for the network.",
|
||||
"form_title": "Invite a custodian",
|
||||
"heading": "Bring in a custodian",
|
||||
"labels": {
|
||||
"email": "Their email",
|
||||
"name": "Their name"
|
||||
}
|
||||
},
|
||||
"owners": {
|
||||
"button": "Send invite",
|
||||
"description": "Bring someone in to work this desk alongside you.",
|
||||
"form_title": "Invite an owner",
|
||||
"heading": "Bring in another owner",
|
||||
"labels": {
|
||||
"email": "Their email",
|
||||
"name": "Their name"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"prospect": {
|
||||
"button": "Add prospect",
|
||||
"description": "Write down an organization worth following up, and track it from first contact onward.",
|
||||
"heading": "Track a new organization"
|
||||
}
|
||||
},
|
||||
"question": "What's waiting on me today?"
|
||||
},
|
||||
"questions/owners/prospect-sent.yaml": {
|
||||
"back": "Back to site",
|
||||
"description": "Thanks — we've got your prospect written down, and it now moves through the desk with everything else we're tracking.",
|
||||
"next_description": "An owner walks it from prospect to client, and on to past client, as the relationship moves.",
|
||||
"next_heading": "It's on the desk now",
|
||||
"question": "What happens to this now?"
|
||||
},
|
||||
"questions/owners/prospect.yaml": {
|
||||
"button": "Add to prospects",
|
||||
"description": "One line per organization worth watching, moved through the stages as things develop.",
|
||||
"encouragement": "Takes a minute, and it's yours to update later.",
|
||||
"form_description": "Name the organization and where things stand.",
|
||||
"form_title": "New prospect",
|
||||
"heading": "Keep an organization on your radar",
|
||||
"hints": {
|
||||
"contact": "met at the bakers' conference, [email protected]",
|
||||
"name": "Nordvik Bakery",
|
||||
"note": "wants a booking flow, follow up after harvest season"
|
||||
},
|
||||
"icon": "briefcase",
|
||||
"labels": {
|
||||
"contact": "Contact",
|
||||
"name": "Organization",
|
||||
"note": "Note"
|
||||
},
|
||||
"page_description": "Write down an organization worth following up, and move it through client and past client as things develop.",
|
||||
"question": "Is there an organization I should be keeping track of?",
|
||||
"road_description": "It sits as a prospect until something moves - then you mark it client, and later past client if the work ends.",
|
||||
"road_icon": "route",
|
||||
"road_title": "Moves as you update it",
|
||||
"who_description": "Only you see this, so keep it wherever you check next.",
|
||||
"who_icon": "user",
|
||||
"who_title": "Just for you"
|
||||
},
|
||||
"questions/received/collaborate.yaml": {
|
||||
"back": "Back to site",
|
||||
"description": "Your note is in. An owner reads every one and will get back to you if there's a fit worth exploring.",
|
||||
"next_description": "If it looks like a fit, we'll reach out to talk about where you could help.",
|
||||
"next_heading": "We'll write if there's a fit",
|
||||
"question": "What happens to what I just sent?"
|
||||
},
|
||||
"questions/received/commission.yaml": {
|
||||
"back": "Back to home",
|
||||
"description": "Your brief is in. An owner reads every commission end to end before replying.",
|
||||
"next_description": "Expect a reply within a few working days, either way, straight to your inbox.",
|
||||
"next_heading": "A real reply from someone who read it",
|
||||
"question": "What happens now that we've sent our brief?"
|
||||
},
|
||||
"questions/received/custody.yaml": {
|
||||
"back": "Back to the site",
|
||||
"description": "A custodian reads every message about the redoal network and what it keeps.",
|
||||
"next_description": "Expect a reply once your report has been looked at and the network checked.",
|
||||
"next_heading": "A custodian is on it",
|
||||
"question": "Who looks after what the network keeps?"
|
||||
},
|
||||
"questions/received/propose.yaml": {
|
||||
"back": "Back home",
|
||||
"description": "Your proposal is in. Someone here will read it and decide whether it fits before anything changes on the page.",
|
||||
"next_description": "We'll write back once it's been read — approved and made live, or turned down with a reason.",
|
||||
"next_heading": "A read, then a decision",
|
||||
"question": "What happens to my proposal now?"
|
||||
},
|
||||
"questions/received/subscribe.yaml": {
|
||||
"back": "Back to site",
|
||||
"description": "You'll hear from us when there's something worth saying, not on a schedule.",
|
||||
"next_description": "You're on the list. Every note has an unsubscribe link if it stops being useful.",
|
||||
"next_heading": "You're on the list",
|
||||
"question": "What happens now that I've subscribed?"
|
||||
},
|
||||
"questions/received/trial.yaml": {
|
||||
"back": "Back to site",
|
||||
"description": "We read every trial request ourselves before anything gets built.",
|
||||
"next_description": "If it looks like a fit, we'll draft your site from your own words and send it back for your say before anything goes live.",
|
||||
"next_heading": "A first draft, built from your own words",
|
||||
"question": "What happens now that you've sent this?"
|
||||
}
|
||||
}
|
||||
+42
-1
@@ -934,6 +934,29 @@ pub fn merge_words(fallback: &Value, given: &Value) -> Value {
|
||||
|
||||
const SLOT: &str = "<WRITE";
|
||||
|
||||
/// A mail's link to the submitter's own move is structure, not
|
||||
/// wording: a model told to keep it still drops it (Sonnet replaced
|
||||
/// the whole line with a bare `{chain}`). Wherever the fallback body
|
||||
/// had a `{site}/decide/…` line and the model's has none, the line is
|
||||
/// put back at the end, and a `{chain}` left on a line of its own is
|
||||
/// removed.
|
||||
fn keep_links(fallback: &Value, merged: &mut Value) {
|
||||
let (Some(fb), Some(mb)) = (fallback.as_object(), merged.as_object_mut()) else { return };
|
||||
for (bucket, stages) in fb {
|
||||
let Some(ms) = mb.get_mut(bucket).and_then(Value::as_object_mut) else { continue };
|
||||
for (stage, spec) in stages.as_object().into_iter().flatten() {
|
||||
let Some(link) = spec["body"].as_str().and_then(|b| b.lines().find(|l| l.contains("{site}/decide/"))) else { continue };
|
||||
let Some(body) = ms.get_mut(stage).and_then(|m| m.get_mut("body")) else { continue };
|
||||
let Some(text) = body.as_str() else { continue };
|
||||
if text.contains("/decide/") {
|
||||
continue;
|
||||
}
|
||||
let kept: Vec<&str> = text.lines().filter(|l| l.trim() != "{chain}").collect();
|
||||
*body = Value::String(format!("{}\n\n{link}", kept.join("\n").trim_end()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// The page's wording with every string replaced by a slot that says
|
||||
/// what belongs there. Shown to the model in place of the fallbacks:
|
||||
/// fallbacks read like finished copy, and a small model hands finished
|
||||
@@ -1487,7 +1510,11 @@ pub fn run(argv: &[String]) -> anyhow::Result<()> {
|
||||
std::fs::write(out.join(format!("llm/{:02}-{}.md", n + 1, path.replace('/', "_"))), format!("{prompt}\n\n=== REPLY ===\n{reply}"))?;
|
||||
match first_object(&reply) {
|
||||
Some(given) => {
|
||||
words.insert(path.clone(), merge_words(fallback, &given));
|
||||
let mut merged = merge_words(fallback, &given);
|
||||
if path == "aggregates.yaml" {
|
||||
keep_links(fallback, &mut merged);
|
||||
}
|
||||
words.insert(path.clone(), merged);
|
||||
eprintln!("words: {path}");
|
||||
}
|
||||
None => eprintln!("words: {path} - no usable reply, keeping the fallback"),
|
||||
@@ -1565,6 +1592,20 @@ mod tests {
|
||||
assert!(serde_yaml::from_str::<Plan>(&no_from).unwrap().validate().unwrap_err().to_string().contains("mail: { from"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn a_models_mail_keeps_the_submitters_link() {
|
||||
let fallback = json!({ "leaks": { "open": { "subject": "s", "body": "Hello,\n\nGot it.\n\nWhat you can do next: {site}/decide/leak?chain={chain}&email={email}\n\nI at i@b.example" } } });
|
||||
let mut merged = json!({ "leaks": { "open": { "subject": "Got it", "body": "Hi,\n\nWe have it.\n\n{chain}" } } });
|
||||
keep_links(&fallback, &mut merged);
|
||||
let body = merged["leaks"]["open"]["body"].as_str().unwrap();
|
||||
assert!(body.ends_with("What you can do next: {site}/decide/leak?chain={chain}&email={email}"));
|
||||
assert!(!body.contains("\n{chain}"));
|
||||
// A body that kept its link is left alone.
|
||||
let mut fine = json!({ "leaks": { "open": { "subject": "s", "body": "Withdraw here: {site}/decide/leak?chain={chain}&email={email}" } } });
|
||||
keep_links(&fallback, &mut fine);
|
||||
assert_eq!(fine["leaks"]["open"]["body"], "Withdraw here: {site}/decide/leak?chain={chain}&email={email}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn a_live_sites_event_names_survive_a_rebuild() {
|
||||
let mut n = need(&["open", "invited", "active", "departed", "declined"], &["departed", "declined"], &["departed"], &[]);
|
||||
|
||||
Reference in New Issue
Block a user