Skip to content
Centriu
Centriu Atlas

Publish-State Backfill and Scheduled-Queue Reconciliation Automation: 862 Published Pieces Read as Still Pending

Measured across sixty days at Centriu's own agency: 862 content pieces that had genuinely already published sat with an empty publish-date field on the item record itself, because only the underlying queue and post records ever received that timestamp — the item record the AI agents actually read for a plain "has this gone out" check never did. Axis's own logic treats a missing publish date as "hasn't gone out yet," so those 862 real, already-live pieces were structurally invisible to any agent-facing check for what still needs to publish. A second, smaller drift measured in the same audit: five items sat labeled "scheduled" even though every post in their own underlying queue had already published — nothing had advanced their own status once the last post cleared. The fix writes the publish date onto the item itself, at the moment of success, from both places that can trigger a real publish, backfills the 862 existing items from whichever underlying record already had a real timestamp, and reconciles the five stuck items to their correct published state — with a proof block built into the same migration confirming zero remaining drift of either kind.
862 items backfilled, proven
Stamped at the source, not guessed
Before and after comparison of organized service records
862 published pieces, read as still pending.

A single field two different systems both read, but only one of them ever wrote

A parent record and a child record can both conceptually track the same fact — did this actually publish — without any guarantee that a new way of causing that fact stays wired up to both places that record it. The parent keeps looking authoritative because nothing about an empty field announces itself as wrong; it just quietly falls further and further out of sync with what the child records already, correctly, know.

How the underlying problem shows up before you fix it

A parent record and a child record both track the same outcome, but only the child record's write path was ever updated when a new way of reaching that outcome was added — the parent's own copy of the fact silently drifts stale.

A downstream system treats an empty timestamp field as meaning "hasn't happened yet," when the real reason the field is empty is that nothing writes to it from one specific code path, not that the event genuinely hasn't occurred.

A record's status can reach a terminal value through one path while the underlying items it actually depends on finish independently, with nothing checking back to confirm the parent record's own status should also move.

A drift measured across historical data accumulates for months with zero visible errors, because every downstream reader of the empty field simply treats the record as "not done yet" rather than raising an exception anywhere.

Two different write paths perform what looks like the identical update but were built at different times and diverged in exactly which fields each one actually touches.

How 60 days of drift were measured and closed at the source, with reconciliation for what already existed

Two separate mechanisms can mark a Centriu Atlas content item as published: a scheduled cron job that fires at the post's scheduled time, and an on-demand publish action a person or agent can trigger directly. Both mechanisms have always correctly recorded the outcome on the underlying post record — the row representing that one specific post going out on that one specific channel. Neither mechanism, until this fix, also wrote that same publish timestamp onto the parent content-plan item itself, the record every agent-facing tool actually reads when it needs a simple answer to "has this piece gone out." Axis's own logic reads a missing timestamp there as meaning not yet published — a reasonable default that, in this specific gap, was silently wrong for every item affected.

Measured over the prior 60 days at Centriu's own agency: 862 items already correctly marked published, with a real, discoverable publish record underneath them, still carrying a null timestamp on the item itself. A second, narrower drift affected five items specifically: each remained labeled "scheduled" even though every single post in its own underlying queue had already resolved to published — nothing in the system had ever advanced the parent item's own status once its last dependent post cleared.

The fix corrects both write paths going forward — the scheduled-publish cron job and the on-demand publish endpoint now each stamp the item's own publish-date field at the exact moment a publish succeeds, alongside the underlying post record they already correctly updated. For the 862 already-affected items, a backfill migration pulls the earliest genuine publish timestamp available from whichever underlying record type actually has one and writes it onto the item — built with its own embedded proof, run as part of applying the fix, confirming zero items remain marked published with a discoverable real timestamp yet still missing that timestamp on the item itself. The five stuck-as-scheduled items are separately corrected to a published status, using the latest known real timestamp from their own queue, specifically gated so only items where every underlying post has genuinely resolved (none still scheduled or mid-publish) get reconciled — a narrower, more conservative condition than the backfill above.

What is actually built today

Both the scheduled-publish cron job and the on-demand publish action now write a real publish timestamp onto the content item itself at the moment of success, not only onto the underlying post record.

A one-time backfill corrected 862 already-published items missing their own timestamp, pulling the earliest genuine publish time available from the underlying queue or post records.

Any item still labeled "scheduled" after every post in its own queue has already published is reconciled to "published," with a real timestamp, instead of sitting in a stale intermediate state indefinitely.

The fix carries its own embedded proof: a query confirming zero items remain published-with-a-known-timestamp yet missing it on the item itself, and zero items remain marked scheduled with a fully-published queue underneath them.

Confirmed today via direct inspection: both write paths carry the corrected update.

A piece the agent thought was still pending (illustrative framing of the actual measured finding)

A piece finishes publishing through the scheduled queue at 9am. Before the fix, only the underlying post record knows it went out; the parent item itself still shows an empty publish date, and any check for "is this still pending" reads it as not yet published, indefinitely. After the fix, the item itself is stamped the moment it goes out, and the same check correctly recognizes it as done.

What changes operationally

Any Axis routine, report, or agent-facing tool that depends on a content item's own publish-date field to distinguish still-pending from already-out now sees an accurate, complete picture — closing a drift that had silently affected 862 real pieces over sixty days with no visible error anywhere in that time.

When this is not the right fit

This fix corrects the publish-date field on the item itself and reconciles a stale "scheduled" status — it does not change how or when content is actually published, and it does not touch any content that has not genuinely gone out yet.

A parent record that never learns what its own children already know

Teaching every downstream reader to double-check both a parent item and its underlying post records is one way to work around a drifted field — it just multiplies the number of places that have to stay correct in sync. Centriu's fix instead makes the one field everyone already reads trustworthy at the source: both real write paths update it directly, and the backfill closes the gap for everything written before the fix existed.

Related systems

Main system: Centriu Atlas. Complementary when relevant: Centriu Axis.

What it does NOT do

  • Does not change the actual publishing mechanism or timing — it corrects what gets recorded after a publish succeeds, not whether or when it happens.
  • Does not touch any item that has not genuinely published — the backfill only writes a timestamp pulled from a real, already-existing publish record.
  • Does not retroactively notify anyone about the 862 backfilled items — it corrects stored data; it does not resurface old content as newly published.
  • Does not reconcile a "scheduled" item whose queue still has any post genuinely scheduled or mid-publish — only items where every underlying post has already resolved are corrected.
  • Does not merge or deduplicate the underlying post records themselves — each remains its own distinct row, exactly as before.
  • Does not guarantee every historical publish-state drift across the entire platform has been found — this fix closes the two specific, measured drifts found in this audit.

Security and governance

Both write paths and the backfill migration operate strictly within each item's own organization; no publish action or reconciliation crosses an organization boundary. Any business data referenced remains subject to Brazil's LGPD (Law No. 13,709/2018). Full detail on access control lives at /governanca and /iso.

Pricing and contracting

Available by monthly subscription, with tiered plans. Values and terms come from the official pricing table at /precos (Centriu's central source — never restated here).

Frequently asked questions

Why did 862 items show as unpublished when they had actually gone out?

Only the underlying post record ever received a publish timestamp — the parent content item, which agent-facing tools actually read, never did, because neither write path had been updated to stamp it there too.

How were the 862 affected items corrected?

A backfill migration pulled the earliest genuine publish timestamp available from the underlying post records for every item marked published with a missing date, and wrote it onto the item itself.

What was the separate five-item issue?

Five items remained labeled "scheduled" even though every post in their own queue had already published — nothing had advanced the item's own status once its last dependent post cleared.

How was the fix verified?

The same migration includes an embedded proof, run automatically as part of applying it: zero items remain published-with-a-known-timestamp yet missing that timestamp on the item, and zero items remain scheduled with a fully-published queue underneath them.

Does this change how or when content actually publishes?

No — both real write paths behave exactly as before; the fix only adds a missing timestamp update at the moment they succeed.

What does Centriu Atlas cost?

It is sold by subscription with a published starting price — exact current values are on the central pricing page.

See how Centriu Atlas keeps publish status trustworthy

Reach our commercial team directly, or leave your details below — we'll follow up with guidance for your case.

Sources

  1. Centriu Atlas — public product page — Centriu, 2026-07-20 · link(primária)
  2. Centriu Atlas — public factsheet (API, JSON) — Centriu, 2026-07-21 · link
  3. Centriu Axis — public product page — Centriu, 2026-07-20 · link(primária)
  4. Centriu Axis — public factsheet (API, JSON) — Centriu, 2026-07-21 · link
  5. Law No. 13,709/2018 — Brazil’s General Data Protection Law (LGPD) — Presidência da República (Brazil), 2018-08-14 · link

Last material update on .

By · AI-assisted production, with human review