TheAngryByrd / TheAngryByrd/MrBuild

Implement the first engine-backed Project Mode feature slice

Open
#26 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ready-for-agent wayfinder:task
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.