Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 30 Oct 2026. What's built · Install 0.1.0
jadpo
Reference: AI

AI · rule

semantic.ai_field_refused

A field marked to_models: false reaches a prompt or an embedded text.

Area 21, AI; not declinable; the next step is usually the agent's.

A field marked to_models: false is kept out of every prompt and every text sent for an embedding, whatever allowed: lists, for a value no provider should ever hold. It is followed as a category is:

example
use clinic/types { ClinicalNote }/// Checks a referral's notes against the patient it names.type CheckReferral = Prompt {    notes: ClinicalNote    number: NhsNumber}
example
use clinic/entities { Patient, PatientNotFound }use clinic/types { HandoverSummary }use clinic/failures { SummaryUnavailable }use clinic/prompts { CheckReferral }/// Checks a patient's notes against their NHS number.action check_referral_notes(    patient_id: Patient.id) fails PatientNotFound, SummaryUnavailable -> HandoverSummary {    var patient: Patient = attempt Patient.get(patient_id)    return attempt ai.generate(        CheckReferral {            notes: patient.notes            number: patient.patient_nhs_number        },        as: HandoverSummary    ) {        refused: SummaryUnavailable        malformed: SummaryUnavailable        timed_out: SummaryUnavailable        over_budget: SummaryUnavailable        too_long: SummaryUnavailable    }}
text
error: `Patient.patient_nhs_number` reaches a model, and is `to_models: false` --> domains/clinic/actions/check_referral_notes.jadpo:14:21   |14 |             number: patient.patient_nhs_number   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ holds `Patient.patient_nhs_number`  reason: `to_models: false` keeps a field out of every prompt and every text sent for an embedding, whatever `ai: { personal_data: { allowed: } }` lists; `CheckReferral`'s `{number}` is built from `Patient.patient_nhs_number`.  next: Leave `Patient.patient_nhs_number` out of `CheckReferral`'s `{number}` (agent)  rule: semantic.ai_field_refused  help: https://jadpo.dev/docs/errors/semantic.ai_field_refusedcheck failed: 1 error, 8 files

Markdown for agents: /docs/errors/semantic.ai_field_refused.md.Built from Jadpo main at a707efb.