You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ The server exposes a loop-shaped surface of eight tools, each one mental act, pl
15
15
-**`fuse_context`** - emit scoped, reduced source with a semantic manifest and per-file provenance for selected seeds.
16
16
-**`fuse_impact`** - blast radius for a symbol (callers, implementers, referencing types) from the persisted graph; also a NuGet upgrade break set via `package:{id,fromVersion,toVersion}`.
17
17
-**`fuse_check`** - typecheck a proposed single-file edit and return the diagnostics it would produce, with repair packets on API-shape errors. The verification-grade ladder means it never shrugs: oracle-grade against the build-captured compilation when tier-1 is available, else build-grade by running `dotnet build` scoped to the owning project, abstaining only when even the toolchain cannot run.
18
-
-**`fuse_test`** - run the covering tests for a symbol (the tests that reach it through the persisted `tests` edges), scoped by filter so the whole suite never runs.
18
+
-**`fuse_test`** - run the covering tests for a symbol (the tests that reach it through the persisted `tests` edges), scoped by filter so the whole suite never runs. Candidate racing (`candidates`): speculatively typecheck several proposed single-file edits against one resident compilation and get a per-candidate verdict plus a winner by strict dominance (a clean candidate beats any with errors; ties reported), so an agent weighing plausible fixes learns which survives without picking on vibes.
19
19
-**`fuse_refactor`** - compiler-executed, verify-gated refactors staged as a diff: rename, add/remove/reorder-parameter, add-cancellation-token, extract-interface, move-type, apply-codefix. Each recompiles and returns the diff only when no new diagnostic is introduced, else abstains.
20
20
-**`fuse_review`** - diff-first change impact and packed context, opening with a public API delta and carrying a paste-ready PR handoff packet (`handoff=true`) gated on a clean check session.
21
21
-**`fuse_reduce`** - compact a known set of files or raw content; the one utility outside the loop.
@@ -24,7 +24,7 @@ The MCP server also exposes playbook prompts (anchored plans that teach the veri
24
24
25
25
### Verification and honesty
26
26
27
-
-**The verification-grade ladder.** Every `fuse_check` answer is stamped `oracle` (a speculative in-memory typecheck against the tier-1 build-captured compilation), `build` (the real `dotnet build` toolchain scoped to the owning project, parsed into the same shape), or `abstain` (only when even the toolchain cannot run, always naming the missing prerequisite). The build-grade path never writes the working tree; it mirrors the owning project to a temporary directory with the one file replaced and project references rewritten to absolute paths.
27
+
-**The verification-grade ladder.** Every `fuse_check` answer is stamped `oracle` (a speculative in-memory typecheck against the tier-1 build-captured compilation), `build` (the real `dotnet build` toolchain scoped to the owning project, parsed into the same shape), or `abstain` (only when even the toolchain cannot run, always naming the missing prerequisite). The build-grade path never writes the working tree; it mirrors the owning project to a temporary directory with the one file replaced and project references rewritten to absolute paths. Because a rehydrated compilation is analyzed, never emitted, strong-name signing is neutralized before its diagnostics are read, so a captured relative key-file path that does not resolve in the rehydration sandbox never surfaces as a spurious signing error (CS7027) nor drops a cleanly building strong-named repository below tier-1.
28
28
-**Delta mode and persisted sessions.** Pass a `session` id with no content and `fuse_check` returns the diagnostics your on-disk edits introduced or resolved since the session baseline. Baselines persist to the store, so a restarted process resumes intact; `markGreen` resets the baseline and `full` returns the whole current set. Delta mode never runs a build; it reads whole-state diagnostics from a live resident workspace and abstains when none serves the root.
29
29
-**Repair packets.** An API-shape diagnostic (a missing member, an unknown type, a missing argument, a wrong-type assignment) carries a machine-applicable fix (the offending token and the nearest recorded name to substitute), rendered as an `apply: replace 'X' with 'Y'` line, drawn from the persisted symbol table so the fix costs no round-trip.
30
30
-**Analyzer and nullable parity.** When a resident workspace serves the root, `fuse_check` also runs the repository's configured analyzers and nullable warnings against the overlay at the editorconfig severities, so a green check matches what CI's build step enforces. On by default for the single-file verify, off for the hot per-edit delta path.
@@ -46,7 +46,7 @@ One `fuse host` daemon per repository can hold the resident workspace as a share
46
46
47
47
-**The persistent index.** A single SQLite database at `.fuse/fuse.db` (WAL mode) holds files, projects, symbols, chunks, a typed semantic graph, routes, and an FTS5 full-text index. The workspace loads through MSBuild and Roslyn with a syntax-only fallback; re-indexing is incremental per changed file, and no read tool serves silently stale data (a warm store is reconciled against the current on-disk content before it answers).
48
48
-**The wiring analyzers.** The semantic analyzers resolve DI registration and constructor injection (including keyed DI), MediatR request-to-handler, ASP.NET route-to-action, options binding, EF Core, Scrutor decoration, factory and hosted-service registration, pipeline behaviors, minimal-API, gRPC, and SignalR. Persisted `references` and DI-resolved `tests` edges back `fuse_impact` and covering-test selection.
49
-
-**Retrieval.** A deterministic lexical channel (BM25F over the FTS5 table) with offline subword, stem, and comment bridges plus dependency-centrality and git co-change priors. No model is fetched or shipped. Ranked task localization is the fallback mode; the precise path is an anchor (symbol, route, service, request, config, git base) resolved through the graph.
49
+
-**Retrieval.** A deterministic lexical channel (BM25F over the FTS5 table) with offline subword, stem, and comment bridges plus a dependency-centrality prior. No model is fetched or shipped. Ranked task localization is the fallback mode; the precise path is an anchor (symbol, route, service, request, config, git base) resolved through the graph. The git co-change prior is off by default: its semantic-mode re-adjudication on corpus v2 recorded it as net-negative to ranking (MRR 0.434 with the prior versus 0.489 without), so it was dropped from the shipping default; the ranking gate keeps it measured behind a diagnostic config.
50
50
-**Multi-language syntax tier.** A provider seam drives the syntax tier; C# is first-party, and Python and JavaScript/TypeScript are supported at the syntax tier. Each indexed file carries a `language` tag. The deep typed graph is C#/Roslyn only.
51
51
-**Tier-1 build capture is default-on and the worker is bundled.** The oracle is the product: the build-capture worker ships inside the global tool (under `build-capture/` beside `fuse`) and is discovered with no configuration, and tier-1 build capture is attempted by default. It degrades cleanly when no build target exists or a build fails (to the MSBuild and syntax tiers), and opts out with `FUSE_BUILD_CAPTURE=0`. In `fuse mcp serve` the cold start is syntax-first with a supervised background upgrade to the semantic/tier-1 graph, so the first reads return in seconds while the build runs behind them; the availability header names when a build is running for tier-1, and `FUSE_BG_UPGRADE=0` opts back into a synchronous first read. `fuse index` on the CLI is always synchronous.
52
52
-**Portable capture bundles.**`fuse capture --out <bundle>` builds once and packages the compiler log, the extracted graph, and a versioned manifest; `fuse index --from-capture <bundle>` rehydrates the semantic graph and answers `fuse_check` at oracle grade on a machine that cannot restore or build, with no build. The bundle never ships the MSBuild binary log, and a planted secret fails the capture closed. An in-repo GitHub Action captures a bundle on `main`. `fuse capture --merge <dir>` assembles a bundle from per-project fragment binary logs (a build-target channel), equal in extracted graph to a direct capture; the bundle format is backward-compatible (a newer Fuse reads an older bundle; a bundle newer than the running Fuse is refused with an actionable message).
0 commit comments