Skip to content

Schema Diff Operation Argument Deltas #569

Description

@flyingrobots

Migrated from a local Wesley Method backlog card after adopting METHOD v2.1.0 tracker doctrine.

  • Source path: docs/method/backlog/bad-code/SOURCE_schema-diff-operation-argument-deltas.md
  • Original filesystem lane: bad-code
  • Canonical Method lane label: lane:bad-code
  • Legend: SOURCE
  • Migration issue: Migrate Wesley Method backlog to GitHub Issues #548
  • Migrated on: 2026-06-04

Original Local Backlog Card

Schema Diff Operation Argument Deltas

  • Lane: bad-code
  • Legend: SOURCE

Why now

The native Rust wesley schema diff command now compares L1 schema structure,
which ports the useful generic part of the legacy Node diff command onto the
Rust path.

The old Node diff also reported operation/root-field argument changes. The
current Rust L1 Field shape does not carry field arguments, so reproducing
that behavior would either require extending the L1 IR contract or adding a
separate schema-operation analysis API.

Hill

Wesley has an explicit Rust-owned decision for argument-aware schema deltas:
either field arguments become part of L1, or operation argument deltas live in a
separate API that does not distort the domain-empty IR.

Done looks like

  • the intended home for GraphQL field arguments is documented
  • tests cover adding, removing, and changing root operation arguments
  • wesley schema diff reports those argument deltas if they remain a Wesley
    concern
  • the JSON output contract is updated without reintroducing Node as authority

Repo Evidence

  • crates/wesley-core/src/domain/ir.rs
  • crates/wesley-core/src/domain/schema_delta.rs
  • crates/wesley-cli/src/main.rs
  • docs/LEGACY_NODE_MIGRATION.md

Activity

  1. added
    triage:bad-codeDebt intake that still needs scheduling, closure, or a repo move
    legend:SOURCESource/schema/docs truth work
    on Jun 4, 2026
  2. coderabbitai commented on Jun 4, 2026

    @coderabbitai
    🔗 Related PRs

    #42 - feat(qir): SQL lowering (MVP) with deterministic output and COALESCE for lists [merged]
    #499 - test(stack): add Stack Witness 0001 fixture artifact shape [merged]
    #513 - expand parity fixture coverage [merged]
    #521 - Add Rust IR performance baseline [merged]
    #534 - Validate strict weslaw bindings [merged]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

  3. flyingrobots commented on Jun 25, 2026

    @flyingrobots
    OwnerAuthor

    Triage decision: close as not planned.

    Rationale: This migrated backlog card lacks current acceptance detail and still reflects old schema-diff framing. If operation-argument delta work is needed, it should be rewritten against current Rust/L1 behavior.

    This is being removed from Wesley's active backlog rather than left in an inbox label.

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

    docsDocumentation changeslegend:SOURCESource/schema/docs truth worktriage:bad-codeDebt intake that still needs scheduling, closure, or a repo move

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions