Skip to content

docs: fix doc-drift, sharpen positioning, record consolidation backlog#38

Merged
PhysShell merged 2 commits into
mainfrom
claude/positioning-hygiene
Jun 19, 2026
Merged

docs: fix doc-drift, sharpen positioning, record consolidation backlog#38
PhysShell merged 2 commits into
mainfrom
claude/positioning-hygiene

Conversation

@PhysShell

@PhysShell PhysShell commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Cheap, doc-only hygiene from an external architecture review; the larger structural items are recorded as a deferred backlog rather than done now (the review's own "strengthen the form, don't expand the dream" advice — and its blind spot, since it was a read-only pass, is recorded too).

  • ROADMAP doc-drift fixed. The "frontend does NOT touch closures / interprocedural" note carves out the two honest exceptions that already exist: syntactic lambda-event-handler classification, and bounded modular interprocedural (ownership contracts + inference) in the core, not the frontend (P-006/2b).
  • Positioning sharpened. ROADMAP framing now states plainly: Own.NET is one resource/lifetime analyzer with profiles, WPF is the first profile, not the identity; the engine emits domain-neutral OWN001/002/003/014 + a profile label.
  • Naming convention noted in docs/lifetimes.md: WPFxxx are pattern-catalog IDs, not emitted codes.
  • New docs/notes/consolidation-and-positioning.md records the deferred items (OwnIR v1 schema rename, extractor split, WPFxxx → SUB/TMR/DISP catalog rename) with cost/benefit and the trigger that should pull each off the shelf — plus the honest note that the highest-leverage next move is proving value (oracle on real repos), not reshaping form.

No code change; full suite, ruff, mypy --strict unaffected.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Rg8kSk1YT14x7A1vo5zgED


Generated by Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated roadmap documentation to better clarify Own.NET's positioning as a configurable resource and lifetime analyzer, with details on analysis scope and capabilities.
    • Enhanced documentation explaining how the analyzer categorizes and reports findings.
    • Added comprehensive architecture documentation summarizing product vision, agreed design decisions, and planned future enhancements for improving code analysis.

Cheap, doc-only hygiene from an external architecture review; the larger
structural items are recorded as a deferred backlog rather than done now.

- ROADMAP: the "frontend does NOT touch closures / interprocedural" note drifted
  from reality. Carve out the two honest exceptions that already exist: syntactic
  lambda-event-handler classification, and bounded *modular* interprocedural
  (ownership contracts + inference) in the CORE, not the frontend (P-006/2b).
- ROADMAP framing: state plainly that Own.NET is one resource/lifetime analyzer
  WITH profiles, WPF is the first profile (not the identity); the engine emits
  domain-neutral OWN codes + a profile label.
- lifetimes.md: note the naming convention -- WPFxxx are pattern-catalog IDs, not
  emitted codes (the engine emits OWN001/002/003/014 + [resource]/[profile]).
- New docs/notes/consolidation-and-positioning.md records the review's verdict and
  the DEFERRED items (OwnIR v1 schema rename, extractor split, WPFxxx->SUB/TMR/DISP
  catalog rename) with cost/benefit and the trigger that should pull each off the
  shelf -- plus the honest meta-point that the highest-leverage next move is
  proving value (oracle on real repos), not reshaping form.

No code change; full suite, ruff, mypy --strict unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rg8kSk1YT14x7A1vo5zgED
@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0ffafa07-53c3-4ace-a742-0434700a1048

📥 Commits

Reviewing files that changed from the base of the PR and between 4b5d6fa and 5690770.

📒 Files selected for processing (3)
  • docs/ROADMAP.md
  • docs/lifetimes.md
  • docs/notes/consolidation-and-positioning.md
✅ Files skipped from review due to trivial changes (3)
  • docs/lifetimes.md
  • docs/notes/consolidation-and-positioning.md
  • docs/ROADMAP.md

📝 Walkthrough

Walkthrough

Three documentation files are updated. docs/ROADMAP.md rewrites two sections to frame Own.NET as a profile-based analyzer and expand the C# frontend exclusions list. docs/lifetimes.md adds a naming convention note distinguishing WPFxxx pattern IDs from emitted OWNxxx diagnostic codes. A new docs/notes/consolidation-and-positioning.md records an architecture review verdict, deferred items, next capabilities, and current priorities.

Changes

Documentation cleanup and consolidation

Layer / File(s) Summary
ROADMAP and lifetimes docs clarifications
docs/ROADMAP.md, docs/lifetimes.md
ROADMAP.md replaces the framing paragraph with a structured explanation of profile-based architecture and rewrites the C# frontend exclusions section to itemize exclusions and name two carved-out exceptions (syntactic lambda-event-handler classification and bounded interprocedural ownership via callee contracts). docs/lifetimes.md adds a subsection clarifying that WPFxxx are internal pattern catalog IDs, not engine-emitted diagnostic codes, and notes that bulk catalog renaming is deferred.
New consolidation-and-positioning note
docs/notes/consolidation-and-positioning.md
New file records the agreed architectural verdict (core checker + Roslyn facts-only + OwnIR seam), lists doc-only items completed in this PR, enumerates three ordered deferred items (OwnIR rename, Roslyn extractor split, WPF catalog rename) with cost/risk and ordering notes, tracks three next capabilities (transitive contract inference, lambda-handler diagnostics, DI extractor), and identifies oracle runs on real OSS C# repos as the current priority.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~4 minutes

Poem

🐇 A roadmap reframed, a profile made clear,
WPFxxx patterns — not diagnostics, my dear!
Deferred and noted, the backlog now rests,
Next capabilities queued for the best.
The oracle hops through OSS repos with glee,
Proving Own.NET's value — just wait and see! 🌿

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately summarizes the three main changes: documentation drift fixes, positioning refinement, and recording of consolidation backlog items.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/positioning-hygiene

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

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4b5d6fa291

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/lifetimes.md Outdated
The positioning edits promised the engine emits a `[profile: wpf]` label, but the
renderers only carry/render a resource kind: `ownlang/diagnostics.py` emits
` [resource: ...]` from `resource_kind`, and `ownlang/ownir.py` renders
human/GitHub/MSBuild findings with `[resource: ...]` only. Anyone asserting CLI
output would look for metadata the tool never emits.

Fix (docs-only, in the spirit of this doc-accuracy PR): say the engine emits the
core code + a `[resource: ...]` kind tag, and note a dedicated `[profile: ...]`
label is NOT emitted today -- it is a consolidation-backlog item. ROADMAP,
lifetimes.md catalog note, and the consolidation note all corrected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rg8kSk1YT14x7A1vo5zgED
@PhysShell
PhysShell merged commit 09389d3 into main Jun 19, 2026
17 checks passed
PhysShell pushed a commit that referenced this pull request Jun 19, 2026
…cle run

CodeRabbit (PR #41) correctly flagged that the note cited oracle.md /
real-world-mining.md as evidence for a WalletWasabi 3-way oracle run, but
those files document the ScreenToGif and Dapper runs — WalletWasabi is not
written up anywhere in docs/. The WalletWasabi mining/oracle happened in CI
but its result was never distilled into the repo, so the citation was broken.

Retarget the "differentiation is already demonstrated" claim to the
*documented* ScreenToGif oracle result (SystemEvents error + VideoSource
warnings, own-only; CodeQL has no "subscribed-never-unsubscribed" query,
Infer# misses it too — all in real-world-mining.md "Cross-tool validation"),
and label the larger WalletWasabi run honestly as "exercised in CI, not yet
distilled into a committed corpus artifact" — which is precisely the
benchmark-corpus backlog item, not a result to lean on. Same fix in the
backlog bullet.

The other flagged reference (consolidation-and-positioning.md) was a
merge-timing artifact: it lives in #38, which merged ~3 min after the review;
the branch is now rebased onto main, so the file is present.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rg8kSk1YT14x7A1vo5zgED
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