• feat: duration seconds; required fields; type-validated insertions/updates/retrievals
    CI / publish (push) Successful in 9s
    CI / test (push) Successful in 19s

    Dvorak released this 2026-08-03 23:00:49 +00:00 | 5 commits to master since this release

    • Duration literals now accept s/m/h/d/w (was m/h/d/w): 'BEHAVES { ttl 30s }'
      is 30s, and 'within 30s' temporal expressions parse.
    • Definition fields are REQUIRED by default ('field: type'); 'field: type?'
      marks a field optional. addNode enforces presence on insert, getSchema
      exposes per-field requiredness, and updateNodeData still validates the
      provided fields' types.
    • Provider-returned edges are validated against the fact's declared typing:
      a value-carrying fact must return { value, possibility } with a value of the
      declared type (bare-number shorthand is rejected); a non-value fact must not
      carry a value; and every possibility must lie in [0, 1]. Violations throw a
      clear provider-authoring error instead of silently injecting malformed edges.

    Tests: DSLRuntimeTyping (duration units, required-field enforcement, schema
    requiredness, value-type + shape + possibility validation).

    Downloads