Skip to content

docs: reconcile stale proposal/roadmap statuses with shipped code#108

Merged
PhysShell merged 2 commits into
mainfrom
claude/agenda-2rufsj
Jun 26, 2026
Merged

docs: reconcile stale proposal/roadmap statuses with shipped code#108
PhysShell merged 2 commits into
mainfrom
claude/agenda-2rufsj

Conversation

@PhysShell

@PhysShell PhysShell commented Jun 26, 2026

Copy link
Copy Markdown
Owner

A systematic audit of every P-NNN status line + the two index tables (docs/ROADMAP.md, docs/proposals/README.md) against the actual extractor / core / CI. No code change — the map now matches the territory.

Why

Over recent work we kept rediscovering "oh, that's already built" — POOL002, the DI tails (DI002–004), and P-014 Tier A were all shipped but the docs still said draft / remaining. Drifted status docs send the next contributor down dead ends. This pass reconciles them.

What was verified accurate (no change)

  • Horizon proposals P-002/003/008/009/010/011 — genuinely unstarted (no implementing code).
  • P-004 (WPF001–005), P-012 (corpus benchmark + cases), P-013 (Action + dotnet tool), P-015 (stub), P-016 (B0a/B0b/B2/A1 via --flow-locals) — already matched reality.

What was stale and is now corrected

Item Was Now
P-014 status "draft — currently unusable on real desktop code" Tier A shipped & default-on — a += is a subscription only when the SemanticModel binds its LHS to an IEventSymbol (arithmetic no longer leaks); unresolved external events → advisory OWN050. Only Tier B (full refs) deferred.
P-001 status "v0 built (event += without -=)" well past v0 — the seam now extracts WPF001–005, the DI graph (DI001–005), ArrayPool/Span (POOL001–005), path-sensitive flow facts (--flow-locals), and semantic resolution
P-005 status "D3/D4/D5 next" D3 (double-dispose → OWN003) / D4 (use-after-dispose → OWN002) built via --flow-locals + the field-mediated UAF pass; D5 (cross-callee transfer) is the open frontier
proposals/README.md index P-004/005/006/012/014/016 all "draft" synced to built / in-progress
ROADMAP.md index table stopped at P-013; P-012 row "draft" P-001/005/012 rows corrected; added the missing P-014/015/016 rows

Net effect

A trustworthy backlog. The genuinely remaining build work is now clearly: POOL004 field-escape, P-014 Tier B (full external refs), P-005 D5 (cross-callee ownership transfer), and the horizon tracks (effects P-008, etc.).

Verification was done by parallel code inspection (extractor Program.cs, ownlang/, CI jobs, tests) — every corrected claim is backed by concrete shipped code + CI evidence. Full test suite stays green (docs-only).

🤖 Generated with Claude Code


Generated by Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated the roadmap and proposal index to reflect the latest progress, expanded scope coverage, and revised status labels.
    • Added the new proposal entry and expanded several existing items’ visibility into milestone completion.
    • Refined multiple proposal status sections with clearer shipped/in-progress/deferred detail and validation notes.

A systematic audit of every P-NNN status line + the two index tables
(ROADMAP.md, proposals/README.md) against the actual extractor / core / CI,
verified by parallel code inspection. Most statuses were accurate (the horizon
proposals P-002/003/008/009/010/011 are genuinely unstarted; P-004/012/013/015/016
matched reality). Three were stale and several index rows lagged:

- P-014: "draft — currently unusable on real desktop code" was badly stale. Tier A
  (T0–T6) is shipped and default-on: a `+=` is a subscription only when the
  SemanticModel binds its LHS to an IEventSymbol (arithmetic no longer leaks), and
  unresolved external events surface OWN050. Only Tier B (full refs) is deferred.
- P-001: "v0 built (event += without -=)" understated a seam that now extracts
  WPF001–005, the DI graph (DI001–005), ArrayPool/Span (POOL001–005), path-sensitive
  flow facts (--flow-locals), and semantic resolution.
- P-005: D3/D4 (double-dispose, use-after-dispose) are built via --flow-locals + the
  field-mediated UAF pass, not "next".
- proposals/README.md index: P-004/005/006/012/014/016 were all still "draft" despite
  being built/in-progress — synced to the verified state.
- ROADMAP index table: corrected P-001/005/012 rows and added the missing P-014/015/016
  rows (the table stopped at P-013).

No code change — the map now matches the territory.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fmwk5ruExKy5fQ77CJ2NtF
@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: dd5a9147-907d-4135-92f1-4051298dd135

📥 Commits

Reviewing files that changed from the base of the PR and between 93fe7ef and fee0af4.

📒 Files selected for processing (1)
  • docs/proposals/P-001-csharp-extractor.md
✅ Files skipped from review due to trivial changes (1)
  • docs/proposals/P-001-csharp-extractor.md

📝 Walkthrough

Walkthrough

Updated the roadmap and proposal indexes to reflect expanded proposal coverage, and rewrote three proposal pages’ status sections to describe current built capabilities and open items.

Changes

Proposal status updates

Layer / File(s) Summary
Index tables updated
docs/ROADMAP.md, docs/proposals/README.md
The proposal index tables revise statuses and progress notes, and add P-016.
Proposal status pages updated
docs/proposals/P-001-csharp-extractor.md, docs/proposals/P-005-idisposable-ownership.md, docs/proposals/P-014-semantic-resolution.md
The P-001, P-005, and P-014 pages replace short status text with expanded progress descriptions.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~4 minutes

Possibly related PRs

  • PhysShell/Own.NET#12: Directly related to the P-014 proposal content that this PR also updates in its status section.

Poem

A rabbit nibbled roadmap greens,
and found new status rows between.
P-001 and friends now hop more clear,
with P-016 freshly near.
The doc burrow blooms—thump thump, hooray!

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the documentation-only status reconciliation across roadmap and proposal files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/agenda-2rufsj

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/proposals/P-001-csharp-extractor.md`:
- Around line 3-10: The P-001 status summary overstates the ArrayPool/Span
rollout compared with the P-007 index entries. Update the bullet in the proposal
summary to match the actual shipped scope by using the same coverage language as
the P-007 rows, or explicitly note that POOL004/POOL005 are only first slices.
Keep the wording aligned with the extractor coverage described alongside
POOL001–005 and the P-007 rollout so the summary does not imply full completion.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 08ff2756-88c6-45c8-b319-439fea612e98

📥 Commits

Reviewing files that changed from the base of the PR and between 321b591 and 93fe7ef.

📒 Files selected for processing (5)
  • docs/ROADMAP.md
  • docs/proposals/P-001-csharp-extractor.md
  • docs/proposals/P-005-idisposable-ownership.md
  • docs/proposals/P-014-semantic-resolution.md
  • docs/proposals/README.md

Comment thread docs/proposals/P-001-csharp-extractor.md
P-001's status said "POOL001–005" which overstates vs P-007's own rows
(POOL001–003 built; 004/005 first slices). Align it — fittingly, a stale-status
nit inside the stale-status-reconciliation PR.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fmwk5ruExKy5fQ77CJ2NtF
@PhysShell
PhysShell merged commit 4bf828c into main Jun 26, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants