Found while triaging OpenAdaptAI/openadapt-web#394 during the 2026-08-27 queue drain. Filing now because it becomes a real divergence the moment that PR lands, and it is easy to miss because nothing is broken today.
The situation
docs/javascripts/production-lifecycle.js in this repository is a second copy of the production lifecycle widget that also ships on openadapt.ai. openadapt-web#394 rewrites the web copy's trust model. This copy is not part of that PR.
The divergence, once #394 lands
The docs copy keeps the weaker of the two trust models:
|
docs copy (this repo) |
web copy after #394 |
| artifact check |
evidence.openadapt.ai/api/v1/objects/sha256/{digest}, line 483 — fetches metadata and trusts a third party's exists: true / head_verified: true assertion |
fetches the real bytes and verifies them against the digest |
| admissions source |
mutable raw.githubusercontent.com/.../.github/main/..., lines 34 and 123 |
a URL carried inside the signed projection |
Both differences have the same shape: the docs copy trusts a third party's assertion about an artifact, where the web copy verifies the artifact itself. The web change also removes a mutable main read, which is a source that can change under the reader.
Why this is worth filing rather than fixing inline
Nothing is broken right now, and #394 is parked behind the central trust work, so there is no deadline. But when it lands, docs.openadapt.ai and openadapt.ai will show the same widget making materially different trust claims, and the docs one will be the weaker. That is the kind of drift nobody notices until a discrepancy has to be explained to someone external.
Suggested resolution
Either port the same verification change to this copy when #394 lands, or extract the widget into one shared source so the two cannot drift again. The second is more work and removes the whole class of problem.
Found while triaging OpenAdaptAI/openadapt-web#394 during the 2026-08-27 queue drain. Filing now because it becomes a real divergence the moment that PR lands, and it is easy to miss because nothing is broken today.
The situation
docs/javascripts/production-lifecycle.jsin this repository is a second copy of the production lifecycle widget that also ships on openadapt.ai.openadapt-web#394rewrites the web copy's trust model. This copy is not part of that PR.The divergence, once #394 lands
The docs copy keeps the weaker of the two trust models:
evidence.openadapt.ai/api/v1/objects/sha256/{digest}, line 483 — fetches metadata and trusts a third party'sexists: true/head_verified: trueassertionraw.githubusercontent.com/.../.github/main/..., lines 34 and 123Both differences have the same shape: the docs copy trusts a third party's assertion about an artifact, where the web copy verifies the artifact itself. The web change also removes a mutable
mainread, which is a source that can change under the reader.Why this is worth filing rather than fixing inline
Nothing is broken right now, and #394 is parked behind the central trust work, so there is no deadline. But when it lands, docs.openadapt.ai and openadapt.ai will show the same widget making materially different trust claims, and the docs one will be the weaker. That is the kind of drift nobody notices until a discrepancy has to be explained to someone external.
Suggested resolution
Either port the same verification change to this copy when #394 lands, or extract the widget into one shared source so the two cannot drift again. The second is more work and removes the whole class of problem.