Repository navigation
Releases
paperhands 0.8.2
Paperhands 0.8.2 makes repeated refusals describe the current blocked episode. A non-blocked revision ends the episode; reopening then blocking starts again at one. Done and retired tasks retain the last episode's exact citations in resolved_refusals without firing the signal. Frozen task history is preserved.
The guide and bundled help also document transient unknown automation coverage while a concurrent writer holds the consistency lock. A later read verifies the history again; busy coverage remains unknown.
No store migration is required. The fixed verdict rule and dependency pins remain unchanged: clap-how-to =0.1.5 and pocket-encoder =0.1.2 with search. JSON consumers can read the added repeated_refusal.resolved_refusals field.
Validation: all five release gates passed, including 101 tests with zero failures. Read-only live comparison reproduced busy-lock refusal and recovery in both 0.8.1 and the candidate.
Source: 47ff6a7f3dc417d3f4b85776e20e3a941aa6b50d (signed tag v0.8.2).
Registry archive SHA256: e8b738126dc07fa25326b4a14ccc59b3d313187b182fe11e448acdb28b1ea741 (1,098,859 bytes). Published by bboxy450/user445014; downloaded registry bytes match the approved upload and signature.
Signing fingerprint: 9B07E849480C68328CA20684844ECC0587DE7AB0.
Verify the attached registry-identical artifact:
gpg --verify paperhands-0.8.2.crate.asc paperhands-0.8.2.cratepaperhands 0.8.1
Zoom monoculture now clusters only exact notes explicitly referenced by the selected retirement cohort, rather than the entire retained root. The signal declares population: "referenced-notes", its unique note count and a snapshot SHA. Selected groups are semantic navigation; they do not claim whole-root cluster parity or economic independence. The whole-root graph clusters command keeps its 1,024-note cap.
unreviewed_output separately reports completed native experiments without a review and aged, untouched-open tasks. Their counts sum for the existing threshold. Reopened tasks are excluded; same-state revisions reset task age. Unknown coverage remains null, and task prose is not execution or review proof. The verdict rule is unchanged.
Migration: existing notes, frozen execution bindings, schedules, recipients and spent slots require no rewrite. Consumers needing only native execution backlog should read native_experiments rather than the aggregate. Existing graph and memory integrity limits remain independently enforced. Dependency pins remain clap-how-to =0.1.5 and pocket-encoder =0.1.2/search.
Validation: 99 tests passed, prepared help 297 sources / 5 companion routes, formatting, strict Clippy and publication dry-run passed. Includes a native rollover fixture with more than 1,024 notes, selected-population bindings, backlog components and honest coverage refusal. No global installation or consumer adoption is implied.
Publisher: bboxy450 / user 445014. Source and signed tag v0.8.1: 8068029.
Archive SHA-256: 5e2d48a233e7f5b1bae612d2963e3c96a3b646fa9d21dbc8a4eb259ed5eb5fe1 (1,091,202 bytes). The independent registry download matches the approved candidate and all 66 original source payloads.
Tag and package are signed by 9B07E849480C68328CA20684844ECC0587DE7AB0:
gpg --verify paperhands-0.8.1.crate.asc paperhands-0.8.1.crateThe signature verifies the independently downloaded registry bytes.
paperhands 0.8.0
paperhands zoom reads retained native state and describes five stall signals: repeated refusal, unreviewed output, concentrated retirements, no newly recorded evidence, and spent wakes without task-state changes. It starts no model or evaluator. Unknown coverage stays null; the verdict is descriptive and grants no automatic action.
Optional automation add --zoom-prompt FILE freezes a premise-review brief. A supported stalled verdict substitutes it only within an already-due wake, using the same slot and budget. Unknown/error keeps the routine wake. Public reports include only the allowlisted zoom summary; next-work answers and the managed skill surface the four zoom-out questions.
Migration: schedules using zoom_prompt require 0.8 readers; upgrade every writer and reconnect only owned resident MCP processes before opting in. Existing schedules and frozen records need no rewrite. Report readers must use frontier.catalog_fully_paginated; the deprecated one-release all_evidence_inspected alias is removed. Imported prose is not native refusal/review/retirement evidence; similarity is not economic independence.
Validation: 92 tests passed; prepared help 295 sources / 5 companion routes; formatting, strict Clippy and publication dry-run passed. Dependency pins remain clap-how-to =0.1.5 and pocket-encoder =0.1.2/search. No global install or consumer adoption is implied.
Publisher: bboxy450 / user 445014. Source and signed tag v0.8.0: 0971859.
Archive SHA-256: 8ed5bf0a747ebc330fbfcef6653d28be5abacc35c5765307a2e441c758d0edeb (1,080,694 bytes). The independent registry download matches the approved candidate and all 66 original source payloads.
Tag and package are signed by 9B07E849480C68328CA20684844ECC0587DE7AB0:
gpg --verify paperhands-0.8.0.crate.asc paperhands-0.8.0.crateThe signature verifies the independently downloaded registry bytes.
paperhands 0.7.1
Scheduled report freshness checks now replace one mutable latest-skip.json instead of accumulating sealed receipt pairs. Written/failed refreshes retain sealed receipts. Report targets are selected only from due/waiting schedules at tick inspection; terminal schedules provide no target. Wake/spent-slot behavior is unchanged.
Report receipts now record completion time separately from report generation time. Public frontier.catalog_fully_paginated replaces the ambiguous name; all_evidence_inspected remains a documented same-value alias for 0.7.1 only. It describes execution-catalog pagination, not substantive source review or financial validation.
Validation: 77 tests passed; prepared help 273 sources / 5 routes; strict Clippy, formatting, package verification passed. Dependencies remain clap-how-to 0.1.5 and pocket-encoder 0.1.2/search; no store migration. Public JSON/Markdown replacement remains atomic per file.
Publisher: bboxy450 / user 445014. Source and signed tag v0.7.1: df55078.
Archive SHA-256: 4384fe02eb946bc63547d0c828bd3897a0e35c2bb9ad135d2289ae4c67cc7152 (1,015,754 bytes). Independent registry download matches the approved candidate and all 63 original source payloads.
The package and tag are signed by 9B07E849480C68328CA20684844ECC0587DE7AB0:
gpg --verify paperhands-0.7.1.crate.asc paperhands-0.7.1.crateThe signature verifies the independently downloaded registry bytes. No global install; consumer acceptance remains separate.
paperhands 0.7.0
Paperhands now writes sanitized public research reports with paperhands report --root ROOT --out DIR. Optional automation add --report-out DIR refreshes reports on non-dry ticks when missing or older than one hour, retaining a receipt. MCP uses the same operation.
Configured projects with a missing research store now receive the companion's concise initialization guidance. CLI tests run from isolated temporary directories.
Exact dependencies: clap-how-to 0.1.5 and pocket-encoder 0.1.2/search. Existing memory and lifecycle identities need no migration. The 0.2.1 help migration is deferred because its changed Markdown extraction affects schema-v1 passage bindings.
Validation: 75 tests passed, prepared help 269 sources / 5 routes, strict Clippy, formatting and package verification passed. Report files replace atomically per file; the JSON/Markdown pair is not an atomic transaction.
Published by bboxy450 (user 445014). Source/tag commit: b24187592e2d2d076d75e996476544a43aeb54d6.
Archive SHA-256: 74796eca7889f738cd5e34fd36b2ddb6c400e03a09e87198ac5d736ec5da2651 (1,005,429 bytes). The downloaded crates.io archive matches the approved candidate and all 63 original source payloads.
The attached package has a detached signature from 9B07E849480C68328CA20684844ECC0587DE7AB0:
gpg --verify paperhands-0.7.0.crate.asc paperhands-0.7.0.crateThe signature was verified against the bytes independently downloaded from crates.io. Consumer activation is separate; this release process performs no global install.