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
<ExecCommand="dotnet tool run graphify run "$(MSBuildThisFileDirectory)src" -o "$(MSBuildThisFileDirectory)docs\graph" -f json,report"
Plan and execute a careful migration of the entire solution from .NET 8 to .NET 10, then integrate the [Graphify](https://github.com/willibrandon/graphify) package (a .NET 10 dependency) to generate a structural graph of the codebase and wire it to Claude for enhanced code understanding and navigation.
510
-
511
-
### Impact
512
-
.NET 10 (LTS) brings performance improvements, new C# language features, and long-term support beyond .NET 8. The Graphify integration would give Claude (and operators) a machine-readable dependency/call graph of the server codebase, enabling more accurate impact analysis, smarter navigation, and reduced hallucination risk when reasoning about unfamiliar subsystems.
510
+
Integrated `graphify-dotnet` (https://github.com/elbruno/graphify-dotnet) as a local dotnet
511
+
tool. Generates a structural JSON graph and Markdown architecture report before every
512
+
`Perpetuum.Server` build. CI publishes the report to the GitHub Wiki on each push to `develop`.
513
513
514
-
### Proposed Implementation
515
-
516
-
**Phase 1 — .NET 10 upgrade**
517
-
- Audit current NuGet dependencies for .NET 10 compatibility; flag any packages with no .NET 10 target or known breaking changes.
518
-
- Update all `<TargetFramework>` entries in `.csproj` files from `net8.0` to `net10.0`.
519
-
- Address any breaking API changes surfaced by the build (`dotnet build`): BCL changes, removed APIs, updated semantics.
520
-
- Update the CI workflow (`.github/workflows/dotnet.yml`) to use the .NET 10 SDK.
521
-
- Validate a full Release build and a local server run before proceeding to Phase 2.
522
-
- Update `docs/STACK.md` to reflect the new runtime version.
523
-
524
-
**Phase 2 — Graphify integration**
525
-
- Add the Graphify NuGet package to the solution (targeting the appropriate project — likely a standalone tooling project or the AdminTool).
526
-
- Configure Graphify to analyze the `PerpetuumServer2` solution and output a dependency/call graph in a Claude-consumable format (JSON, Markdown, or Graphify's native output).
527
-
- Define what graph artifacts are most useful for Claude: namespace dependency graph, class hierarchy, inter-module call graph, or a combination.
528
-
- Automate graph regeneration (e.g. as a pre-build step or CI artifact) so the graph stays current as the codebase evolves.
529
-
- Document how Claude should load and interpret the graph output — update `.claude/knowledge/architecture.md` with a pointer to the graph artifact and a brief explanation of its structure.
0 commit comments