You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fifteen console types disagree with the Worker today — silent, because the fields are optional on both sides
A subset of #616 that is already wrong in production, not merely unguarded.
Two confirmed by name:
console expects
Worker actually sends
Effect
KnowledgeDoc.createdAt
addedAt
the date never renders
Credential.history
recoveryHistory
the history is always empty
Both fields are optional on both sides, so TypeScript is satisfied, nothing throws, nothing logs, and the value is simply undefined forever. That is the worst failure mode in this class: a feature that looks implemented and quietly does nothing.
Thirteen more were counted in the same sweep and not individually named.
#616 is the systemic fix — derive or compare all 125, ratchet the rest. That is real work with a real cost.
These fifteen are live defects with a user-visible effect right now, and each is a one-line rename. They should not wait on the architecture. Fixing them first also gives #616 a clean baseline: a guard introduced over a surface with fifteen known-bad rows starts life with an exemption list, which is how a ratchet becomes permanent.
Acceptance criteria
All fifteen enumerated with file:line on both sides — the console's expectation and the Worker's producer.
Each resolved by correcting the consumer, unless the Worker's name is genuinely wrong, in which case say so — renaming a producer field is an API change and needs to be stated as one.
For each, note what the user was not seeing. A silently-empty history and a missing date have different weights, and the report should say which mattered.
Inferred: that all fifteen are simple renames. Only two were examined in detail — some of the other thirteen may be structural rather than nominal, and AC1 exists to establish that before anyone estimates the work.
Fifteen console types disagree with the Worker today — silent, because the fields are optional on both sides
A subset of #616 that is already wrong in production, not merely unguarded.
Two confirmed by name:
KnowledgeDoc.createdAtaddedAtCredential.historyrecoveryHistoryBoth fields are optional on both sides, so TypeScript is satisfied, nothing throws, nothing logs, and the value is simply
undefinedforever. That is the worst failure mode in this class: a feature that looks implemented and quietly does nothing.Thirteen more were counted in the same sweep and not individually named.
Why this is separate from #616
#616 is the systemic fix — derive or compare all 125, ratchet the rest. That is real work with a real cost.
These fifteen are live defects with a user-visible effect right now, and each is a one-line rename. They should not wait on the architecture. Fixing them first also gives #616 a clean baseline: a guard introduced over a surface with fifteen known-bad rows starts life with an exemption list, which is how a ratchet becomes permanent.
Acceptance criteria
file:lineon both sides — the console's expectation and the Worker's producer.Verified vs inferred