Skip to content

Roadmap: ship Owen Alpha and complete the Rust production vertical after #214 #250

Description

@PhysShell

Status

Master roadmap after the completion of P-022 step 4 in #214 / PR #249.

Two independent outcomes must now be delivered:

  1. Owen Alpha is actually published and verified from clean external consumers.
  2. Rust participates in the real C# → OwnIR → verdict path, first in shadow mode and then through an explicit cutover gate.

The release track must not wait for the full Rust migration. The Rust track must not use the release as permission to weaken parity.

Current baseline

Completed:

Still missing:

  • repository license and real release-owner configuration;
  • first public Owen.Cli and Action releases;
  • diagnostic message/Evidence parity;
  • report/SARIF parity;
  • Rust own-codegen;
  • formalized and ported own-bridge;
  • dual-engine shadow mode;
  • Rust CLI parity and default-engine cutover;
  • IDE/LSP verticals.

Non-negotiable migration rules

  • Python remains the oracle until a separate cutover decision.
  • A Rust/Python divergence is a Rust bug unless behavior changes in a separate Python-first PR.
  • Migration PRs do not add diagnostic rules, change severity, broaden Roslyn heuristics, or weaken fixtures.
  • Every layer owns a frozen Python-authored parity surface; steady-state Rust tests run with zero Python.
  • Production crate edges remain CI-enforced.
  • own-codegen remains independent of own-analysis and own-diagnostics.
  • own-bridge feeds facts and maps verdicts; it must not duplicate analysis algorithms.
  • Owen Alpha publication does not depend on Rust-default cutover.

Child issues and execution order

A. Owen Alpha release

Release DAG:

#252
 ├─> #253
 └─> #254

The release track is independent of the Rust-default cutover.

B. P-022 Rust production vertical

Rust DAG:

#251
 ├─> #255 ─> #256 ───────────────┐
 ├─> #257                         │
 └─> #258 ─> #259 ─> #260 ──────┼─> #262
                    └─> #261 ────┘

C. IDE/incremental path

IDE DAG:

#263 ──────────────┬─> #264
                  └─> #265
#255/#256 ───────────> #264
#259/#260 ───────────> #265

D. P-034

Production implementation remains blocked until the runtime marker/helper/escape-hatch contract is finalized. Do not duplicate call-site use-after-dispose rules.

Recommended agent allocation

Strong agent

#255 -> #256 -> #258 -> #259

Do not run own-bridge implementation before #258 independent review.

Separate strong or medium-strong agent

#257

Keep codegen isolated from analysis.

Medium agent

#251
#252 verification packet
#253/#254 release evidence and external checks

Local/corpus-capable agent

#263 measurements
#260 five-repository compare sweeps and reproduction artifacts

Global PR acceptance packet

Every substantive child PR must state:

Scope:
Explicit non-goals:
Python source of truth:
Frozen fixture:
Fixture regeneration command:
Steady-state test command:
Production dependency changes:
Behavior changes:
Acceptance changes:
Local commands:
GitHub Actions links:
Known deferred cases:

Migration PRs additionally report:

Python-only verdict count:
Rust-only verdict count:
Changed verdict count:
Ordering-only difference count:
Unexplained difference count:

The final value must be 0.

Stop conditions

Stop and redesign the child scope if any of these occur:

  1. A fixture or acceptance must be weakened to make parity green.
  2. Rust intentionally differs without a separate Python-first change.
  3. own-bridge reimplements ownership/lifetime/effect/DI algorithms.
  4. own-codegen starts consuming analysis verdicts.
  5. Release smoke tests use project references/rebuilds instead of the packed .nupkg.
  6. Python and Rust receive different OwnIR bytes in compare mode.
  7. SARIF normalization deletes semantic fields merely to remove a diff.
  8. Performance work begins without a baseline/profile.
  9. A new abstraction layer has no vertical consumer.
  10. Schema, semantics, output and packaging are mixed into one supposedly small PR.

Milestone completion

This roadmap reaches its next major milestone when all are true:

Owen Alpha

  • installable from nuget.org on a clean machine;
  • owen check works on Windows and Linux;
  • immutable GitHub Action tag works from an external repository;
  • SARIF is accepted by GitHub Code Scanning.

Rust vertical

  • message/Evidence parity;
  • report/SARIF parity;
  • OwnIR bridge parity;
  • dual-engine shadow mode reports zero unexplained difference;
  • Rust CLI is ready for an explicit default-engine decision.

IDE foundation

  • measured latency/memory budgets exist;
  • .own LSP proves cancellation and stale-result correctness;
  • the C# hybrid host has an approved protocol/ADR and a working full-snapshot vertical before delta optimization.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions