runs/contractor-2026-09-21: the generator's first end-to-end run, on intakes/contractor.yaml. Needs parsed first round, structure green first round, 10/10 on its own personas - and 8/10 headings-only on ten held-out personas with qwen3:8b as the visitor, because the pages had been written with the personas in view. Phase 2 now shows the model the needs without the personas. `portal-trainer answer` exposes the blind answerer on its own. README rewritten around what this is: an intake in, a verified content repo out. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L4jrCgLiKKHAEFuZUJjckH
86 lines
3.5 KiB
YAML
86 lines
3.5 KiB
YAML
name: What brings you here?
|
|
description: >
|
|
Pick what best matches why you're here today.
|
|
responsible: { name: Ingrid Nordvik, contact: ingrid@nordvikbygg.example }
|
|
alternatives:
|
|
- name: Get someone to look at a building
|
|
description: >
|
|
For housing boards and private owners with a problem in a building
|
|
who want us to come and take a look.
|
|
action: /enquiries/thanks
|
|
consequence: [Send]
|
|
record_as: enquiries
|
|
features:
|
|
- name: About you and the building
|
|
description: ""
|
|
requirements:
|
|
- { name: name, label: Your name, type: text }
|
|
- { name: email, label: Email, type: email }
|
|
- { name: address, label: Address of the building, type: text }
|
|
- { name: problem, label: What's wrong, type: textarea }
|
|
|
|
- name: Get a price for a build
|
|
description: >
|
|
For owners who already know what they want built and need drawings,
|
|
a permit application and a price.
|
|
action: /enquiries/thanks
|
|
consequence: [Send]
|
|
record_as: enquiries
|
|
features:
|
|
- name: About you and the build
|
|
description: ""
|
|
requirements:
|
|
- { name: name, label: Your name, type: text }
|
|
- { name: email, label: Email, type: email }
|
|
- { name: address, label: Address of the site, type: text }
|
|
- { name: project, label: What you want built, type: textarea }
|
|
- { name: timeframe, label: When you'd like to start, type: select, options: [As soon as possible, Within a year, Just exploring] }
|
|
|
|
- name: Join our subcontractor list
|
|
description: >
|
|
For electrical, plumbing and scaffolding firms who want to be one of
|
|
the firms we call when a job needs them.
|
|
action: /subcontractors/thanks
|
|
consequence: [Apply]
|
|
record_as: subcontractors
|
|
features:
|
|
- name: About your firm
|
|
description: ""
|
|
requirements:
|
|
- { name: company_name, label: Company name, type: text }
|
|
- { name: contact_email, label: Email, type: email }
|
|
- { name: trade, label: Trade, type: select, options: [Electrical, Plumbing, Scaffolding] }
|
|
- { name: registration_number, label: Company registration number, type: text }
|
|
- { name: insurance, label: Insurance policy details, type: text }
|
|
- { name: trade_approval, label: Trade approval reference, optional: true }
|
|
|
|
- name: Ask about working with us
|
|
description: >
|
|
For carpenters and apprentices who want to know if we're hiring.
|
|
action: /applicants/thanks
|
|
consequence: [Send]
|
|
record_as: applicants
|
|
features:
|
|
- name: About you
|
|
description: ""
|
|
requirements:
|
|
- { name: name, label: Your name, type: text }
|
|
- { name: email, label: Email, type: email }
|
|
- { name: role, label: What you do, type: select, options: [Carpenter, Apprentice carpenter, Other] }
|
|
- { name: message, label: Anything else we should know, type: textarea }
|
|
|
|
- name: Report something from site
|
|
description: >
|
|
For crew on site, ours or a subcontractor's, who've spotted a hazard,
|
|
a near miss or the wrong materials.
|
|
action: /site-issues/thanks
|
|
consequence: [Report it]
|
|
record_as: site_issues
|
|
features:
|
|
- name: What's happened
|
|
description: ""
|
|
requirements:
|
|
- { name: issue_type, label: What kind of issue, type: select, options: [Hazard, Near miss, Wrong materials delivered] }
|
|
- { name: location, label: Where on site, type: text }
|
|
- { name: details, label: What happened, type: textarea }
|