Skip to content

feat: allow export with blocking page problems - #90

Merged
patriksimms merged 2 commits into
mainfrom
feat/export-despite-problems
Aug 24, 2026
Merged

feat: allow export with blocking page problems#90
patriksimms merged 2 commits into
mainfrom
feat/export-despite-problems

Conversation

@patriksimms

@patriksimms patriksimms commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Problem

Organizers can inspect a book and knowingly accept layout problems, but the export step has no escape hatch. This makes it impossible to produce a PDF when a problem is intentional or acceptable.

Solution

Add an explicit opt-in control in Print export that allows a current book to export despite blocking page problems. The export requires confirmation and records every accepted problem in the preflight report. The confirmation is bound to the exact generated book that was reviewed. Stale books and failed structural PDF checks remain blocked.

Validation

  • SAKEKEEP_E2E_PORT=3100 bun run verify
  • 43 test files and 361 unit tests passed
  • 22 end-to-end tests passed, 2 intentionally skipped
  • Production build and Compose validation passed
  • Local API check: default request returned 409; opted-in request returned 201 and recorded all 4 accepted problems
  • Independent review found and verified the stale-tab race fix

Evidence

Before: blocking problems disable export.

Before

After: the explicit toggle accepts the problems and enables the confirmed export path.

After

Changes prepared by GPT-5.6-sol through T3 Code using the Codex harness.

Summary:
- add an explicit, confirmed export override for current books
- record accepted page problems in preflight reports and analytics

Rationale:
- organizers sometimes need a PDF despite known layout problems
- stale generation and structural PDF failures remain blocking

Tests:
- SAKEKEEP_E2E_PORT=3100 bun run verify
- local API: default 409, override 201 with four recorded problems

AI-Assisted: true
AI-Agent: codex
AI-Model: openai/gpt-5.6-sol
Summary:
- send the reviewed book fingerprint with export confirmation
- reject accepted problems when the generated book changed
- cover the stale-tab race at the server boundary

Rationale:
- an override must apply only to the problems the organizer reviewed

Tests:
- SAKEKEEP_E2E_PORT=3100 bun run verify
- 43 test files and 361 unit tests passed
- 22 end-to-end tests passed, 2 intentionally skipped

AI-Assisted: true
AI-Agent: codex
AI-Model: openai/gpt-5.6-sol
@patriksimms
patriksimms marked this pull request as ready for review August 24, 2026 22:57
@patriksimms
patriksimms merged commit 6438222 into main Aug 24, 2026
3 checks passed
@patriksimms
patriksimms deleted the feat/export-despite-problems branch August 24, 2026 22:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant