pollution numbers haven't been updated in >12 hours #184
Labels
No labels
burndown-2026-06
headless
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/eco-app#184
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Incident
The public Eco World page was observed showing pollution numbers that had not changed for more than 12 hours on 2026-07-29.
The issue is not yet classified. The stale value may come from the Eco source observation, backend fetch or cache behavior, browser page-load behavior, or incorrect timestamp presentation. Do not assume the data plane or fix before collecting evidence.
Outcome
Identify the layer that stopped advancing, restore truthful current behavior where a defect exists, and prevent the page from implying that stale pollution data is current.
Freshness presentation work belongs in #183. This issue owns the current stale-data diagnosis and any smallest necessary repair.
Required evidence
Acceptance criteria
Relationship to the campaign
This is a P1 product-trust and proof-path blocker for coilysiren/inbox#302. Resolve or classify it before selecting #183 for the recorded Ward run.
coilyco-ops referenced this issue from coilyco-gaming/.github2026-08-01 17:15:36 +00:00
Ops diagnosis, 2026-08-01
Classification: source cadence plus presentation, compounded by deployment lag. Current evidence does not support a backend ingestion or cache outage.
Observed evidence
381023e. That image predates the issue-183 freshness UI. The deployed JavaScript bundle contains the Ground pollution surface but not the Snapshot fetched disclosure.Competing models
Engineering handoff
Engineering owns the repository repair:
Ops follow-through
After Engineering lands and the exact image is published, Ops will roll that image, record the deployed image, reload behavior, source sample, backend fetch time, and browser load time, then verify that the page either advances on the truthful cadence or visibly reports stale or unknown.
Keep this issue open through repository repair and live verification.
Engineering repair landed
Repository classification remains source cadence plus presentation, with deployment lag still awaiting Ops verification. The observed source and backend cache were advancing. The repository defect was that the climate parser discarded source
UnitandInterval, the World page treated dataset pollution as percent, and source freshness could not be classified against game time.Commit
c72f954landed on canonicalmain.Repair
current,stale, orunknownstate.TotalGroundPollutionnow renders as PPM in both the MCP result and World page. Percent is reserved for the world-layer fallback.Local proof
ward exec test: 578 passed.ward exec frontend-test: 158 passed.ward exec lint,ward exec frontend-lint, andward exec frontend-build: passed.ward exec precommit: every managed hook passed.Ops checkpoint
Keep this issue open. Once image
forgejo.coilysiren.me/coilyco-gaming/eco-app:c72f954252d52a4ffc9218847f715d721f017ebdis published, Ops owns the rollout and live verification.Ops should record the deployed image, reload the World page, and compare it with
/preview/get_eco_climate.json. Expected evidence is the pollution value and PPM unit, source sample game time, source interval, freshness state, backend fetch time, browser load time, and normal reload behavior. A source sample on the current game day should read current. A sample at least one cadence behind should read stale. Missing cadence should read unknown.Read-only observation, 2026-08-07 20:29 UTC
Filed from a strats session as evidence only. This is not the Ops verification and does not close the issue. Ops still owns the browser-side checks and the disposition.
The repair is live and behaving correctly.
Deployed image, from the Kubernetes API:
Both
coilysiren-eco-appcontainers,coilysiren-eco-appanddiscord-worker, are Running with an age of 2d21h. That places the current rollout around 2026-08-04, not today.Observed API behavior through the public Eco MCP against
http://eco.coilysiren.me:3001, fetched at2026-08-07T20:29:12Z:pollution.unitisPPM, not percent.layer_summaryis"0%", so percentage is correctly reserved for the world-layer fallback.TotalGroundPollution:latest_game_time_seconds: 2937600,latest_game_day: 34,current_game_day: 34,interval_seconds: 86400,lag_intervals: 0,freshness_state: "current",freshness_reason: "within_source_cadence".TotalCO2,SeaLevel, andAverageGlobalTemperatureeach carry the same structure with their own units, all reportingcurrentat zero lag.That is the
c72f954behavior, confirmed by output rather than by tag comparison. Image0239532postdates the repair and contains it.Correction to the record
This issue's 2026-08-01 Ops comment recorded production as pinned to
381023e, an image predating the freshness UI. That was true when written and has not been true since roughly 2026-08-04.Three pinned strategy issues were repeating it as current state as recently as an hour ago, including a claim that the public page still shows pre-repair presentation. Those are being corrected. The error was quoting this issue's own history as present state without checking the cluster, which is the same class of mistake as reading issue text for code.
What Ops still owns
The API path is verified. The browser path is not, and #184's acceptance names it explicitly:
/preview/get_eco_climate.json.current, so the stale and unknown display paths are not exercised by today's live data.The mount-only page-fetch behavior noted in the original diagnosis also remains an open question for eco-app#201, separate from this issue.
Consequence outside this repository
coilysiren/inbox#301 was gated on credential safety, transcript redaction, and truthful Eco delivery. The first two closed on 2026-08-04 and 2026-08-05. With this repair live, the third condition appears satisfied on the API path. That issue is now closer to unblocked than its own text suggests.