Skip to content

Fifteen console types already disagree with the Worker — a date that never renders, a history that is always empty, no error anywhere #617

Description

@serge-ivo

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.

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

  1. All fifteen enumerated with file:line on both sides — the console's expectation and the Worker's producer.
  2. 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.
  3. 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.
  4. A test per fix that fails on the old name.
  5. Fixed before 90 of 125 console API-response types are hand-copied with no guard, and 15 already disagree with the Worker #616's guard lands, so that guard starts from zero known divergences.

Verified vs inferred

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions