Skip to content

v0.5.0 — Consistency checks

Choose a tag to compare

@Tranquility2 Tranquility2 released this 31 Jul 13:37
· 15 commits to main since this release

A coherence release. Quizzing asks one question at a time, which until now meant nothing
noticed when two answers contradicted each other — the incoherent design reached the agent
intact. The form now checks answers against one another, explains what is wrong, and offers
to fix it.

Added

  • Cross-question consistency checks. A questionnaire may declare a top-level
    consistency array. Each check fires when every rule in its when array holds, using the
    same condition shape as branching (questionId with equals, includes, gte, or
    lte) — no new operators were introduced. This closes FR-053, FR-054, and FR-055.
  • Two severities, because blocking is not always right. An error stops the Next button
    on the question that created the conflict, so the problem is raised while the user is
    still thinking about it. A warning is explained at the review screen, does not block, and
    can be accepted deliberately. A detector that only ever hard-blocks becomes a trap the
    moment a check is subtly wrong.
  • One-click corrections. A check may suggest fixes, each a button that sets named
    answer fields. A correction only sets what it names and never clears anything else.
  • Checks explain themselves. explain says why the combination is a problem and
    evidence carries the environmental facts behind it — the place where a fact discovered
    during the bearing phase does visible work.
  • validation.warnings and validation.checks in answers.schema.json. Every firing
    check is recorded with its severity, and an accepted warning carries acknowledged: true,
    so an agent can tell a considered trade-off from an oversight. validation.status becomes
    partial when only warnings are present. This is additive: issues and status keep
    their existing meaning and shape.
  • The bundled file-uploads example declares three checks, including a contradiction
    that was already latent in it, and its answers artifact now shows an accepted trade-off
    rather than an empty validation block.

Fixed

  • Roadmap ledger accuracy. TASK-125 (questionnaire versioning and safe resumption) was
    still described as missing detection and disclosure, which is precisely what v0.4.0
    shipped. It is now marked delivered at v0.4.0, along with its TEST-104.