Skip to content

v1.1.0 — .NET / C# adapter

Choose a tag to compare

@traviswye traviswye released this 09 Jun 18:08
· 8 commits to main since this release

v1.1.0 — .NET / C# adapter ship (CsharpAdapter via csharp-ls Roslyn LSP wrapper)

First production-tool cycle ship post-v1.0 public launch. Five-language
baseline established (TypeScript / Python / Go / Ruby / C#).

Highlights:

  • CsharpAdapter (src/adapters/csharp.ts; 1397 LOC) implementing all
    6 LanguageAdapter capabilities (listSymbols / getSymbolDetails /
    findReferences / getDiagnostics / getTypeInfo / getDocstring) against
    csharp-ls 0.24.x (community wrapper around Microsoft's
    Microsoft.CodeAnalysis.LanguageServer / Roslyn LSP). .NET SDK 8
    minimum (10+ recommended; matches Travis cohort backend pin).

  • ADR-22 (docs/adr/ADR-22-csharp-adapter-roslyn.md; 689 lines).
    Documents wrapper-as-cohort-vehicle decision with maintenance-tail
    mitigations (A2 fallback path; minimum-version pin + major-version
    block [0.24.0, 1.0.0); doctor staleness signal v1.1.x candidate);
    pull-model diagnostics; File-kind-1 wrapper skip; Roslyn-overload-
    disambiguation symbol naming convention; Windows PATH-enrichment
    for %USERPROFILE%.dotnet\tools.

  • Phase 0 Roslyn probe spike (docs/adr/csharp-roslyn-probe/).
    K-2-ii consolidated archival — probe script + 1917-line findings-
    baseline + README + smoke-skeleton. Spike outcome: 4/4 spike checks
    validated empirically before ADR-22 authoring; substantively
    prevented mid-cycle amendments.

  • Cross-adapter conformance test substrate
    (src/adapters/csharp.conformance.test.ts; 14 tests). Plus Phase 4
    Path β-parallel harness amendment (src/adapters/conformance.ts) for
    C# parameter-list-in-name divergence (Roslyn-overload-disambiguation
    convention); parallel discipline pattern to Ruby v0.9 c54ff7c
    kind-divergence flexibility.

  • Doctor C# environment substrate
    (src/doctor/checks/csharp-environment.ts; 4 checks: dotnet_version,
    csharp_ls_findable, csharp_ls_version range pin, project_files_detected).

  • Integration sweep across README + DESIGN + ROADMAP + package.json

    • init scaffolding + state-detection ATLAS_SUPPORTED_LANGUAGES
      expansion. C# joins as 5th adapter in language-enumeration surfaces.

Cycle outcomes:

  • ADR-22 amendment count at cycle close: 0 (matches Pyright/gopls
    precedent; vs Ruby's 5 amendments).
  • Test suite at cycle close: 1759/1759 (was 1738 at session start;
    +21 net from Phase 4-5 work).
  • 4-commit cadence per Option B (Phase 0-3 / Phase 4 / Phase 5 /
    Phase 6 ship) per Travis adjudication.

Cohort impact: .NET adapter unlocks Travis production repos
(apis 100% .NET / C#; mobileapp .NET MAUI cross-platform) —
combined ~6,000 .cs files surface. Federation Shape 1 (v1.1.x) +
generate-adrs + atlas extraction follow as natural sequencing for
three-repo product family dogfood.

Follow-up substrate (deferred from ship per minimal-scope discipline):
v1_1-HANDOFF.md -> v1_2-HANDOFF.md inheritance; .contextatlas/atlas.json
v1.1.0 substrate refresh; research/v1.1-candidates.md ->
research/v1.2-candidates.md migration; csharp-ls staleness signal at
doctor (v1.1.x candidate).

Full cycle substrate-record at docs/cycles/v1_1/v1.1-PROGRESS.md.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com