Document word comparisons keep changed words together, and PDF symbol-font bullets render as standard bullets.
Fixed
- Word and auto modes keep DOCX and PDF word replacements intact instead of refining them into scattered character edits.
- Known OpenSymbol PDF bullets decode to standard Unicode bullets in both native and fallback extraction. Unrelated fonts and private-use characters are preserved.
- Updated comparison replay identities prevent old results from standing in for the corrected behavior.
Validation
- Source reconstruction, HTML/JSON responses, font-scoped symbol decoding and document regression tests pass. Both supplied résumé PDFs retain all 19 bullets per document.
- repo
- bookcicle/redline-document-service
Review up to three detected document issues, then unlock full analysis for deeper issue discovery.
Improved
- Eligible previews in the new experiment show up to three prioritized contact, image, layout, or readability findings in a compact card above the report details, with an Unlock Full Analysis action.
- The preview uses existing document checks, with no additional AI calls. Previews without a supported finding keep their existing layout.
- Completed owner reports show supported résumé issues when the optional review is available. Missing issue data leaves the rest of the report usable.
- repo
- bookcicle/ui
- commit
- f8f0da682c3029c892cddc5cb400271644ab9c8e
Review up to three detected document issues, then unlock full analysis for deeper issue discovery.
Improved
- Eligible previews in the new experiment show up to three prioritized contact, image, layout, or readability findings in a compact card above the report details, with an Unlock Full Analysis action.
- The preview uses existing document checks, with no additional AI calls. Previews without a supported finding keep their existing layout.
- Completed owner reports show supported résumé issues when the optional review is available. Missing issue data leaves the rest of the report usable.
- repo
- bookcicle/ui
Career reports show supported issue findings when the asynchronous review is ready.
Improved
- Authenticated owner reports show grounded résumé issue findings and suggestions when available. Missing or invalid issue data leaves every existing report section usable.
- Free previews can show up to three prioritized document checks in a compact experiment card with a path to full analysis.
- repo
- bookcicle/ui
- commit
- f8f0da682c3029c892cddc5cb400271644ab9c8e
Compare DOCX and searchable PDF source documents directly, preserve supported formatting changes, and recover through the HTML engine when needed.
Improved
- DOCX comparisons use source paragraphs, headings, lists, tables, headers, footers and footnotes instead of converted HTML for alignment.
- Bold, italic, underline, strikethrough, superscript, subscript and link changes remain valid inline changes. Word run splitting alone does not produce a change.
- Searchable PDF comparisons retain actual source pages. Explicit Word page breaks are retained without inventing rendered Word page counts.
- Recoverable native comparison or rendering failures retry through the HTML engine; reconstruction checks prevent successful responses with missing content. Invalid, encrypted, oversized and image-only documents remain errors.
Validation
- 135 service tests, 171 shared-engine tests, release-build recovery checks and local browser checks pass.
- Local benchmarks include source parsing, native diff, HTML/JSON response generation, reconstruction checks, sanitization and payload encoding. Native is faster in 13 of 15 cases; the edited 100- and 250-page Word fixtures are about 7% and 17% slower.
- repo
- bookcicle/redline-document-service
Compare DOCX and searchable PDF source documents directly, preserve supported formatting changes, and recover through the HTML engine when needed.
Improved
- DOCX comparisons use source paragraphs, headings, lists, tables, headers, footers and footnotes instead of converted HTML for alignment.
- Bold, italic, underline, strikethrough, superscript, subscript and link changes remain valid inline changes. Word run splitting alone does not produce a change.
- Searchable PDF comparisons retain actual source pages. Explicit Word page breaks are retained without inventing rendered Word page counts.
- Recoverable native comparison or rendering failures retry through the HTML engine; reconstruction checks prevent successful responses with missing content. Invalid, encrypted, oversized and image-only documents remain errors.
Validation
- 135 service tests, 171 shared-engine tests, release-build recovery checks and local browser checks pass.
- Local benchmarks include source parsing, native diff, HTML/JSON response generation, reconstruction checks, sanitization and payload encoding. Native is faster in 13 of 15 cases; the edited 100- and 250-page Word fixtures are about 7% and 17% slower.
- repo
- bookcicle/redline-document-service
Deeper résumé issue reviews can recover from an incomplete AI response before showing findings.
Fixed
- Issue reviews retry an invalid response once before marking findings unavailable. Existing report sections remain usable when no valid review is available.
- The retry preserves source quotations, the selected model, and the review’s time and cost limits.
- Temporary conflicts between parallel report steps retry within a minute. An unavailable optional review leaves the other report content usable.
- repo
- bookcicle/bookcicle-openai
- commit
- d4308eac3cd1ab7d381b24e60ba1eee5b17e37c2
Deeper résumé issue reviews can recover from an incomplete AI response before showing findings.
Fixed
- Issue reviews retry an invalid response once before marking findings unavailable. Existing report sections remain usable when no valid review is available.
- The retry preserves source quotations, the selected model, and the review’s time and cost limits.
- Temporary conflicts between parallel report steps retry within a minute. An unavailable optional review leaves the other report content usable.
- repo
- bookcicle/bookcicle-openai
- commit
- d4308eac3cd1ab7d381b24e60ba1eee5b17e37c2
The paid-campaign report setup now measures results from the October 1 parser production rollout onward.
Improved
- Use the same post-patch reporting window for résumé selections, preview failures, and payments.
- Show the percentage of selected sessions that subsequently encounter a preview failure, counting retries once per session and channel.
- repo
- bookcicle/ui
Switch comparison formats without losing your own text edits, selected files or mode preferences.
Fixed
- HTML, Markdown, plain text and JSON each retain separate original and revised drafts, including intentionally empty inputs.
- PDF and DOCX each retain their own selected files in the playground and direct comparison page. Reset affects the active format only.
- Late document responses cannot populate a different format after switching tabs. Cached comparison results stay associated with their format.
Validation
- Local mocked browser coverage verifies per-format text and file restoration, exact restored upload bytes, active-format resets and delayed response isolation.
- repo
- bookcicle/ui
Switch comparison formats without losing your own text edits, selected files or mode preferences.
Fixed
- HTML, Markdown, plain text and JSON each retain separate original and revised drafts, including intentionally empty inputs.
- PDF and DOCX each retain their own selected files in the playground and direct comparison page. Reset affects the active format only.
- Late document responses cannot populate a different format after switching tabs. Cached comparison results stay associated with their format.
Validation
- Local mocked browser coverage verifies per-format text and file restoration, exact restored upload bytes, active-format resets and delayed response isolation.
- repo
- bookcicle/ui
Excludes the unreleased FuncSpace labs tile from the production Bookcicle homepage while retaining it in development and test environments.
Changed
- Tagged the FuncSpace labs tile on the Bookcicle homepage with brand data attributes and pruned it during production build and surface hydration.
- Preserved FuncSpace labs discovery in development and test environments for active research and review.
Validation
- Unit tests in company_routes.test.mjs asserting production pruning and dev/test retention.
- Playwright E2E coverage in company-marketing.spec.mjs verifying brand tile integrity.
- repo
- bookcicle/ui
Funcspace DEV is registered as a publisher draft with passed package checks and a verified API domain.
Improved
- Bookcicle publisher verification, Funcspace DEV draft registration and domain verification are complete.
- The AWS deployment and nine anonymous live DEV checks passed. OAuth linking, real ChatGPT scenarios and public review remain separate gates.
- repo
- bookcicle/ui
Funcspace uses the established Bookcicle AWS runners for deployment, publication operations and live form checks.
Improved
- Funcspace deployment and smoke workflows use the existing AWS runner pool.
- Funcspace DEV publisher domain is verified; OAuth connection and real ChatGPT acceptance remain in progress.
- repo
- bookcicle/ui
Allow callers to request document comparison without replaying cached results.
API
- Cache-Control: no-store bypasses caller and shared comparison caches for HTML, Markdown, plain text and JSON requests. The response confirms the bypass. Authentication, rate limits and usage metering still apply.
- Native DOCX and PDF comparisons compute fresh results when no idempotency key is supplied.
Validation
- Regression tests preload both comparison caches and verify that a bypassed request computes changes without reading or replacing either cached result.
- repo
- bookcicle/ui
Allow callers to request document comparison without replaying cached results.
API
- Cache-Control: no-store bypasses caller and shared comparison caches for HTML, Markdown, plain text and JSON requests. The response confirms the bypass. Authentication, rate limits and usage metering still apply.
- Native DOCX and PDF comparisons compute fresh results when no idempotency key is supplied.
Validation
- Regression tests preload both comparison caches and verify that a bypassed request computes changes without reading or replacing either cached result.
- repo
- bookcicle/ui
Eliminates empty dangling bullet points upon rejecting insertions or accepting deletions, disables Split view during track changes review, and surfaces a floating Finish Review prompt when all changes are resolved.
Fixed
- Empty list items (li) are cleanly pruned when resolving inserted or deleted bullets, preventing dangling bullet points.
- Split view toggle buttons and postMessage layout switching are disabled while Review Mode is active to prevent layout desynchronization.
Improved
- Presents a floating Finish Review confirmation button at the bottom-right viewport when all changes have been resolved one-by-one.
- Dismisses bulk Accept All and Reject All options once zero pending changes remain so Finish Review is the only action.
Validation
- Playwright E2E and Jest unit test suites verify bullet pruning, Split mode layout guard, and floating completion lifecycle.
- repo
- bookcicle/ui
Eliminates empty dangling bullet points upon rejecting insertions or accepting deletions, disables Split view during track changes review, and surfaces a floating Finish Review prompt when all changes are resolved.
Fixed
- Empty list items (li) are cleanly pruned when resolving inserted or deleted bullets, preventing dangling bullet points.
- Split view toggle buttons and postMessage layout switching are disabled while Review Mode is active to prevent layout desynchronization.
Improved
- Presents a floating Finish Review confirmation button at the bottom-right viewport when all changes have been resolved one-by-one.
- Dismisses bulk Accept All and Reject All options once zero pending changes remain so Finish Review is the only action.
Validation
- Playwright E2E and Jest unit test suites verify bullet pruning, Split mode layout guard, and floating completion lifecycle.
- repo
- bookcicle/ui
Direct PDF/DOCX input uses a 750 KiB combined threshold; larger pairs use uploads. Hosted retention and viewer token lifetimes are clarified.
Improved
- PDF and DOCX pairs up to 750 KiB combined use direct input; larger pairs use the existing upload flow. Lambda retains 2 MiB acceptance headroom.
- Standard inline and direct API examples require no client-side hash header. Direct DOCX/PDF smoke lanes validate the documented threshold.
- Privacy and expired-viewer wording distinguish temporary uploads, configurable hosted retention, and separate viewer token expiry.
- repo
- bookcicle/ui
Direct PDF/DOCX input uses a 750 KiB combined threshold; larger pairs use uploads. Hosted retention and viewer token lifetimes are clarified.
Improved
- PDF and DOCX pairs up to 750 KiB combined use direct input; larger pairs use the existing upload flow. Lambda retains 2 MiB acceptance headroom.
- Standard inline and direct API examples require no client-side hash header. Direct DOCX/PDF smoke lanes validate the documented threshold.
- Privacy and expired-viewer wording distinguish temporary uploads, configurable hosted retention, and separate viewer token expiry.
- repo
- bookcicle/ui