Skip to content

Papertiger 0.20.0

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Sep 21:20
· 57 commits to c3e45f5be90ebc6e7dae02df66dcc615a2eddad2 since this release

Planner schema v13 and Mise schema v10 are unchanged; no init is needed.
Upgrade as for 0.19.0: verify the archive against its published .sha256, then unpack it over the project root or run setup-project from the new binary.
Scripts that call note "text" must switch to note --text "text", and file: evidence passed to gate resolve or blocker resolve must now name an existing file beneath the project root.

Added

  • decompose <parent> --outline-file <path|-> creates all of a parent's child tasks, with dependencies between them and on existing tasks, from one papertiger.task_outline.v1 JSON outline in a single transaction.
    Outline keys wire the dependencies and are not stored; the receipt lists one task create event per child in outline order.
    --start-ready also starts the children whose dependencies are already done.
    Any invalid entry, unknown reference, repeated tag or dependency, dependency cycle, dependency that waits for the parent, or duplicate title refuses the whole outline and lists every such problem in its entries.
    An outline that repeats a JSON key in any object, exceeds 1 MiB or 256 children, or targets a finished parent or plan is refused on its own, naming the command or limit that fixes it.

Changed

  • The installed agent contract and skill teach splitting a multi-part outcome with one decompose call instead of inventing section or phase labels, writing intents that stand alone rather than citing scratch or dated plan files, and operating each authority with its own project launcher.
  • Breaking: note takes its inline text as --text <text>, paired with --text-file <path|-> like --why/--why-file; the positional text argument is gone.
    Replace papertiger note "text" with papertiger note --text "text".
    commit add --note is unchanged.
  • gate resolve and blocker resolve refuse a new file: evidence locator that is absolute, leaves the project root, separates components with \, or does not name an existing regular file beneath it, with the same path rules evidence verify applies, and with --sha256 they refuse a digest that does not match the file's current bytes, naming the actual digest to pass instead.
    The root is --project-root or the discovered project.
    With --db, PAPERTIGER_DB or the personal store there is no root, so pass --project-root <root> alongside the database override (now accepted for these two commands, as for evidence verify), or keep the text in the authority with note --text-file and resolve with a non-file locator such as note:<summary>.
    Stored locators and import are unaffected; other schemes are accepted as before.

Removed

  • Mise's readers for the provenance-free campaign shapes: papertiger-mise.campaign.v3 with Git-patch candidate material, deterministic evaluator request and output v2, trial receipts v2–v4, materialization v3, candidate identity v2, paired analysis v2, paired trial request v3, and parent promotion proof v2.
    Admission already accepted only papertiger-mise.campaign.v4, and no known Mise authority stores any of these records; one that did is now refused with the expected identifier.
    A campaign.v4 manifest must declare candidate_material and each calibration's candidate_material_sha256; campaign preflight and admission refuse a manifest that omits them or still carries candidate_patch_sha256.
    Every objective must bind a measurement contract, and every deterministic observation must carry its measurement provenance.
  • The v1 and v2 improvement-paradigm registries.
    improvement verify-brief and improvement compile read only the current built-in registry and refuse a brief bound to any other registry digest; rebind such a brief to the digest from improvement paradigms.
    These registries were rewritten at the 0.18.0 schema-id cutover, so no brief written before 0.18.0 could bind them, and no known project authority holds a brief that does.

Fixed

  • A project-install receipt naming another Papertiger release still refuses, but the refusal now names that project's own launcher, <root>/tools/papertiger/bin/papertiger[.exe] --project-root <root>, for working in the authority as it is (or says the launcher is not installed on this host), before the deliberate papertiger setup-project <root> upgrade.
  • add --dep, dep add and edit --parent refuse an edge that would leave tasks waiting on each other forever: a dependency on the task's own parent, on an ancestor of that parent, or on any task that depends on one of them, and a new parent whose completion the task already waits for.
    Previously these were accepted, and neither the child nor the parent could ever start or complete until the edge was removed by hand.
    The refusal shows the chain of dependencies and unfinished children that makes the tasks wait, and names the dep remove command for each dependency in it.
  • reopen refuses a task that would make its parent wait for it forever, for example a retired child that gained a dependency on a task downstream of its parent, or a finished task moved under such a parent.
    The refusal shows the chain and names the edit --parent, edit --clear-parent and dep remove commands that resolve it.
  • audit reports a dependency_deadlock finding for each such loop an authority already holds, since older releases accepted these edges and import restores them unchanged.
    The finding names the dep remove commands that break the loop.

Prebuilt archives are attached for Windows x64, Linux x64, Intel macOS, and Apple Silicon macOS.
Merge .agents, .claude, and tools into the project root. Skills are ready to discover; executables, documentation, licenses and the source manifest live under tools/papertiger.
Verify the adjacent SHA-256 asset before extraction.