assurance · Level 3

AI product briefs grounded in user needs and accountability

A Mickai / Trust Agent workbook for adult product teams: user needs, fair alternatives, evidence and accountable decisions.

By Mickarle Sean Junior Wagstaff-Irons - Micky Irons

  • Level 3Building
  • 720 min
  • 8 chapters
  • Online course and PDF workbook
original illustrationassurance / 03

Read, practise and review

Your next step

Start this course online

Register your start, then work through the lessons and exercises at your own pace. You can download the PDF separately. Where a scored exam is available, you will find it after the lessons.

Register or resume your course

Mickai privately records this registration and sends its team a course-start notification. It records your intention to start, not proof of attendance or completion. Our course-start privacy notice explains the details and the 30-day resume cookie.

Follow the Mickai company page on LinkedIn

You can start learning without subscribing or following. Newsletter email confirmation and provider enrolment are recorded separately.

Start with the essentials

The short answer

Start with the user task and attributed evidence, then compare AI and non-AI designs against the same criteria. Preserve assumptions, failed tasks and uncertain consequences. Define owners, research questions and stop rules before proposing a prototype. Tern uses synthetic cards and scripted probes; its counts establish no actual user success, accessibility, legal clearance or pilot permission.

What you will learn

  • Rewrite a sponsor AI request as a user-task hypothesis with attributed evidence and explicit knowledge limits.
  • Compare a form and AI concept fairly without changing task denominators or turning scripted counts into real-user performance.
  • Map consequential assertions, excluded uses, data and supplier questions before proposing an AI service.
  • Design a seven-area research and human-support plan with owners,observable criteria and stop conditions.
  • Assemble an evidence-traceable prototype recommendation that retains access gaps and unresolved actual pilot decisions.

Who it is for

Adult product designers,design leads,product managers and service owners. Fictional general-enquiry journey; no real tenants,housing decisions,recruitment,model output or live service.

Before you start

  • Understand the distinction between a user problem,a feature request and an assumption.
  • Optional Tern lab needs Python3.10+ standard library only; no installation,paid service,network or real information.

Jurisdiction and study scope

These are selected reference pathways. Choose the relevant pathway before applying the exercises. This does not determine applicable law or provide worldwide coverage.

All pathway limits
  • Actual service applicability unresolved: Identify operator,territories,actual users and consequences. Determine housing,consumer,equality,data,AI,research and support obligations for the actual proposal; the fictional fixture settles none.
  • Scoped UK service-design worked context: Adapt selected UK government design/research methods transparently. Private-service applicability of housing,consumer,equality,data and AI duties remains unresolved. Government policy and selected WCAG criteria are not universal private-service law or complete accessibility acceptance. ICO current review notices remain visible.
  • Another territory or cross-border service: Review actual operator,users,processing,supplier terms and current applicable duties. US NIST is voluntary. Current Commission announcement is not independently retrieved operative amended legal text or a housing-system classification.

Run the synthetic exercise

Download the exercise source, tests and instructions (ZIP)

No real records, external service or model is used by this exercise. Read the README before running it.

Owner-commissioned original course prepared with AI assistance. Tern cards,probes and roles are fictional. No user-study finding,model evaluation,legal clearance,professional qualification,accepted design or real pilot authority claimed.

Learn in your browser · Chapter 01 of 08

01

The problem before the AI request

Turn a requested feature into a task hypothesis that alternatives and actual research can challenge.

Tern-Adult-Enquiry-Training begins with a familiar design request: add an AI chat assistant. The request tells the team what a sponsor imagines, but it does not tell them what an adult needs to accomplish. Tern is an invented service team examining preparation of a general tenant enquiry. Its purpose is design-brief-teaching. No enquiry reaches a landlord, no actual participant is involved and no housing decision is made. The first design task is to locate the problem hidden inside the requested feature, while keeping the sponsor's preference available for challenge rather than silently accepting it as evidence.

A problem statement connects a person, a task, a context and an obstacle. A need statement describes the outcome the person wants. A solution describes one way the service might help. These statements belong together, but they are not interchangeable. Someone may need to know what information to include without needing a conversation with software. They may need to correct an enquiry before handoff without needing a predictive answer. When a proposed need says I need an AI chatbot, the technology has already displaced the question the design team should investigate.

T-E01 is a synthetic observation card about a pause at an unexplained description field. The card suggests that the label might be an obstacle. It does not establish why any real person stopped, how common the problem is or whether a new label would solve it. A useful hypothesis is: an adult preparing an enquiry needs to understand the requested information so they can decide what to include. Add the evidence identifier and its kind. That wording permits a clearer label, structured prompts, human help or an AI concept to be compared without making any of them inevitable.

T-E02 is another synthetic observation: a preview enables correction of an omitted detail in an authored vignette. It supports a question about control before handoff. T-E03 is the fictional sponsor's assumption that every tenant prefers chat. The third card cannot turn the first two into a preference study. Keep the proposed task separate from the proposed channel. The Tern brief should ask whether people can identify requested information, correct a draft and reach assistance, rather than treating conversational style as a substitute for those outcomes.

Scroll sideways to see every column.

The problem before the AI request · Table 1
StatementTern exampleDesign implication
Sponsor requestAdd an AI chat assistantTreat as a proposed solution.
Need hypothesisUnderstand requested information before composing an enquiryInvestigate the task and obstacle.
Evidence limitT-E01 synthetic_observationNo actual participant claim.
Challenge questionWould clearer fixed prompts address the obstacle?Keep a non-AI comparator.

An outcome also needs a boundary. In Tern, preparing an enquiry is different from receiving an entitlement decision, a repair commitment or advice about a tenancy. A design team can make an input easier to understand while leaving the underlying decision with the relevant service and qualified people. The brief should explain what a successful preparation task would look like and what it does not establish. This avoids a misleading leap from a well-written enquiry to an assured outcome. No actual entitlement, deadline, urgency classification or legal interpretation belongs in this teaching task.

The average brief says: tenants need chat because modern services use AI; success means more conversations. Its evidence is fashion and its measure is activity. The elite brief says: investigate whether adults can identify the limited information requested and correct it before seeking human help. T-E01 and T-E02 are synthetic prompts for that investigation; T-E03 is a competing stakeholder assumption. Compare the structured form and AI concept against the same task, and retain the human route. This brief makes it possible to choose a less elaborate design if that better addresses the problem.

A useful method starts by rewriting the sponsor's sentence without a technology noun. Then identify the exact task, distinguish the hypothesised obstacle from the desired outcome and attach evidence with its kind. Next write an observation that could challenge the hypothesis. For example, future research might find that people understand the description field but hesitate because they distrust where the information goes. A clearer label would then address the wrong obstacle. Finally identify alternatives and exclusions. The brief becomes a set of questions and choices that research can change, rather than a defence of a purchase already imagined.

Be precise about the population and context without creating a fictional persona that pretends to represent it. Adult tenant is a teaching role, not a claim that all tenants share reading, hearing, language or digital needs. A person may use a keyboard, avoid a voice call, need simpler text or lack reliable internet. These are potential journey requirements to investigate. Do not attach an ability label to a fictional person and then claim to know how they behave. The initial brief should show where participation and service access remain unknown.

In the analytical contract, draft_need_hypothesis accepts a nonempty list of known evidence IDs, a known task and the current integer fixture version. On paper, T-E03 alone produces HOLD_ASSUMPTION_ONLY. A supported combination can produce NEED_HYPOTHESIS, which still means a hypothesis. The method preserves card kinds; it cannot convert a synthetic observation into an actual user finding. Duplicate IDs, unknown IDs and boolean versions are invalid. These argument checks make the teaching record inspectable, but they do not evaluate the truth of arbitrary prose or validate a real need.

A team should also know what its proposed measure omits. Counting enquiry starts would not show whether people understood the form, corrected mistakes or reached a human. Counting successful scripted checks would not show actual user success. Define each measure in words, identify its evidence unit and keep the unresolved research alongside it. Early design measures should inform learning, not reward an alternative simply because its interface produces more events. A quieter form that helps someone complete the task may be preferable to a lively conversation that leaves the enquiry unchanged.

The source gds-user-needs supports starting with user goals and testing assumptions; it is government service-design guidance, not a rule automatically binding every private tenant service. gov-ai-playbook supports choosing a suitable technology and allows established alternatives to be better. Neither source validates Tern's cards or authorises a pilot. Use the scoped principles to shape the brief, then record the real evidence and local review that would be needed. A recognised source title is not another stakeholder vote for the desired feature.

The elite handover is short enough to read but complete enough to challenge. It contains a need hypothesis, evidence kinds, task boundary, alternatives, an observable question and missing participation evidence. Its recipient can explain why AI remains an option and why it has not been selected. If the sponsor changes the requested purpose from enquiry preparation to deciding requests, the brief must be reconsidered. That is a different consequential task, not a harmless extension of the same screen. Good problem framing leaves the design decision open while making the limits concrete.

  1. Remove the proposed technology from the first problem sentence.
  2. Identify the adult task, context, obstacle and desired outcome.
  3. Attach exact evidence IDs and preserve their kinds.
  4. Write a question that could disprove the obstacle hypothesis.
  5. Compare possible designs and retain the human route.
  6. Record exclusions, absent evidence and what would trigger reframing.
text · 6 lines
ROLE: Adult Tern brief drafter.
CONSTRAINTS: Tern-Adult-Enquiry-Training; design-brief-teaching; synthetic evidence only; no housing decision, personal data or pilot.
PROCESS: Separate sponsor request, task, obstacle, need hypothesis and alternatives.
VERIFICATION: Preserve T-E01/T-E02 synthetic kinds and T-E03 stakeholder assumption; check task and current integer fixture version.
OUTPUT SCHEMA: taskId; needHypothesis; evidenceIds; evidenceKinds; challengeQuestion; alternatives; exclusions; missingResearch.
FAILURE MODES: Do not promote chat preference into research, count conversations as task success or call NEED_HYPOTHESIS validated. This is a paper drafting pattern, not a model run.

Open the problem before choosing a design

A sponsor request becomes a challengeable hypothesis with alternatives and unresolved evidence.

Sponsor requests AIFrame the taskLabel the evidenceNeed hypothesisCompare alternativesRetain research gaps
Steps
  • Sponsor requests AI: Proposed solution
  • Frame the task: Information, correction, help
  • Label the evidence: Synthetic or assumption
  • Need hypothesis: Not a validated need
  • Compare alternatives: Form, AI concept, human route
  • Retain research gaps: Actual users and context
Relationships and conditions
  1. Sponsor requests AI to Frame the task: Ask what needs doing
  2. Sponsor requests AI to Label the evidence: Ask what supports it
  3. Frame the task to Need hypothesis: State an outcome
  4. Label the evidence to Need hypothesis: Preserve provenance
  5. Need hypothesis to Compare alternatives: Keep choices open
  6. Need hypothesis to Retain research gaps: Define further learning

Text equivalent: start with the sponsor request, identify the task and label the evidence. Combine them into a need hypothesis, keeping it unvalidated. Compare possible designs and retain actual-user and context gaps alongside the choices.

Try it yourself · Activity 01

40 minutes

Replace the chatbot request with a challengeable brief

The fictional sponsor says every tenant wants chat, so the team should measure conversation starts. Use T-E01, T-E02 and T-E03 to rewrite the brief for T-P01. Do this on paper without processing any actual tenant information.

  1. Separate the sponsor request from an adult goal and hypothesised obstacle.
  2. Write evidence IDs and kinds, plus one question that could change the problem framing.
  3. Name form and AI alternatives, human assistance and an excluded housing decision.
  4. Success criteria: solution-neutral need hypothesis; accurate three-card provenance; challenge question; task outcome rather than activity metric; real research and pilot limits visible.

What evidence could persuade you that the requested feature solves the wrong problem?

Worked answer

For T-P01, hypothesise that an adult preparing an enquiry needs to understand what information is requested. T-E01 is a synthetic_observation about an unclear label; T-E02 is a synthetic_observation about preview/correction; T-E03 is a stakeholder_assumption about chat preference. None is actual research. Ask whether hesitation concerns the label or uncertainty about information use. Compare fixed prompts in structured-form with an ai-concept for the same preparation task, retaining a usable human route as an unresolved requirement. Observe information identification, not conversation volume. Exclude entitlement and tenancy decisions. On paper, T-E03 alone predicts HOLD_ASSUMPTION_ONLY; a supported record remains NEED_HYPOTHESIS. Actual research and any pilot require further review.

Scroll sideways to see every column.

The problem before the AI request · Table 2
Chapter review questionAnswer after your attempt
Why is a request for AI insufficient as a need statement?It prescribes a solution before identifying the goal, obstacle and evidence that could support or challenge it.
What does T-E01 support, and what does it leave unknown?It supports a label-related hypothesis in a synthetic vignette; actual causes, frequency and improvement remain unknown.
Why retain T-E03 instead of simply deleting it?The stakeholder assumption can be challenged explicitly and turned into a research question without being promoted into evidence.
Why can conversation starts mislead the team?Activity does not show understanding, correction or successful access to human help.
What does NEED_HYPOTHESIS establish?A bounded teaching hypothesis with card provenance; it establishes no validated user need or real pilot permission.
When should the task boundary be reopened?When the purpose, receiving decision, context or requested authority changes, such as moving from preparation to deciding requests.

Apply what you learned · Practice

The only evidence supplied is T-E03, the sponsor assumption that every tenant prefers chat. What is the paper expectation?

Explanation and answer

HOLD_ASSUMPTION_ONLY, preserving the statement as an assumption. The contract holds T-E03 alone. A sponsor preference is not actual research.

Practice only. This does not count towards your exam or certificate.

Original fictional Tern enquiry-service cutaway: form and static AI concept both retain an unresolved nonvoice connection to human support.
A service-design proposal preserves the same unresolved human-support gap in both alternatives. This authored illustration establishes no accepted service or pilot.
Next chapter

Learn in your browser · Chapter 02 of 08

02

Evidence, assumptions and who is absent

Preserve provenance and interpretations, then make absent journeys and unfinished research visible.

An evidence wall can look convincing long before it contains dependable evidence. Cards, quotations, coloured dots and a polished persona invite readers to assume that someone has listened to users. Tern deliberately interrupts that impression. Its six cards are authored teaching materials with different kinds. Their purpose is to help adult designers reason about a brief, not to simulate a completed study. A careful reader asks where a statement came from, what was actually observed, how it was interpreted and whose perspective is missing before using it to choose a design.

An observation records something seen or heard in a defined setting. An interpretation explains what it might mean. An assumption proposes something without that observation. A probe result concerns the criterion exercised by a particular test. These distinctions survive even when the sentences are equally clear. T-E01 and T-E02 are synthetic_observation cards, so they describe authored vignettes rather than actual sessions. T-E03 is a stakeholder_assumption. T-E04 is a synthetic_access_gap. T-E05 is a scripted_probe_set, and T-E06 is a research_gap_register. Keep these exact kinds visible in any summary.

There are two separate questions about each card: what kind of material is it, and how far can it support this decision? T-E01 can illustrate a possible problem with a description label, but it cannot establish that real tenants misunderstand it. T-E05 can support arithmetic about eight authored probe records, but it cannot establish that eight participants completed a task. A known identifier establishes that the card belongs to the fixture. It does not establish external truth, representativeness or the appropriateness of using it in a real service decision.

Scroll sideways to see every column.

Evidence, assumptions and who is absent · Table 3
CardExact kindPermitted interpretation
T-E01 / T-E02synthetic_observationLabel and correction hypotheses only.
T-E03stakeholder_assumptionChat preference requires research.
T-E04synthetic_access_gapNonvoice and nononline support unresolved.
T-E05scripted_probe_setFixed task-criterion evidence only.
T-E06research_gap_registerUnfinished real research and governance.

The easiest failure is interpretation laundering. A designer reads the synthetic pause at the field and writes tenants cannot complete forms. A colleague then shortens that to users need chat. The sequence loses the original kind, invents a population claim and prescribes an alternative. None of those changes requires a new study; they can happen during editing. Preserve a small evidence chain: card statement, interpretation, proposed need and open question. If the interpretation is broader than the statement, show the difference explicitly instead of hiding it inside a confident summary.

The average evidence summary claims tenants prefer AI and need immediate answers. Its source is T-E03 and its supporting visual is an invented persona. The elite summary says T-E03 records the sponsor's assumption about chat preference; the fixture contains no actual preference research. T-E01 and T-E02 illustrate label and correction questions. T-E04 exposes a human-route gap. T-E05 contains scripted criterion checks. T-E06 lists unfinished research and governance work. The elite summary can still guide a useful next step because it describes exactly what needs investigation rather than manufacturing certainty.

A research question should create a genuine opportunity to discover that the team's explanation is wrong. Do adults understand the requested information and where it will go is more useful than do you like our chatbot. The first question allows label, trust, privacy and process problems to emerge. The second steers attention to a chosen interface. Choose a research method for the question and the people affected. A future observation of task preparation, followed by questions about hesitation, would address a different issue from a survey of channel preferences. Do not claim either has occurred in Tern.

Absent users matter because an easy recruitment route can conceal difficult service journeys. People who can join a video call may differ from people without reliable internet, people who need nonvoice contact or people who use their own assistive technology. A design review should ask who could not participate and what practical arrangements would enable them to do so. It should not invent a diagnosis or treat a language, reading or hearing requirement as a complete personality. Describe the journey requirement and how you would ask about it respectfully.

The fictional human-route gap illustrates why evidence and operation meet. A transcript may display contact by text, but there is no verified text service behind it. Research could show a preference for nonvoice contact while the support team lacks a working process to receive it. That would be a service capability question as well as a design question. Record both. A future research plan needs a support owner and an account of capacity, availability, privacy and follow-through; listing a channel does not prove that an enquiry can reach a person through it.

Use six steps to audit an evidence set. Preserve the original statement and kind. Separate your interpretation from it. Identify the specific decision it could inform. State the limits of that support. List affected people and journeys absent from the material. Finally convert the gaps into research areas and accountable questions. A table is useful because reviewers can compare the statement and interpretation directly. It is also useful in an ordinary text copy, where the reader should not need colours, a wall layout or a persona illustration to understand provenance.

The contract's research-plan method accepts seven exact area IDs: participants, nonvoice-support, assistive-technology, language, privacy, supplier and support-capacity. On paper, record_research_plan with all seven unique areas and the current integer fixture version returns RESEARCH_PLAN_DRAFT. Missing areas predict HOLD_INCOMPLETE_RESEARCH_PLAN. A complete plan increments plan_sequence and invalidates a prior recommendation. This checks whether the teaching plan covers the required headings. It does not recruit anyone, secure consent, resolve supplier processing conditions or validate access. Every factual acceptance flag remains false.

The source gds-research-planning supports turning assumptions into questions and choosing suitable participants and methods. Its supporting disability-session guide asks teams to consider individual requirements and participants' own assistive technology. This is scoped government guidance, not proof that a chosen number of fictional cards is representative. inclusive-accessibility supports attention to online and offline access. assisted-digital-support explains that assistance depends on researched needs; a phone route cannot be presumed usable by everyone. Actual arrangements must be investigated, not inferred from these source titles.

A disciplined evidence handover contains a useful disagreement. A reviewer should be able to say the label hypothesis is reasonable but untested, the channel preference is unsupported, or the nonvoice route remains missing. That disagreement helps the design team plan learning. It is not a failure of presentation. Before any real work, local research governance and privacy review would need to address participation, necessary information, consent and handling. Tern makes no such selections. Its achievement is a transparent plan in which the missing study remains missing, even after every teaching field has been completed.

  1. Retain the card statement and exact evidence kind.
  2. Write interpretation separately from the statement.
  3. Identify the bounded design decision it might inform.
  4. State what the material cannot establish.
  5. Identify absent people, journeys and operational capabilities.
  6. Turn gaps into research areas and questions that can change the brief.
text · 6 lines
ROLE: Adult Tern evidence editor.
CONSTRAINTS: Six fictional cards; preserve all exact kinds; no participant, diagnosis, research completion or supplier permission claim.
PROCESS: Build statement-to-interpretation rows, identify absent journeys and prepare seven research areas.
VERIFICATION: Check card IDs, distinct original/interpretation wording, participants/nonvoice-support/assistive-technology/language/privacy/supplier/support-capacity and current integer version.
OUTPUT SCHEMA: cardId; kind; statement; interpretation; decisionSupported; limitation; absentJourney; researchQuestion; requiredArea.
FAILURE MODES: Reject assumption-as-observation, synthetic-as-actual, invented personas-as-validation and plan completeness-as-completed research. This paper pattern does not evaluate free-text truth.

Keep evidence and interpretation separate

A provenance chain ends in research questions, not invented validation.

Six labelled cardsOriginal statementInterpretationLimits and absencesSeven-area planIncomplete plan
Steps
  • Six labelled cards: Preserve exact kinds
  • Original statement: What the card says
  • Interpretation: What it might mean
  • Limits and absences: Who and what are untested?
  • Seven-area plan: RESEARCH_PLAN_DRAFT only
  • Incomplete plan: Retain the missing work
Relationships and conditions
  1. Six labelled cards to Original statement: Keep provenance
  2. Six labelled cards to Interpretation: Mark inference
  3. Original statement to Limits and absences: Bound support
  4. Interpretation to Limits and absences: Challenge reach
  5. Limits and absences to Seven-area plan: All required areas
  6. Limits and absences to Incomplete plan: Area missing

Text equivalent: preserve the kinds of six evidence cards, then put each original statement beside its interpretation. Identify limits and absent journeys. A seven-area plan can become a teaching draft; a missing area remains held. Neither branch establishes actual research or successful access.

Try it yourself · Activity 02

50 minutes

Audit the preference claim and plan the missing research

An invented review slide says T-E03 proves tenants prefer chat, T-E05 represents eight successful interviews and a phone route covers everyone. Replace it with an evidence audit and a complete paper research plan.

  1. Classify all six cards and explain three promotions in the slide.
  2. Write two open questions, including one that could favour the form.
  3. Include all seven exact research areas and explain how nonvoice support differs from the existence of a phone option.
  4. Success criteria: six correctly labelled cards across five distinct kinds; observation/interpretation distinction; no actual participant claim; all seven areas; explicit unverified capacity and access; no plan-as-approval conclusion.

Which interpretation in your own evidence summary is wider than the observation that supports it?

Worked answer

T-E01/T-E02 remain synthetic_observation, T-E03 stakeholder_assumption, T-E04 synthetic_access_gap, T-E05 scripted_probe_set and T-E06 research_gap_register. T-E03 establishes no preference; T-E05 is eight authored probe records, not interviews; phone availability cannot cover every journey. Ask what information adults understand from fixed prompts and what prevents them correcting a draft or reaching human help. Plan participants, nonvoice-support, assistive-technology, language, privacy, supplier and support-capacity. With unique valid areas/current version, the paper expectation is RESEARCH_PLAN_DRAFT, a new plan_sequence and invalidation of an earlier recommendation. Keep actualUserResearch, accessValidated and other factual acceptance flags false. Real recruitment, consent, processing conditions and support capability remain uncompleted.

Scroll sideways to see every column.

Evidence, assumptions and who is absent · Table 4
Chapter review questionAnswer after your attempt
How does a synthetic observation differ from an actual observation?Its vignette is authored for teaching; no participant session occurred, even if the sentence resembles a research note.
Why is a known card ID insufficient to establish truth?It establishes fixture membership and provenance, not external accuracy or support for a population claim.
What is interpretation laundering?Editing gradually turns a narrow statement into a broader finding or solution while losing its original evidence kind and limits.
How should absent users change a research plan?Their possible journey requirements and participation barriers should inform recruitment and arrangements without diagnoses or invented behaviour.
What happens when a complete plan is accepted on paper?It becomes RESEARCH_PLAN_DRAFT, increments plan_sequence and invalidates an earlier recommendation; it completes no real research.
Why does a preference for text not establish a usable text route?Design evidence and service capacity are separate; availability, staffing, privacy and follow-through still need verification.

Apply what you learned · Practice

A paper research plan omits support-capacity but lists the other six required areas. What should the learner expect?

Explanation and answer

HOLD_INCOMPLETE_RESEARCH_PLAN with capacity still unresolved. All seven unique exact areas are required for the teaching plan. Listing them never completes research or validates access.

Practice only. This does not count towards your exam or certificate.

Next chapter

Learn in your browser · Chapter 03 of 08

03

The same task through different designs

Compare both alternatives fairly while keeping failed tasks, evidence units and shared stops visible.

A fair design comparison asks two alternatives to help with the same task under the same constraints. It does not ask a modest form to prove usefulness while allowing an AI concept to promise everything a future supplier might build. Tern compares structured-form and ai-concept as fixed authored scripts for enquiry preparation. They have four paired task criteria and the same unresolved human-route requirement. The comparison concerns these teaching scripts, not the general merits of all forms or all AI. That narrow scope makes the differences inspectable without pretending a model or participant study has occurred.

Begin with the unit of comparison. T-P01 concerns identifying requested information. T-P02 concerns correction before handoff. T-P03 concerns reaching a nonvoice human route. T-P04 concerns avoiding unsupported outcome claims. Each alternative has a row for every task. A pass is a scripted criterion pass for that row, not a completed enquiry, satisfied tenant or lawful service. The four criteria address different aspects of a journey. Combining them can summarise the fixture, but the combination cannot erase the nature or consequence of an individual failure.

The paper fixture gives structured-form PASS, PASS, FAIL, PASS and ai-concept PASS, FAIL, FAIL, FAIL. Counting all four rows yields three passes out of four and one pass out of four: 75% and 25% of these scripted checks. The difference is fifty percentage points in this fixture. It is not a measured improvement in tenant completion and not a model accuracy rate. A designer should state the denominator, the evidence kind and the criteria before presenting the percentages. Otherwise familiar numerical formatting can create more confidence than the evidence deserves.

Scroll sideways to see every column.

The same task through different designs · Table 5
Paired taskstructured-formai-concept
T-P01 identify informationPASSPASS
T-P02 correction before handoffPASSFAIL
T-P03 nonvoice human routeFAILFAIL
T-P04 unsupported outcome claimsPASSFAIL
Paper scripted totals3/4 = 75%1/4 = 25%
Shared route boundaryHOLD_NONVOICE_HUMAN_ROUTEHOLD_NONVOICE_HUMAN_ROUTE

Examine the failures before choosing a design. The form's T-P03 failure means its voice-only route does not meet the nonvoice criterion. The AI concept points to a text route that has not been verified, so it fails that task too. Both retain HOLD_NONVOICE_HUMAN_ROUTE. The AI concept also continues without the correction step at T-P02 and asserts an unsupported outcome at T-P04. These are authored paper challenges. They do not show a deployed chatbot hallucinating, a real support team missing a message or actual people abandoning an enquiry.

The average comparison removes T-P03 because the service team considers support a separate workstream. It reports the form as three out of three and treats the human route as a future enhancement. That is a change to the evaluation question, not a correction to the arithmetic. The elite comparison retains the four-task denominator and explains that support is part of the intended journey. It can propose further form prototyping because the fixed prompts and correction path merit investigation, while keeping real pilot status held. A useful proposal and an unresolved stop can coexist.

Fairness also means resisting uneven specificity. The form should not be penalised for displaying every required step while the AI concept is described only by an attractive promise to understand users. Compare the same observable action: can the person see the requested information, correct what they supplied and choose a usable human route without an unsupported outcome claim? A later AI prototype would need equivalent detail and actual evaluation. Speculative capabilities belong in a future research question, not in the present column as if they were already demonstrated.

A disciplined comparison method has six steps. Fix the task and criterion definitions. List both exact alternative IDs and their common boundaries. Inspect all paired rows, including failures. Calculate each numerator over the complete denominator. Explain which defects are local to one design and which are shared stopping conditions. Finally write a recommendation at the evidence level actually available. These steps prevent selective arithmetic and support a reviewer who disagrees with the proposed next design. The aim is a defensible learning decision, not a competition in which one technology must win.

The public analytical method compare_designs takes the current integer fixture version and computes the complete four-task alternatives from code-owned probes. The caller cannot supply preferred outcomes or select only successful rows. inspect_probe_outcomes can reveal all four rows for a known alternative and current version. The contract rejects invalid, unknown or stale arguments as current evidence. Those constraints support an honest worksheet. They do not make the ordinary mutable teaching implementation a secure service, and they do not recognise every misleading sentence a learner might write outside its exposed methods.

Changes require a fresh comparison even if the totals stay the same. change_fixture permits the code-owned versions 1 and 2. Version 2 changes T-P02's criterion text while retaining the fixed outcomes. The unchanged percentages therefore do not prove that an old worksheet is current. A comparison includes meaning as well as numbers. Changing version clears the current hypothesis, comparison, plan and recommendation. An old returned copy may still exist, but it must be identified as stale against the current fixture. Repeating the same current version returns NO_CHANGE.

A future prototype study would need more than the fixture's counts. The team would need actual task definitions that make sense to users, suitable participation, comparable instructions and a way to record where and why a journey breaks down. It should examine effort, understanding, correction, access and support outcomes rather than selecting a convenient engagement measure. Do not invent elapsed times or satisfaction ratings for Tern. A static script has not measured these. State which proposed measure would answer which question, then leave its real observation uncompleted.

The source gds-prototyping supports exploring alternatives before committing to a production design; it does not make a code prototype production ready. gov-ai-playbook distinguishes model performance from service outcomes and permits established technologies to be suitable alternatives. nist-ai-rmf supplies a voluntary approach to context, measurement and uncertainty, with version 1.0 under revision on the retrieved overview. These are scoped references for thinking about evidence. None establishes that Tern's form is suitable for real tenants, that its AI concept has been tested or that a pilot can proceed.

The elite conclusion is conditional and useful: retain the form as a paper prototype proposal, investigate the label and correction hypotheses, and hold real use while nonvoice support and other research remain unresolved. A reviewer can choose hold-all instead if the evidence is too limited to justify the next prototype. Neither choice grants an AI pilot. The contract's later recommendation requires a fresh complete comparison and research-plan sequence. When the brief reaches someone who did not inspect the cards, preserve the failures beside the totals so the next decision remains grounded in what was actually compared.

  1. Fix task and criterion definitions before comparing.
  2. Retain both exact alternatives and common boundaries.
  3. Inspect every paired row, including failed tasks.
  4. Calculate numerator over the complete four-task denominator.
  5. Separate alternative-specific defects from shared stopping conditions.
  6. Recommend only the next learning step supported by the evidence.
text · 6 lines
ROLE: Adult Tern comparison analyst.
CONSTRAINTS: structured-form and ai-concept; four paired scripted criteria; no actual participants/model or tenant decision.
PROCESS: Inspect T-P01..T-P04 for both designs, calculate complete totals and retain the shared nonvoice hold.
VERIFICATION: Use current integer fixture version; preserve form PASS/PASS/FAIL/PASS and AI PASS/FAIL/FAIL/FAIL; distinguish 3/4 and 1/4 from user-success rates.
OUTPUT SCHEMA: alternativeId; taskId; criterion; scriptedOutcome; numerator; denominator; fixtureVersion; sharedHold; evidenceLimit; nextLearningStep.
FAILURE MODES: Reject denominator loss, future capability-as-evidence, stale criteria despite equal totals, and a form score-as-pilot-clearance inference. This is a paper comparison pattern.

A higher total can retain a shared hold

All four task rows remain visible when comparing the two designs.

Four paired tasksStructured formAI conceptScripted totalsShared route hold
Steps
  • Four paired tasks: Same definitions and version
  • Structured form: PASS/PASS/FAIL/PASS
  • AI concept: PASS/FAIL/FAIL/FAIL
  • Scripted totals: 3/4 and 1/4 only
  • Shared route hold: Both fail T-P03
Relationships and conditions
  1. Four paired tasks to Structured form: Inspect all rows
  2. Four paired tasks to AI concept: Inspect all rows
  3. Structured form to Scripted totals: Complete denominator
  4. AI concept to Scripted totals: Complete denominator
  5. Structured form to Shared route hold: Nonvoice route fails
  6. AI concept to Shared route hold: Unverified text route
  7. Scripted totals to Shared route hold: Total does not clear stop

Text equivalent: apply the same four current task definitions to structured-form and ai-concept. Count all rows to obtain three out of four and one out of four scripted passes. Both alternatives fail T-P03, so the shared nonvoice human-route hold remains regardless of the higher form total.

Try it yourself · Activity 03

45 minutes

Challenge the three-out-of-three form score

A fictional comparison removes T-P03 as a support-team issue and reports the form as 100% successful. Restore the paired worksheet and write a bounded next-step conclusion. Then consider version 2, whose T-P02 text changes while outcomes remain fixed.

  1. List all four tasks for both alternatives and calculate complete paper totals.
  2. Explain why the removed row changes the question and identify the shared hold.
  3. State why a version-1 worksheet cannot become current merely because version-2 totals match.
  4. Success criteria: correct eight outcomes and 3/4 versus 1/4; scripted evidence label; T-P03 retained; no actual AI failure or user success claim; current-version requirement; real pilot held.

Which failed task would be easiest to hide in your preferred comparison chart, and what would that hide from its reader?

Worked answer

The form has PASS/PASS/FAIL/PASS and the AI concept PASS/FAIL/FAIL/FAIL. The paper totals are 3/4 and 1/4, or 75% and 25% of authored criterion checks. Removing T-P03 hides a required journey task; both retain HOLD_NONVOICE_HUMAN_ROUTE. The form may be proposed for further paper prototyping while realPilotStatus remains HOLD, or the team may hold all pending research. Version 2 changes criterion meaning at T-P02, so the old comparison remains stale even with equal totals. Changing version clears current analytical results; rerun the current comparison and research plan before any new recommendation. These are paper expectations, not executed observations or user-study findings.

Scroll sideways to see every column.

The same task through different designs · Table 6
Chapter review questionAnswer after your attempt
What is the evidence unit in the 75% form figure?A scripted criterion pass out of four authored task rows, not a participant or completed real enquiry.
Why must T-P03 remain in the denominator?It is part of the defined journey; removing it changes the evaluation and conceals the shared human-route gap.
Why is a promised AI capability an unfair comparator?It lacks the observable detail required of the actual form script and has not been demonstrated.
Does an authored unsupported assertion establish a model hallucination?No. T-P04 is a deliberate paper challenge; no actual model produced it.
Why are equal totals insufficient after a criterion change?The criterion meaning and version are part of the evidence; an old worksheet cannot establish a current comparison.
What can a form-prototype proposal establish?A bounded next learning step based on the fixture, with actual research and real pilot authority still unresolved.

Apply what you learned · Practice

Version 2 changes T-P02 criterion text while keeping the fixed outcomes. What should happen to a version-1 comparison?

Explanation and answer

It remains a stale copy; a fresh current comparison is needed. Meaning and version are part of comparison evidence. Equal totals do not make an old worksheet current.

Practice only. This does not count towards your exam or certificate.

Next chapter

Learn in your browser · Chapter 04 of 08

04

Consequences and excluded uses

Describe distinct failures and preserve the preparation boundary, data questions and unresolved human route.

A product brief should describe what can go wrong for the person using the service, not only what can go wrong for the interface. In Tern, an unclear field can prevent an enquiry from being prepared. An unavailable human route can leave someone without a way to seek clarification. An unsupported outcome assertion can lead someone to believe a request has already been decided. These are distinct consequences with different design responses. Keeping them separate helps the team decide what to investigate, what to exclude and which limits must remain visible throughout the proposed journey.

Consequence mapping begins with a specific moment. At T-P04, the authored AI-concept script asserts an outcome without a supporting source. The possible design consequence is that a reader treats the assertion as a service commitment and stops seeking clarification. This is a paper failure mechanism, not an account of a tenant being harmed. Do not invent an actual promise, legal deadline or case outcome to make it dramatic. Describe the unsupported assertion, the possible interpretation and the missing authority. The brief can then exclude outcome decisions without pretending to resolve housing law.

At T-P03, both scripts fail the nonvoice human-route criterion. The consequence differs from T-P04: someone may understand the content and still be unable to reach assistance through the proposed route. A footer that says contact a person does not resolve this gap if the only route is voice or the claimed text channel is unverified. Accessibility, assistance and operational capacity interact here. The design needs a usable route, while the service needs the ability to receive and follow through on contact. Neither is established by a label in an authored transcript.

An excluded use is a boundary on what the design is meant to do. Tern excludes housing eligibility, tenancy decisions, ranking or prioritising people, legal advice, entitlement assertions, complaint outcomes and operational housing actions. These exclusions are teaching boundaries, not findings that every such use is illegal everywhere. A different real service would require its own purpose, authority, data and qualified review. Do not turn exclusions into a roadmap that promises those decisions later. First establish whether the proposed enquiry-preparation task is useful and appropriate on its own.

Scroll sideways to see every column.

Consequences and excluded uses · Table 7
MomentPossible consequenceTern boundary
T-P02 correction absentA detail may remain uncorrected in the scriptInvestigate correction control; no submission.
T-P03 human route failsA nonvoice journey cannot reach verified helpBoth alternatives retain the route hold.
T-P04 unsupported outcomeAn assertion may look like a service commitmentExclude outcome and entitlement decisions.
Free-text information requestMore information may be invited than neededNo real data; privacy and supplier review unresolved.

Exclusions should appear at the point where a misunderstanding could arise. A brief that forbids outcome decisions while showing a reassuring outcome assertion has an internal contradiction. Removing the assertion is a design revision; burying a disclaimer elsewhere leaves the contradiction for a reader to interpret. In Tern's paper comparison, the form avoids unsupported outcome claims at T-P04, while the AI concept fails. A future design should make the preparation boundary understandable in ordinary text. It should also explain what has and has not happened, rather than using a success badge that resembles a decision.

The average consequences section says the assistant is informational and all mistakes can be passed to a human. It does not identify a route that works, the resources behind that route or the moment at which the unsupported claim becomes persuasive. The elite section identifies T-P03 and T-P04 separately, keeps both route holds and prohibits the design from asserting outcomes. It names unfinished support, privacy and supplier questions. It asks what the person can do to clarify or correct the enquiry before any handoff. These are reviewable design choices rather than broad assurances about a responsible service.

Use six steps to build this section. Locate a specific task and possible failure. Describe the interpretation or obstacle it could create. Identify the affected journey requirement without diagnosing a person. Decide which use is excluded and which safeguard or research question belongs in scope. Record the owner and evidence still needed to consider that safeguard. Finally test whether the brief and prototype contradict their own boundary. An exclusion that disappears from a shortened summary or exported table is incomplete as a communication device, even if it remains in the longer planning document.

Data choices can create consequences before any reply is written. A blank free-text box may invite someone to include more information than the preparation task needs. An AI option may involve different processing, retention or supplier conditions from a fixed form. The teaching fixture uses no actual tenant information, so it cannot resolve those conditions. A real brief would ask which information is necessary, why it is collected, who receives it, how it is retained and whether it can enter an AI system. The question about supplier training or reuse is separate from whether the interface looks helpful.

The scoped source ico-data-principles supports purpose limitation, minimisation, accuracy, security and accountability. Its retrieved overview retains a DUAA review notice, with a March 2026 update specifically to purpose limitation. Tern selects no lawful basis, controller allocation, retention period or supplier permission. The privacy research area is therefore a question to resolve, not a statement that a checkbox has made processing lawful. Do not request real documents to make the fixture more realistic. A synthetic exercise can teach the decision structure without exposing anyone's enquiry or private circumstances.

The source cma-consumer-practices explains risks of unsupported factual claims and misleading presentation in its scoped consumer-commercial guidance. Actual trader, consumer and practice classification depends on the real situation and is unresolved here. Its legal average-consumer concept does not establish that a fictional design sample represents tenants. The source eu-ai-current-context records current Commission announcements, but operative legal text was unavailable to the review. No universal ban, blanket postponement or legal classification of Tern follows. Treat these references as prompts for qualified local applicability review, not as housing advice or a stamp on the proposed design.

A research plan must preserve this distinction between planned coverage and resolved consequences. Listing privacy, supplier and support-capacity among seven required areas can produce a teaching plan draft, but it resolves none of them. A later form-prototype recommendation retains realPilotStatus=HOLD. All current factual flags stay false: actualUserResearch, actualModelRun, accessValidated, pilotAuthorised and designAccepted. A written promise of human review cannot change those facts. The implementation is an ordinary analytical teaching program, not a secure system that can establish actual authority or detect every inappropriate claim.

The final consequences handover should let another designer find the unresolved gap without reconstructing the story. Attach task IDs, failure mechanism, excluded use, proposed design change and required evidence. Carry the nonvoice route failure beside any favourable form comparison. Make the next decision explicit: continue a bounded paper investigation or hold all while obtaining actual evidence and review. No exported brief submits an enquiry or releases a service. A useful document can make an unfinished decision clearer; it must not make that decision look finished simply because its sections have been filled.

  1. Locate the exact task and possible failure.
  2. Describe the interpretation or obstacle it could create.
  3. Identify the affected journey requirement without personal labels.
  4. Separate excluded authority from in-scope design changes and questions.
  5. Record the owner, support capability and evidence still needed.
  6. Check brief, prototype and handover for contradictions with the boundary.
text · 6 lines
ROLE: Adult Tern consequences reviewer.
CONSTRAINTS: Enquiry preparation only; no tenant data, eligibility, legal advice, entitlement, complaint outcome, ranking or housing action.
PROCESS: Map T-P03 route failure and T-P04 unsupported outcome to distinct consequences and design questions.
VERIFICATION: Preserve both route holds, scripted evidence, unresolved privacy/supplier/capacity and all five false factual flags.
OUTPUT SCHEMA: taskId; scriptedFailure; possibleConsequence; excludedUse; proposedDesignChange; evidenceNeeded; responsibleOwner; unresolvedLimit.
FAILURE MODES: Reject disclaimer-as-route, informational-label-as-authority, research-area-as-permission and aggregate-score-as-clearance. Use source IDs with their scope; no legal classification is selected.

Consequences require distinct boundaries

Route failure and unsupported claims lead to different unfinished design work.

Enquiry preparationT-P03 route failureT-P04 unsupported claimInvestigate supportExclude outcome decisionsRetain real pilot hold
Steps
  • Enquiry preparation: No decision authority
  • T-P03 route failure: Nonvoice help unverified
  • T-P04 unsupported claim: Outcome assertion
  • Investigate support: Access and capacity
  • Exclude outcome decisions: Revise contradictory wording
  • Retain real pilot hold: Research and authority unresolved
Relationships and conditions
  1. Enquiry preparation to T-P03 route failure: Inspect contact path
  2. Enquiry preparation to T-P04 unsupported claim: Inspect assertion
  3. T-P03 route failure to Investigate support: Different capability gap
  4. T-P04 unsupported claim to Exclude outcome decisions: Different authority gap
  5. Investigate support to Retain real pilot hold: No validated access
  6. Exclude outcome decisions to Retain real pilot hold: No release permission

Text equivalent: begin with the enquiry-preparation boundary. T-P03 exposes an unverified nonvoice route requiring access and support-capacity investigation. T-P04 exposes an unsupported outcome requiring exclusion of decision authority and revision of contradictory wording. Both paths keep real pilot status held while actual evidence and authority remain unresolved.

Try it yourself · Activity 04

50 minutes

Separate a blocked route from an unsupported outcome

A fictional brief calls the AI concept informational, includes an unsupported outcome assertion and says a phone route handles every difficulty. Write a consequences section for T-P03 and T-P04, plus privacy and supplier questions.

  1. Describe two distinct failure mechanisms without inventing a harmed tenant, deadline or entitlement.
  2. Write the excluded uses and specific design changes or research questions.
  3. Show what information handling and support capacity would need actual review.
  4. Success criteria: correct task distinctions; both nonvoice holds; no housing authority; data questions rather than invented permission; five false factual flags; real pilot held.

Where could the wording or visual treatment of your prototype contradict the exclusion written in its brief?

Worked answer

T-P03 fails for both designs: voice-only form support and an unverified AI text route do not meet the nonvoice criterion. Investigate a usable route and its staffing, availability, privacy and follow-through. T-P04 fails for ai-concept because the authored transcript asserts an outcome without support; remove that assertion from a future design and preserve the enquiry-preparation boundary. Exclude eligibility, tenancy, ranking, legal advice, entitlement, complaint outcomes and operational housing actions. Ask what information is necessary and whether any proposed supplier processing, training or retention is permitted under actual review. Tern uses no real information. Keep actualUserResearch, actualModelRun, accessValidated, pilotAuthorised and designAccepted false, with realPilotStatus=HOLD. Government and regulator sources have scoped authority and do not classify this fictional service.

Scroll sideways to see every column.

Consequences and excluded uses · Table 8
Chapter review questionAnswer after your attempt
Why distinguish T-P03 and T-P04 consequences?One concerns usable human access and support capability; the other concerns an unsupported assertion appearing to decide an outcome.
Can calling the tool informational settle its boundary?No. Inspect its actual assertions, journey and receiving interpretation against the stated preparation scope.
Are Tern exclusions universal illegality findings?No. They are this exercise's purpose boundaries; real applicability and authority require qualified review.
Why separate supplier questions from interface usefulness?Processing, training, reuse and retention conditions are not established by whether the design appears helpful.
What do the consumer and EU sources establish here?Scoped contextual risks and current official announcements, with operator classification and operative-text interpretation unresolved.
Does a complete research plan resolve privacy or access?No. It records required investigation while all factual acceptance flags remain false and real pilot status stays held.

Apply what you learned · Practice

The form has more scripted passes, but both designs fail T-P03. What belongs in the consequences handover?

Explanation and answer

The shared nonvoice route hold and unresolved support capability. A favourable aggregate does not resolve a required human journey. Tern retains the shared hold and no real release authority.

Practice only. This does not count towards your exam or certificate.

Next chapter

Learn in your browser · Chapter 05 of 08

05

Owners, criteria and stopping

Connect observable tasks to accountable responsibilities and stops, without treating ownership labels as approval.

Tern's sponsor wants an AI chat assistant, but a product brief needs a decision someone can defend. The invented task is for an adult to understand the limited information requested for a general enquiry, review that information and reach a human handler through a usable route. It is not deciding tenancy, entitlement, complaint outcomes or priority. Ownership means being answerable for the question, the evidence and the consequence of proceeding. A name in a spreadsheet is insufficient if that person cannot obtain evidence, challenge a claim or stop an unsupported proposal.

Separate four paper responsibilities. The brief owner maintains the task, exclusions, evidence references and competing designs. The research lead turns uncertainties into research questions and an appropriate future study. The service-support owner investigates whether human help is available and usable, including nonvoice routes and capacity. The release decision owner considers the actual evidence and authorisation needed for any real pilot. These are proposed responsibilities in a fictional team, not authenticated roles or competent appointments. The finite Tern methods do not implement a sequence of role approvals.

The first practical failure is a criterion that rewards the feature rather than the user task. A sponsor might write success means the AI answers every enquiry. That does not say whether the person can correct an omission, distinguish an unsupported outcome claim or reach someone without voice contact. Replace the feature criterion with observable task questions. T-P01 concerns identifying requested information; T-P02 concerns correction before handoff; T-P03 concerns a nonvoice human route; T-P04 concerns avoiding unsupported outcome claims. Those fixed scripted criteria do not yet establish the right criteria for real users.

Use a six-step ownership method. First write the task and excluded decisions. Second connect each criterion to a source card and identify whether its support is observation, assumption, probe or gap. Third assign the proposed evidence and service responsibilities. Fourth define what is counted, its denominator and the criterion version. Fifth identify a stop that cannot be traded away by another task's success. Sixth record the next research decision, its resources and the actual decision owner still needed. This method produces a reviewable paper plan; it supplies neither user validation nor institutional permission.

The denominator belongs with the decision. There are four fixed paired tasks for each alternative, not three convenient tasks and an awkward exception. A form passing three tasks still fails T-P03. The AI concept passing one task also fails it. The contract therefore retains HOLD_NONVOICE_HUMAN_ROUTE for both. A score can organise comparison, while a consequential stop identifies a gap that a total must not conceal. Do not infer a universal three-out-of-four product acceptance rule: these are this fixture's authored criteria and boundaries only.

Imagine a paper meeting where the brief owner presents the form's higher total and the sponsor says the support route can be fixed after launch. The support owner should ask what usable alternative a nonvoice user has now, whether it shares another barrier and who will staff it. The research lead should ask which people and settings are absent from the scripts. The decision owner should retain realPilotStatus HOLD. The meeting can authorise further paper work within the teaching scenario without claiming an actual pilot, live contact or approved service.

An average prompt says Assign an owner and give the best-scoring design a green light. An elite paper prompt has six parts. Role: product-brief decision organiser. Constraints: invented Tern evidence only, no real users, model, housing decision or pilot permission. Process: map task criteria, evidence kinds, responsibilities and non-negotiable stops. Verification: retain every task, exact denominator, fixture version and unresolved support evidence. Output schema: criterion, evidence IDs/kinds, proposed owner, counting rule, stop, research question and decision scope. Failure modes: reject assumed preferences, dropped failures, substituted scores and ownership labels treated as approval.

The research plan must address participants, nonvoice-support, assistive-technology, language, privacy, supplier and support-capacity. These are the exact seven area IDs in record_research_plan. Listing all seven produces only RESEARCH_PLAN_DRAFT under the contract, not completed research. A new accepted plan advances plan_sequence and invalidates the prior recommendation. This gives the owner a useful change question: which recommendation relied on which version of the plan? Neither a completed list nor its sequence converts planned interviews, privacy review or a support-capacity question into an observed result.

nist-ai-rmf is voluntary cross-sector guidance, with selected context and measurement sections reviewed. It supports documenting purpose, assumptions, metrics and uncertainty rather than promising design certification. gov-ai-playbook is selected UK government guidance, adapted here to the fictional product exercise. Its meaningful-control and tool-selection sections do not impose universal human approval of each chat reply. For Tern, meaningful control is made concrete by keeping recommendation scope narrow and keeping an unresolved human-route gap visible. Actual operator, jurisdiction, authority and service obligations require separate review.

An owner also needs a way to detect consequential change. Under the contract, change_fixture switches only between code-owned versions 1 and 2. Version 2 changes T-P02's criterion text while retaining its fixed outcomes. Old percentages can therefore look familiar while referring to a different criterion. A change clears current hypothesis, comparison, research plan and recommendation; old returned copies persist. Repeating the current version is NO_CHANGE. Record currentness explicitly, rather than relying on a familiar result or assuming the old export has disappeared.

The brief should specify evidence required before a future decision: actual task research, access and support tests, privacy and supplier review, accountable resources and a defined review boundary. Keep questions answerable. Instead of someone will check accessibility, propose that the research lead and support owner examine the complete nonvoice journey with affected people using appropriate settings, and report both completion obstacles and unavailable help. That is a research proposal, not recruited participants or a validated route. No contact details, legal deadlines or operational housing instructions belong in this worksheet.

Finish by making disagreement easy to record. A decision note should preserve the rejected shortcut, the evidence limitation, the stop and the next accountable question. A colleague should be able to reconstruct why a form prototype was proposed while real use stayed held. Ownership is useful when it makes the gap harder to hide and the next investigation clearer. It is not useful when a fictional role or tidy dashboard supplies confidence that the evidence does not support. All actual research, model, access, pilot and acceptance flags remain false.

Ownership connects evidence to a stop

A comparison total cannot erase an unresolved human-route criterion.

Task and exclusionsCriteria and kindsProposed ownersNonvoice stopNext research decision
Steps
  • Task and exclusions: General enquiry preparation; no outcome decision.
  • Criteria and kinds: Four tasks, source kinds and denominator.
  • Proposed owners: Brief, research, support and release responsibilities.
  • Nonvoice stop: Both alternatives retain the failure.
  • Next research decision: Paper plan; real pilot held.
Relationships and conditions
  1. Task and exclusions to Criteria and kinds: Record responsibility and evidence
  2. Criteria and kinds to Proposed owners: Record responsibility and evidence
  3. Proposed owners to Nonvoice stop: Record responsibility and evidence
  4. Nonvoice stop to Next research decision: Record responsibility and evidence

Text equivalent: State the enquiry task and exclusions, retain four criteria and evidence kinds, assign proposed responsibilities and preserve both nonvoice-route failures. Record the next research decision while real use remains held.

Try it yourself · Activity 05

60 minutes

Write an accountable stop note

The fictional sponsor says the form passes most tasks and the human route can be added after launch. Write the brief-owner decision note and next research responsibilities.

  1. Success criteria: retain four tasks and exact evidence kinds, with T-P03 failure visible for both designs.
  2. Name proposed brief/research/support/release responsibilities without treating labels as actual authority.
  3. Retain real pilot HOLD and all seven research areas; state the evidence needed for the next decision.

Which missing responsibility would let a correct-looking comparison conceal an unusable service journey?

Worked answer

Record the proposed form prototype as paper work only. Preserve the four-task denominator and both nonvoice-route failures; a higher total cannot remove the stop. Brief owner maintains traceability, research lead plans actual task/access research, support owner investigates usable nonvoice alternatives and capacity, and an actual release owner remains to be established. Include participants, nonvoice-support, assistive-technology, language, privacy, supplier and support-capacity. A plan is not completed research. No live route, model, pilot or accepted design is claimed; realPilotStatus stays HOLD.

Scroll sideways to see every column.

Owners, criteria and stopping · Table 9
Chapter review questionAnswer after your attempt
What does an owner label establish here?A proposed paper responsibility, not identity, competence or real release authority.
Why retain the four-task denominator?Dropping a failure changes the comparison and conceals the human-route gap.
Can the form total override T-P03?No. Both alternatives retain the nonvoice-route stop.
What does a complete research plan establish?A plan draft only, with factual acceptance flags still false.
What changes when an accepted plan is repeated?plan_sequence advances and the prior recommendation is invalidated.
Why can the same percentages become stale?A criterion version can change while outcomes stay fixed, so meaning and currentness must be rechecked.

Apply what you learned · Practice

Which decision matches a higher form score with a failed nonvoice route?

Explanation and answer

Propose bounded paper form work and hold real use pending the unresolved route and research. Ownership and comparison do not resolve the route or confer pilot permission.

Practice only. This does not count towards your exam or certificate.

Next chapter

Learn in your browser · Chapter 06 of 08

06

A fair prototype comparison

Inspect all paired tasks and the meaning of the denominator before recommending further prototype work.

A fair prototype comparison asks whether alternative designs help with the same task under disclosed conditions. It does not ask which looks more intelligent. Tern compares a structured form with a static AI-concept transcript for general enquiry preparation. The form uses fixed prompts and preview; the transcript asks for the same limited information. Neither is a live service, operational submission or model run. Fairness here means preserving the matched tasks, authored evidence and unresolved gaps so a reader can question the result without being persuaded by conversational style.

The fixed task set has four pairs. T-P01 asks whether requested information can be identified: both scripts pass. T-P02 asks about correction before handoff: the form passes and the AI concept fails. T-P03 asks about a nonvoice human route: both fail. T-P04 asks whether unsupported outcome claims are avoided: the form passes and the AI concept fails. These eight authored probes are the whole comparison, not eight people or eight observed attempts. T-E05 remains scripted_probe_set. Keep task identity, alternative, criterion and fixture version attached to every row.

Scroll sideways to see every column.

A fair prototype comparison · Table 10
Paired taskForm scriptAI-concept scriptInterpretation
T-P01: identify requested informationstructured-form PASSai-concept PASSBoth meet the same fixed scripted information criterion.
T-P02: correct before handoffstructured-form PASSai-concept FAILForm preview permits correction; authored transcript lacks that step.
T-P03: reach nonvoice human routestructured-form FAILai-concept FAILVoice-only or unverified text-route labels do not establish usable support.
T-P04: avoid unsupported outcome claimsstructured-form PASSai-concept FAILForm promises no outcome; transcript contains a deliberate unsupported assertion.

Use six steps for a fair comparison. First state the shared task and excluded decisions. Second keep the alternatives and information boundaries comparable. Third disclose the criterion for every paired task and its current version. Fourth inspect both complete sets, including failures. Fifth calculate each numerator and denominator while preserving consequential stops. Sixth describe what the scripted evidence supports and what real research must answer. If either design changes, investigate which comparisons become stale. A result should retain enough context for someone else to repeat the reasoning without trusting the recommendation.

The paper arithmetic is three passes divided by four tasks for structured-form, or 75 percent of these scripted checks. For ai-concept it is one divided by four, or 25 percent of these scripted checks. These figures are not completion rates, preference, satisfaction, model accuracy or population estimates. They compare this authored fixture only. A difference of two script passes is useful for choosing the next prototype question, but it supplies no estimate of real benefit or cost. Both alternatives still fail the human-route criterion.

The tempting shortcut is to remove T-P03 because it is a service problem outside the interface. Doing so changes the denominator and hides a barrier in the complete user journey. Another shortcut gives the form its preview while allowing the AI concept to rely on an imagined future support feature. Compare what is actually described, not one present design against another's aspiration. Future improvements belong in a separate proposal with revised criteria and new research. No promised text route or fluent dialogue can be counted as available assistance.

Consider a paper design review where the sponsor calls T-P04 a discovered hallucination. The AI-concept transcript was authored in advance to include an unsupported outcome assertion. It is a deliberate scripted defect, not an error observed from a model. The right lesson is to inspect claim support and consequences, including whether presentation misleads someone about an outcome. It is not to announce that a tested model is unreliable. Likewise the form's no-outcome script is a criterion pass, not proof that every future form message is safe or accurate.

An average prompt says Compare the success rates and choose the more engaging AI experience. An elite paper prompt gives the role of matched-probe analyst. Constraints: fixed two alternatives, all four pairs, scripted kinds preserved, no actual users or model inference. Process: inspect each criterion, show every pass/fail and investigate denominator shortcuts. Verification: check complete rows, current fixture and arithmetic; preserve both nonvoice failures. Output schema: task, alternative, criterion, outcome, numerator, denominator, version, limitation and next research question. Failure modes: reject omitted tasks, invented transcripts, model-error claims and percentage-based pilot approval.

Under the contract, compare_designs takes the current fixture version and computes both complete alternatives from code-owned probes. A caller cannot select favourable rows or inject outcomes. inspect_probe_outcomes returns all four rows for one known alternative at the current version. Those analytical boundaries support a transparent comparison, not semantic truth detection or security assurance. Unknown alternative IDs and invalid, stale or boolean versions do not supply current evidence. Paper worksheets should follow the same discipline even without code: never let a filtered display become the undisclosed source of a total.

Version 2 changes T-P02's criterion text but retains the fixed outcomes. That is a useful challenge because an old copied percentage can look numerically correct while answering an old question. change_fixture clears the current hypothesis, comparison, plan and recommendation. Old copies remain and need a stale label relative to the current fixture. A fresh process resets version 1 without analytical results. Do not describe these memory operations as durable control, authenticated review or deletion. Current evidence means current meaning, not just a recognisable numerator.

gds-prototyping is government practice guidance used here as a method reference. It describes exploring different designs before production and distinguishes prototypes from live-service readiness. Tern is an analytical teaching aid rather than a deployed prototype or user test. nist-ai-rmf's selected voluntary measurement sections support documented methods and uncertainty; they do not certify the comparison. gov-ai-playbook permits the conclusion that established technology better addresses a goal. These sources support taking a structured form seriously instead of treating AI adoption itself as success.

A real comparison proposal must plan how order, prior experience, assistance, language and access settings could affect findings. Ask which participants are relevant, what tasks are realistic, how unsuccessful attempts will be retained and who will analyse differences. A supported session is not automatically equivalent to an unassisted service journey. These are research questions, not recruited people or an experimental protocol already accepted. Use appropriate local research and privacy review before real participation, and avoid a fictional percentage becoming the sample-size justification or an assumption about all adult tenants.

The result should end with a bounded choice and a falsifiable next question. The form is the stronger candidate in this fixed paper comparison, while both need the nonvoice support gap investigated. A form-prototype proposal can explore correction and support with actual future research; hold-all can preserve uncertainty without selecting a candidate. Neither is a pilot. A good comparison makes it possible to change the recommendation when evidence changes. It should not lock the team into either a fashionable feature or a prototype whose access failure was hidden to win the score.

Compare the whole task, retain the shared failure

A higher scripted total does not remove the human-route stop.

Same enquiry taskAll four paired criteriaInspect complete rowsCount scripted outcomesChoose next researchquestion
Steps
  • Same enquiry task: Two alternatives; same exclusions.
  • All four paired criteria: Eight authored probes, not participants.
  • Inspect complete rows: Include failures and version.
  • Count scripted outcomes: 3/4 versus 1/4; both T-P03 FAIL.
  • Choose next research question: Prototype proposal only; real pilot held.
Relationships and conditions
  1. Same enquiry task to All four paired criteria: Keep task, version and limitations
  2. All four paired criteria to Inspect complete rows: Keep task, version and limitations
  3. Inspect complete rows to Count scripted outcomes: Keep task, version and limitations
  4. Count scripted outcomes to Choose next research question: Keep task, version and limitations

Text equivalent: Compare two alternatives on the same four tasks. Preserve all eight scripted rows and the current criterion version. Form passes three of four and AI one of four; both fail nonvoice support. Use the result to plan research, not authorise real use.

Try it yourself · Activity 06

60 minutes

Repair a biased comparison slide

A slide reports form 3/3 after removing T-P03 and calls the AI concept failure a measured model hallucination. Replace it with the complete paired comparison and bounded recommendation.

  1. Success criteria: show all four task pairs and original outcomes, correct separate denominators and scripted-evidence labels.
  2. Explain T-P04 as an authored challenge and retain both T-P03 failures.
  3. State current fixture/criterion requirements and the next research decision without a real pilot claim.

Which apparently reasonable adjustment would make this comparison unfair without changing a single script outcome?

Worked answer

Restore four tasks per alternative: form PASS/PASS/FAIL/PASS gives 3/4; AI PASS/FAIL/FAIL/FAIL gives 1/4. These are 75% and 25% of scripted checks, not real completion or model accuracy. T-P04 is an authored unsupported assertion, not a discovered model error. Both nonvoice routes fail, so real use stays held. Retain task/version/criterion and inspect complete rows; a criterion change makes prior comparison stale even if counts match. Propose bounded form prototype research or hold-all, with actual task, support, access and privacy evidence still needed.

Scroll sideways to see every column.

A fair prototype comparison · Table 11
Chapter review questionAnswer after your attempt
How many participants are represented by the eight probes?None. They are eight authored task/alternative records.
What does form 3/4 mean?Three criterion passes among four fixed scripted checks, not user success.
Why retain T-P03 in both totals?It is part of the complete journey and fails for both designs.
Is T-P04 a model hallucination observation?No. It is a deliberately authored unsupported claim in a static transcript.
Can an unchanged percentage remain current after a criterion change?No. Meaning and fixture version must be current, even if outcomes stay fixed.
Does the stronger form script authorise a real pilot?No. It can support a bounded prototype proposal while actual research and permission remain open.

Apply what you learned · Practice

Which description of 75% versus 25% is supported?

Explanation and answer

Pass proportions for this fixed scripted comparison, with both nonvoice routes failed. The denominator is four authored checks per alternative; real users/models and access acceptance are absent.

Practice only. This does not count towards your exam or certificate.

Four authored tasks are paired across a form prototype and static AI concept; both fail the nonvoice human-support task.
Fixed scripted criteria give the form three passes out of four and the static AI concept one pass out of four. These are authored task rows, not real participants or model accuracy.
Next chapter

Learn in your browser · Chapter 07 of 08

07

Access and a usable human route

Investigate the whole enquiry journey and the support behind a channel label before claiming usable access.

Access is whether a person can complete the intended journey, including getting help when the interface is insufficient. Tern's task ends at a human handoff, not at a well-worded screen. The invented form and AI concept both fail T-P03, reaching a nonvoice human route. One script offers voice contact only; the other points to an unverified text route. Neither provides evidence that suitable assistance exists. This is a deliberate design gap in authored material, not a discovered failure affecting a real tenant or a tested accessibility result.

Do not collapse access into a single persona or a binary accessible checkbox. Someone may need keyboard operation, screen-reader compatibility, easier reading, another language, a nonvoice channel or help because they lack digital confidence or internet access. These needs can overlap without being identical. Nonvoice support delivered online does not automatically solve nononline access. A telephone number is not usable for everyone, while an in-person proposal needs its own availability and practical review. Tern supplies no real person, diagnosis, contact or support site.

Use six steps to review the journey. First identify the task from first explanation through correction and human handoff. Second list barriers and missing evidence at each stage, rather than assigning a deficit to the person. Third distinguish interface access, language/content and assistance needs. Fourth connect each proposed route to a responsible support owner and capacity question. Fifth plan research with affected people and appropriate settings, including unsuccessful journeys. Sixth record stop and decision conditions without claiming the route is available. The method produces questions for real investigation, not a validated service.

A useful ordinary-text alternative describes what information is requested, what can be reviewed or corrected and what the proposed human option does. It should keep uncertainty visible rather than promise an outcome. For a keyboard or screen-reader journey, ask how focus, labels, errors, preview and status changes can be understood across the complete process. For easier-reading or language review, ask whether the person can explain the requested task in their own words without being led. These proposed checks do not establish translation quality, technical conformance or actual comprehension.

Consider a paper redesign that adds a button labelled Text a human. The sponsor calls T-P03 repaired because a nonvoice word now appears. The support owner should ask who receives it, whether that route is staffed, what happens when it is unavailable, what privacy and record handling apply and whether the person can find and use it. The research lead should ask which affected people can test the complete journey. Until actual evidence answers those questions, the button is a design proposal. It cannot retroactively change the fixed probe from FAIL to PASS.

An average prompt says Add an accessible human-help link and mark the flow inclusive. An elite paper prompt gives the role of end-to-end access reviewer. Constraints: fictional journey only, no real contacts, diagnosis, participant evidence or accepted route. Process: map text, keyboard/screen-reader, language, low-digital, nonvoice and human-support barriers. Verification: distinguish proposed labels from demonstrated route availability, retain both T-P03 failures and all evidence kinds. Output schema: journey stage, barrier, proposed route, owner, research question, capacity dependency and stop. Failure modes: reject voice-only universal access, invented testing, missing offline needs and a label counted as availability.

inclusive-accessibility groups government Service Standard guidance, scoped public-sector requirements and selected WCAG 2.2 criteria. These have different status. The Service Standard concerns online/offline access and affected-user research. The requirements page applies to in-scope public bodies, with exemptions and separate GB/NI equality context; it is not automatically the legal regime for every private tenant service. Selected keyboard, focus and status-message criteria help define technical questions. Full-page and complete-process conformance cannot be inferred from a diagram or one usable screen. No operator classification or full audit is completed here.

assisted-digital-support is government practice guidance about researched support needs, including phone, in person and sometimes webchat. Adapt its method rather than treating its channel list as universal permission or proof of usability. Confidence, trust, skills and internet access can create barriers even when technical interface criteria are met. A proposed channel may also share the same unavailable staff or digital dependency as the primary route. The service-support owner must investigate actual resources and continuity; the workbook has not verified capacity, availability, response time or any real support arrangement.

Plan actual research through questions, not fabricated findings. gds-research-planning recommends turning assumptions into research questions and considering participant groups and assistance. Its disability-session supporting guidance encourages asking about individual requirements and allowing participants' own assistive technology/settings. No one has been recruited here. The future research lead must arrange appropriate ethical, accessible participation and privacy handling under the actual organisation's process. Do not infer a statutory participant minimum, treat a fixed script as representative or use the fictional sponsor's preference claim to select only people comfortable with chat.

The seven-area research plan makes the access gap accountable: participants, nonvoice-support, assistive-technology, language, privacy, supplier and support-capacity. For each, write a question, proposed method, evidence needed and owner, plus what remains unapproved. record_research_plan accepts the exact complete set to produce a draft and a new plan_sequence. Missing an area holds the plan, while completion still leaves accessValidated false. A new accepted plan invalidates a prior recommendation. Method validation checks the list; it does not judge the adequacy of a real study or approve its people and data.

Privacy is part of access rather than a reason to collect every detail. Ask what information is necessary for a research activity or proposed enquiry handoff, who sees it and how long it persists. ico-data-principles has a DUAA review notice and a specific March 2026 purpose-limitation update, not a declaration that every related page is final. The fixture selects no actual lawful basis, consent process, retention period or supplier permission. An appropriate actual review must distinguish agreeing to participate from the applicable processing grounds and any separate service duties.

A strong access section can conclude not yet. State the failed scripted task, proposed alternatives, missing route/capacity evidence, affected journeys to investigate and the next decision. Preserve easier-reading and nononline questions rather than assuming a technical interface fix solves them. The form's better total may justify further paper exploration, while both designs retain the same real-use hold. AccessValidated, actualUserResearch, actualModelRun, pilotAuthorised and designAccepted remain false. That explicit record lets the team improve the proposal without presenting absent people, unseen testing or unimplemented human help as evidence of success.

The human route is part of the design

A readable interface does not establish usable help at the end of the journey.

Complete enquiry journeyDistinct access barriersRoute and capacityquestionsProposed real researchAccess remainsunvalidated
Steps
  • Complete enquiry journey: Explanation, correction and human handoff.
  • Distinct access barriers: Text, AT, language, nonvoice and low-digital.
  • Route and capacity questions: A label is not available support.
  • Proposed real research: Affected people/settings; seven areas.
  • Access remains unvalidated: Both scripts fail T-P03; real pilot held.
Relationships and conditions
  1. Complete enquiry journey to Distinct access barriers: Ask what evidence is missing
  2. Distinct access barriers to Route and capacity questions: Ask what evidence is missing
  3. Route and capacity questions to Proposed real research: Ask what evidence is missing
  4. Proposed real research to Access remains unvalidated: Ask what evidence is missing

Text equivalent: Map explanation, correction and handoff, then distinguish access barriers and route/capacity questions. Plan appropriate real research across seven areas. Both fixed nonvoice checks remain failed; access and pilot acceptance stay unvalidated.

Try it yourself · Activity 07

60 minutes

Challenge an unverified help button

A paper concept adds Text a human and claims the shared nonvoice failure is solved. Prepare a journey/access research response with proposed ownership and capacity questions.

  1. Success criteria: distinguish route label, availability, end-to-end usability and support capacity.
  2. Include nonvoice/nononline, ordinary-text, AT, easier-reading and language questions without invented participants or results.
  3. Retain fixed T-P03 FAIL, all seven research areas and false access/pilot acceptance flags.

Where could a technically usable screen still leave someone unable to complete this enquiry journey?

Worked answer

Keep the added button as a proposal, not proof. Ask who handles it, when it is usable, how unavailable support is addressed and which information/records it requires. Examine finding the route, correction, handoff and response understanding with actual affected people/settings under appropriate future review. Nonvoice online support may not solve nononline access; phone is not universal. Plan participants, nonvoice-support, assistive-technology, language, privacy, supplier and support-capacity. Fixed probe outcomes remain unchanged; the plan is a draft only. No real contact, AT/user test, route capacity, accepted access or authorised pilot is claimed.

Scroll sideways to see every column.

Access and a usable human route · Table 12
Chapter review questionAnswer after your attempt
Does a Text a human label repair T-P03?No. Availability, usable handoff and capacity remain unverified, and fixed outcomes do not change.
Are nonvoice and nononline access equivalent?No. An online text route can still exclude someone without online access.
Does a phone option serve everyone?No. Individual access, language, availability and capacity questions remain.
What does complete-process conformance warn against?Inferring full access from a single screen, diagram or selected criterion.
Does a seven-area plan validate access?No. It drafts research; accessValidated remains false.
Can government guidance classify the fictional operator?No. Actual public/private scope, jurisdiction and obligations require review.

Apply what you learned · Practice

A prototype contains a nonvoice help label but its support operation is unknown. Which status is honest?

Explanation and answer

Access remains unvalidated; retain the route gap and plan actual evidence. A channel label and a research plan establish neither route availability nor successful access.

Practice only. This does not count towards your exam or certificate.

Next chapter

Learn in your browser · Chapter 08 of 08

08

The brief and the release recommendation

Produce a traceable product brief with a bounded prototype choice, actual research questions and a held real-use decision.

This capstone supplies a complete fictional product brief for Tern-Adult-Enquiry-Training, purpose design-brief-teaching. Its proposed task is to help an adult understand the limited information requested for a general enquiry, review or correct it and reach a human handler through a usable route. It does not decide eligibility, tenancy, entitlement, priority, complaints or legal outcomes. The brief recommends further bounded form-prototype work, while realPilotStatus remains HOLD. It describes a traceable decision and research plan, not a launched housing service or professional acceptance.

The need hypothesis is: an adult preparing a general enquiry may need clearer requested information, correction before handoff and suitable human help, rather than a particular interface. T-E01 and T-E02 motivate label/correction questions; T-E04 identifies an authored access gap. All are synthetic. T-E03's everyone prefers chat remains a stakeholder assumption, not evidence of preference. gds-user-needs is government guidance adapted as a method: goals should not prescribe the solution, and assumptions need research. No fictional card establishes an actual tenant need or replaces likely-user investigation.

The evidence register below is part of the brief, with every kind visible. Provenance is the authored Tern fixture, not a recorded session or commercial dataset. list_evidence_cards is the contracted way to inspect copied cards. draft_need_hypothesis can produce only a hypothesis; T-E03 alone holds as assumption-only. Adding a synthetic card does not turn the sponsor's proposition into observed preference. Record which claim each card supports and what it cannot establish. The research-gap register belongs beside the evidence, so absence of participants, access or supplier review remains visible at recommendation time.

Scroll sideways to see every column.

The brief and the release recommendation · Table 13
Card IDPreserved kindBounded support and gap
T-E01synthetic_observationAuthored pause at unexplained description field; supports a label research question, not a session finding.
T-E02synthetic_observationAuthored preview/correction vignette; supports a correction question, not measured improvement.
T-E03stakeholder_assumptionSponsor preference claim; requires research and never establishes all-user preference.
T-E04synthetic_access_gapVoice-only proposed help; nonvoice/nononline routes unverified.
T-E05scripted_probe_setEight fixed paired records; no actual people or AI outputs.
T-E06research_gap_registerParticipant, AT, language, privacy, supplier and capacity evidence absent.

The alternatives are structured-form and ai-concept, both confined to enquiry preparation. The paired task register retains T-P01 information identification, T-P02 correction, T-P03 nonvoice human route and T-P04 unsupported outcome claims. The paper outcomes are form PASS/PASS/FAIL/PASS and AI PASS/FAIL/FAIL/FAIL. That gives three of four and one of four, or 75 and 25 percent of scripted checks only. There are eight authored probes, no model or people. Both retain HOLD_NONVOICE_HUMAN_ROUTE, which the form's higher total cannot override.

Use six steps to defend the recommendation. First restate the task, evidence kinds and exclusions. Second show the full matched comparison and current criterion version. Third explain why a specific paper prototype is the next useful investigation. Fourth identify all missing research and support evidence with proposed owners. Fifth state stop, change and recommendation conditions. Sixth distinguish the prototype proposal, any future real pilot decision and design acceptance. A completed brief is valuable because its recommendation can be challenged. It must not be written as if a green score supplies consent, legal clearance or live resources.

An average capstone prompt says Use the best result to write an AI launch brief. An elite paper prompt has six parts. Role: evidence-grounded product-brief writer. Constraints: six fictional cards, fixed alternatives/probes, no validated need, real user, model, housing decision or release approval. Process: assemble need, comparison, owners, seven-area research, stops and change record. Verification: preserve card kinds, complete denominators, current fixture/plan sequence and both route failures. Output schema: hypothesis, source IDs/kinds, alternatives, task outcomes, owners, gaps, research and recommendation scope. Failure modes: hold unsupported AI choice, assumption promotion, stale copies, missing support and percentage-based acceptance.

Proposed ownership is explicit: brief owner maintains traceability and comparison; research lead prepares actual study questions and appropriate participation; support owner investigates usable routes and resources; an actual release decision owner and relevant data/legal/supplier reviewers remain to be established. These responsibilities are not authenticated approvals in Tern. The seven-area plan below provides questions, proposed methods and evidence targets rather than invented findings. It does not recruit participants, obtain consent, select processing grounds or validate a channel. Every real acceptance flag remains false even when the administrative plan is complete.

Scroll sideways to see every column.

The brief and the release recommendation · Table 14
Required research areaActual question to investigateProposed responsibility and evidence boundary
participantsWho faces the enquiry task and who is absent?Research lead: propose appropriate recruitment/task investigation and record actual evidence later; no recruitment done.
nonvoice-supportCan someone find and use suitable nonvoice/nononline help?Research/support owners: examine complete proposed handoff and unavailable-route cases; no actual route validated.
assistive-technologyHow do labels, correction, focus and status work with relevant settings?Research lead: plan affected-user/AT investigation under appropriate review; no AT test claimed.
languageCan requested information and uncertainty be understood?Research lead: propose language/easier-reading review and comprehension questions; no translation accepted.
privacyWhat participation/service information is necessary and appropriately handled?Actual data/legal reviewer needed: identify grounds, notices, minimisation and retention; no consent/basis selected.
supplierWhat processing, reuse, logs, security and exit would a provider impose?Commercial/data/security reviewers needed: obtain actual architecture and terms; no supplier approved.
support-capacityCan suitable assistance be staffed and maintained?Support owner: investigate resources, availability and continuity; no capacity or response time verified.

The paper analytical sequence is to inspect cards, draft a bounded hypothesis, compare all tasks at the current fixture, record all seven research areas and use the current returned plan_sequence for draft_brief_recommendation. Choose form-prototype for FORM_PROTOTYPE_PROPOSAL or hold-all for HOLD_ALL_PENDING_RESEARCH. The contract accepts neither an AI choice nor caller-supplied acceptance. export_brief requires the current recommendation and returns a fresh teaching brief. These are specified method boundaries and expected paper outcomes while authoring; no execution, test count or successful prototype research is claimed in this chapter.

The change record preserves fixture version 1 and requires reanalysis after change_fixture moves to version 2. T-P02 criterion text changes while outcomes stay fixed, so percentages alone cannot establish currentness. The change clears hypothesis, comparison, plan and recommendation; old returned copies must be marked stale relative to the current fixture. A new complete research plan advances sequence and invalidates a prior recommendation. A validation failure handled inside a method clears its dependent recommendation; Python argument-binding TypeError before the method body leaves existing state intact. A fresh process starts at version 1 with no analytical results. These are ordinary memory boundaries, not durable identity, deletion or secure enforcement.

Any future real pilot proposal needs actual participants and tasks, authorised ethical/privacy handling, relevant operator/jurisdiction review, exclusions, support resources, access evidence, measurable criteria, monitoring and an accountable decision owner. The proposed study should retain failed journeys, correction obstacles and unavailable help rather than select only comfortable chat users. Supplier questions include processing, training reuse, logs, retention, transfers, security and exit. A bounded export can aid record organisation, but cannot prove migration, deletion, consent or sovereign control. A proposed Mickai service could organise records digitisation and permissions; no live product capability is certified here.

Contextual sources do not decide this service's law. cma-consumer-practices gives selected UK consumer-claim guidance: evidence and presentation matter, but no trader/practice classification or tenancy advice is supplied. ico-data-principles retains its DUAA review notice and selects no actual privacy basis. eu-ai-current-context is current Commission explanation with operative-text retrieval unresolved, not a universal delay or exemption. Government Service Manual and playbook methods are adaptations; inclusive-accessibility has distinct public-body and technical scopes. Actual local requirements and qualified applicability remain open, alongside research and service acceptance.

Teach the brief back by naming the rejected shortcut: a higher scripted total cannot authorise real use while a shared human route fails. Explain what would change the proposal and who must bring evidence. The capstone and written tasks are ungraded. The linked official twenty-question knowledge exam requires strictly above 80 percent, so 16/20 fails and 17/20 passes. Its public availability depends on the completed checked release. A knowledge result would not certify a designer, accepted product or legal compliance. The finished brief records a form-prototype proposal with real pilot held and a concrete research agenda.

A finished brief can recommend research and hold release

Traceability connects the paper comparison to a bounded next decision.

Traceable need hypothesisComplete alternativesSeven-area research planCurrent recommendationBounded teaching brief
Steps
  • Traceable need hypothesis: Six cards; five distinct kinds.
  • Complete alternatives: Four pairs; both route failures.
  • Seven-area research plan: Questions and owners, not findings.
  • Current recommendation: Version and plan_sequence required.
  • Bounded teaching brief: Form prototype proposed; real pilot HOLD.
Relationships and conditions
  1. Traceable need hypothesis to Complete alternatives: Retain evidence kind and decision scope
  2. Complete alternatives to Seven-area research plan: Retain evidence kind and decision scope
  3. Seven-area research plan to Current recommendation: Retain evidence kind and decision scope
  4. Current recommendation to Bounded teaching brief: Retain evidence kind and decision scope

Text equivalent: Preserve six cards and their five distinct kinds and the complete paired comparison. Link seven research areas to proposed responsibilities. Use the current fixture and plan sequence for a bounded recommendation/export. The form prototype is proposed while both nonvoice failures and real pilot HOLD remain.

Try it yourself · Activity 08

60 minutes

Defend the complete Tern brief

A sponsor accepts the form total but asks to rename the proposal a real pilot and omit nonvoice research. Present the supplied brief, next research and stop decision.

  1. Success criteria: preserve six cards and five distinct kinds, four paired tasks/eight probes and exact scripted totals.
  2. Include all seven research areas and proposed owners, while no actual participation, support, privacy or supplier approval is claimed.
  3. Retain both route failures, current version/plan sequence, permitted recommendation choices and realPilotStatus HOLD.

What evidence could fairly change your prototype recommendation without being mistaken for pilot authorisation?

Worked answer

Recommend bounded form-prototype work or hold-all; reject a real pilot claim. The need is a synthetic-supported hypothesis, not validated preference. Preserve form 3/4 and AI 1/4 over complete four-task denominators, with both T-P03 failures and no model/user result. Plan participants, nonvoice-support, assistive-technology, language, privacy, supplier and support-capacity, assigning questions and actual evidence requirements. Recommendation requires current comparison and completed plan sequence; changes invalidate old analysis. All factual acceptance flags stay false. Actual research, lawful handling, operator scope, support resources and release decision remain open.

Scroll sideways to see every column.

The brief and the release recommendation · Table 15
Chapter review questionAnswer after your attempt
What need does the brief validate?None. It supplies a synthetic-supported hypothesis for actual research.
Can T-E03 become an observed preference by adding another card?No. Its stakeholder-assumption kind remains visible.
Which recommendations does the contract permit?form-prototype or hold-all, both with realPilotStatus HOLD.
What must research cover?All seven named areas, with actual questions/evidence still unresolved.
Does export_brief establish sovereign control or deletion?No. It returns a copied teaching brief only.
Does a knowledge pass accept the product?No. It is prospective knowledge-only, with no professional or product approval.

Apply what you learned · Practice

Which capstone recommendation preserves all evidence limits?

Explanation and answer

Propose bounded form prototype work with both route failures and real pilot HOLD. The scripted comparison supports a next research proposal, not actual pilot permission or accepted access.

Practice only. This does not count towards your exam or certificate.

Scroll sideways to see every column.

The brief and the release recommendation · Table 16
Further product-design questionAnswer
Why keep criterion version with the percentage?Version 2 changes a criterion while fixed outcomes remain; the same total can refer to stale meaning.
Are eight Tern probes eight participants?No. They are eight authored records for four matched tasks across two alternatives.
Is the AI concept failure an observed model hallucination?No. The unsupported assertion is deliberately scripted in a static transcript; no model ran.
Does 75 percent show real tenant completion?No. It is three passes among four fixed scripted criteria only.
Is a phone route sufficient for all users?No. Nonvoice, nononline, language, capacity and individual access needs require appropriate actual investigation.
Does an AT research-plan entry prove accessibility?No. It plans evidence; no real user/AT test or complete-process conformance is established.
Can T-E03 establish a validated preference for chat?No. It remains a stakeholder assumption. The hypothesis method holds when it is the only card.
Does an exported brief certify sovereignty or design acceptance?No. It is a copied teaching brief, with migration/deletion, actual research, access, pilot permission and acceptance unproved.
text · 2 lines
python -B -X utf8 -m unittest -v test_tern_lab.py
python -B -X utf8 tern_lab.py

Scroll sideways to see every column.

The brief and the release recommendation · Table 17
Exact analytical mechanismMeaning and limit
T-E01 and T-E02Two synthetic_observation cards; no real participant observation or measured improvement.
T-E03Stakeholder assumption about chat preference, not a validated user need.
T-E04Synthetic access gap: actual nonvoice and nononline assistance unverified.
T-E05 and T-E06Scripted probes and research-gap register, not a study or completed research.
T-P01..T-P04Same information, correction, nonvoice-route and unsupported-outcome criteria for each design. Both fail T-P03.
Two alternativesFormPASS/PASS/FAIL/PASS; AI conceptPASS/FAIL/FAIL/FAIL. Counts describe authored checks only.
Seven research areasParticipants,nonvoice-support,assistive-technology,language,privacy,supplier,support-capacity. A plan is not their execution.
Fixture version and plan sequenceCriterion change invalidates current analysis; a new plan invalidates a prior recommendation. Counts can stay the same while meaning changes.
Retry boundaryHandled argument/fixture validation failures clear the current recommendation. Python signature TypeError before the method body leaves earlier state unchanged.
Export and processA bounded teaching brief, not real pilot permission, migration,deletion or sovereign-origin proof. Old returned copies remain; a fresh process starts at version1 with no analysis.
text · 19 lines
# Tern Brief Comparator

Original adult design training for a fictional general-enquiry journey. It is a finite analytical worksheet, not a tenant chatbot or housing service. No participant, tenant record, address, model, network, upload, external form or operational submission is used.

Requires Python 3.10 or later and its standard library. Keep these four learner files together: `tern_lab.py`, `test_tern_lab.py`, `fixture.json`, `README.md`. Run `python -B -X utf8 tern_lab.py` for the complete JSON demo, and `python -B -X utf8 -m unittest -v test_tern_lab` for author tests. No installation is needed. Tests use the platform temporary directory; optional `TERN_TEST_TEMP` selects an existing writable temporary directory. Creator execution sets TEMP/TMP externally to M:; learners do not need that drive.

The six cards explicitly distinguish authored observations, sponsor assumption, access gap, scripted probes and research gaps. Four matched tasks test each alternative. The fixed structured-form outcomes are PASS/PASS/FAIL/PASS; the static AI concept gives PASS/FAIL/FAIL/FAIL. Counts are 3/4 and 1/4 (75% and 25%) of scripted criteria only. Both fail the nonvoice human-route criterion. The higher form total cannot establish available assistance or a real user preference. These are not people, model accuracy or measured service success.

## Work through the comparison

Import `Tern` and `AREAS` from `tern_lab`. Create `t = Tern()`. Read `t.list_evidence_cards()`. Draft a hypothesis with `t.draft_need_hypothesis(['T-E01', 'T-E02'], 'T-P02', 1)`; T-E03 alone is held as an assumption. Inspect all four rows with `t.inspect_probe_outcomes('ai-concept', 1)`. Use `t.compare_designs(1)` for both complete denominators. Record a plan using `p = t.record_research_plan(list(AREAS), 1)`. Then `t.draft_brief_recommendation('form-prototype', 1, p['planSequence'])` or `'hold-all'`, and `t.export_brief(1)`. No actual research is performed by a completed plan.

All seven research areas are required: participants, nonvoice-support, assistive-technology, language, privacy, supplier, support-capacity. Plans increase a sequence counter. A new plan or a plan call that enters the method and fails validation clears the current recommendation; incomplete plans cannot reuse an earlier completed plan. Recommendations require a current complete comparison and completed plan, and always retain realPilotStatus HOLD. There is no AI approval choice. Actual research, model execution, access validation, pilot authorisation and design acceptance flags remain false.

`t.change_fixture(2)` changes T-P02's criterion wording, not its outcomes, and clears current analytical work. Repeating the current version is NO_CHANGE. Redo comparison, plan and recommendation at version 2; do not reuse a version-1 criterion or old plan sequence. Returning to version 1 also clears work. Old returned JSON copies still exist. A new Python process starts at version 1 with no work and sequence zero; exported files are not erased or recalled.

The fixed local fixture is validated against code-owned fields, exact types and values on reads, including duplicate keys. There is no arbitrary path argument. When a call binds to the method signature and fails validation inside the method, it clears the recommendation; comparison-validation failures clear the comparison, and plan-validation failures clear the completed plan. Unknown, extra or missing arguments can instead raise TypeError before the method body runs, leaving existing state unchanged. Such argument-binding errors are not recorded holds or evidence checks. Inventory and successful probe inspection do not establish a comparison. Returned objects are separate copies. This is not semantic truth detection: no free-text classifier decides whether a claim is honest. Ordinary Python attributes can be changed by a caller and are not an enforced secure store, authentication or durable identity. Do not use this exercise as a security boundary.

Actual participants, ethical/privacy and applicable legal review, supplier conditions, assistive technology, language and end-to-end access checks, support capacity and service-owner decisions remain unresolved. The exercise gives no housing, eligibility, urgency, prioritisation or legal advice. A teaching brief is neither research consent nor migration, deletion, sovereignty, release approval or an accepted design. Author tests are not independent approval.

json · 273 lines
{
  "project": "Tern-Adult-Enquiry-Training",
  "purpose": "design-brief-teaching",
  "fixtureVersion": 1,
  "cards": [
    {
      "id": "T-E01",
      "kind": "synthetic_observation",
      "content": "An authored adult pauses at the unexplained description label; this is a label hypothesis, not a real session.",
      "provenance": "Tern authored synthetic evidence card"
    },
    {
      "id": "T-E02",
      "kind": "synthetic_observation",
      "content": "An authored preview permits correction of an omitted detail; this supports a research question, not a measured improvement.",
      "provenance": "Tern authored synthetic evidence card"
    },
    {
      "id": "T-E03",
      "kind": "stakeholder_assumption",
      "content": "The fictional sponsor says every tenant prefers chat; this remains a proposition to research.",
      "provenance": "Tern authored synthetic evidence card"
    },
    {
      "id": "T-E04",
      "kind": "synthetic_access_gap",
      "content": "The planned human route is voice only; nonvoice and nononline alternatives are unverified.",
      "provenance": "Tern authored synthetic evidence card"
    },
    {
      "id": "T-E05",
      "kind": "scripted_probe_set",
      "content": "Eight authored probes compare four matched tasks for each design; neither people nor model outputs are represented.",
      "provenance": "Tern authored synthetic evidence card"
    },
    {
      "id": "T-E06",
      "kind": "research_gap_register",
      "content": "Recruitment, participant evidence, assistive technology, language, lawful handling, supplier terms and support capacity remain unresolved.",
      "provenance": "Tern authored synthetic evidence card"
    }
  ],
  "versions": {
    "1": [
      {
        "taskId": "T-P01",
        "alternativeId": "structured-form",
        "criterionId": "T-C01",
        "criterion": "Identify the same limited requested information.",
        "outcome": "PASS",
        "observation": "Fixed prompts identify the requested information.",
        "fixtureVersion": 1,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P02",
        "alternativeId": "structured-form",
        "criterionId": "T-C02",
        "criterion": "Allow correction before the proposed handoff.",
        "outcome": "PASS",
        "observation": "The authored preview permits correction.",
        "fixtureVersion": 1,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P03",
        "alternativeId": "structured-form",
        "criterionId": "T-C03",
        "criterion": "Provide a verified nonvoice human route.",
        "outcome": "FAIL",
        "observation": "Only a voice route is shown.",
        "fixtureVersion": 1,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P04",
        "alternativeId": "structured-form",
        "criterionId": "T-C04",
        "criterion": "Avoid asserting unsupported outcomes.",
        "outcome": "PASS",
        "observation": "The fixed form promises no outcome.",
        "fixtureVersion": 1,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P01",
        "alternativeId": "ai-concept",
        "criterionId": "T-C01",
        "criterion": "Identify the same limited requested information.",
        "outcome": "PASS",
        "observation": "The static authored transcript asks for the same information.",
        "fixtureVersion": 1,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P02",
        "alternativeId": "ai-concept",
        "criterionId": "T-C02",
        "criterion": "Allow correction before the proposed handoff.",
        "outcome": "FAIL",
        "observation": "The script continues without the correction step.",
        "fixtureVersion": 1,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P03",
        "alternativeId": "ai-concept",
        "criterionId": "T-C03",
        "criterion": "Provide a verified nonvoice human route.",
        "outcome": "FAIL",
        "observation": "The text route is unverified.",
        "fixtureVersion": 1,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P04",
        "alternativeId": "ai-concept",
        "criterionId": "T-C04",
        "criterion": "Avoid asserting unsupported outcomes.",
        "outcome": "FAIL",
        "observation": "The authored transcript asserts an outcome without support.",
        "fixtureVersion": 1,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      }
    ],
    "2": [
      {
        "taskId": "T-P01",
        "alternativeId": "structured-form",
        "criterionId": "T-C01",
        "criterion": "Identify the same limited requested information.",
        "outcome": "PASS",
        "observation": "Fixed prompts identify the requested information.",
        "fixtureVersion": 2,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P02",
        "alternativeId": "structured-form",
        "criterionId": "T-C02",
        "criterion": "Present a reviewable correction step before the proposed handoff, retaining the original detail.",
        "outcome": "PASS",
        "observation": "The authored preview permits correction.",
        "fixtureVersion": 2,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P03",
        "alternativeId": "structured-form",
        "criterionId": "T-C03",
        "criterion": "Provide a verified nonvoice human route.",
        "outcome": "FAIL",
        "observation": "Only a voice route is shown.",
        "fixtureVersion": 2,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P04",
        "alternativeId": "structured-form",
        "criterionId": "T-C04",
        "criterion": "Avoid asserting unsupported outcomes.",
        "outcome": "PASS",
        "observation": "The fixed form promises no outcome.",
        "fixtureVersion": 2,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P01",
        "alternativeId": "ai-concept",
        "criterionId": "T-C01",
        "criterion": "Identify the same limited requested information.",
        "outcome": "PASS",
        "observation": "The static authored transcript asks for the same information.",
        "fixtureVersion": 2,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P02",
        "alternativeId": "ai-concept",
        "criterionId": "T-C02",
        "criterion": "Present a reviewable correction step before the proposed handoff, retaining the original detail.",
        "outcome": "FAIL",
        "observation": "The script continues without the correction step.",
        "fixtureVersion": 2,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P03",
        "alternativeId": "ai-concept",
        "criterionId": "T-C03",
        "criterion": "Provide a verified nonvoice human route.",
        "outcome": "FAIL",
        "observation": "The text route is unverified.",
        "fixtureVersion": 2,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      },
      {
        "taskId": "T-P04",
        "alternativeId": "ai-concept",
        "criterionId": "T-C04",
        "criterion": "Avoid asserting unsupported outcomes.",
        "outcome": "FAIL",
        "observation": "The authored transcript asserts an outcome without support.",
        "fixtureVersion": 2,
        "evidenceKind": "scripted_probe",
        "sourceCardIds": [
          "T-E05"
        ],
        "provenance": "Tern authored synthetic probe"
      }
    ]
  }
}

python · 218 lines
"""Tern: an offline, authored design comparison, not a tenant service."""
import copy
import json
from pathlib import Path

AREAS = ('participants', 'nonvoice-support', 'assistive-technology', 'language', 'privacy', 'supplier', 'support-capacity')
FLAGS = dict(actualUserResearch=False, actualModelRun=False, accessValidated=False,
             pilotAuthorised=False, designAccepted=False)
LIMITS = ["Authored synthetic cards and scripted probes only; no participants or model.",
          "Percentages count four fixed criteria, not user success or population evidence.",
          "Both nonvoice human routes fail; actual access and support capacity are unresolved.",
          "Research planning does not perform research, legal review or authorise a pilot.",
          "Mutable process memory is not an enforced secure store; old copies remain."]

def _baseline():
    cards = [
        ('synthetic_observation', 'An authored adult pauses at the unexplained description label; this is a label hypothesis, not a real session.'),
        ('synthetic_observation', 'An authored preview permits correction of an omitted detail; this supports a research question, not a measured improvement.'),
        ('stakeholder_assumption', 'The fictional sponsor says every tenant prefers chat; this remains a proposition to research.'),
        ('synthetic_access_gap', 'The planned human route is voice only; nonvoice and nononline alternatives are unverified.'),
        ('scripted_probe_set', 'Eight authored probes compare four matched tasks for each design; neither people nor model outputs are represented.'),
        ('research_gap_register', 'Recruitment, participant evidence, assistive technology, language, lawful handling, supplier terms and support capacity remain unresolved.')]
    criteria = ['Identify the same limited requested information.',
                'Allow correction before the proposed handoff.',
                'Provide a verified nonvoice human route.',
                'Avoid asserting unsupported outcomes.']
    observations = {
        'structured-form': ['Fixed prompts identify the requested information.', 'The authored preview permits correction.', 'Only a voice route is shown.', 'The fixed form promises no outcome.'],
        'ai-concept': ['The static authored transcript asks for the same information.', 'The script continues without the correction step.', 'The text route is unverified.', 'The authored transcript asserts an outcome without support.']}
    versions = {}
    for version in (1, 2):
        rows = []
        for alternative, outcomes in [('structured-form', ['PASS', 'PASS', 'FAIL', 'PASS']), ('ai-concept', ['PASS', 'FAIL', 'FAIL', 'FAIL'])]:
            for i, outcome in enumerate(outcomes):
                criterion = criteria[i]
                if version == 2 and i == 1:
                    criterion = 'Present a reviewable correction step before the proposed handoff, retaining the original detail.'
                rows.append(dict(taskId=f'T-P{i+1:02}', alternativeId=alternative,
                                 criterionId=f'T-C{i+1:02}', criterion=criterion,
                                 outcome=outcome, observation=observations[alternative][i],
                                 fixtureVersion=version, evidenceKind='scripted_probe',
                                 sourceCardIds=['T-E05'], provenance='Tern authored synthetic probe'))
        versions[str(version)] = rows
    return dict(project='Tern-Adult-Enquiry-Training', purpose='design-brief-teaching',
                fixtureVersion=1, cards=[dict(id=f'T-E{i+1:02}', kind=kind, content=content,
                provenance='Tern authored synthetic evidence card') for i, (kind, content) in enumerate(cards)],
                versions=versions)

def _no_duplicates(pairs):
    result = {}
    for key, value in pairs:
        if key in result:
            raise ValueError('duplicate JSON key')
        result[key] = value
    return result

def _exact(actual, expected):
    if type(actual) is not type(expected):
        return False
    if isinstance(expected, dict):
        return actual.keys() == expected.keys() and all(_exact(actual[k], v) for k, v in expected.items())
    if isinstance(expected, list):
        return len(actual) == len(expected) and all(_exact(a, b) for a, b in zip(actual, expected))
    return actual == expected

class Tern:
    def __init__(self):
        self.fixture_version = 1
        self.plan_sequence = 0
        self._hypothesis = self._comparison = self._plan = self._recommendation = None

    def _output(self, status, **values):
        return copy.deepcopy(dict(status=status, fixtureVersion=self.fixture_version,
                                  realPilotStatus='HOLD', limitations=LIMITS, **FLAGS, **values))

    def _hold(self, reason):
        self._recommendation = None
        return self._output('HOLD', reason=reason)

    def _load(self):
        try:
            data = json.loads(Path(__file__).with_name('fixture.json').read_text(encoding='utf-8'),
                              object_pairs_hook=_no_duplicates)
            return data if _exact(data, _baseline()) else None
        except (OSError, ValueError, RecursionError):
            return None

    def _current(self, version):
        return type(version) is int and version == self.fixture_version

    def list_evidence_cards(self):
        data = self._load()
        return copy.deepcopy(data['cards']) if data else self._hold('INVALID_FIXTURE')

    def draft_need_hypothesis(self, evidence_ids, task_id, fixture_version):
        self._hypothesis = None
        self._recommendation = None
        if not self._current(fixture_version):
            return self._hold('INVALID_VERSION')
        if type(task_id) is not str or task_id not in [f'T-P{i:02}' for i in range(1, 5)]:
            return self._hold('UNKNOWN_TASK')
        if type(evidence_ids) is not list or not evidence_ids or any(type(x) is not str or x not in [f'T-E{i:02}' for i in range(1, 7)] for x in evidence_ids):
            return self._hold('INVALID_EVIDENCE_IDS')
        if len(evidence_ids) != len(set(evidence_ids)):
            return self._hold('DUPLICATE_EVIDENCE_IDS')
        data = self._load()
        if not data:
            return self._hold('INVALID_FIXTURE')
        cards = [c for c in data['cards'] if c['id'] in evidence_ids]
        result = self._output('HOLD_ASSUMPTION_ONLY' if evidence_ids == ['T-E03'] else 'NEED_HYPOTHESIS',
                             sourceCardIds=list(evidence_ids), taskId=task_id, evidenceCards=cards,
                             evidenceKind=[c['kind'] for c in cards], needValidated=False)
        self._hypothesis = copy.deepcopy(result)
        return result

    def inspect_probe_outcomes(self, alternative_id, fixture_version):
        if type(alternative_id) is not str or alternative_id not in ('structured-form', 'ai-concept'):
            return self._hold('UNKNOWN_ALTERNATIVE')
        if not self._current(fixture_version):
            return self._hold('INVALID_VERSION')
        data = self._load()
        if not data:
            return self._hold('INVALID_FIXTURE')
        return self._output('SCRIPTED_PROBE_OUTCOMES', alternativeId=alternative_id,
                            rows=[r for r in data['versions'][str(self.fixture_version)] if r['alternativeId'] == alternative_id])

    def compare_designs(self, fixture_version):
        self._comparison = self._recommendation = None
        if not self._current(fixture_version):
            return self._hold('INVALID_VERSION')
        data = self._load()
        if not data:
            return self._hold('INVALID_FIXTURE')
        alternatives = []
        for alternative in ('structured-form', 'ai-concept'):
            rows = [r for r in data['versions'][str(self.fixture_version)] if r['alternativeId'] == alternative]
            numerator = sum(r['outcome'] == 'PASS' for r in rows)
            alternatives.append(dict(alternativeId=alternative, rows=rows, numerator=numerator,
                                     denominator=len(rows), percent=100*numerator/len(rows),
                                     routeStatus='HOLD_NONVOICE_HUMAN_ROUTE'))
        result = self._output('SCRIPTED_COMPARISON', alternatives=alternatives,
                             evidenceKind='scripted_probe_set', sourceCardIds=['T-E05'])
        self._comparison = copy.deepcopy(result)
        return result

    def record_research_plan(self, areas, fixture_version):
        self._plan = self._recommendation = None
        if not self._current(fixture_version):
            return self._hold('INVALID_VERSION')
        if type(areas) is not list or any(type(a) is not str or a not in AREAS for a in areas):
            return self._hold('INVALID_RESEARCH_AREAS')
        if len(areas) != len(set(areas)):
            return self._hold('DUPLICATE_RESEARCH_AREAS')
        if not self._load():
            return self._hold('INVALID_FIXTURE')
        missing = [a for a in AREAS if a not in areas]
        if missing:
            return self._output('HOLD_INCOMPLETE_RESEARCH_PLAN', missingAreas=missing)
        self.plan_sequence += 1
        result = self._output('RESEARCH_PLAN_DRAFT', areas=list(AREAS), planSequence=self.plan_sequence,
                             performedResearch=False)
        self._plan = copy.deepcopy(result)
        return result

    def draft_brief_recommendation(self, choice, fixture_version, plan_sequence):
        self._recommendation = None
        if not self._current(fixture_version):
            return self._hold('INVALID_VERSION')
        if type(choice) is not str or choice not in ('form-prototype', 'hold-all'):
            return self._hold('UNSUPPORTED_CHOICE')
        if type(plan_sequence) is not int or not self._plan or plan_sequence != self.plan_sequence:
            return self._hold('INVALID_PLAN_SEQUENCE')
        if not self._comparison:
            return self._hold('NO_CURRENT_COMPARISON')
        if not self._load():
            return self._hold('INVALID_FIXTURE')
        result = self._output('FORM_PROTOTYPE_PROPOSAL' if choice == 'form-prototype' else 'HOLD_ALL_PENDING_RESEARCH',
                             recommendationScope='Synthetic teaching proposal only', choice=choice,
                             planSequence=plan_sequence, comparison=self._comparison, researchPlan=self._plan,
                             failedNonvoiceRoutes=['structured-form', 'ai-concept'])
        self._recommendation = copy.deepcopy(result)
        return result

    def change_fixture(self, fixture_version):
        if type(fixture_version) is not int or fixture_version not in (1, 2):
            return self._hold('INVALID_VERSION')
        if not self._load():
            return self._hold('INVALID_FIXTURE')
        if fixture_version == self.fixture_version:
            return self._output('NO_CHANGE')
        self.fixture_version = fixture_version
        self._hypothesis = self._comparison = self._plan = self._recommendation = None
        return self._output('FIXTURE_CHANGED')

    def export_brief(self, fixture_version):
        if not self._current(fixture_version):
            return self._hold('INVALID_VERSION')
        data = self._load()
        if not data:
            return self._hold('INVALID_FIXTURE')
        if not self._recommendation:
            return self._hold('NO_CURRENT_RECOMMENDATION')
        return self._output('TEACHING_BRIEF', project=data['project'], purpose=data['purpose'],
                            evidenceCards=data['cards'], hypothesis=self._hypothesis,
                            recommendation=self._recommendation, unresolvedGaps=list(AREAS))

def demo():
    tern = Tern()
    cards = tern.list_evidence_cards()
    hypothesis = tern.draft_need_hypothesis(['T-E01', 'T-E02'], 'T-P02', 1)
    comparison = tern.compare_designs(1)
    plan = tern.record_research_plan(list(AREAS), 1)
    recommendation = tern.draft_brief_recommendation('form-prototype', 1, plan['planSequence'])
    return dict(cards=cards, hypothesis=hypothesis, comparison=comparison,
                researchPlan=plan, recommendation=recommendation, brief=tern.export_brief(1))

if __name__ == '__main__':
    print(json.dumps(demo(), indent=2))

python · 203 lines
"""Author checks of finite teaching invariants; not independent lab approval."""
import copy
import json
import os
from pathlib import Path
import shutil
import subprocess
import sys
import tempfile
import unittest
from unittest.mock import patch
import tern_lab as lab

class TernTests(unittest.TestCase):
    def setUp(self):
        self.t = lab.Tern()

    def ready(self, choice='form-prototype'):
        self.t.compare_designs(1)
        p = self.t.record_research_plan(list(lab.AREAS), 1)
        return self.t.draft_brief_recommendation(choice, 1, p['planSequence'])

    def held(self, value):
        self.assertTrue(value['status'].startswith('HOLD'))
        for key in lab.FLAGS:
            self.assertIs(value[key], False)

    def test_paired_denominator_not_people(self):
        c = self.t.compare_designs(1)
        self.assertEqual([(a['numerator'], a['denominator'], a['percent']) for a in c['alternatives']], [(3,4,75), (1,4,25)])
        self.assertEqual([r['taskId'] for r in c['alternatives'][0]['rows']], [r['taskId'] for r in c['alternatives'][1]['rows']])

    def test_superior_total_does_not_remove_route_hold(self):
        r = self.ready()
        self.assertEqual(r['failedNonvoiceRoutes'], ['structured-form','ai-concept'])
        self.assertEqual(r['realPilotStatus'], 'HOLD')
        self.assertTrue(all(a['routeStatus']=='HOLD_NONVOICE_HUMAN_ROUTE' for a in r['comparison']['alternatives']))

    def test_assumption_alone(self):
        r = self.t.draft_need_hypothesis(['T-E03'], 'T-P01', 1)
        self.assertEqual(r['status'], 'HOLD_ASSUMPTION_ONLY')
        self.assertFalse(r['needValidated'])

    def test_mixed_evidence_keeps_assumption(self):
        r = self.t.draft_need_hypothesis(['T-E01','T-E03'], 'T-P01', 1)
        self.assertEqual(r['evidenceKind'], ['synthetic_observation','stakeholder_assumption'])
        self.assertFalse(r['needValidated'])

    def test_cards_are_not_participants(self):
        cards = self.t.list_evidence_cards()
        self.assertEqual(len(cards),6)
        self.assertEqual(cards[5]['kind'],'research_gap_register')
        self.assertTrue(all('synthetic' in c['provenance'] for c in cards))

    def test_cards_copy_isolation(self):
        cards = self.t.list_evidence_cards(); cards[2]['kind']='actual_research'
        self.assertEqual(self.t.list_evidence_cards()[2]['kind'],'stakeholder_assumption')

    def test_empty_evidence(self): self.held(self.t.draft_need_hypothesis([], 'T-P01',1))
    def test_duplicate_evidence(self): self.held(self.t.draft_need_hypothesis(['T-E01','T-E01'],'T-P01',1))
    def test_evidence_type(self): self.held(self.t.draft_need_hypothesis(('T-E01',),'T-P01',1))
    def test_unknown_evidence(self): self.held(self.t.draft_need_hypothesis(['T-E07'],'T-P01',1))
    def test_unknown_task(self): self.held(self.t.draft_need_hypothesis(['T-E01'],'submit-to-landlord',1))

    def test_bad_versions_before_load(self):
        with patch.object(self.t,'_load',side_effect=AssertionError('unexpected fixture read')):
            for v in (True, 1.0,'1',None,2): self.held(self.t.compare_designs(v))

    def test_unknown_alternative_before_load(self):
        with patch.object(self.t,'_load',side_effect=AssertionError('unexpected read')):
            self.held(self.t.inspect_probe_outcomes('network-chat',1))

    def test_all_probe_failures_retained(self):
        rows=self.t.inspect_probe_outcomes('ai-concept',1)['rows']
        self.assertEqual([r['outcome'] for r in rows], ['PASS','FAIL','FAIL','FAIL'])
        self.assertEqual(len(rows),4)

    def test_no_subset_or_outcome_injection_api(self):
        with self.assertRaises(TypeError): self.t.compare_designs(1, outcomes=['PASS'])

    def test_every_research_area_required(self):
        for missing in lab.AREAS:
            r=self.t.record_research_plan([a for a in lab.AREAS if a != missing],1)
            self.assertEqual(r['status'],'HOLD_INCOMPLETE_RESEARCH_PLAN')
            self.assertEqual(r['missingAreas'],[missing])

    def test_duplicate_plan(self): self.held(self.t.record_research_plan(list(lab.AREAS)+['privacy'],1))
    def test_unknown_plan_area(self): self.held(self.t.record_research_plan(list(lab.AREAS)+['pilot-approved'],1))
    def test_plan_type(self): self.held(self.t.record_research_plan(set(lab.AREAS),1))

    def test_planning_not_performing_research(self):
        p=self.t.record_research_plan(list(lab.AREAS),1)
        self.assertFalse(p['performedResearch'])
        self.assertTrue(all(p[k] is False for k in lab.FLAGS))

    def test_recommendation_requires_comparison(self):
        p=self.t.record_research_plan(list(lab.AREAS),1)
        self.held(self.t.draft_brief_recommendation('form-prototype',1,p['planSequence']))

    def test_recommendation_requires_plan(self):
        self.t.compare_designs(1)
        self.held(self.t.draft_brief_recommendation('form-prototype',1,0))

    def test_ai_choice_invalidation(self):
        self.ready(); self.held(self.t.draft_brief_recommendation('ai-concept',1,1))
        self.held(self.t.export_brief(1))

    def test_bool_sequence(self):
        self.ready(); self.held(self.t.draft_brief_recommendation('form-prototype',1,True))

    def test_renewed_plan_old_sequence_rejected(self):
        self.ready(); p=self.t.record_research_plan(list(reversed(lab.AREAS)),1)
        self.assertEqual(p['planSequence'],2)
        self.held(self.t.export_brief(1))
        self.held(self.t.draft_brief_recommendation('form-prototype',1,1))

    def test_hold_all_never_authorises(self):
        r=self.ready('hold-all')
        self.assertEqual(r['status'],'HOLD_ALL_PENDING_RESEARCH')
        b=self.t.export_brief(1)
        self.assertEqual(b['realPilotStatus'],'HOLD')
        self.assertTrue(all(b[k] is False for k in lab.FLAGS))

    def test_failed_known_probe_retry_clears_recommendation(self):
        self.ready(); self.held(self.t.inspect_probe_outcomes('structured-form',2))
        self.held(self.t.export_brief(1))

    def test_failed_known_hypothesis_retry_clears_recommendation(self):
        self.ready(); self.held(self.t.draft_need_hypothesis(['T-E01','T-E01'],'T-P01',1))
        self.held(self.t.export_brief(1))

    def test_failed_plan_removes_completed_plan(self):
        self.ready(); self.t.record_research_plan(['participants'],1)
        self.held(self.t.draft_brief_recommendation('form-prototype',1,1))

    def test_changed_criterion_requires_fresh_work(self):
        self.ready(); old=self.t.export_brief(1)
        self.t.change_fixture(2)
        self.held(self.t.export_brief(2))
        c=self.t.compare_designs(2)
        oldrow=old['recommendation']['comparison']['alternatives'][0]['rows'][1]
        self.assertNotEqual(c['alternatives'][0]['rows'][1]['criterion'],oldrow['criterion'])
        self.assertEqual(c['alternatives'][0]['numerator'],3)
        self.assertEqual(old['fixtureVersion'],1)
        self.held(self.t.draft_brief_recommendation('form-prototype',2,1))

    def test_same_version_no_change(self):
        self.ready(); self.assertEqual(self.t.change_fixture(1)['status'],'NO_CHANGE')
        self.assertEqual(self.t.export_brief(1)['status'],'TEACHING_BRIEF')

    def test_invalid_change_does_not_change_version(self):
        for v in (False,2.0,3,'2'): self.held(self.t.change_fixture(v))
        self.assertEqual(self.t.fixture_version,1)

    def test_returned_recommendation_and_export_isolation(self):
        r=self.ready(); r['pilotAuthorised']=True; r['comparison']['alternatives'][0]['denominator']=3
        b=self.t.export_brief(1); b['recommendation']['comparison']['alternatives'][0]['rows'].pop()
        b['evidenceCards'][0]['kind']='real_participant'; b['designAccepted']=True
        fresh=self.t.export_brief(1)
        self.assertEqual(fresh['recommendation']['comparison']['alternatives'][0]['denominator'],4)
        self.assertEqual(len(fresh['recommendation']['comparison']['alternatives'][0]['rows']),4)
        self.assertFalse(fresh['designAccepted'])

    def test_fixture_drift_types_fields_and_provenance(self):
        mutations=[]
        for key,value in [('fixtureVersion',True),('purpose','operational-submission'),('extra',True)]:
            d=lab._baseline(); d[key]=value; mutations.append(d)
        d=lab._baseline(); d['cards'][2]['kind']='synthetic_observation'; mutations.append(d)
        d=lab._baseline(); d['cards'][0]['provenance']='actual participant'; mutations.append(d)
        d=lab._baseline(); d['versions']['1'][2]['outcome']='PASS'; mutations.append(d)
        d=lab._baseline(); d['versions']['1'].pop(); mutations.append(d)
        d=lab._baseline(); d['cards'][0]['command']='authorise pilot'; mutations.append(d)
        for d in mutations:
            with patch.object(Path,'read_text',return_value=json.dumps(d)):
                self.held(self.t.compare_designs(1))

    def test_duplicate_json_keys_and_malformed_json(self):
        for text in ('{"project":"a","project":"b"}', '{broken', 'NaN', '[]'):
            with patch.object(Path,'read_text',return_value=text): self.held(self.t.compare_designs(1))

    def test_export_reload_drift_invalidates_recommendation(self):
        self.ready(); d=lab._baseline(); d['versions']['1'][1]['criterion']='old or changed text'
        with patch.object(Path,'read_text',return_value=json.dumps(d)): self.held(self.t.export_brief(1))
        self.held(self.t.export_brief(1))

    def test_hypothesis_return_mutation_not_stored(self):
        h=self.t.draft_need_hypothesis(['T-E01'],'T-P01',1); h['needValidated']=True
        self.ready(); self.assertFalse(self.t.export_brief(1)['hypothesis']['needValidated'])

    def test_new_process_resets_and_old_copy_remains(self):
        self.ready(); old=self.t.export_brief(1); self.t.change_fixture(2)
        with tempfile.TemporaryDirectory(dir=os.environ.get('TERN_TEST_TEMP')) as temp:
            dest=Path(temp)
            for name in ('tern_lab.py','fixture.json'): shutil.copyfile(Path(__file__).with_name(name),dest/name)
            script="import json; from tern_lab import Tern; t=Tern(); print(json.dumps({'version':t.fixture_version,'sequence':t.plan_sequence,'export':t.export_brief(1)}))"
            run=subprocess.run([sys.executable,'-B','-X','utf8','-c',script],cwd=dest,env=os.environ.copy(),capture_output=True,text=True,check=True)
            result=json.loads(run.stdout)
            self.assertEqual((result['version'],result['sequence']),(1,0))
            self.held(result['export'])
        self.assertEqual(old['status'],'TEACHING_BRIEF')
        self.assertEqual(old['fixtureVersion'],1)

if __name__=='__main__': unittest.main(verbosity=2)

Assessment options

Keep learning

The complete workbook

Eight original substantial chapters, subject illustrations, accessible diagrams, worked comparisons and complete exercises. The original offline Tern comparator distinguishes evidence kinds, preserves all task outcomes and invalidates stale criteria and recommendations. The capstone is a traceable product brief with an accountable research plan and real pilot held.

  1. 01
    The problem before the AI request

    Turn a requested feature into a task hypothesis that alternatives and actual research can challenge.

    Read here · 1 exercise
  2. 02
    Evidence, assumptions and who is absent

    Preserve provenance and interpretations, then make absent journeys and unfinished research visible.

    Read here · 1 exercise
  3. 03
    The same task through different designs

    Compare both alternatives fairly while keeping failed tasks, evidence units and shared stops visible.

    Read here · 1 exercise
  4. 04
    Consequences and excluded uses

    Describe distinct failures and preserve the preparation boundary, data questions and unresolved human route.

    Read here · 1 exercise
  5. 05
    Owners, criteria and stopping

    Connect observable tasks to accountable responsibilities and stops, without treating ownership labels as approval.

    Read here · 1 exercise
  6. 06
    A fair prototype comparison

    Inspect all paired tasks and the meaning of the denominator before recommending further prototype work.

    Read here · 1 exercise
  7. 07
    Access and a usable human route

    Investigate the whole enquiry journey and the support behind a channel label before claiming usable access.

    Read here · 1 exercise
  8. 08
    The brief and the release recommendation

    Produce a traceable product brief with a bounded prototype choice, actual research questions and a held real-use decision.

    Read here · 1 exercise

Also inside: a 10-point checklist, a glossary of 10 terms and 12 questions and answers to test yourself. 8 hands-on exercises, each with a worked answer at the back where the workbook gives one.

The PDF is free. We ask for your name and email before downloading. Read the privacy notice at the download form. Free to download and use for personal learning, study groups and inside your own team. Please do not resell the workbooks or republish them as your own. Link people to trust-agent.ai instead.

Get your free PDF workbook

Enter your name and email, then download the complete workbook. This form also works without JavaScript.

We privately record your name, email and request IP for this download. Read our privacy notice and retention policy.

Visit Mickai on LinkedIn

Newsletter confirmation does not affect your download. Following Mickai on LinkedIn is optional; this site does not verify followers.

Test yourself

Questions and answers

Can a sponsor request establish that users need AI?

No. Treat it as a proposed solution or stakeholder assumption. Frame the task and investigate evidence that could support or challenge the problem.

Can I call a synthetic vignette a user interview?

No. T-E01 and T-E02 retain synthetic_observation. No actual participant, interview or validated need is represented.

What does a known evidence ID establish?

Fixture membership and labelled provenance. It does not establish external truth or representativeness.

Why do both alternatives have a human-route hold?

Both fail T-P03. A voice-only route and an unverified text route do not satisfy the nonvoice criterion.

Does 75% mean the form helps 75% of tenants?

No. It means three of four fixed scripted criterion checks pass. No real participant-success rate was measured.

Why recalculate if version 2 keeps the outcomes?

T-P02 criterion meaning changes. Current comparisons require the current version even when arithmetic is unchanged.

Does a seven-area plan complete the research?

No. RESEARCH_PLAN_DRAFT covers required teaching areas and invalidates an earlier recommendation; all actual acceptance flags remain false.

Can an unsupported outcome be retained with a disclaimer?

The Tern design should remove the contradictory assertion and preserve its preparation boundary. A disclaimer does not create a usable route or decision authority.

Do these sources settle housing law or EU classification?

No. Their scopes differ, the operative EU text was unavailable and actual operator/jurisdiction/consumer/equality/housing/data/AI review remains open.

What may this workbook or its export approve?

Neither establishes actual research, successful access, a professional qualification, accepted design or real pilot permission. A bounded teaching proposal retains the gaps.

Does assigning a release owner permit a pilot?

No. A proposed responsibility does not establish actual authority, user evidence or permission. Tern factual acceptance flags remain false.

Can a higher script score override failed human access?

No. Both alternatives fail the nonvoice human route, so real use stays held regardless of the total.

Write as you go

My notes

Use this scratchpad for your own notes, working or answers as you read. Notes are saved in this browser on this device. Downloading makes a local copy; it does not send your notes to Mickai.

Learn → Practise → Demonstrate

Ready to put it into practice?

Take the scored exam when you feel ready. You do not need to download the workbook first. A score strictly above 80% earns a named, dated Mickai certificate with a verification page.

Take the official exam

Your name and email are collected at exam start. Certificates record an assessment result, not an accredited qualification or verified identity.

Learn the language

Key terms

Need hypothesis
A proposed account of a task and obstacle requiring actual evidence,not a mandated feature.
Synthetic observation
An authored vignette with visible provenance,not an interview or real observation.
Stakeholder assumption
A sponsor proposition to investigate rather than treat as user preference.
Paired criterion
The same task condition applied to each alternative so comparison cannot quietly change its denominator.
Scripted probe
A fixed authored challenge and outcome; no model or participant performance is measured.
Nonvoice support
A human journey usable without voice contact,requiring actual availability,capacity and access evidence.

6 of the workbook's 10 terms. The complete glossary is in the workbook.

Follow the evidence

Sources and checks

Facts last checked: .

These workbooks use AI assistance. See how the workbooks are made.

  1. Learning about users and their needsGovernment Digital Service / Service Manual user research community
  2. Plan user research for your serviceGovernment Digital Service / Service Manual user research community
  3. Making prototypesGovernment Digital Service / Service Manual design community
  4. Artificial Intelligence Playbook for the UK GovernmentGovernment Digital Service
  5. Make sure everyone can use the service; scoped accessibility requirements and WCAG 2.2Government Digital Service; supporting government accessibility guidance and W3C
  6. Assisted digital support: an introductionGovernment Digital Service
  7. A guide to the data protection principlesInformation Commissioner's Office
  8. Artificial Intelligence Risk Management Framework 1.0US National Institute of Standards and Technology
  9. AI Omnibus enters into force; current Commission AI Act overviewEuropean Commission / DG CONNECT
  10. Unfair commercial practices (CMA207)Competition and Markets Authority

Created by Mickarle Sean Junior Wagstaff-Irons - Micky Irons with the Mickai team. Published by Mickai LTD. Last updated 1 October 2026.

NextKeep going

Where to go next