Runtime

Black-Box Incident Reconstruction and Reliability Plan for the InternationalIntelligence.org Daily Brief

Report summary

OBSERVED — On the public snapshot inspected on August 1, 2026, the Daily Brief was not current: the server date was August 1, the latest published edition was July 30, five dates were reported missing, and the current process targeted August 1. The public status representation identified one active

Status
Research archive item
Category
Runtime
Length
10,727 words
Reading time
49 minutes
Report type
evaluation

Key topics

  • Runtime
  • Semantic Systems
  • Research Archive
  • Architecture
  • Governance
  • Black-Box
  • Incident
  • Reconstruction

Research provenance

Archive status
Research archive item
Content identity
sha256:2be88cb18500054f03db157371f962baf5c237bd0dfc51a6c5b15f03b3149905

For citation, use the report title and canonical URL. Archival presence does not establish authorship or promote report statements into portfolio evidence.

Source availability: 30 citation markers in the source export have no recoverable source links. Those markers are omitted from this reader; any supplied bibliography and ordinary links remain. Check the original sources before relying on the cited claims.

This page renders the archived Markdown as safe, formatted HTML. It is background research and does not become a portfolio claim without evidence review.

Full report

On this page

Executive finding, evidence boundaries, and likely failure families

OBSERVED — On the public snapshot inspected on August 1, 2026, the Daily Brief was not current: the server date was August 1, the latest published edition was July 30, five dates were reported missing, and the current process targeted August 1. The public status representation identified one active process, dbp_20260801_c9fb48f6d62f8513, at revision 34, in workflow step 2/8, with provider status queued, four automatic attempts out of four, and no August 1 edition URL.

OBSERVED — The same public status said that a provider operation was durably recorded: background_response.present, stored, and response_id_recorded were all true. It also said that the same response should be polled rather than duplicated. This materially reduces the likelihood that the immediate incident is simply an invalid provider credential, an unsupported model, or inability to create background work.

OBSERVED — The exposed state contained several liveness and projection anomalies:

ClassificationPublicly exposed evidenceIncident significance
OBSERVEDnext_check_at and next_retry_at were August 1 at 16:33:31 Central, while the status representation also exposed a later server time of 21:36:37 UTC, equivalent to 16:36:37 Central.The next eligible reconciliation time appeared to have passed without a visible state advance.
OBSERVEDThe timeline’s last event was provider-poll-observed, but poll_count remained 0.Either the event name does not mean a completed provider retrieval, the counter was not updated atomically, or the public projection mixed fields from different snapshots.
OBSERVEDThe top-level generated_at remained 19:33:54 UTC while a nested server_time was 21:36:37 UTC.The public status was not a single self-evidently contemporaneous snapshot; some fields may have been generated at different times or served from retained artifacts.
OBSERVEDAll Daily Brief cron telemetry fields were null.Public evidence did not prove that cron had started, completed, checked status, or failed. Null values may mean “never ran,” “not instrumented,” “not persisted,” or “not projected.”
OBSERVEDAn earlier research pass returned 120 provider evidence records, but retained zero candidates, bound zero exact sources, rejected all 14 candidate items, and recorded 42 validation issues.A second failure family exists downstream of provider connectivity: evidence binding and qualification are not producing a composable docket.
OBSERVEDcompose_attempts was 0.The sampled process had not reached bilingual composition; publication-write failure was therefore not the immediate blocker in that snapshot.

INFERRED — The highest-probability immediate failure family is a reconciliation-liveness failure after provider work has been reserved. Plausible variants are: the scheduler or server-owned supervisor is not running; it runs in a different runtime or filesystem view; it runs but refuses to acquire or renew a lease; it retrieves the provider state without committing the resulting transition; or the public status projection is stale and conceals real progress.

INFERRED — The second-highest-probability failure family is an evidence-contract mismatch. The system has demonstrated that it can receive substantial provider evidence, yet its binder and validators retained none of the candidate set. That pattern is more consistent with mismatched identifiers, source-normalization rules, freshness boundaries, corroboration rules, schema/version drift, or evidence loss between passes than with a complete absence of provider output.

INFERRED — A third important family is multiple process views: cron and web PHP may load different configurations, releases, document roots, state paths, users, timezones, or mounted filesystems. PHP-FPM pools can run with different users, environments, chroots, and configuration files, while per-directory .user.ini settings apply to CGI/FastCGI but not CLI. Therefore, a web validator can pass while a CLI scheduler sees different credentials, paths, extensions, or state.

INFERRED — Pure browser or CDN staleness is a credible visibility amplifier but is not the best single explanation for the sampled backend state. The English Daily Brief page and the JSON status projection agreed on process, revision, stage, attempts, latest publication, and deficits. A stale service worker, browser cache, reverse proxy, or CDN could still explain why some users see older data, because service workers can intercept requests and substitute cached responses independently of ordinary HTTP caching.

INFERRED — Publication-write and link-generation failures remain necessary branches in the complete fault tree, but they rank below scheduler, reconciliation, and evidence-validation faults for this particular snapshot because the process had not reached composition or finalization.

REPORTED BY PROJECT OWNER — DNS resolution, TLS verification, PHP cURL, OpenSSL, the CA bundle, provider credentials, configured models, the Responses API, required web search, strict structured output, and background-response creation and retrieval have reportedly succeeded in prior diagnostics.

REPORTED BY PROJECT OWNER — Earlier releases reportedly introduced a canonical host, a Daily Brief process identifier, monotonic revisions, cross-tab synchronization, browser polling, a browser trigger lease, and a server-owned supervisor.

UNKNOWN — No source code, deployment manifest, scheduler configuration, server log, private response identifier, state database, state-file path, filesystem mount, PHP configuration, or operator record was inspected for this report.

UNKNOWN — The web observations establish what a public representation exposed; they do not establish whether that representation was freshly generated at origin, reconstructed from a state artifact, or delivered through an intermediary cache. Actual raw response headers from independent networks and browsers must be retained during the incident run.

RECOMMENDED — Treat the incident as a Daily Brief control-plane outage, not initially as a provider outage. The first goal is to determine whether the authoritative state is advancing at all; the second is to locate the first durable transition that fails; the third is to prove that successful publication becomes visible consistently across languages, hosts, sessions, and caches.

Evidence classification and current fact ledger

ClassificationStatementConfidence
OBSERVEDA public Daily Brief status endpoint exists and exposes a redacted process, stage, revision, provider lifecycle, validation metrics, and cron fields.High
OBSERVEDThe sampled active process was tied to target date August 1, 2026 and process revision 34.High
OBSERVEDA stored provider response was reported present with its identifier recorded.High as a statement about the public projection
OBSERVEDThe active process was still at queue/research and had not begun composition.High
OBSERVEDThe latest edition artifact linked from the Daily Brief page was July 30, 2026.High
OBSERVEDThe English page described public page requests after 8:00 a.m. Central as eligible to initiate or advance automatic publication.High
OBSERVEDPublic operations and diagnostics interfaces were access-controlled; no bypass was attempted.High
REPORTED BY PROJECT OWNERLower-level provider and network validations passed in earlier tests.Medium until correlated with production runtime identity
REPORTED BY PROJECT OWNERDeterministic no-network validators passed.Medium until their release, inputs, and execution environment are identified
INFERREDThe process is more likely stuck at reconciliation or evidence transition than at raw provider connectivity.Medium-high
INFERREDThe public status may combine fields generated at different instants.Medium-high
INFERREDCron nulls raise suspicion but do not, alone, prove cron never ran.High
UNKNOWNWhether the scheduler actually invoked the production entry point on August 1.Unknown
UNKNOWNWhether cron and web PHP share the same release, configuration, state path, timezone, user, and filesystem.Unknown
UNKNOWNWhether the provider response left queued after the sampled public state was generated.Unknown
UNKNOWNWhether an unlinked August 1 artifact exists outside the public journal index.Unknown
UNKNOWNWhether an alternate hostname, origin, or old document root serves an independent state.Unknown

Why passing deterministic tests can coexist with a broken production feature

INFERRED — Deterministic validators usually establish that a function behaves correctly for known inputs under a controlled runtime. They do not prove that the production scheduler invokes that function, that it loads the same release and configuration, that it can read and write the same state, or that a later worker commits the result.

INFERRED — A provider create/retrieve test proves an API capability, but not the application’s durable lifecycle. The production workflow additionally must record the operation identifier before losing control, retrieve the same identifier after restarts, recognize terminal states, preserve output evidence, advance the correct process revision, and prevent a stale writer from overwriting newer state. OpenAI’s background-response model requires clients to retrieve and poll the same response while it is queued or in_progress, then handle terminal statuses such as completed, failed, cancelled, or incomplete.

INFERRED — A test run through web PHP does not prove CLI behavior. PHP CLI and CGI/FastCGI can differ in loaded configuration, working directory, environment, per-directory settings, process user, chroot, extension availability, and filesystem access. PHP-FPM can also define separate pools with distinct users and configuration.

INFERRED — A test that validates state-transition logic in isolation does not prove mutual exclusion. In production, an operator request, public-page trigger, browser poll, and cron invocation may overlap. A lock that merely expires by time is insufficient unless every writer also carries a monotonically increasing fencing token or expected revision; otherwise a paused old holder can resume after lease expiry and overwrite work committed by a new holder. Lease-based locks release ownership when the lease expires, but safe state mutation still requires the application to reject stale holders.

INFERRED — A successful write test does not prove atomic publication. The real flow must write all bilingual artifacts, metadata, index entries, and supervisor state in an order that cannot expose a partial edition. POSIX rename provides the standard primitive for atomically replacing a pathname, but the implementation must verify filesystem constraints and must not update “published” state until the final artifact can be read back and hashed.

INFERRED — A passing UI test does not prove freshness. A browser page may render an old embedded snapshot while JavaScript polls a fresher endpoint; a service worker may replace a network response with its own cache; a CDN may cache one language or hostname differently; or client code may infer progress from elapsed time rather than display server-owned state. Service workers act as request proxies and can serve cached responses independently of normal browser navigation caches.

RECOMMENDED — Define “production success” as an end-to-end state transition observed from outside: one target date is selected, one process is created, one provider operation is reconciled, valid evidence is retained, one bilingual immutable edition is atomically committed, the supervisor becomes terminal, and all public views converge to the same publication within a bounded time.

Symptom taxonomy and snapshot-discrimination model

RECOMMENDED — Use the following taxonomy to assign each observation to the earliest failing lifecycle boundary. A symptom should not be labeled “stuck” without specifying which timestamp, revision, lease, retry deadline, or artifact failed to move.

ClassificationConditionBlack-box symptom fingerprintStrong discriminator
RECOMMENDEDScheduler never startsTarget remains eligible; revision, last_attempt, cron heartbeat, and next action never change after the publication window.Owner telemetry shows no invocation record for the expected schedule.
RECOMMENDEDScheduler starts but exits before reserving workScheduler heartbeat advances, but no process ID, target reservation, lease owner, or revision appears.Invocation has start and exit data but no reservation-acquired event.
RECOMMENDEDOne process is permanently leasedSame process and lease owner persist past TTL; every cycle reports busy or deferred; no transition occurs.Monotonic and wall-clock lease expiry disagree, or stale holder is never fenced.
RECOMMENDEDProvider work is created but identifier is lostProvider create attempt is recorded, but response_id_recorded=false; later cycles create another operation or cannot poll.Provider/operator history shows an operation absent from application state.
RECOMMENDEDProvider work completes but is never retrievedStored ID remains; provider status and poll counter never advance after next-check deadlines.Provider-side sanitized status is terminal while application status remains queued/in-progress.
RECOMMENDEDProvider output is retrieved but evidence validation rejects itProvider terminal/retrieved event appears; source and candidate counts briefly rise or rejection metrics update; retained set remains empty.Validation report identifies stable, reproducible rejection classes.
RECOMMENDEDValid evidence is discarded between attemptsOne revision reports retained candidates or bound evidence; a later revision for the same process falls to zero without a quarantine or explicit reset event.Immutable evidence-batch hashes reveal an older accepted batch no longer referenced.
RECOMMENDEDComposition never startsEvidence thresholds are satisfied, but stage remains bind/qualify and compose_attempts=0.Transition guard reports “eligible for compose” with no compose reservation.
RECOMMENDEDComposition succeeds but final validation failsComposition output hash exists; stage cycles between compose/finalize; no publication artifact.Final validator emits bounded rule failures against a retained composition artifact.
RECOMMENDEDPublication file write failsFinal validation passes; write attempt occurs; no readable final artifact; permission, disk, path, or rename error is recorded.Temporary artifact exists or write telemetry identifies exact failing operation.
RECOMMENDEDPublication succeeds but supervisor is not updatedDated edition URL returns a valid immutable artifact while status remains in progress and today_url is null.Artifact manifest predates unchanged supervisor revision.
RECOMMENDEDSupervisor updates but public pages remain cachedStatus endpoint reports published and a new revision, but pages continue showing an older edition or process.Cache-bypassed origin response is fresh while ordinary navigation has nonzero Age or an older ETag/body hash.
RECOMMENDEDEnglish and Spanish views divergeProcess ID, revision, target date, publication date, or stage differs between language paths.Differences exceed localized labels and formatting.
RECOMMENDEDOne hostname serves a stale deploymentRelease ID, process ID, canonical origin, asset hashes, headers, or archive count differ by hostname.DNS/IP and origin fingerprints identify separate deployments or document roots.
RECOMMENDEDBrowser JavaScript is staleInitial HTML and status JSON are fresh, but UI labels, poll cadence, or transition logic follow an older release.Script URL or content hash differs between sessions, hosts, or cache-bypassed fetches.
RECOMMENDEDService worker or CDN serves an old statusDevTools shows service-worker interception or a cache hit; body hash and generated_at lag origin.Bypassing the worker/CDN produces a newer revision.
RECOMMENDEDOperator action and cron raceTwo transition attempts share the same expected revision; process revision jumps or one path reports lock conflict.Event log shows distinct actor IDs contending for one transition.
RECOMMENDEDDisplayed progress is client-inferredPercent or “elapsed” changes while process revision, stage, and server timestamps remain fixed.JavaScript-disabled HTML and status JSON do not contain the displayed progress.
RECOMMENDEDStatus endpoint healthy but edition artifact missingStatus reports terminal published and supplies a URL, but the URL is 404, incomplete, or has the wrong artifact hash.Read-after-write verification was absent or failed.
RECOMMENDEDEdition artifact exists but is not linkedPredictable or owner-supplied dated artifact responds successfully, but journal index, language page, feed, or today_url omits it.Artifact manifest exists with no matching index revision.
RECOMMENDEDWaiting for a retry time that is never reachednext_check_at is in the past, state remains retryable, and repeated fresh status responses show no cycle.Scheduler heartbeat is absent or due-time comparison uses a different timezone/clock.
RECOMMENDEDLock expires according to one clock but not anotherLease age appears negative, implausibly long, or inconsistent across nodes; ownership changes without safe fencing.Owner telemetry compares wall clock, monotonic duration, issued TTL, and fencing token.
RECOMMENDEDCron and web runtime use different configurations or filesystemsWeb page shows one release/state while cron logs another path, release, timezone, or process ID.Runtime fingerprint differs by SAPI or actor.

RECOMMENDED — Determine whether two pages represent the same snapshot by comparing semantic identity, not prose. The minimum tuple should be:

canonical_origin
site_release
process_id
process_revision
snapshot_token
target_date
stage_key
provider_operation_fingerprint
provider_status
last_meaningful_progress_at
next_check_at
publication_date
artifact_manifest_hash
status_generated_at

RECOMMENDED — Apply these decision rules:

ClassificationRelationship between two pagesRequired evidence
RECOMMENDEDSame current server snapshotSame process ID, revision, snapshot token, stage, target, provider status, and status-generation timestamp; localized text may differ.
RECOMMENDEDTwo independently cached snapshotsSame process lineage but different revisions or generation times; older response has cache evidence such as Age, old ETag, old body hash, service-worker source, or stale browser storage.
RECOMMENDEDTwo genuinely different backend processesDifferent active process IDs or targets for the same publication channel, especially if both claim canonical authority or have independent monotonic revision sequences.
RECOMMENDEDSame process with localized labelsSemantic tuple is identical while headings, dates, status labels, and explanatory prose are translated.
RECOMMENDEDDifferent releases or site instancesDifferent release IDs, asset hashes, canonical origins, response-header fingerprints, document structure, process schema versions, or archive/state roots.

INFERRED — A changed revision with an unchanged process ID normally means progression within one process. An unchanged revision with changing client-side elapsed time does not demonstrate server progress.

RECOMMENDED — No UI should be allowed to synthesize a later stage than the status endpoint. Client code may display a local age counter, but it must visibly identify that counter as local and must not alter the server-owned stage, provider status, revision, last-progress time, or next-action label.

Black-box observation, chronology reconstruction, and evidence record

RECOMMENDED — The observation program must remain read-only. Because the public page says that an eligible GET may initiate publication, automated probes must not repeatedly hit that page without owner approval. HTTP defines GET as a safe method whose requested semantics are read-only; coupling a public page view to production mutation makes monitoring ambiguous and permits bots, caches, and users to act as accidental schedulers. The mutating trigger should ultimately be separated into a controlled scheduler or authenticated idempotent operation.

Safe observation matrix

ClassificationDimensionTest cellsData to retainSafety constraint
RECOMMENDEDLanguageEnglish Daily Brief; Spanish Daily Brief; language-specific dated artifactSemantic snapshot tuple, body hash, links, visible labelsNavigate normally; do not guess hidden paths.
RECOMMENDEDHostCanonical hostname; only publicly documented alternate hostname; www if normally reachableDNS answer, redirect chain, final host, canonical tag, release, process IDNo broad virtual-host enumeration.
RECOMMENDEDStatusPublic documented status endpointComplete JSON, body hash, raw headers, retrieval timeUse documented read-only endpoint at low cadence.
RECOMMENDEDSessionExisting session; fresh private session; clean profileCookies, cache source, service-worker controller, body hashNever use credentials not supplied by owner.
RECOMMENDEDTabsOne tab; two simultaneous tabs opened from same profilePer-tab process/revision, BroadcastChannel or storage behavior, poll timesObserve only; do not invoke operator controls.
RECOMMENDEDBrowserCurrent Chromium, Firefox, Safari or WebKitBrowser/version, network source, script hashes, worker stateOne request set per sampling interval.
RECOMMENDEDViewportDesktop; mobile widthSame semantic tuple and artifact linksViewport changes must not create extra trigger traffic.
RECOMMENDEDJavaScriptEnabled; disabledInitial HTML snapshot, progressive-enhancement differencesPrefer status endpoint for repeated checks.
RECOMMENDEDCache modeNormal; lawful reload/revalidation; owner-approved cache bypassAge, Date, ETag, Last-Modified, Vary, cache-status headers, body hashDo not add random query strings unless owner confirms they are harmless.
RECOMMENDEDNetwork vantageAt least two ordinary networks or approved synthetic locationsDNS, TLS endpoint, redirect, response fingerprintLow rate; no load testing.
RECOMMENDEDCycle timeBefore eligibility; eligibility boundary; active processing; expected terminal window; next UTC resetComplete status snapshots and screenshotsOne complete intended publication cycle minimum.
RECOMMENDEDArtifactLatest linked edition; newly published edition when exposedHTTP status, hash, language counterpart, index link, publication metadataDo not infer undisclosed paths through scanning.

RECOMMENDED — For ordinary HTTP cache testing, retain Date, Age, Cache-Control, Expires, ETag, Last-Modified, Vary, Via, standardized Cache-Status if present, vendor cache headers, request IDs, and redirect headers. RFC 9111 defines cache reuse and validation behavior, while RFC 9211 defines Cache-Status specifically to make intermediary cache handling diagnosable.

RECOMMENDED — Do not equate Cache-Control: no-cache with “not stored.” It means a stored response must be successfully revalidated before reuse. no-store prohibits storage and reuse by conforming caches, while must-revalidate prohibits stale reuse after freshness expires.

RECOMMENDED — Treat ETags as representation validators. If the status body changes semantically but the strong ETag does not, or if identical bodies receive unstable ETags on every request, cache validation becomes unreliable. Conditional requests should be tested with the server-provided validator rather than fabricated values.

Evidence-log schema

RECOMMENDED — Store every observation as an append-only record plus immutable raw artifacts. The following fields satisfy the minimum incident record:

ClassificationFieldFormat and rule
RECOMMENDEDobservation_idGlobally unique identifier generated by the observer.
RECOMMENDEDobserved_at_utcRFC 3339 UTC with milliseconds if available.
RECOMMENDEDobserver_timezoneIANA timezone and numeric offset, for example America/Chicago, -05:00.
RECOMMENDEDobserver_clock_sourceOperating-system time source or monitoring platform.
RECOMMENDEDurlExact requested public URL, with sensitive query data removed.
RECOMMENDEDhttp_methodNormally GET or HEAD; identify whether the endpoint is documented read-only.
RECOMMENDEDredirect_chainOrdered status, location, and timestamp for each hop.
RECOMMENDEDstatus_codeFinal HTTP status.
RECOMMENDEDresponse_headers_fileFilename containing unmodified raw headers for every hop.
RECOMMENDEDbody_fileFilename containing raw response bytes when retention is lawful.
RECOMMENDEDbody_sha256SHA-256 of bytes after transfer decoding but before local reformatting.
RECOMMENDEDcontent_encodingEncoding as received, to explain byte-hash differences.
RECOMMENDEDvisible_releasePublic release/build identifier.
RECOMMENDEDvisible_process_idExact public or redacted process ID.
RECOMMENDEDvisible_revisionInteger revision; never substitute page-load count.
RECOMMENDEDsnapshot_tokenPublic snapshot token if exposed.
RECOMMENDEDvisible_target_dateISO date.
RECOMMENDEDvisible_stageStable stage key plus localized label.
RECOMMENDEDvisible_provider_statusStable provider lifecycle value.
RECOMMENDEDlast_meaningful_progress_atServer-provided timestamp, normalized but also retained raw.
RECOMMENDEDnext_eligible_cycleServer-provided next check/retry timestamp.
RECOMMENDEDpublication_dateLatest and current dated artifact, if exposed.
RECOMMENDEDartifact_urlPublicly linked edition URL only.
RECOMMENDEDartifact_sha256Hash of linked edition representation or owner-supplied canonical manifest.
RECOMMENDEDbrowserProduct and exact version.
RECOMMENDEDdevice_viewportDevice class, CSS width/height, pixel ratio.
RECOMMENDEDjavascript_enabledBoolean.
RECOMMENDEDservice_worker_stateNone, installing, waiting, active, or unknown; include script hash when accessible locally.
RECOMMENDEDcache_stateNetwork, memory cache, disk cache, revalidated, service worker, intermediary hit, or unknown.
RECOMMENDEDcookie_names_hashPrefer names or redacted inventory; never expose secret values.
RECOMMENDEDscreenshot_filenameUTC-stamped screenshot name.
RECOMMENDEDraw_header_filenameUTC-stamped raw-header file.
RECOMMENDEDobserver_notesConcise factual notes.
RECOMMENDEDevidence_classExactly observed, reported, or inferred.
RECOMMENDEDrelated_observation_idsLinks to prior and comparison observations.

Chronology template

RECOMMENDED — Normalize all events to UTC but retain the original timestamp and source timezone. Do not infer ordering from file modification times alone; use a stable tie-breaker such as process revision, event sequence, provider poll sequence, or append-log index.

UTC timeOriginal time and zoneSourceEvidence classActor/viewProcessRevStageProvider stateEventNext eligible timeArtifactConfidence
YYYY-MM-DDThh:mm:ss.sssZRaw valueStatus JSONOBSERVEDPublic statusdbp_…34queuequeuedSnapshot readUTC timestampnoneHigh
……Owner scheduler logREPORTEDcron host Adbp_…34queuequeuedInvocation started…noneMedium until raw log supplied
……Sanitized provider recordREPORTEDprovideroperation fingerprint——completedProvider terminal—output hashMedium
……Public editionOBSERVEDcanonical origindbp_…41publishedcompletedArtifact visible—SHA-256High

UTC chronology reconstruction method

RECOMMENDED — Reconstruct one chronology in six passes:

  1. RECOMMENDED — Preserve every raw timestamp exactly as supplied, including offset and timezone name. Add a normalized UTC column rather than replacing the original.
  2. RECOMMENDED — Group records first by target date, then process ID, then provider-operation fingerprint. A target date without a process ID is a reservation event, not proof of a process.
  3. RECOMMENDED — Order committed server transitions by monotonic process revision. Wall-clock timestamps can be wrong; a lower revision must never be treated as later authoritative state merely because its clock is ahead.
  4. RECOMMENDED — Place browser and cache observations around the server timeline using response Date, Age, request IDs, status generated_at, and local request times. Estimated origin-generation time for a cached response is approximately response receipt time minus Age, but only as an inference because intermediaries can transform or omit metadata. RFC 9111 defines Age as the mechanism by which caches communicate estimated response age.
  5. RECOMMENDED — Mark impossible relationships rather than silently correcting them: negative job age, a next-check before creation, a revision regression, “published” before artifact creation, or a poll event without an incremented poll sequence.
  6. RECOMMENDED — Identify the last indisputably durable event and the first expected event that did not occur. That boundary is the incident’s most useful localization.

RECOMMENDED — Use these precedence rules when timestamps conflict:

durably committed revision
    > append-only event sequence
    > provider terminal timestamp tied to stored operation fingerprint
    > artifact manifest creation and read-back
    > origin Date/generated_at
    > cache-adjusted client observation
    > browser-rendered relative time

INFERRED — For the sampled August 1 state, the last clearly exposed durable application event was the process snapshot at revision 34 with a recorded provider response. The first expected but unproven event was a successful bounded reconciliation after next_check_at, followed by a revision increase or explicit terminal/failure transition.

Request-sequence reference model

RECOMMENDED — The black-box observations should be interpreted against this safe target sequence. The observer performs only read operations; the scheduler owns all mutations.

sequenceDiagram
    participant O as External observer
    participant C as CDN / reverse proxy
    participant W as Web PHP status projection
    participant S as Authoritative supervisor state
    participant J as Server scheduler
    participant P as Async provider
    participant A as Edition artifact store

    O->>C: GET documented read-only status
    C->>W: Forward or revalidate
    W->>S: Read one committed snapshot
    S-->>W: process_id, revision, target, stage, deadlines
    W-->>C: JSON + no-store + request/snapshot IDs
    C-->>O: Status representation

    J->>S: Acquire transition lease with fencing token
    S-->>J: Lease + expected revision
    J->>P: Retrieve the stored provider operation
    P-->>J: queued / in_progress / terminal result
    J->>S: Compare-and-swap transition and append event

    alt evidence qualifies
        J->>S: Reserve composition with next revision
        J->>S: Commit validated bilingual payload hash
        J->>A: Write temporary immutable artifacts
        J->>A: Atomic promote and read-back
        A-->>J: Artifact hashes and URLs
        J->>S: Mark published only after verified read-back
    else evidence fails bounded rules
        J->>S: Preserve batch, rejection report, retry/quarantine decision
    end

    O->>C: GET status and linked edition
    C-->>O: Same published process revision and artifact identity

RECOMMENDED — A status request must never be required to perform the scheduler’s reconciliation. Black-box monitoring should observe the system, not become the system’s liveness mechanism.

HTTP, canonical-origin, scheduler, and asynchronous-job test matrices

HTTP, cache, release, and canonical-origin matrix

ClassificationTestExpected healthy resultFailure interpretationEvidence required
RECOMMENDEDCanonical hostname navigationOne redirect chain to the documented canonical origin; no application state emitted before canonicalization.Alternate host may execute an old document root or expose independent state.DNS, TLS names, hop headers, final canonical tag, release/process tuple.
RECOMMENDEDEnglish versus Spanish statusSame process ID, revision, target, stage key, provider state, publication date, and artifact identity.Localization layer or separate backend state diverges.Raw HTML/JSON and semantic diff.
RECOMMENDEDFresh private sessionSame server tuple as ordinary session; no dependency on stale cookies or storage.Session-scoped process projection or cache.Cookies, body hashes, storage inventory.
RECOMMENDEDJavaScript disabledInitial page does not claim a later stage than server status; core artifact links remain usable.Client infers or fabricates status.Screenshot and HTML body hash.
RECOMMENDEDNormal versus revalidated requestSame newest revision; cache metadata explains any reused representation.Browser, CDN, or proxy is serving an older snapshot.Age, ETag, Last-Modified, Cache-Status, Date, request ID.
RECOMMENDEDConditional status requestChanged status returns new content; unchanged status can return 304 only when validators are correct.ETag or modification metadata is decoupled from process revision.Request/response headers and body hash.
RECOMMENDEDService-worker controlled versus clean profileSame status revision and release, or worker explicitly network-fetches status.Worker cache masks origin state or runs stale JavaScript.Worker script URL/hash, lifecycle state, request initiator.
RECOMMENDEDDesktop versus mobileSemantic state identical.Device-specific cache key, template, or backend routing.Vary, user agent, viewport, semantic tuple.
RECOMMENDEDTwo ordinary networksSame canonical release and process lineage within propagation bounds.DNS, CDN POP, or multi-origin drift.Resolver answers, TLS endpoint, headers, release/process tuple.
RECOMMENDEDStatus versus linked artifact“Published” only when dated artifact returns successfully and its manifest identity matches status.Supervisor/artifact split-brain.Status snapshot, artifact response, hashes, index link.
RECOMMENDEDAsset release fingerprintHTML release and JavaScript/CSS content hashes belong to one deployment.Old HTML with new assets or old worker with new backend.Asset URLs, hashes, source-map/build IDs if public.
RECOMMENDEDHeader freshness contractStatus is demonstrably noncacheable or explicitly revalidated; journal pages have intentional bounded caching.Dynamic status can remain stale across layers.Actual headers from origin-equivalent and public paths.

OBSERVED — Public API documentation reportedly characterizes the status endpoint as read-only and noncacheable, but documentation is not evidence that every production response carries the intended headers. Actual response headers must be captured from independent clients.

RECOMMENDED — Add Cache-Status at each controlled cache where practical, a stable origin request ID, and an X-Daily-Brief-Snapshot value containing release, process-short-ID, and revision. The values must be nonsecret and must be generated from the same committed snapshot as the body. RFC 9211 exists specifically to standardize cache-debug information.

RECOMMENDED — Version service-worker cache names and delete obsolete caches during activation. Record the worker release in a response/debug panel. A newly installed worker can wait before controlling existing pages, and an update check installs a new worker only when its script differs; therefore multiple open tabs can legitimately remain under an older worker until lifecycle conditions are met.

Scheduler and asynchronous-job matrix

ClassificationLifecycle boundaryPublic observationOwner telemetry neededHealthy resultDuplicate-work risk
RECOMMENDEDEligibility to invocationTarget becomes eligible at configured time.Scheduled fire time, actual start, host, actor, command hash.Invocation begins within defined tolerance.None if no work reserved yet.
RECOMMENDEDInvocation to reservationNew process or existing due process selected.Reservation event, expected revision, lease/fencing token.Exactly one writer receives authority.High if two actors reserve independently.
RECOMMENDEDReservation to provider createNo operation exists for current stage.Durable intent record written before network call.One operation tied to process, stage, and operation key.Critical if create outcome is ambiguous and retried blindly.
RECOMMENDEDProvider create to ID persistenceStatus reports operation present and ID recorded.Operation fingerprint, provider create timestamp, commit revision.Identifier is durable before lease release.High if identifier is lost.
RECOMMENDEDDue poll to provider retrievalnext_check_at passes.Poll-start, poll-result, latency, provider status, poll sequence.Same operation retrieved; poll sequence increments.Low when retrieving same ID.
RECOMMENDEDTerminal provider result to evidence preservationProvider completes.Raw-output hash, normalized evidence-batch hash, schema version.Output retained immutably before validation.None if only reading/preserving.
RECOMMENDEDEvidence preservation to validationBatch evaluated.Per-rule verdicts, validator release, accepted/rejected IDs.Deterministic report references retained batch.Low if validation is pure.
RECOMMENDEDValidation to retry/repairDeficits remain.Retry decision, ambiguity class, input lineage, stop counter.New attempt is bounded and does not discard prior valid evidence.Medium if it creates new provider work.
RECOMMENDEDQualification to compositionThresholds met.Compose reservation and input manifest hash.One compose operation starts.High if operator and cron compose simultaneously.
RECOMMENDEDComposition to final validationBilingual payload returned.Payload hash, schema version, language parity checks.One retained candidate edition passes or is quarantined with evidence.Medium if composition is recreated unnecessarily.
RECOMMENDEDFinal validation to publicationFinal payload valid.Temp-write, flush, promote, read-back, manifest events.One immutable edition becomes readable.High if two different payloads target same date.
RECOMMENDEDArtifact to supervisor terminal stateArtifact read-back succeeds.CAS update with expected revision and artifact hash.Status reports published and exact artifact URL.Low if CAS protects terminal transition.
RECOMMENDEDSupervisor to public convergenceNew revision exposed.Purge/revalidation event and synthetic checks.All public views converge within SLO.None.

RECOMMENDED — Every scheduler invocation should record an outcome even when it performs no work: not-eligible, lease-contended, waiting-until, provider-polled, transition-committed, quarantined, or published. A missing invocation and an invocation that correctly deferred work must never look identical.

RECOMMENDED — Scheduler concurrency must be explicitly controlled. Scheduled-job systems can permit overlapping executions by default; for example, Kubernetes CronJobs have explicit Allow, Forbid, and Replace concurrency policies. Regardless of scheduler product, the application still needs one authoritative transition lease and revision check because scheduler-level exclusion does not cover browser or operator actors.

RECOMMENDED — Use a monotonic duration to determine whether a locally held lease needs renewal, but persist an absolute UTC expiry for diagnosis. Every state mutation must include the lease’s fencing token and the expected process revision. If either is stale, the write must fail without side effects.

RECOMMENDED — Reconciliation must be level-triggered rather than edge-triggered. At every invocation, read authoritative state and ask, “What action is now due?” Do not depend on one particular prior wake-up having occurred. This allows a missed cron tick to self-recover while retaining exactly-once state transitions through idempotency and compare-and-swap.

Retry contracts

RECOMMENDED — Retries are safe only when the ambiguity, deduplication mechanism, success condition, stop condition, and retained evidence are explicit. Idempotent operations are the prerequisite for safe automatic retries; backoff and jitter control retry pressure but do not themselves prevent duplicate side effects.

ClassificationOperation retriedAmbiguity addressedDuplicate preventionSuccess recognized byRetry stops whenEvidence retainedWaiting versus failure
RECOMMENDEDRetrieve existing provider operationTimeout, transient network error, or nonterminal status while polling a known IDNever create; retrieve only the stored operation fingerprintTerminal provider status plus retained output hash, or explicit terminal errorTerminal status, maximum operation age, cancellation, or quarantine deadlinePoll start/end, HTTP outcome class, provider status, response hash, poll sequenceWaiting has future next_check_at and unexpired max age; failure is terminal or overdue beyond policy.
RECOMMENDEDProvider create after definite pre-send failureConnection failed before any bytes were sent and no operation could have been acceptedDurable operation key and one pending-create state; only one fenced writerStored provider operation identifier committed to process revisionIdentifier committed, known terminal create error, or ambiguity becomes non-resolvablePre-send proof, attempt sequence, operation key, request hashWaiting means one fenced create attempt is active; failure means no ID and no safe proof that retry cannot duplicate.
RECOMMENDEDAmbiguous provider createClient lost response after the provider might have accepted workDo not blindly recreate unless the provider supports an applicable idempotency mechanism or owner can reconcile by operation keyExisting operation is found and attached, or ambiguity is quarantinedReconciled operation found, provider retention expires, or operator approves abandonmentRequest hash, network phase, timestamps, operation key, provider search resultAmbiguous is a distinct quarantined state, not “failed” and not permission to create again.
RECOMMENDEDEvidence validationValidator process crash or transient dependency failure against a retained batchPure validation keyed by evidence-batch hash and validator versionDeterministic validation report committedReport committed, bounded internal failure count reached, or validator defect quarantinedBatch hash, rule version, verdicts, failure stack classWaiting has retained input and next retry; failure has reproducible rule or runtime defect.
RECOMMENDEDResearch repair passQualified docket remains below explicit thresholdsPreserve accepted evidence; new provider operation keyed by process, stage, and repair roundNew immutable batch merged without erasing earlier accepted itemsThreshold met, max repair rounds reached, publication deadline exceeded, or no-progress rule firesInput manifest, deficit vector, output batch hash, merge reportWaiting states exact deficits and due time; failure states exhausted rounds or repeated zero delta.
RECOMMENDEDComposition retrievalKnown composition operation remains nonterminal or network result is uncertainRetrieve same operation; never start a second composition for same input manifestTerminal payload passes schema parsing and is retained by hashTerminal result, age limit, or quarantineOperation fingerprint, input manifest, output hash, poll sequenceSame distinction as research retrieval.
RECOMMENDEDAtomic publicationCrash before or after final rename/read-backDeterministic artifact name, content hash, create-if-absent/compare behavior, one fenced publisherFinal URL reads back expected hash and manifestVerified match, detected conflicting hash, or bounded storage failureTemp path, intended hash, rename result, read-back result, revisionWaiting means retryable storage error with no conflicting artifact; failure means permission/path conflict or mismatched existing content.
RECOMMENDEDSupervisor finalizationArtifact exists but CAS update timed outCAS on process ID, expected revision, and exact artifact manifest hashSupervisor terminal state references same artifact hashCAS succeeds, newer equivalent terminal state observed, or conflict quarantinedCAS request/result, old/new revision, artifact hashWaiting has verified artifact and retryable CAS; failure has a conflicting process or artifact.
RECOMMENDEDCache convergencePublished origin is fresh but public page remains staleRevalidation or targeted purge keyed to immutable publication eventPublic probes see published revision and artifact linkConvergence SLO met or cache incident escalatedPOP/browser observations, headers, body hashesWaiting is within declared propagation bound; failure exceeds bound.

Ranked fault tree and hypothesis analysis

RECOMMENDED — The diagram separates control-plane liveness, provider/evidence progression, publication, and visibility. A branch can coexist with another; for example, an evidence-validation defect can be hidden behind a stale status cache.

flowchart TD
    A[Daily Brief is not current or views disagree]

    A --> B[No authoritative cycle advances]
    A --> C[Provider or evidence lifecycle does not advance]
    A --> D[Composition or publication does not complete]
    A --> E[Publication completed but is not visible]
    A --> F[Multiple authorities or releases exist]

    B --> B1[Scheduler never starts]
    B --> B2[CLI exits before reservation]
    B --> B3[Lease remains held or stale writer is not fenced]
    B --> B4[Retry deadline comparison never becomes due]
    B --> B5[Scheduler and web see different state]

    C --> C1[Provider ID lost]
    C --> C2[Known provider operation never polled]
    C --> C3[Terminal output retrieved but not retained]
    C --> C4[Binder rejects source identities]
    C --> C5[Validation rejects all candidates]
    C --> C6[Accepted evidence discarded between rounds]

    D --> D1[Compose transition never reserved]
    D --> D2[Composition terminal output fails validation]
    D --> D3[Publication write or atomic promote fails]
    D --> D4[Artifact written but supervisor CAS fails]

    E --> E1[Origin/reverse-proxy/CDN cache is stale]
    E --> E2[Browser or service worker is stale]
    E --> E3[Artifact exists but journal link is missing]
    E --> E4[Client displays inferred progress]

    F --> F1[Alternate hostname serves old document root]
    F --> F2[English and Spanish use different state roots]
    F --> F3[Cron and web load different release/config]
    F --> F4[Rollback left incompatible state schema]
    F --> F5[Operator and cron race]

INFERRED — The probability estimates below are investigative priors, not measured frequencies. They are ranked from the August 1 public evidence and should be updated as telemetry arrives.

Rank and classificationHypothesisObservable symptomsConfidence increases ifHypothesis is falsified ifResponsible layerSeverityPrior probabilitySafest next diagnostic actionMinimum telemetrySelf-recover?Operator action safe?Duplicate-work risk
INFERRED — ADue provider reconciliation is not executing or not committingKnown operation, due time in past, unchanged revision/provider state, zero poll countScheduler heartbeat absent; no poll-start; or poll occurred with failed CASRevisions and poll sequence advance on schedule from fresh origin viewsScheduler, supervisor state, provider orchestrationCritical for Daily Brief24%Obtain read-only scheduler invocation and transition-event excerpt for process/revision 34Invocation ID, actor, loaded release, lease result, poll result, CAS resultPossibly, if later cycle is level-triggeredOnly a “reconcile same operation” action is safeLow for retrieval; high if action creates new work
INFERRED — BPublic status is stale or assembled from non-atomic projectionsMixed generated_at/server time, poll event with zero counter, due-now state persistsDifferent fields originate from separate files or cache layers; fresh endpoint changes only some fieldsOne transactional snapshot has internally consistent event/counter/timestampsSupervisor projection, origin cache, reverse proxy, CDNHigh diagnostic impact18%Capture raw headers/body hashes from two networks and compare with owner’s authoritative snapshot hashSnapshot ID, commit revision, generated-at, cache headers, projection sourceNo, if projection builder is stuckCache purge is safe only after origin freshness is provenNone
INFERRED — CEvidence binder/validator contract mismatch prevents any retained docket120 evidence items, zero exact binds, 14/14 rejected, 42 issuesStable source IDs fail normalization; validator version differs from generation schema; accepted set remains zero across roundsA retained evidence batch passes the same validator offline and composes successfullyEvidence validation, schema/versioningCritical17%Request sanitized evidence manifest and per-candidate rejection ledger, not raw secretsBatch hash, candidate IDs, source IDs, rule codes, validator releaseUnlikely without input/rule changeRevalidation of retained batch is safeMedium only if operator starts new research
INFERRED — DCron and web runtimes use different release, configuration, state path, or filesystemWeb claims runtime consistency but cron fields null; production behavior differs from web testsCLI fingerprint differs in SAPI, php.ini, user, cwd, timezone, document root, state inode/mountCLI and web fingerprints match and both read the same snapshot hashPHP CLI, web PHP, deployment, filesystemCritical13%Owner runs a nonsecret runtime-fingerprint command in both contexts and supplies sanitized outputRelease hash, SAPI, PHP binary/version, ini paths, cwd, UID/GID, timezone, state-path identityNoDiagnostic only is safeNone
INFERRED — ELease, lock, or fencing logic prevents transitionsRepeated lease contention, stale active owner, no transition despite due workLease expiration and holder clocks disagree; stale holder can write; token never changesEach due cycle acquires or reports a valid live holder and stale tokens are rejectedSupervisor state, filesystem/database, clockCritical9%Inspect sanitized lease record and last ten acquisition outcomesHolder/actor, issued time, monotonic age, expiry, fencing token, expected revisionSometimes after expiryForced unlock is unsafe without fencing/owner proofHigh
INFERRED — FPublic-page trigger, cron, and operator actions raceRevision conflicts, duplicate create attempts, stage regression, inconsistent tabsEvents show two actors on same expected revision or two operations for one stageOne writer token and one operation key cover all actorsClient synchronization, scheduler, operator pathCritical6%Correlate actor IDs and transition attempts; do not manually restartActor, request ID, expected/current revision, operation keySometimesManual trigger unsafe until active operation reconciledCritical
INFERRED — GProvider operation completed but terminal state or output was not reconciledApplication remains queued; provider record is terminalSanitized provider status is completed/failed after app’s last pollProvider remains genuinely queued and app polls correctlyProvider orchestration, schedulerHigh5%Owner queries the known operation through an authorized read-only method and supplies status/timestamps/hashOperation fingerprint, terminal status/time, output presenceYes if later poll worksRetrieve-only safeLow
INFERRED — HBrowser, service worker, or intermediary cache masks current backend stateDifferent sessions or profiles show different revisions/releasesClean profile or cache-bypassed read is newer; worker intercepts statusAll independent clients receive same stale backend snapshotBrowser cache, service worker, CDN, proxyMedium to high3%Compare clean profile, JS-disabled, and two networks; record headers and worker stateBody hashes, ETag, Age, Cache-Status, worker script hashMay resolve on expiry/updateLocal cache clear is safe; global purge only after origin verificationNone
INFERRED — IAlternate hostname or old document root serves a separate instanceHost-specific release, archive count, process, or assetsDNS/origin fingerprints and document structure differAll known hosts redirect before application execution to one canonical releaseCanonical host, deployment drift, multiple rootsCritical if confirmed2%Test only publicly known host variants and redirect chainsDNS, TLS, redirects, release/build, document-root fingerprintNoRedirect/config fix can be safe after inventoryMedium during cutover
INFERRED — JPublication artifact was written but supervisor/index was not finalizedDated edition exists while status is in progress or index omits itOwner manifest identifies artifact and hash; journal lacks linkNo artifact exists and pipeline never reached finalizePublication write, supervisor, index generationHigh1.5%Ask owner for artifact manifest lookup by target date; do not path-scanArtifact existence, hash, write time, manifest, supervisor revisionNoFinalize-existing-artifact may be safe after hash/process verificationHigh if it republishes different content
INFERRED — KClock/timezone mismatch keeps retry or lease perpetually ineligibleDue times remain in past/future inconsistently; negative agesCLI, web, DB, and filesystem clocks/timezones differAll comparisons use UTC instants and clocks are synchronized within toleranceTimezone, system clock, PHP configHigh1%Compare sanitized UTC/monotonic samples from each actorUTC wall time, monotonic uptime, PHP timezone, DB timeNoTime correction requires care with active leaseHigh if expiry suddenly releases stale work
INFERRED — LFinal composition/publication validation fails after currently hidden future transitionCompose output exists, no publication, final error loopCompose attempts and payload hashes appear after research succeedsProcess has never started compositionComposition, final validation, permissionsHigh0.5% current snapshotKeep branch instrumented; do not prioritize until compose beginsCompose operation, payload hash, validation report, write eventsPossiblyRevalidate same retained payload is safeMedium

Detailed falsification logic for major layers

RECOMMENDED — Scheduler: The scheduler hypothesis is strengthened only by a missed expected invocation or a started invocation with no durable outcome. A null public heartbeat is insufficient. It is falsified when owner evidence shows on-time invocations whose actor, release, state path, lease result, and transition result are all recorded.

RECOMMENDED — PHP CLI runtime: The runtime-divergence hypothesis is strengthened by any difference in PHP binary, SAPI, loaded php.ini, scanned INI directory, extension set, open_basedir, timezone, process environment, working directory, user/group, chroot, document root, or application release. It is falsified only when these identities and the authoritative state object are shown to match the web runtime. PHP documentation confirms that FastCGI per-directory settings and FPM pool configuration can create such differences.

RECOMMENDED — Filesystem/database: This hypothesis is strengthened when two actors report different snapshot hashes at the same revision, when inode/mount/database identities differ, or when one actor can read but not atomically promote an artifact. It is falsified by an owner-supplied cross-runtime write/read probe performed in staging or against a dedicated diagnostic object—not against the live edition state.

RECOMMENDED — Supervisor state: This hypothesis is strengthened by revision regressions, mixed fields from different commits, absent compare-and-swap failures, or a terminal artifact that is not referenced by the supervisor. It is falsified by an append-only transition log in which every public snapshot maps to one committed revision and one snapshot hash.

RECOMMENDED — Provider orchestration: This hypothesis is strengthened when a stored operation is never retrieved after it becomes due, when create outcomes are ambiguous, or when terminal provider output lacks a retained application hash. It is falsified when the same operation is periodically retrieved, every result is committed, and terminal output is durably preserved before validation.

RECOMMENDED — Evidence validation: This hypothesis is strengthened by a nonempty provider batch, empty retained docket, stable rejection classes, or accepted evidence disappearing between revisions. It is falsified when the exact retained batch and validator release reproduce a qualified docket in a deterministic replay.

RECOMMENDED — Composition: This hypothesis is strengthened only after thresholds are met but no compose reservation occurs, or after a retained composition repeatedly fails explicit final rules. It is currently lower priority because the sampled process reported zero compose attempts.

RECOMMENDED — Publication write: This hypothesis is strengthened by a passed final validation followed by permission, path, disk, temp-write, rename, or read-back failures. It is falsified by a verified immutable artifact whose hash is referenced by the supervisor.

RECOMMENDED — Caches and service workers: This family is strengthened when the same URL produces different revisions by cache source, network, profile, or worker controller. It is falsified when fresh-origin and ordinary public views carry the same snapshot within the declared propagation objective. Service workers can replace network responses with cached objects, so they must be inspected separately from ordinary Cache-Control.

RECOMMENDED — Deployment drift: This family is strengthened by different release IDs, PHP/runtime fingerprints, process schemas, static-asset hashes, redirects, or state roots across host/language/SAPI. It is falsified only by a deployment manifest proving that all public entry points and scheduler actors resolve to the same immutable release.

Minimum telemetry, incident runbooks, and operator checklist

Minimum additional telemetry from the owner

RECOMMENDED — The owner should supply sanitized, read-only evidence for the affected target and process. Provider identifiers may be replaced with stable hashes; paths may be tokenized consistently; secrets and content requiring protection should be removed.

ClassificationTelemetry itemMinimum fieldsQuestion answered
RECOMMENDEDScheduler invocation ledgerInvocation ID, scheduled time, actual start/end, host, actor, exit class, target consideredDid the scheduler run?
RECOMMENDEDRuntime fingerprintRelease hash, PHP binary/version/SAPI, ini files, extensions hash, timezone, cwd, UID/GID, hostname/container IDDid cron run the same application as web PHP?
RECOMMENDEDState-store identityRedacted path/DSN fingerprint, filesystem/mount or database identity, schema versionDid all actors read the same state?
RECOMMENDEDTransition ledgerProcess ID, old/new revision, event, actor, request ID, expected revision, CAS resultWhere did progression stop?
RECOMMENDEDLease ledgerLock name, holder, fencing token, acquired/renewed/expires/released times, outcomeIs one writer permanently or incorrectly leased?
RECOMMENDEDProvider-operation ledgerStable operation fingerprint, process/stage, create time, ID-persisted time, status observations, poll sequenceWas one operation created, retained, and reconciled?
RECOMMENDEDProvider terminal evidenceStable operation fingerprint, terminal status/time, output-present boolean, output SHA-256Did provider work finish?
RECOMMENDEDEvidence-batch manifestBatch hash, schema, candidate/source counts, source-ID namespace, parent batchWas evidence retained immutably?
RECOMMENDEDValidation ledgerCandidate ID, rule code, accepted/rejected, validator release, input batch hashWhy were all candidates rejected?
RECOMMENDEDComposition ledgerInput manifest hash, operation fingerprint, attempts, terminal result, payload hashDid composition start or succeed?
RECOMMENDEDPublication transactionTemp-write, validation pass, atomic promote, read-back, artifact hash, index update, supervisor CASDid publication fail before or after artifact commit?
RECOMMENDEDCache/deployment manifestOrigin release, CDN config version, service-worker release, asset manifest, purge eventsIs stale content or drift masking progress?
RECOMMENDEDClock sampleUTC wall time and monotonic uptime from scheduler, web runtime, store, and hostAre lease/retry comparisons coherent?
RECOMMENDEDOperator-action ledgerActor, action type, target process/revision, resultDid a manual action race with cron?

RECOMMENDED — The public status should expose a sanitized subset sufficient for black-box diagnosis: current UTC server time, status-generated time, scheduler last-start/last-finish/last-result, process ID and revision, lease state without sensitive host details, provider lifecycle and poll sequence, last meaningful transition, exact next due action, artifact existence, and release/runtime fingerprint.

Incident evidence-collection runbook for one publication cycle

RECOMMENDED — The following is a 24-hour read-only run. During daylight saving time, 8:00 a.m. America/Chicago is 13:00 UTC. The runbook should calculate the exact offset from the IANA timezone on the execution date rather than hard-code it.

ClassificationRelative timeActionEvidence
RECOMMENDEDCycle startCreate incident ID; synchronize observer clock; record timezone and browser versions.Clock screenshot, tool versions, evidence directory manifest.
RECOMMENDEDAt least 12 hours before eligibilityCapture one baseline status response from two approved networks and one clean browser profile.Raw headers, body, SHA-256, process tuple, DNS/TLS/redirect record.
RECOMMENDEDOne hour before eligibilityCapture English and Spanish pages once with JavaScript disabled and once in a clean JavaScript-enabled profile.Screenshots, HTML hashes, asset and worker fingerprints.
RECOMMENDEDFifteen minutes before eligibilityStart low-rate status sampling every five minutes.Status body/header sequence.
RECOMMENDEDAt eligibility boundaryObserve the documented read-only status; do not rely on a page view to trigger work. A designated owner actor may perform the approved trigger if the current design requires one.Before/after snapshots and owner trigger ID, if any.
RECOMMENDEDFirst hour after eligibilitySample status every five minutes; capture pages only when process revision or terminal state changes.Revision timeline, due-time behavior, page/status convergence.
RECOMMENDEDActive provider phaseFor each status change, record process revision, provider status, poll sequence, last progress, and next check.Chronology rows and semantic diffs.
RECOMMENDEDTen minutes after a missed next-checkMark a liveness anomaly; do not manually restart. Ask owner for the corresponding scheduler invocation and lease outcome.Public evidence plus sanitized owner record.
RECOMMENDEDEvidence/validation phaseCapture each revision that changes candidate, source, bind, validation, or deficit counts.Batch/validation progression graph.
RECOMMENDEDPublication eventFetch only the newly linked artifact, both language views, journal index, and status.Artifact hashes, links, terminal revision, response headers.
RECOMMENDEDTwo hours after publicationRepeat from a second network, clean profile, and JavaScript-disabled request.Cache convergence evidence.
RECOMMENDEDIf no publication by owner-defined deadlineFreeze evidence, classify the earliest missing transition, and request the minimum telemetry for that boundary.Incident package and fault-tree update.
RECOMMENDEDEnd of 24 hoursProduce a UTC chronology, contradiction list, ranked hypotheses, and untouched raw-evidence manifest.Signed/hash-listed evidence bundle.

RECOMMENDED — Sampling should be event-sensitive: low frequency while no action is due, temporarily increased around the known next-check boundary, and reduced after the state becomes terminal. This avoids unauthorized load while still determining whether deadlines cause transitions.

RECOMMENDED — The observer must not press publication or recovery controls, construct undisclosed endpoints, cancel provider operations, clear server locks, or provoke duplicate work. The only browser changes allowed are local cache/worker inspection in isolated profiles.

Confirmation plan across multiple cycles

RECOMMENDED — The 72-hour plan must prove repeatability, not merely one successful recovery.

ClassificationWindowGoalRequired proof
RECOMMENDEDFirst 24 hoursLocate the first missing durable transition and collect one complete cycle.Unified UTC chronology and owner telemetry at that boundary.
RECOMMENDEDSecond 24 hoursValidate one remediation or instrumentation change under normal scheduling.One process, one provider operation per stage, monotonic revisions, retained evidence, terminal artifact.
RECOMMENDEDThird 24 hoursTest convergence and restart tolerance without creating duplicate publication.Scheduler restart or missed-tick recovery in staging or controlled production procedure; all public views converge.

RECOMMENDED — During the second and third cycles, compare:

  • RECOMMENDED — process creation time relative to eligibility;
  • RECOMMENDED — provider operation count per process stage;
  • RECOMMENDED — poll interval and poll-sequence monotonicity;
  • RECOMMENDED — evidence retained across repair rounds;
  • RECOMMENDED — time from provider terminal result to state transition;
  • RECOMMENDED — time from final validation to readable artifact;
  • RECOMMENDED — time from artifact commit to public-language and hostname convergence;
  • RECOMMENDED — scheduler heartbeat continuity and runtime fingerprint consistency.

One-page operator checklist

ClassificationCheckPass conditionIf not met
RECOMMENDEDIdentify authoritative processExactly one active process ID and target dateStop; do not trigger or create work.
RECOMMENDEDRead current revisionRevision and snapshot token recorded before actionRefresh from authoritative read-only status.
RECOMMENDEDCheck provider operationZero or one operation for current stage; known operation is reconciled firstNever create another until ambiguity is resolved.
RECOMMENDEDCheck next due timeUTC next action is in future or an invocation exists after itIf overdue, inspect scheduler and lease—not provider-create.
RECOMMENDEDCheck scheduler identityLast invocation includes expected release/runtime/state-store identityEscalate runtime/deployment drift.
RECOMMENDEDCheck lease/fencingCurrent holder is live; fencing token and expected revision matchDo not force unlock without stale-writer protection.
RECOMMENDEDCheck evidence preservationProvider output and every validation batch have immutable hashesDo not start a replacement research pass.
RECOMMENDEDCheck validation outcomeRejections have candidate-level rule codes and retained inputsQuarantine validator defect rather than erase evidence.
RECOMMENDEDCheck compositionOne compose operation per input manifestRetrieve existing operation; do not duplicate.
RECOMMENDEDCheck publication artifactFinal artifact exists, reads back, and matches expected hashDo not mark published.
RECOMMENDEDCheck supervisorTerminal state references exact artifact and next revisionRetry CAS only with same process/artifact identity.
RECOMMENDEDCheck public convergenceStatus, English, Spanish, index, and linked artifacts agreeDiagnose caches/release drift; do not republish.
RECOMMENDEDRecord actionActor, UTC time, process, expected revision, action, resultAn unlogged action must not be taken.
RECOMMENDEDDuplicate-work gateAction cannot create a second provider operation or artifactObtain incident-lead approval or quarantine.

Remediation priorities, acceptance criteria, and unanswered questions

Ranked remediation matrix

Rank and classificationRemediationImpactConfidenceEffortDependenciesRollback risk
RECOMMENDED — AMake one server-owned reconciler solely responsible for lifecycle advancement; public GETs and browser polling become read-onlyVery highHighMediumScheduler reliability, status endpointMedium
RECOMMENDED — BIntroduce an append-only transition ledger with process ID, revision, actor, expected revision, fencing token, event, and outcomeVery highHighMediumState schema/migrationLow
RECOMMENDED — CAdd compare-and-swap transitions plus fencing tokens for every writer, including cron, browser-trigger path, and operator toolsVery highHighHighAuthoritative state storeMedium-high
RECOMMENDED — DPersist provider operation intent and identifier durably; reconcile the same operation until terminal; quarantine ambiguous createsVery highHighMediumProvider adapter, state schemaMedium
RECOMMENDED — EPreserve provider output, normalized evidence batches, validation reports, and composition payloads as immutable hash-addressed evidenceVery highHighMedium-highStorage and retention policyLow
RECOMMENDED — FCorrect evidence-binding contract with explicit source-ID namespace, canonicalization version, and candidate-level rejection ledgerVery highMedium-highHighSanitized failing batch, validator replayMedium
RECOMMENDED — GEmit runtime fingerprints and state-store identity from web and scheduler actorsHighHighLowSecret-redaction designLow
RECOMMENDED — HMake the public status one transactional snapshot with generated_at, process revision, request ID, and deliberate no-store behaviorHighHighMediumProjection builder, cache configLow
RECOMMENDED — IImplement atomic publication transaction: temporary artifacts, validation, promote, read-back, manifest, then supervisor finalizationVery highHighHighFilesystem/store semanticsMedium
RECOMMENDED — JUse immutable edition URLs/assets and versioned page/index manifests; invalidate only mutable indexes/status viewsHighHighMediumPublication design, CDN configLow
RECOMMENDED — KVersion and instrument service-worker caches; never cache dynamic status without explicit network-first/revalidation logicMedium-highMediumMediumFront-end deploymentLow
RECOMMENDED — LAdd external black-box synthetic monitoring for process freshness, artifact existence, language parity, and canonical-host convergenceHighHighMediumRead-only probes, alert routingLow
RECOMMENDED — MAdd bounded no-progress quarantine rather than resetting or silently abandoning a targetHighHighMediumState machine and operator UIMedium
RECOMMENDED — NDefine publication SLOs and alert on missed state transitions, not only HTTP availabilityHighHighLow-mediumMetrics/alertsLow

RECOMMENDED — Black-box monitoring should be symptom-oriented: it should verify that a current edition becomes publicly readable, not merely that PHP returns 200. Google’s SRE guidance distinguishes black-box monitoring as observation of active user-visible symptoms and recommends synthetic transactions where real traffic may be absent.

Remediation design details

RECOMMENDED — Server-owned liveness: Remove production progress mutations from ordinary public page requests. A scheduler should run frequently enough that one missed tick does not miss the publication window. Each tick should reconcile the current state, not assume it is beginning a new attempt.

RECOMMENDED — One authoritative state transition: Model each mutation as:

transition(
    process_id,
    expected_revision,
    fencing_token,
    actor_id,
    operation_key,
    input_manifest_hash,
    proposed_event
) -> committed_revision | conflict

RECOMMENDED — Durable provider intent: Before a provider create call, commit a state stating that creation is reserved for a specific process, stage, and operation key. After receiving an identifier, commit it immediately. If the response is lost after the provider might have accepted the request, enter create-outcome-ambiguous; do not pretend no operation exists.

RECOMMENDED — Evidence continuity: Never replace a retained evidence set with a later empty set. Store each batch immutably and derive a merged working set by deterministic rules. A repair pass should add or supersede evidence through explicit lineage, not mutate the historical record.

RECOMMENDED — Validation transparency: Every rejected candidate should identify the rule code, relevant source IDs, observed values, expected condition, validator release, and whether the failure is repairable. A summary count of 42 issues is useful for UI display but insufficient for incident reconstruction.

RECOMMENDED — Atomic publication: Construct English and Spanish artifacts and their manifest under temporary names, validate links and language parity, promote them to immutable final names, read them back, and only then commit the supervisor’s terminal state and mutable indexes. If a final file already exists, compare its content hash; an identical artifact is idempotent success, while a different artifact is a conflict requiring quarantine.

RECOMMENDED — Cache separation: Dynamic status should be generated from one current committed snapshot and should not be stored by browsers, service workers, or shared caches. Immutable dated editions may be cached for long periods because their contents do not change. Mutable journal indexes may use bounded cache lifetimes plus validators and explicit invalidation on publication. RFC 9111 provides the relevant cache-control and revalidation semantics.

RECOMMENDED — Canonical deployment: Redirect alternate hosts before loading application publication state. Include the immutable release ID and state-schema version in the status snapshot. The scheduler should verify the same expected release at startup and fail visibly rather than modify state from a mismatched rollback.

RECOMMENDED — Runtime parity: Capture PHP_SAPI, PHP version, loaded configuration path, scanned INI files, extension-manifest hash, timezone, current working directory, effective user/group, application release, and redacted state-store identity at every scheduler start. Do not expose a public phpinfo() page; PHP documentation notes that it reveals extensive environment and server data.

RECOMMENDED — Synthetic monitoring: Run read-only probes from at least two approved external locations. Check the status snapshot age, revision liveness, overdue next action, latest edition date, linked artifact availability, English/Spanish identity, canonical redirects, and cache headers. Synthetic checks must not initiate publication.

Production acceptance criteria

RECOMMENDED — Acceptance must be based on multiple real publication cycles, including at least one restart or missed-tick recovery exercise in a safe environment.

ClassificationInvariant or outcomeAcceptance proof
RECOMMENDEDZero or one active Daily Brief processAcross three consecutive production cycles, no snapshot or transition log contains overlapping active process IDs.
RECOMMENDEDZero or one active target dateEvery active revision maps to one target; target remains unchanged until published, quarantined, or explicitly abandoned.
RECOMMENDEDMonotonic revisionsRevisions increase exactly on committed transitions; no public or owner view observes regression.
RECOMMENDEDAt most one provider operation per active stageProvider ledger contains one operation key/fingerprint per process-stage-round; retrieval retries do not create operations.
RECOMMENDEDOne transition writerEvery mutation has a valid fencing token and expected revision; concurrent attempts produce harmless conflicts.
RECOMMENDEDCross-language and cross-client convergenceEnglish, Spanish, clean profiles, multiple tabs, and external probes report the same process/revision/target/publication within the convergence SLO.
RECOMMENDEDCanonical host unityEvery documented alternate host redirects before publication logic and exposes no independent process or release.
RECOMMENDEDNo backward movementDelayed requests, stale caches, and old workers cannot commit state; stale public views are detectable through snapshot metadata.
RECOMMENDEDTarget continuityA process stays tied to its date through retries and restarts; no new target supersedes it without a terminal abandonment record.
RECOMMENDEDSafe resumabilityKilling the reconciler after provider create, after provider terminal, after validation, and before supervisor finalization resumes the same process without duplicate work in a controlled test.
RECOMMENDEDScheduler livenessEach expected cycle has a start and terminal invocation result within the declared tolerance.
RECOMMENDEDProvider reconciliationEvery queued/in-progress operation is polled at bounded intervals; terminal status is incorporated within the reconciliation SLO.
RECOMMENDEDEvidence retentionProvider output, normalized evidence, validation reports, and composition payload are hash-addressed and remain available through terminal retention policy.
RECOMMENDEDValidation diagnosabilityEvery rejected candidate has machine-readable reason codes and can be deterministically replayed with the recorded validator release.
RECOMMENDEDComposition completionA qualified docket starts at most one composition operation and retains its terminal payload.
RECOMMENDEDAtomic bilingual publicationEnglish and Spanish artifacts and manifest become readable as one publication transaction; no partial language edition is visible.
RECOMMENDEDArtifact/supervisor consistencypublished status is impossible unless read-back confirms the exact artifact hash; every published artifact is referenced by the journal index.
RECOMMENDEDCache correctnessDynamic status never remains stale past its SLO; immutable editions retain stable content hashes; service-worker and CDN behavior is observable.
RECOMMENDEDUser-visible freshnessOn each of three consecutive days, the intended dated edition is published by the agreed deadline and externally verified.
RECOMMENDEDFailure safetyInjected transient retrieval, validator, write, and scheduler failures produce waiting or quarantine states with explicit next action, never silent reset or duplicate publication.
RECOMMENDEDOperator safetyThe operator interface refuses actions that would create a second provider operation, use a stale revision, or overwrite a conflicting artifact.

RECOMMENDED — A passing result is not “the progress bar moved.” A passing result is a traceable chain from scheduler invocation to one immutable bilingual edition, with one process lineage, one operation lineage per stage, retained evidence, an atomically verified artifact, and converged public views.

Unanswered questions

ClassificationQuestionWhy it matters
UNKNOWNWhat scheduler product and exact cadence own Daily Brief reconciliation?Determines expected invocation semantics and missed-run behavior.
UNKNOWNDid any scheduler invocation occur after the sampled next_check_at on August 1?Directly tests the leading liveness hypothesis.
UNKNOWNAre the null cron fields uninitialized telemetry, missing projection data, or proof of no run?Prevents a false conclusion from absent public data.
UNKNOWNWhat does provider-poll-observed mean, and why can it coexist with poll_count=0?May reveal projection inconsistency or counter-commit failure.
UNKNOWNIs poll_count scoped to the current provider operation, entire process, or successful retrievals only?Needed to interpret liveness correctly.
UNKNOWNDoes the public status body come from live state, a generated JSON artifact, or multiple retained component snapshots?Explains mixed generation timestamps.
UNKNOWNWhat are the exact cache headers returned by origin, reverse proxy, CDN, and service worker for status and journal pages?Required to prove or exclude stale visibility.
UNKNOWNDoes any service worker control the Daily Brief or status URL, and what release is active in long-lived tabs?Could explain session-specific divergence.
UNKNOWNDo English and Spanish routes read one state object or generate separate snapshots?Necessary for bilingual convergence.
UNKNOWNDo canonical and www hostnames redirect before PHP application initialization?Determines whether alternate hosts can mutate or expose separate state.
UNKNOWNWhich PHP binary, configuration files, user, working directory, and timezone does cron use?Tests CLI/web divergence.
UNKNOWNDo cron and web PHP see the same state-store identity and publication directory?Tests split filesystem/document-root hypotheses.
UNKNOWNIs the provider operation represented in the sampled state still queued, or did it subsequently become terminal?Distinguishes provider waiting from missed reconciliation.
UNKNOWNHow is an ambiguous provider create resolved when the request may have succeeded but the identifier was not committed?Determines duplicate-work safety.
UNKNOWNWhat schema and source-ID namespace did the 120 evidence records use?Central to the zero-bind outcome.
UNKNOWNWere any candidates accepted in an earlier revision and later discarded?Tests evidence-loss between attempts.
UNKNOWNAre validation thresholds date-relative to Central time, UTC, source publication time, or retrieval time?Could cause systematic freshness rejection.
UNKNOWNWhy were four automatic attempts exhausted while the process remained eligible and active?Attempt accounting may conflate creation, polling, and repair.
UNKNOWNWhat exact condition moves a process from active waiting to quarantined, abandoned, or terminal failure?Prevents indefinite in-progress state.
UNKNOWNIs there a maximum provider-operation age and a no-progress deadline distinct from retry count?Needed to distinguish waiting from permanent failure.
UNKNOWNHas composition ever succeeded for a failed process but been lost before finalization?Tests later fault-tree branches.
UNKNOWNIs publication performed through same-filesystem atomic promotion, database transaction, object-store conditional write, or another mechanism?Determines the correct atomicity and idempotency controls.
UNKNOWNCan an edition artifact exist without a journal-index update, and is there an owner-supported manifest lookup?Tests artifact/index split-brain safely.
UNKNOWNWhat deployment event preceded the first unreliable Daily Brief cycle?May identify schema drift, rollback, or document-root mismatch.
UNKNOWNAre old releases still reachable through any CDN origin, host mapping, language route, or scheduler path?Tests deployment drift and rollback branches.
UNKNOWNWhat production deadline and error budget define a successful Daily Brief?Required for objective alerting and acceptance.