Include the controlled empty-result cap fix from the local v0.8 follow-up.
Reduce the default request allowance to ten, preserving explicit budgets up to twenty.
Configure two automatic billing events: $0.001 per saved post/reply and $0.02 per started run; run usage included.
Keep two primary inputs, board-scoped output identities and the existing logo.
Source and billing validation status is recorded in research/STATE.md. Public publication is a separate user action.
0.8.0 — stress-test candidate
Replace quadratic contact redaction with a bounded ASCII email scanner, preserving prior output semantics and hashes.
Add seeded differential tests and a long-text subprocess regression.
Post-build local fix: zero keyword matches at a controlled collection limit now report limited and exit successfully. This fix has 171 local tests and a container regression; it is not in cloud candidate 0.8.1.
Extensive offline/container stress and up to six authorized bounded private cloud runs.
Proposed inactive pricing: $1 per 1,000 saved records plus $0.02 per run (the provisional $0.01 fee had negligible margin on the measured empty scan). Default production build remains 0.7.1 until separately promoted.
Changelog
0.7 — Client-ready private pilot
Two primary input controls, with replies enabled in optional settings. API keys and defaults stay compatible.
Collection summaries lead with plain-language status and explanation.
Updated client documentation, SEO metadata and original bold tech logo.
Private deployment and bounded cloud validation; publication and pricing remain inactive.
0.6 — Less parser work
Reuse the already-cleaned message DOM instead of serializing and reparsing each post. Output, content hashes and the three main inputs stay compatible.
Clarify that the two-minute source deadline does not include SDK startup and final storage/shutdown.
Preserve the v0.5 baseline and add offline CPU profiles, exact output comparisons and parser timings. Cloud performance remains unverified.
0.5 — Content comparison and faithful text
Added a versioned content hash and Snapshot comparison view for comparing the same post across captures.
Preserved code indentation, blank lines and trailing spaces, and separated neighboring block text.
Applied contact redaction consistently to free-text metadata; empty links and hidden quote previews no longer add misleading links or quote references.
Kept old saved rows valid when they lack a content hash. Recovery reads the same bounded identity fields and does not rewrite or rebill them.
The three main inputs, original logo and proposed prices are unchanged. Hashes describe normalized saved output, not edit history or user identity. Cloud pricing and publication remain inactive.
0.4 — Safer recovery and clearer results
Collection summaries explain finished, limited, partial, failed and interrupted outcomes, including valid zero-match results.
Recovery validates queued URLs, thread identities, counts and original limits before requesting content. Inconsistent state is preserved for review.
JSON field order no longer changes recovery identity. Existing 0.3 checkpoints remain supported within their original limits.
Saved content-access refusals stay stopped during same-run recovery. Interrupted delivery can still continue without duplicate rows.
The three main inputs, post/reply fields, original logo and proposed pricing are unchanged. Local validation does not activate cloud pricing or publication.
0.3 — Reliability and accurate filtering
Fixed valid date filters being rejected by the input form; blank dates now leave the range open.
Original posts keep missing author/date fields instead of inheriting reply metadata. Message text cannot impersonate header fields.
Missing robots files (404/410) are handled separately from access denial and server failures. The summary records the policy response and download accounting.
Storage failures always stop collection instead of being mistaken for page-format errors.
Large or deeply nested markup is checked before DOM allocation.
Abort and migration handling preserves completed delivery and pending work without waiting on a permanently paused crawler.
The main inputs, post/reply output fields and proposed pricing are unchanged. This version has not been deployed or publicly published.
0.2 — Client experience and bounded recovery
Simplified the input form, improved dataset views, added budget-aware writes and run-local recovery, prepared the client README/pricing, and included an original logo.