Skip to content

v0.4.0 — delivery contract and safe resumption

Choose a tag to compare

@Tranquility2 Tranquility2 released this 31 Jul 09:34
· 19 commits to main since this release

A contract and resumption release. Quizzing now only advertises adapters it actually has,
tells you when a saved draft cannot be restored intact, and ships one worked example that
demonstrates every question type rather than a handful.

Changed

  • deliveryMethod in answers.schema.json is narrowed to html and local-server.
    The markdown and tui values were removed: neither adapter was ever built, so the
    schema was advertising a contract nothing could satisfy. A consumer that branches on
    those values will no longer receive them. delivery.adapters and delivery.selected in
    questionnaire.schema.json are narrowed to match. This is the reason for the minor bump.
  • A browser is now a stated prerequisite rather than something the skill tries to work
    around. Every host CLI is an npm application, so Node is present by construction; the
    browser is the real variable, and Quizzing is human-in-the-loop by definition. The
    conversational fallback in SKILL.md, which guarded an impossible no-Node case, is gone.
  • The example corpus is a single questionnaire, file-uploads, replacing
    project-sharing. It is broad enough that every question type is the natural way to ask
    something in it, and it covers both declarative diagram formats, all three required
    modes, and branching. A test now fails the build if a question type or diagram format has
    no example using it.

Added

  • A resumed draft now discloses what it could not restore. Drafts carry a fingerprint of
    the question set, so a questionnaire edited without a version bump is detected: the resume
    notice reports how many answers were dropped instead of silently losing them.
  • Drafts stranded by a version bump are surfaced with a discard control. Previously they
    sat in localStorage forever, invisible and unreachable.
  • recommended.booleanValue is now valid in questionnaire.schema.json, so boolean
    questions can carry a seeded recommendation.
  • Four new documentation screenshots covering multi-select, boolean, free text, and ranking.

Fixed

  • Connected mode mislabelled its output. buildAnswers defaulted deliveryMethod to
    html and no call site ever passed anything else, so every answers file written by
    serve.js since v0.1.0 claimed to be a static submission. It now reports local-server.
    Found by the test asserting every advertised enum value is emitted by something.
  • Boolean recommendations were unreachable. app.js read rec.booleanValue, but
    recommended is additionalProperties: false and never declared it, so the schema
    rejected the only spelling the form understood. Dead since boolean questions shipped.
  • Edge labels on predominantly vertical diagram edges no longer have the arrow drawn
    through them.
  • Five documentation screenshots were cropped mid-content; viewport heights are now the
    measured content height of each screen.