AIGuiders.Platform.Modeling.LanguageIntelligence.Relations
0.1.0
dotnet add package AIGuiders.Platform.Modeling.LanguageIntelligence.Relations --version 0.1.0
NuGet\Install-Package AIGuiders.Platform.Modeling.LanguageIntelligence.Relations -Version 0.1.0
<PackageReference Include="AIGuiders.Platform.Modeling.LanguageIntelligence.Relations" Version="0.1.0" />
<PackageVersion Include="AIGuiders.Platform.Modeling.LanguageIntelligence.Relations" Version="0.1.0" />
<PackageReference Include="AIGuiders.Platform.Modeling.LanguageIntelligence.Relations" />
paket add AIGuiders.Platform.Modeling.LanguageIntelligence.Relations --version 0.1.0
#r "nuget: AIGuiders.Platform.Modeling.LanguageIntelligence.Relations, 0.1.0"
#:package AIGuiders.Platform.Modeling.LanguageIntelligence.Relations@0.1.0
#addin nuget:?package=AIGuiders.Platform.Modeling.LanguageIntelligence.Relations&version=0.1.0
#tool nuget:?package=AIGuiders.Platform.Modeling.LanguageIntelligence.Relations&version=0.1.0
AIGuiders.Platform.Modeling.LanguageIntelligence.Relations
Typed relation vocabulary for language intelligence — resolve tiers, dependency and type-system edge kinds, document geometry, and the RelationSpec witness exchanged before any resolve or materialize.
What you get
ResolveTier—Syntax = 1/Semantic = 2; how deep a stored resolution goes (no text tier, by design)- Edge-kind vocabularies with stable wire strings (
toWire/tryParseround-trips):DependencyRelationKind—Uses,TypeUses,Binds,Imports,SyntaxDependsTypeSystemRelationKind—ImplementsInterface,Extends,Instantiates
- Document geometry (
RelationGeometry.fs):TextSpan,LineRange(buffer offsets[Start, End)withcreate/length/contains),LineRangeHint,SymbolRef(container / name / arity),DocumentPlace(Fragment/Obligation/Package),DocumentRef(DocId/File),NavSeed,ResourcePath,SurfaceVersion,DocumentText,DocumentMeta+DocumentRegistry,DiagnosticRecord+DiagnosticIndex,ResolveCtx,AddressRef Locus— where intelligence attaches:Syntax(doc + node + span) orSemantic(doc + symbol + span)RelationSpec— the typed witness produced before anything is resolved or materialized:CodeEdit,DocToCode,Diag,Address,Nav,Resource, withCodeTarget=Symbol/TreeNode- Pure data: depends only on identity ids (
Modeling.Core) andLogicalPath(Modeling.Paths) — no parsers, no IO
Quick start
open AIGuiders.Platform.Modeling.LanguageIntelligence.Relations
// Edge kind wire round-trip
let edge = DependencyRelationKind.tryParse "type-uses" // Some TypeUses
let wire = DependencyRelationKind.toWire TypeUses // "type-uses"
// Buffer-offset geometry
let range = LineRange.create 10 20
LineRange.contains 15 range // true
// Where a stored resolution landed
let tier = ResolveTier.Semantic
Problem
- Edit-intelligence features — attach metadata to code, sniper-style edits, doc-to-code links, "jump from this diagnostic" — each invent their own locators: line/column tuples, path strings, path + member pairs.
- They drift, and nothing records how deep a locator actually resolved: a syntax-tree node and a checked symbol are different durability classes, but ad-hoc locators cannot say which one you hold.
Solution
- One closed, typed vocabulary:
Locus+ResolveTierfor places and their depth, edge kinds with stable wire strings, andRelationSpecas the single witness exchanged at the host boundary before resolve/materialize — bracket wires and legacy locator strings parse into it, nothing attaches to code without it. - It is the F# SSOT of the federation's language-intelligence relation surface, superseding the public Anchor entity for attach/persist paths — ADR-0025 · ADR-0063.
When not to use
- Expecting engines from the vocabulary: nothing here resolves a
RelationSpec, computes symbol uses, or touches files — resolvers and hosts live in consuming packages. - Plain-text addressing by design:
ResolveTierisSyntax/Semanticonly — if your locators are raw text spans with no syntax or semantic backing, this tier model deliberately has no slot for them. - LSP-adjacent but not LSP: spans are house-shaped (
TextSpan, buffer-offsetLineRange), not UTF-16 line/character conventions, and there is no JSON-RPC mapping.
Learn more
MIT · Source & issues · part of the Guiders federation
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- AIGuiders.Platform.Modeling.Core (>= 0.1.0)
- AIGuiders.Platform.Modeling.Paths (>= 0.1.0)
- FSharp.Core (>= 10.1.401)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on AIGuiders.Platform.Modeling.LanguageIntelligence.Relations:
| Package | Downloads |
|---|---|
|
AIGuiders.Platform.Modeling.Documentation.Correspondence
Documentation correspondence wire shapes — CRS model, forward/reverse map shapes (F# SSOT). |
|
|
AIGuiders.Platform.Modeling.Navigation
Navigation scene IR — anchor, nodes, edges, caps (F# SSOT). |
|
|
AIGuiders.Platform.Modeling.Ide.Session
IDE solution session graph IR — projects, capabilities, lifecycle, validation (F# SSOT). |
|
|
AIGuiders.Platform.Modeling.Build
Neutral build-result model — diagnostics as RelationSpec.Diag witnesses. |
|
|
AIGuiders.Platform.Modeling.CommandPlane
CommandPlane M-shapes — prefix-arm match algebra, constructor definitions, locale date parse (F# SSOT, ADR-0003 §4.6, GUIDERS-ADR-0037/0038). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 152 | 10/24/2026 |