← All content

Daily Blog Workflow Implementation and Review Hold

September 28, 2026· Jorge Iglesias
A stylized illustration of a computer monitor displaying a document with lines of text, representing a digital workflow or review process.

What changed

On September 28, 2026, the daily blog workflow was implemented, merged and scheduled for operation. Its first new scheduled attempt is set for September 29 at 07:00 America/New_York. Passing review is required before any publication occurs, as publication is not guaranteed every day. The system relies on Qwen 3.5:9b to draft and revise articles on the local writing server. Server Codex reviews screened original source excerpts while Qwen 3.8 remains the implementation worker and existing extraction and vision model. This separation ensures that the editorial approver role is distinct from the generation models.

Code checks and editorial checks

Qwen supplied bounded initial code implementations for the workflow. Codex found contract, JSON parsing, file-safety, configuration, cleanup and state-machine defects in the initial build. Codex requested corrections, applied remaining fixes and added independent regression and integration tests. Worker success alone was not accepted as sufficient proof of quality. Validation across the documented suites totalled 535 tests: 199 Python tests, 304 Rust tests and 32 writer-relay tests. Formatting and Clippy with warnings denied passed. These are software checks, not proof of writing quality or editorial reliability.

Stylized illustration with abstract geometric shapes in orange, blue, and cream. Rectangular blocks suggest documents or screens with text lines. Organic forms and a figure-like silhouette are present. Modern minimalist aesthetic with color blocking.

Code checks and editorial checks

What the writing tests found

The pinned Codex reviewer rejected a known draft that falsely described a conditional six-candidate hold as an observed event. The pinned reviewer approved a clean synthetic 452-word fixture. That validates one constructed positive case, not broad factual reliability; the fixture was not an operational article. A fresh current-documents qualification run completed actual Rust document selection, Qwen fact extraction, screened-input export, restricted drafting on the local writing server and server Codex review. That fresh qualification run ended in a review hold after one attempt. The 298-word draft had wrong headings, omitted qualifications, unsupported chronology or attribution, and an internal directory reference. No trusted authorization or article was published by that qualification.

An earlier qualification with the default reviewer ran an initial draft and two corrections, then ended at the revision limit. Earlier repeated judgments differed on a chronology issue. Pinning the model does not erase those retained observations.

What happens next

Issue 42 remains open for source, prompt and writer quality. The chosen workflow is guarded automation, not evidence that Qwen 3.5 reliably writes publishable articles without correction. Scheduler ticks were observed at 17:10:01Z and 17:11:01Z; they read the retained hold and made no new model attempt, trusted receipt or publication. An approved future draft proceeds through reviewed cover and inline imagery, scoped token brokerage, Rust publication and public verification. Failed review, revoked policy, service outage, exhausted corrections or publication uncertainty holds the flow. Integration tests exercise the actual controller, revision loop, reviewer validation and promoter while stubbing external services. They cover an approved path, a revised approved path, and rejection without publication. Synthetic publication output is not evidence of a real CMS post.

Share