5 min read

Weekly development log 2026‑W32: Complete running scanned PDF OCR in production

This week we tightened orchestration reliability and frontend/backend feature consistency, implemented chunked upload for large attachments that exceed Cloudflare request limits, and completed an analysis path that handles scanned PDFs with no text layer. Small documents fall back to multi-page native OCR; large documents are split so a sandbox targets only the necessary pages for OCR. We then retroactively analyzed 20 failed Agent Tasks and added exponential-backoff retries for transient LLM errors and a demotion that removes approval-required tools when approval responses time out repeatedly, allowing completion with the available information. These changes, along with integrating Agent Tasks into history, were released as 1.21.0.

  • Weekly log
  • Vibe coding
  • Self-hosted AI
  • 2026-W32
OpenMake interface archive from 2026-08-17
An actual OpenMake interface archived on 2026-08-17, the nearest verified product screen available for this week.

SHIPPED / EVIDENCE

This week in OpenMake

This week we tightened orchestration reliability and frontend/backend feature consistency, implemented chunked upload for large attachments that exceed Cloudflare request limits, and completed an analysis path that handles scanned PDFs with no text layer. Small documents fall back to multi-page native OCR; large documents are split so a sandbox targets only the necessary pages for OCR. We then retroactively analyzed 20 failed Agent Tasks and added exponential-backoff retries for transient LLM errors and a demotion that removes approval-required tools when approval responses time out repeatedly, allowing completion with the available information. These changes, along with integrating Agent Tasks into history, were released as 1.21.0.

Period
2026-08-03 – 2026-08-09
Git commits
112
Evidence
Mixed evidence

01

What changed

This week we tightened orchestration reliability and frontend/backend feature consistency, implemented chunked upload for large attachments that exceed Cloudflare request limits, and completed an analysis path that handles scanned PDFs with no text layer. Small documents fall back to multi-page native OCR; large documents are split so a sandbox targets only the necessary pages for OCR. We then retroactively analyzed 20 failed Agent Tasks and added exponential-backoff retries for transient LLM errors and a demotion that removes approval-required tools when approval responses time out repeatedly, allowing completion with the available information. These changes, along with integrating Agent Tasks into history, were released as 1.21.0.

  • Improved routing, post-processing, Agent Task completion behavior, and frontend/backend feature alignment.
  • Added authenticated chunk upload and rate-limit invariants, and introduced a 30MB generation-time OCR gate to protect Cloudflare response limits.
  • Uploaded a real 66MB, 688-page scanned PDF to chat.openmake.cc, targeted OCR on 13 pages, produced an analysis artifact in 4 turns, and completed unit tests 5/5, related tests 135/135, and PR #431 CI, merge, and production deploy.
  • Merged Agent Task retry policy stage 1 — only retry 5xx, 408, 429 and connection-type errors with a default 2-attempt exponential backoff; if approval non-response accumulates twice, remove approval-required tools so the task finishes with available data; persist retry/demotion triggers as steps for aggregation.
  • Integrated Agent Tasks as read-only items in history recent-conversations with deep links to task details, corrected the README architecture description to match the current message-pipeline implementation, and bundled retry policy and history integration into the 1.21.0 release.

02

How this week was reconstructed

The archive is incomplete for part of this week. Claims with a session are session-backed; implementation without a recovered transcript is described only from Git evidence.

We audited the available Claude Code main sessions, their proven child lineages, and the repository history. Session notes explain intent and investigation; Git remains the authority for code that actually landed.

03

Team identity and project roles

OpenMake Team is the community identity; openmake_llm is the software project; OpenMake is the product name. Non-developer maker riskpw leads openmake_llm through vibe coding, and professional developer rocky supports its development.

证据来源

Evidence

返回开发日志