Papertiger 0.18.0
This release renames planner storage, commands, flags and JSON identifiers with no compatibility aliases.
To upgrade an authority, run papertiger --db <authority> backup --output <new-path> with the new binary, then papertiger init to migrate it from schema v12 to v13.
Until then commands that open the authority, other than init and backup, refuse it and name that command.
A Mise authority likewise needs papertiger-mise --db <database> init (schema v10).
Then update scripts for the renames below and rerun setup-project from the verified release binary so the project skill and reference match.
Changed
-
Release archives carry
papertiger.release_manifest.v3(waspapertiger.release-manifest.v2); update scripts that check the manifest schema. -
Blockers record a
condition:blocker add <task> <name> --condition <text>replaces--reason, and JSON, dumps and the database column usecondition. -
Gates use the blockers' vocabulary:
gate resolvereplacesgate close, and statusresolvedwithresolved_atreplacesclosedandclosed_at.
The migration converts stored gates.
Stored history keeps its original event kinds, so gate resolutions recorded before the upgrade still readclosedinlog. -
Exports are
papertiger.dump.v10.
importalso acceptspapertiger.dump.v9and converts it; older dumps still need their matching release to migrate and re-export. -
A raw SQLite writer now fails with
papertiger_write_requires_public_api(waspapertiger_write_requires_executable).
The migration reinstalls every guard. -
list --all-planspages with one opaque--after-cursortaken from the previous page'snext_cursororcontinuation_command;--after-seqand--snapshotare removed.
A cursor from different--status/--tagfilters or from a changed authority is refused with the restart command. -
Renamed flags and commands:
focus --include-blocked(was--all),evidence verify --classification(was--outcome), andpapertiger mise record(waspapertiger mise project). -
search --compactandshow --no-historyprint JSON without--json; both are JSON-only projections and previously refused the command. -
search --compactreturns 5 results by default (fullsearchkeeps 20) and includes acontinuation_commandwhen more results match. -
JSON ids are snake_case, with their version raised where the id or shape changed:
papertiger.task_context.v8,papertiger.task_current.v3,papertiger.task_inventory.v2(next_cursorandcontinuation_commandreplacesnapshotandnext_after_seq),papertiger.search_compact.v2,papertiger.evidence_verification.v3(projection.classificationreplacesprojection.outcome),papertiger.history_inspection.v2,papertiger.history_quarantine.v2,papertiger.mise_planner_projection.v2andpapertiger.project_install_result.v6(waspapertiger.project_setup.v5).
Quarantine envelopes and Mise projections recorded before this release keep their original ids and stay readable, exportable and importable;papertiger mise recordrefuses a new projection with the retired id and names the command that regenerates it. -
Help text names task arguments "Task number (N or #N)", no longer claims that
rejectprevents re-litigation (reopenaccepts rejected tasks), states thatexportcarries events and Mise projections, and documents thereference,historyand personal setup arguments. -
The project skill and reference are shorter.
commit addomits--repounless the commit belongs to a nested or external repository. -
Mise commands are renamed without aliases; the old spellings are refused.
paired run-next,show-runandlist-runsbecomeexecute-next,show-executionandlist-executions;improvement verify <FILE>becomesverify-registry;improvement brief-verifybecomesverify-brief;promotion inspectbecomespromotion rederive;projection inspectbecomesprojection export.
Update scripts and agent instructions that call them. -
Mise rationale flags are
--why <TEXT>or--why-file <PATH|->(stdin with-) instead of--reasononbudget release,candidate abandon-materialization,trial cancel,trial abandonandpaired cancel.
Cancellation requests report the rationale aswhy, and their JSONtargetfor a paired execution ispaired_execution. -
Mise authority schema v10 renames the recorded cancellation rationale to
whyand the recorded Papertiger gate time topapertiger_gate_resolved_at; promotion proofs and successor admissions report it asresolved_at.
Runpapertiger-mise --db <database> initonce after upgrading; read commands refuse a v9 authority and name that command. -
Every Mise schema, protocol and domain-separation id is
papertiger-mise.<snake_case_name>.v<N>with its version advanced, and the improvement formats move from thepapertiger.prefix topapertiger-mise..
Operator-authored inputs must be reissued under the new ids: campaign manifestspapertiger-mise.campaign.v4(measurement contractsmeasurement_contract.v2), adapter bindingspaired_adapter_binding.v2anddomain_shadow_adapter_binding.v2, fixture bundlesfixture_bundle.v2(regenerate withcampaign fixture-bundle), briefsproject_improvement_brief.v3, approvalsproject_improvement_brief_approval.v2and registriesimprovement_paradigm_registry.v2.
Deterministic evaluators must readdeterministic_evaluator_request.v3and emitdeterministic_evaluator_output.v3; paired adapters receivepaired_trial_request.v4.
Reruncampaign source-binding, because the repository identity digest changed with its domain-separation id.
The complete retired-to-current table ispapertiger_mise::schema_ids::RETIRED_SCHEMA_IDS. -
Mise containment policies are
ContainmentPolicywith schemapapertiger-mise.containment_policy.v3and protocolpapertiger-mise.ed25519_sealed.v3, replacingTrustedContainmentPolicyandpapertiger-mise.trusted-containment-policy.v2.
Reissue existing policy files; a retired policy is refused with that instruction.
Promotion proofs and sealed attestations name the policy digestcontainment_policy_sha256. -
Mise refuses campaigns, receipts and shadow evidence recorded before this release instead of reading them.
Each refusal names the replacement id; reopen frozen evidence with a 0.17.xpapertiger-mise, or admit a new campaign. -
Mise
--papertiger-dbdefaults tostate/papertiger.sqlite, resolved from--project-root, forcampaign admit-successor,promotion verify-parentandpromotion verify.
promotion verifypreviously required it. -
Mise
promotion deriveandpromotion verifyhelp states that both always refuse until sealed confirmation attestation lands. -
Planner Mise projections require candidate material
papertiger-mise.candidate_material.v2; export them with this release'spapertiger-mise projection export.
Removed
inspect-project-guidanceand theproject_guidancefield of the setup result.
Papertiger no longer recommends trigger text for a project'sAGENTS.mdorCLAUDE.md; installed skills route agents by their own descriptions.
Delete any Papertiger trigger text you added for it.
Fixed
- A trigger added by direct SQLite access is write-guard drift.
Previously it passedauditandrepair-guards --dry-run, then ran inside the next Papertiger mutation and could change planning data without an event.
Writes now refuse and name it;repair-guards --why <reason>removes it and records its SQL.
The Mise projection immutability triggers are also checked and restored.
An authority that already contains such a trigger refuses writes after upgrading untilrepair-guardsruns; reads, export and backup continue. repair-guards --jsonreports each entry'sstateasmissing,alteredorforeign.
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.