Skip to content

Recurring defect class: emitted text is not verified by reparse #453

Closed

Description

@e54-bot

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

Class

Tests asserted emitted strings without feeding emitter output back through the parser, so emit/parse stages drifted. Asserting the emitted text alone does not catch output the frontend reads differently.

Evidence

Ask

wrightkit/.github docs/testing-policy.md already lists "parse -> emit -> parse preserving declared semantics" as a preferred invariant and #437 added the pinning tests. Owner decides whether a systematic reparse harness over the emit surface is still needed or coverage is now sufficient.

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

Activity

  1. e54-bot commented on Oct 15, 2026

    @e54-bot
    ContributorAuthor

    Decision (owner):

  2. e54-bot commented on Oct 17, 2026

    @e54-bot
    ContributorAuthor

    Retrospective update — prevention appears landed: docs/testing-policy.md already lists parse→emit→parse, roundtrip regressions cover the fidelity batch via #437, and AGENTS.md gained the "Emitted output is reparsed" 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: the 'Emitted output is reparsed' rule is in AGENTS.md (#457) and roundtrip regressions landed (#437). No harness, per the owner decision; revisit only if the class recurs.

  4. e54-bot commented on Oct 20, 2026

    @e54-bot
    ContributorAuthor

    Recurrence 2026-10-19, in a contract-identifier position: Refs #499 (fixes #493) — rule-content-v1 passed the WIR call name through, emitting the global chase's catalog id for player-variable chases; the fix adds a contract test that fails when a rendered call id resolves through lookup to a different entry.

    Same-day cross-repository instance in wrightkit/wright#808 (a diagnostic code built from a phrased kind; the space broke the GitHub annotation shape). Escalated as a cross-repository class in wrightkit/.github#110.

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