The Advice File Build Standard
How to turn every broker and client conversation into one file the next person can pick up, without the network memorising last year’s policy. Written so you can build it yourself.
Used by
- Broker Principal
- Head of Credit
- Compliance Officer
- AI Officer
12 min read · Published by AI Pathway
Using Claude? This standard installs as a skill. Guides for ServiceM8, Xero and Simpro.
How to get this live in your business
Build it for mePick a time and we scope the live write into the CRM your brokers already open.What this is
An open build standard for a multi-office advice or credit network, where the interview, the product search and the follow-up all have to survive a licence, a responsible-lending file and a handover.
The core rule
The file is the product. The assistant may write fields, tasks and source cards into it. It is not allowed to be the source of any of them.
What it does not do
It does not approve a loan, select a product or certify best interests. It fills the file, cites the clause and names the gap. A person still signs.
The hard part
Not the transcription. The week the lender changes the policy, and every answer already given that was true on the day, sitting in a model that cannot forget.
A named model trained on the network is not a file. Record the interview, map fields not vibes, cite the live lender clause, leave a task with an owner, and score the office off the book it actually holds. The custom model is the part you do not train.
One interview, end to end
- An interview starts.
- Identify the office, the broker, the client and the purpose before extracting anything, because the same sentence means different fields in a purchase and a refinance.
- Disclose recording and transcription before the first question, then store the client's own words verbatim with a span before any field is filled.
- Map onto the published key contract, not onto a summary, and resolve anything with a lookup: address, employer, lender. Low confidence becomes a missing field, not a guess.
- Is one live file written into the CRM with an external id back? If no, the interview failed and a person takes notes; the assistant does not pretend it heard.
- If yes, compute what is missing from the required keys for that purpose, and raise one task per blocking gap with an owner and a due date.
- Are source cards attached and no blocking gap open? If yes, the draft is ready for a named person to send. If no, it is blocked with the task showing the gap, and comes back through the same check when the gap closes.
Take the spec to Claude, ChatGPT or Copilot. The sentence to paste is one click away.
1. What this standard covers
Any network that sells regulated advice or credit assistance off a shared panel, a shared CRM and a shared set of interviews: mortgage aggregation, insurance broking, wealth in a dealer group, a rent roll with a statutory clock. If the next broker has to pick up the file, and a regulator can ask how the recommendation was formed, this applies.
It does not cover a chatbot on the website, a general assistant over the shared drive, or a fine-tune of the aggregator’s documents. Those have their own failure modes. The distinguishing feature here is that the truth lives in three places that move independently: the client’s circumstances, the lender’s current policy, and the network’s own operating rules.
The failure this prevents is specific. It is not hallucination in general. It is the recommendation that was compliant eighteen months ago, delivered today with the same confidence, because the model learned the panel rather than reading it.
The worked example. In September 2026 Yellow Brick Road described a suite of agents trained on the network’s own data and rolled across its brokers: record the client call, populate the profile, flag missing information, raise follow-ups, search lender policy, coach the broker, later coach the pipeline. That is a fair product brief. It is not a standard. A standard names the objects, the order of the checks, the step you do not hand-roll, and the test a stub cannot fake. Decomposed, that brief is four jobs and one network control, and three of them are already published here.
| Job | What moves | Where it is specified |
|---|---|---|
| Interview to file | Speech becomes fields on the client record, once | This standard, sections 2 to 6 |
| Cited panel search | A question becomes a live lender clause with a source card | The Cited Answer standard |
| Completeness chase | A missing field becomes an owned task with a due date | This standard, check 6 |
| Pipeline work | A ranked book becomes one play and one next action | The Database Reactivation standard |
| One score across offices | The same keys, four kinds of drift | The Multi-Site Conformance standard |
Coaching is not a fifth job. Coaching is a derived view over the file and the source cards. If the file is empty, the coach is a speech. How the five fit together, and the order to build them, is in combining the build standards.
2. The objects, and what is in them
Seven objects. The source card and the missing field are the two most implementations leave out, because the conversation appears to function without them.
For your developer. Show the fields
Interview
- id, office_id, broker_id, client_id
- started_at, ended_at, channel (voice | video | face)
- disclosure { given, at }
- recording_uri, transcript_uri
- consent_to_record, consent_to_transcribe
UtteranceExtract
- id, interview_id
- field_key (from the key contract, never free text)
- verbatim, normalised_value, confidence
- source_span { start, end }
- written_to_file (bool), written_at
AdviceFile
- id, client_id, office_id, external_id (the CRM's own id, or the write failed)
- purpose (purchase | refinance | invest | other)
- fields[] (only keys from the published contract)
- completeness { required_keys, present_keys, missing_keys } # computed
- responsible_lending_gate (open | blocked | waived_by)
- responsible_lending_decision { decided_by, decided_on } # a person; a machine cannot occupy decided_by
- last_interview_id
MissingField
- id, file_id, field_key
- reason (not_asked | asked_unclear | declined | unverified)
- task_id (nullable until raised)
- blocks (application | recommendation | settlement | none)
SourceCard # as the Cited Answer standard
- instrument, clause, edition, jurisdiction, effective_from
- accepted_by, accepted_on
- lender_id, product_id (nullable)
RecommendationDraft
- id, file_id
- product_ids[]
- source_card_ids[] (one or more, required)
- missing_field_ids[] that still block a send
- queue (draft | blocked | ready_for_person | sent_by_person)
- sent_by (a person, nullable; a machine cannot occupy this field)
CoachingEvent
- id, interview_id, broker_id
- finding_key (from a closed list)
- evidence_span, source_card_id (nullable)
- severity (note | gap | breach_suspect)
- acknowledged_by, acknowledged_atAn AdviceFile that is complete while required keys still sit in MissingField is the defect this standard exists to make unrepresentable. Completeness is computed, never typed. A RecommendationDraft with empty source_card_ids and a queue of ready_for_person is the same defect as an answer with no card, and should not be writable.
3. The checks, in order
The order is the claim. A build that does the same things in another order usually fails the pass test: fields written before the disclosure, a summary mapped before the verbatim is stored, a recommendation drafted before completeness is computed.
- Disclosure and consent are recorded before the first field. On every recorded channel, the recording and transcription notice is given and recorded before the first question. Refused consent means notes typed by a person, not a file the assistant pretends it heard.
- Verbatim is stored before any field is filled. The client's own words are kept with a span before classification is applied. Classification is applied to a copy, never to the only copy.
- Only published field keys are writable, and completeness is computed. "Client seems comfortable with repayments" is not a field. Serviceability inputs are. Completeness is a function of the required keys for that purpose, never a flag somebody sets.
- Anything with a lookup is resolved, read back, and written as resolved. Address, employer, existing lender, product: the spoken value is the query, the resolved value is what is written. Low confidence becomes a MissingField with reason asked_unclear, not a guessed value.
- One live file per client, updated and never duplicated. The CRM record is the file. A second interview on the same client updates it. A null external_id is a failed interview, not a completed one.
- Every blocking gap is a task with an owner and a due date, raised once. Each missing required key becomes a MissingField and, where it blocks the next stage, one task with a named owner and a due date. A reminder in chat does not count, and a task is not raised twice for the same gap.
- Lender policy is a cited answer, never a recalled one. A panel question is answered from clauses with an edition and an effective date, with a source card, or it is declined to a person. The model's memory of what a lender does is not a source.
- A retired clause cannot answer, and a new one answers only once a person accepts it. When the lender moves the policy, answers drawn from the old clause change or decline, and the new clause answers only after a named person accepts it.
- A recommendation cannot leave draft with a blocking gap or no card, and is sent by a person. Ready_for_person is a gate, not a vibe. A draft with an open blocking MissingField or an empty source_card_ids stays in draft or blocked. Sent_by is a person, and a machine cannot occupy it.
- Coaching cites a span or a clause, and breach_suspect goes to a named person. A CoachingEvent without an evidence span or a source card is a note, and notes do not roll into a score. A finding marked breach_suspect is escalated to a named compliance person, not softened into tone.
- Recording, transcript, extracts, writes, cards, tasks and coaching are retrievable together. Everything the interview produced can be listed by interview id and by file id. If the recording dies and the fields remain, the file is hearsay.
- With the library detached, the assistant declines. Ask the policy question with the panel library removed. The only conforming output is a decline. A remembered answer fails, even when the words are right.
- It survives the builder. Someone other than the builder can explain what it does, and it runs on an account the business owns.
- The pass test passes. Two interviews on a real CRM tenant, one panel move in a dated library the business controls, and the detached-library question, all as the pass test after section 8 describes.
4. What “trained on all our data” is allowed to mean
It is allowed to mean three things. It is not allowed to mean a fourth.
- Retrieval over the network's own artefacts, versioned: interview templates, the key contract, playbooks, the credit policy the licensee actually issued, each dated.
- Retrieval over the lender panel, as instruments and clauses with effective dates, accepted by a named person before they can answer.
- Weights that classify utterances onto the key contract: a mapper, evaluated against labelled spans, replaceable without retraining anything about policy.
Not allowed: a model that has absorbed the panel and the book so it can answer without a card. That is the failure the Cited Answer standard names, and giving it a product name does not change it. When the lender moves a clause, every answer already given that relied on the old one must be findable, and a weight cannot be queried for the files it touched.
The name can stay on the product. The standard names the mapper and the library. If a vendor cannot show you the clause an answer used and the date it was live, they have trained a memory, not built a file. Where the library itself should come from, and how it is versioned, is the Knowledge Graph standard.
5. The four queues for a recommendation
Every draft lands in exactly one. A build that only implements the last one has not implemented this standard.
| Queue | What it holds | The rule |
|---|---|---|
| Draft | Extracts written, search not finished or cards not attached | Cannot be sent. Cannot be described to the client as a recommendation |
| Blocked | One or more missing fields that block, or a source conflict | A task exists. The person sees the gap, not a softer answer |
| Ready for person | Cards attached, no blocking gap | A named broker or credit officer may send. The machine cannot |
| Sent by person | The send event, with the person and the timestamp | The only state a client is allowed to hear |
Declining to recommend is a success. An assistant that invents a “best fit” to avoid an empty product list has failed the standard, including when the invention is plausible.
6. Multi-site is not training
A franchise network will ask for the assistant to train new brokers. Training material is not a control, and the Multi-Site Conformance standard already says so. One versioned key contract across every office. Four kinds of drift to score: missing keys, renamed keys, extra local keys that shadow a network key, and offices running an old edition. One completeness score, computed once from the file, not from the coach’s opinion of the interview.
If two offices can both be “using the assistant” and produce files that cannot be joined, you have a brand, not a standard.
7. What stays with a person
These are not conservative defaults. They are the parts where an Australian credit licensee carries an obligation a machine cannot hold.
- Recording and transcription consent on the call.
- The responsible-lending assessment and the decision that the loan is not unsuitable.
- The product recommendation issued to the client.
- Acceptance of a lender-policy change into the live library.
- Waiver of a blocking missing field.
- Escalation of a breach_suspect coaching finding.
- Any statement to the client that a document has been certified, verified or approved.
The assistant may draft. It may not occupy sent_by, waived_by, accepted_by or decided_by.
8. Provider: what to stub, and what not to hand-roll
One step not to hand-roll: the live CRM write. Everything else an AI coding agent can build against the stub in an afternoon.
For your developer. Show the provider config
provider:
stub: local.mock_file
production: none # scoped build, not a product
do not hand-roll
- the live write into the network CRM. The file the broker already
opens is the file. A sidecar spreadsheet, a chat project, or a
second database the franchisee does not live in drifts in a week.
The write is verified: a null external_id is a failed interview.
do not fine-tune (see the Knowledge Graph and Cited Answer standards)
- the panel library. Lender policy moves. The change feed, the
acceptance by a named person and the retirement of superseded
clauses are the product, and those two standards carry the shape.
may be bought
- voice recording and transcription
- the mapper from utterance to field key
the gate
- refusing a send without cards and without completeness is the part
you either write as data or you do not have.There is no hosted product for this standard. The production check runs against the network's own CRM tenant and a dated panel library it controls. A vendor selling the transcription and the coaching is selling the easy half, and is usually silent about who accepts a lender-policy change. Ask them that first.
The pass test. Stage it on a real tenant of the CRM and a dated panel library you control. Interview A: a purchase file, owner-occupier, PAYG, genuine savings spoken unclearly, the address said once and slightly wrong. Disclosure must precede the first question, the address must be resolved and read back, the savings figure must land as a missing field with reason asked_unclear rather than a guessed dollar amount, one file must be written with an external id, and nothing may reach ready_for_person. Interview B: the same client, the same day, the savings figure now clear. The existing file is updated, not duplicated; the gap closes; a second task is not raised; still no send. Then retire the clause a draft would have used and load its replacement accepted by a named person: the draft moves to blocked, a search returns the new card or a decline, and the retired clause cannot come back as live. Then detach the library and ask the same scenario. The only conforming output is a decline. If it answers from memory, the build fails even if the words are right.
9. Conformance checklist
Hold a DIY build or a vendor to this. If a box is empty, it is not in production.
- 1. Disclosure and consent are recorded before the first field. On every recorded channel, the recording and transcription notice is given and recorded before the first question. Refused consent means notes typed by a person, not a file the assistant pretends it heard.
- 2. Verbatim is stored before any field is filled. The client's own words are kept with a span before classification is applied. Classification is applied to a copy, never to the only copy.
- 3. Only published field keys are writable, and completeness is computed. "Client seems comfortable with repayments" is not a field. Serviceability inputs are. Completeness is a function of the required keys for that purpose, never a flag somebody sets.
- 4. Anything with a lookup is resolved, read back, and written as resolved. Address, employer, existing lender, product: the spoken value is the query, the resolved value is what is written. Low confidence becomes a MissingField with reason asked_unclear, not a guessed value.
- 5. One live file per client, updated and never duplicated. The CRM record is the file. A second interview on the same client updates it. A null external_id is a failed interview, not a completed one.
- 6. Every blocking gap is a task with an owner and a due date, raised once. Each missing required key becomes a MissingField and, where it blocks the next stage, one task with a named owner and a due date. A reminder in chat does not count, and a task is not raised twice for the same gap.
- 7. Lender policy is a cited answer, never a recalled one. A panel question is answered from clauses with an edition and an effective date, with a source card, or it is declined to a person. The model's memory of what a lender does is not a source.
- 8. A retired clause cannot answer, and a new one answers only once a person accepts it. When the lender moves the policy, answers drawn from the old clause change or decline, and the new clause answers only after a named person accepts it.
- 9. A recommendation cannot leave draft with a blocking gap or no card, and is sent by a person. Ready_for_person is a gate, not a vibe. A draft with an open blocking MissingField or an empty source_card_ids stays in draft or blocked. Sent_by is a person, and a machine cannot occupy it.
- 10. Coaching cites a span or a clause, and breach_suspect goes to a named person. A CoachingEvent without an evidence span or a source card is a note, and notes do not roll into a score. A finding marked breach_suspect is escalated to a named compliance person, not softened into tone.
- 11. Recording, transcript, extracts, writes, cards, tasks and coaching are retrievable together. Everything the interview produced can be listed by interview id and by file id. If the recording dies and the fields remain, the file is hearsay.
- 12. With the library detached, the assistant declines. Ask the policy question with the panel library removed. The only conforming output is a decline. A remembered answer fails, even when the words are right.
- 13. It survives the builder. Someone other than the builder can explain what it does, and it runs on an account the business owns.
- 14. The pass test passes. Two interviews on a real CRM tenant, one panel move in a dated library the business controls, and the detached-library question, all as the pass test after section 8 describes.
- 1
Hold the build to the checklist
The checks in this standard are what a working build looks like. Implement it yourself, hand it to a developer, or hand the page to an AI with the button below.
- 2
Do not hand-roll
There is no product for this step. Highest option: none. Checklist plus a build.
- 3
If you are stuck
Exceptions, three systems, a team that will not maintain a Zap, or an owner who wants it done. We implement when it has to survive the business.
Related reading
Want the whole thing by email?
This paper, plus the rest of the library. One click to stop them.