Skip to content

Chart Drift's first completing run found 91 divergences on memex/memex-cloud — 8 DIFFERS a deploy would overwrite, and nobody owns the backlog #2355

Description

@rbuergi

Chart Drift completed for the first time ever on 2026-08-26 (run 32939313904) after #1709 unblocked it — it had failed at preflight on all ten prior attempts. The backlog it found is the finding, and right now nobody owns it.

Filing so the daily red is a worklist rather than weather. #1709's own header is explicit about the risk: a gate whose red is permanent is a gate people learn to ignore.

What it found — 91 divergences across memex and memex-cloud

class count what it means what a helm upgrade does
CLUSTER-ONLY 81 (64 of them inline env:) live setting the chart has never heard of deletes it
DIFFERS 8 chart and cluster disagree overwrites live with the chart's value
CHART-ONLY 2 chart has it, cluster does not nobody is getting it today

The 8 DIFFERS are the ones to look at first

These are not "missing config" — they are values where a deploy actively changes what is running:

  • memex-cloud: ModelTier__Heavy, ModelTier__Light, ModelTier__Standard, ModelTier__Utility — AI model routing. A deploy would re-point tiers to whatever the chart says.
  • memex: livenessProbe, readinessProbe — health-check timing. Worth pairing with the known rollout-stall behaviour on slow startup; changing probe budgets by accident is how a deploy turns into an outage.

This is not hypothetical — one entry has already been cashed in

##[error]CLUSTER-ONLY inline env WebhookInbox__Targets__0 (memex-cloud) is the root cause of #2235, the release broadcast that had not delivered since 08-22. An explicit env: on the Deployment (hand-set via kubectl set env, predating the chart key) takes priority over the same-named var from envFrom, so the ConfigMap said Hosting/PlatformBuilds while the pod used Store/Payments. Every signal was green: helm said "Upgrade complete", the ConfigMap was correct, the endpoint was wired — and the pod answered 404. Fixed in #2352 + Systemorph/Memex#121.

That was found independently by exec'ing into the pod, hours after this gate had already named the exact key. The other 80 entries have not been read.

Correcting a stale warning in the workflow header

chart-drift.yml's header warns that Authentication__Microsoft__ClientId is still CHANGE_ME_aad_application_client_id in the chart, so a deploy would overwrite working auth with the placeholder. That does not reproduce in this run — zero Authentication__ findings. Either it was fixed since the header was written or the key is not compared. Worth confirming which before anyone treats it as live, and updating the header either way.

Suggested shape

Triage by class rather than one-by-one: the 64 inline env: entries are almost certainly one story (hand-applied drift accumulated over time, each needing either a chart key or deletion), while the 8 DIFFERS each need an explicit "which side is authoritative" decision. #2210 is the cautionary tale for getting that wrong — a key committed one section off rendered "" and helm applied it as a silent deletion.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions