Skip to content

Errors

Hard errors the implementation raises when rules are violated. Exception types and messages are part of the stable user contract for each release.

Situation Typical outcome
Invalid marker placement Error at compile / lowering
Reserved / obsolete marker name such as astichi_bind_once(...) or astichi_bind_shared(...) Error at compile / lowering
Unsupported * / ** marker context Error (fail early)
Invalid parameter-hole marker placement or malformed astichi_params payload Error at compile / lowering
Parameter payload wired into a non-parameter target, or non-parameter payload wired into a parameter target Error at build
Duplicate final parameter names, duplicate inserted *args, or duplicate inserted **kwargs Error at materialize
Unresolved required default hole or overfilled optional annotation hole in a parameter payload Error at build / materialize
Invalid astichi_keep(...) argument (not bare identifier) Error
Invalid astichi_pyimport(...) shape, module path, or placement Error at compile / lowering
Invalid astichi_comment(...) placement or non-literal payload Error at compile / lowering
Unresolved free identifier in strict mode Error
Same variadic target, same order on two inserts Error
astichi_for target unpacking fails at compile time Error
Provenance restore on edited / non-matching source Error; remove the trailing # astichi-provenance: ... comment

For SyntaxError from compile, see compile-api.md.