Skip to content

v0.6.1

Choose a tag to compare

@dbrewpnw dbrewpnw released this 20 Jun 18:38
· 13 commits to main since this release
2dafa5d

The <Concluding> status release. A <Concluding> may now carry an
optional status attribute recording the terminal disposition of the
Goal it closes, aligning the reference parser/validator with the ratified
v0.6.1 spec contract.

  • <Concluding status=...>status is an optional enum
    (met|unmet|partially_met) on the Concluding dataclass and in
    KIND_SPECIFIC_FIELDS['Concluding']. The parser accepts it, the
    serializer round-trips it, and compute_canonical_id folds it into the
    content hash only when present. A status-less <Concluding> parses and
    validates exactly as before (v0.5/v0.6.0 back-compat).
  • Validator — when status is present it must be one of
    met|unmet|partially_met; an out-of-enum value is a hard validation
    error (under the v031_optional_fields rule). The goal_declared rule
    now reads Concluding.status: a required Goal is closed by a status-less
    Concluding (back-compat) or one carrying an in-enum status.
  • Versions — the package version (pyproject + __version__) and
    SCHOLIA_VALIDATOR_VERSION both move to 0.6.1. The registry format
    version stays 0.6 (it tracks the on-disk format, not the patch).
  • Publish hygiene — internal references were scrubbed from src/,
    tests/, and fixtures, and a CI leak guard
    (tests/unit/scholia/test_public_hygiene.py) now hard-fails on the
    forbidden token set across src/, tests/, and scripts/.
  • Registry DAG naming — the registry's in-memory return type is now
    VerificationDag (a content-addressed DAG of verification relationships,
    not a linear chain), surfaced via walk_dag / to_verification_dag /
    dag_to_dict / dag_from_dict and backed by the
    scholialang.verification_dag shim. The default on-disk registry path
    becomes ~/.scholia/registry.verification_dag.json. This settles the
    interim v0.6.0 DAG-shape naming before the v0.6.1 publish, so the
    registry's public surface debuts under the accurate verification_dag
    name rather than the inaccurate "chain" framing.