Skip to content

Recurring defect class: declared catalog surface does not parse back #452

Closed
1 of 1 issue completed
Closed

Description

@e54-bot

Readiness: needs-decision — owner picks a prevention home.

Class

Spellings, aliases, and signatures declared in the catalog were never exercised end-to-end through the frontend, so the declaration and the parser drifted apart. Consumers writing exactly what the catalog declares hit parse failures the suite never exercised.

Evidence

Same class in 3 independent merged PRs on 2026-10-14:

The drift was found by consumers (wright check, wright lookup, the wright census) rather than by this repository's own gates.

Ask

Refs #449 extended the census localization shard to enumerate every declared spelling (~22,900 cases). Owner decides whether to extend the same exhaustive enumeration to signatures and remaining declared surface forms, or pick another home: owner contract, or an existing organization policy rule.

Recorded in docs/LESSONS.md via the merged-work retrospective.

Activity

  1. e54-bot commented on Oct 15, 2026

    @e54-bot
    ContributorAuthor

    Decision (owner):

    • Do not extend the census enumeration to signatures. language_conformance.rs already compares documented parameter count/order/types and return type against the catalog and parses calls built from them.
    • Root cause of fix(catalog): declare surface signatures for player-variable index actions #445: actions.md is regenerated from the catalog, so docs and catalog agreed on the same wrong signature. The check compared the catalog with itself.
    • Add an AGENTS.md contract: declared signatures follow the Workshop surface syntax, not only catalog-derived docs; where surface and WIR shapes differ, a hand-written surface call must parse.
    • Add a small test with hand-written surface calls for entries whose surface and WIR shapes differ (currently Set/Modify Player Variable At Index).

    Limit: that these two are the only surface/WIR-divergent entries is inferred from the #445 commit, not exhaustively verified.

  2. e54-bot commented on Oct 17, 2026

    @e54-bot
    ContributorAuthor

    Retrospective update — the prevention homes this issue asked for appear to have landed: every declared localized spelling is enumerated via #449, hand-written surface calls for surface/WIR-divergent signatures via #461/#464, colon-containing members resolve and round-trip through every declared locale in tests/parser.rs, and AGENTS.md gained the "Signatures follow the Workshop surface syntax" contract rule via #457. The lesson entry was pruned in #475; leaving the close decision to the owner.

  3. e54-bot commented on Oct 18, 2026

    @e54-bot
    ContributorAuthor

    Closing: prevention landed (#449, #461/#464, #457 'Signatures follow the Workshop surface syntax'; lesson pruned in #475).

  4. e54-bot commented on Oct 20, 2026

    @e54-bot
    ContributorAuthor

    Recurrence in the 2026-10-16 → 2026-10-20 window, on the new lookup/rule-content-v1 declared surface:

    Every one was found by a downstream consumer (the wright structured-editor wiring, wrightkit/wright#781 → #838), matching this issue's "found by consumers, not this repository's own gates" pattern. #526 added catalog-load validation for the fold facts; the open question is the one this issue left pending — whether declared surfaces get an exhaustive enumeration.

    Recorded in docs/LESSONS.md via #528.

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