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: Values and types

Values and types · rule

type.field_unproved

Object field value may break the field's rules.

Area 2, Values and types; not declinable; the next step is usually the agent's.

An object literal never fails, so a field value the declared ranges don't prove follows the field's own rules is built first:

example
type Profile = Object {    display_name: Text {        max_length: 80    }}type Badge = Object {    name: Text {        max_length: 12    }}function make_badge(profile: Profile) -> Badge {    return Badge {        name: profile.display_name    }}
text
error: `profile.display_name` might not fit `Badge.name` --> main.jadpo:15:15   |15 |         name: profile.display_name   |               ^^^^^^^^^^^^^^^^^^^^ can break `max_length: 12`  reason: An object literal never fails, so each field gets a value already known to fit; neither the declared ranges nor a condition before it prove this one follows `max_length: 12`, which `Badge.name` adds.  next: Build it first on its own line, `var name: Badge.name = attempt Badge.name(profile.display_name) { max_length: SomeFailure }`, then write `name: name` in the object (agent)  rule: type.field_unproved  help: https://jadpo.dev/docs/errors/type.field_unprovedcheck failed: 1 error, 1 file

Markdown for agents: /docs/errors/type.field_unproved.md.Built from Jadpo main at a707efb.