Skip to content

[M9] Evolve structured tool API into project/session-aware service #57

Description

@Teakowa

Parent: #10

Depends on: #56

Planning status: provisional until the M8 v1 gate is complete.

Goal

Generalize the existing M4 read-only semantic service from one precompiled WIR program into a project/session-aware Wright tool API over stable public contracts.

Scope

  • Accept project/source/session handles rather than requiring callers to supply internal HIR/WIR JSON.
  • Expose structured compile/check/analyze/query results over the same session/driver as CLI and embedding APIs.
  • Provide project/program/rule/symbol/reference/usage/CFG/finding/target metadata queries.
  • Define stable request/response version and capability discovery.
  • Preserve source identity across .opy and localized Workshop inputs.
  • Keep transport concerns outside the service core.

Non-goals

  • Direct raw arena mutation.
  • Tying the service to MCP or LSP wire types.
  • Reimplementing compiler/session lifecycle inside the service.

Acceptance criteria

  • External tool consumers can create/load a supported session and perform structured semantic queries without internal protocol files.
  • Responses are deterministic and source-aware.
  • Tool API capability/version discovery allows clients to evolve safely.
  • Existing M4 semantic capabilities remain available through the new project/session boundary.

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