TheAngryByrd / TheAngryByrd/MrBuild
Implement the first engine-backed Project Mode feature slice
Nobody has claimed this yet.
- Dominant language
- F#
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Parent
Part of #19
What to build
Make the standalone stateful analysis engine useful for an editor on the initial Project Mode corpus: a host commits a Project Snapshot and document updates, requests diagnostics, hover/type information, definition or declaration navigation, and completion, and receives immutable revision-tagged results. Stale results must be observable and rejectable without depending on completion order.
Acceptance criteria
- A platform-agnostic managed API accepts immutable Project Snapshots, Active Target identity, per-document versions, and independent document updates.
- One stateful analysis session serves diagnostics, hover/type information, definition/declaration navigation, and completion for the agreed supported corpus.
- Results are immutable and carry Workspace Revision, Freshness, and Availability values.
- Concurrent edits demonstrate latest-input-wins publication; superseded results are never presented as current.
- The feature slice has differential tests against the accepted FCS corpus and explicit assertions for incomplete and unsupported constructs.
- The standalone library and its tests build without an editor, MSBuild, LSP transport, or FCS dependency.
Blocked by
- #23 — Define differential correctness for the supported F# corpus
- #24 — Prototype a NativeAOT-compatible incremental syntax and dependency core
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the blocked prerequisites, issues #23 and #24, before starting this feature slice. Use their accepted corpus and incremental-core decisions to define the managed API and stateful session, then verify the acceptance criteria with differential and concurrency tests; done means the standalone library and tests build without editor, MSBuild, LSP, or FCS dependencies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fsharp
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100