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.
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
.opyand localized Workshop inputs.Non-goals
Acceptance criteria