Skip to content
Topaz6.0 · Before release
Download

Search documentation

Specification 6.0 · Not released · Tested product 5.21.3

Use arrow keys to choose a result. Press Enter to open.

Type an API name, diagnostic number, rule, or project topic.

    Library · std.lispex

    LispexReportField

    Carry a named presentation field in a host report.

    LispexReportField { name: string, value: string }
    Receiver
    Not applicable
    Minimum arity
    0
    Maximum arity
    0

    Declaration and parameters

    Link

    Availability

    Included by default: no

    Import std.lispex from an application package with a verified lock. Packages with [lispex] require --locked. Application profile topaz/lispex-decision-application/1 uses evaluator profile lispex/r7rs-rule-embedded-core/1. Application profile topaz/lispex-decision-application/2 uses evaluator profile lispex/r7rs-rule-current-profile-bounded/1.

    The generated-module resolver gate starts at language mode 5.18. Compatibility of this API with earlier released editions remains Pending. Target deployment conditions are native (native-only), web (web-isolated-workers), web-worker (web-isolated-workers). Runtime payload follows checker-reached rules. An empty reached-rule set includes no runtime payload. Application quotas are required. Lock-only packages do not receive these application modules.

    Source evidence

    Receiver

    Parameter constraints

    LispexBoundaryReport identifies the phase, a stable code, named presentation fields and a human readable message. LispexReportField names and values explain the host failure. They are diagnostic presentation rather than canonical guest condition parameters.

    source is Some of the exact source identity when that identity has been established and None otherwise. verified lists identities actually validated before refusal. It cannot contain a proposed program or request identity merely because the input claimed one.

    A source reading or normalization failure before a canonical program exists uses a source bound report. It may identify a source location through named fields. It has no fabricated canonical program site or completed evaluation receipt.

    Admission rejects unsupported contracts, missing components, identity mismatches, ambient imports and an insufficient physical execution envelope. Its report identifies the first failed check and relevant supplied component. A mismatch never selects a substitute component or smaller limits.

    Host budget reports retain the submitted finite limits and first exhausted host axis in their fields. Host scheduling and physical failures describe an attempt rather than a deterministic guest resource result.

    Messages, field presentation order, paths and local coordinates do not define canonical outcome identity. Programs branch on the phase and code under the selected report contract. Reading report fields performs no I/O or guest execution.

    No report accessor raises a second Lispex failure. Array fields follow collection value semantics. Reading a report does not retry its failed operation, consume a guest budget or authorize an external action.

    Result

    Effects

    Failures

    Result and effects

    Link

    Carry a named presentation field in a host report.

    Why

    Link

    The reports contract gives this operation one explicit input boundary and preserves the distinct result and failure cases.

    Related entries

    Link

    std.lispex

    Read structured reports without inventing outcomes

    Link
    Ruletopaz.stdlib.contract.lispex-reports.rule

    Read structured reports without inventing outcomes

    LispexBoundaryReport identifies the phase, a stable code, named presentation fields and a human readable message. LispexReportField names and values explain the host failure. They are diagnostic presentation rather than canonical guest condition parameters.

    source is Some of the exact source identity when that identity has been established and None otherwise. verified lists identities actually validated before refusal. It cannot contain a proposed program or request identity merely because the input claimed one.

    A source reading or normalization failure before a canonical program exists uses a source bound report. It may identify a source location through named fields. It has no fabricated canonical program site or completed evaluation receipt.

    Admission rejects unsupported contracts, missing components, identity mismatches, ambient imports and an insufficient physical execution envelope. Its report identifies the first failed check and relevant supplied component. A mismatch never selects a substitute component or smaller limits.

    Host budget reports retain the submitted finite limits and first exhausted host axis in their fields. Host scheduling and physical failures describe an attempt rather than a deterministic guest resource result.

    Messages, field presentation order, paths and local coordinates do not define canonical outcome identity. Programs branch on the phase and code under the selected report contract. Reading report fields performs no I/O or guest execution.

    No report accessor raises a second Lispex failure. Array fields follow collection value semantics. Reading a report does not retry its failed operation, consume a guest budget or authorize an external action.

    Why

    A failed phase can establish some facts without completing the next phase. Keeping those verified facts separate from canonical outcomes prevents missing identities and host failures from becoming invented semantic evidence.

    Source evidence

    Read verified report facts without a guest outcome

    Link
    main.tpzRead verified report facts without a guest outcomeOpen in Playground
    1. import std.bytes { Bytes }
    2. import std.lispex {
    3. LispexBoundaryReport,
    4. LispexIdentity,
    5. }
    6. function reason(report: LispexBoundaryReport) -> string {
    7. let verified: Array<LispexIdentity> = report.verified
    8. match (report.source) {
    9. case Some(source) => { let identity: LispexIdentity = source }
    10. case None() => {}
    11. }
    12. for field in (report.fields) {
    13. let name: string = field.name
    14. let value: string = field.value
    15. }
    16. return report.code
    17. }
    18. export function main(args: Array<string>, stdin: string) -> Result<int, string> {
    19. return Ok(0)
    20. }
    Expected outputexit 0
    No stdout.
    $ topaz check main.tpz --locked --format json · target product 5.21.3
    Expected result

    Expected result

    Checking accepts the program. Exit code 0.

    Use a verified Lispex application package supplied through TOPAZ_LISPEX_APPLICATION. This example specifies the Lispex 2.0 behavior. The product scope remains the public 5.21.3 observation scope.

    Source evidence

    Menu

    Download