Skip to content

docs: correct architecture-diagram drift against current source - #135

Merged
dynamics365ninja merged 1 commit into
mainfrom
docs/architecture-audit-2026-08
Aug 5, 2026
Merged

docs: correct architecture-diagram drift against current source#135
dynamics365ninja merged 1 commit into
mainfrom
docs/architecture-audit-2026-08

Conversation

@dynamics365ninja

Copy link
Copy Markdown
Owner

What

docs/ARCHITECTURE.md and docs/img/solution-architecture-diagram.svg were last touched 2026-06-12/15. Since then HTTP transport (#114), the modification journal + d365fo undo (#113), d365fo modify method via the bridge (#112), d365fo connect <url>, and the Copilot/Claude skill bundle (#127) all landed without the diagram or ARCHITECTURE.md being updated to mention them.

Triggered by noticing upstream d365fo-mcp-server did the identical self-audit on itself on 2026-08-04 (PR #811, "the bridge is not the sole write path") — same category of drift, just further along here.

Corrections (each verified against source, not against the previous docs)

Claim Was Now Source
MCP tool count 20 / 22 / 26 (disagreed across docs) 24 new Descriptor( count in src/D365FO.Mcp/ToolCatalog.cs
Bridge write scope (SVG) "all generate writes" "install-to writes" most scaffolders write XML directly; bridge only used with --install-to
Form pattern catalog 18 top-level / 19 sub-patterns 20 / 16 FormPatternCatalog.cs
Lint rule table runbase-no-can-go-batch, unknown-label-ref (don't exist in code) batch-no-cango, public-instance-field LintCommand.cs
generate command count (SVG) 24 types 29 Program.cs registrations, incl. simple-list alias
Followups doc "ships as a .NET global tool via NuGet" git-clone-and-build (no PackAsTool/packaging configured) csproj/Directory.Build.props

Also

Added three short ARCHITECTURE.md sections that were previously undocumented there (despite already being covered in CAPABILITIES.md/README.md): HTTP transport, Modification journal & undo, Editor connect (d365fo connect).

Known gap

The SVG's "Command Groups" panel has no room left to add modify/undo/journal labels without resizing the panel — flagged as a follow-up rather than force-cramming text.

Verification

  • Upstream repo confirmed at the same HEAD (7c0fef6) as the existing docs/followups/upstream-port-2026-08.md boundary — no new upstream commits to fold in.
  • SVG re-checked as well-formed XML after edits; no geometry/coordinates touched, only <text> contents.
  • Documentation-only change; no code touched.

🤖 Generated with Claude Code

docs/ARCHITECTURE.md and docs/img/solution-architecture-diagram.svg were
last touched 2026-06-12/15; since then HTTP transport, the modification
journal/undo, d365fo connect, and the Copilot/Claude skill bundle all
landed without the diagram or ARCHITECTURE.md being updated. Verified
every quantitative claim against source and corrected what had drifted:

- MCP tool count disagreed three ways across docs (20/22/26) against the
  actual 24 Descriptor entries in ToolCatalog.cs.
- The bridge box in the SVG claimed "all generate writes"; most
  scaffolders write XML directly, the bridge is only used with
  --install-to.
- FormPatternCatalog counts (18/19) were stale against the actual 20
  top-level patterns / 16 sub-patterns.
- Lint rule table listed two rules that don't exist in code
  (runbase-no-can-go-batch, unknown-label-ref) instead of the real
  batch-no-cango / public-instance-field.
- Added HTTP transport, modification journal/undo, and d365fo connect
  as new ARCHITECTURE.md sections — previously undocumented there even
  though CAPABILITIES.md/README already covered them.
- Corrected the followups doc's claim that the CLI "ships as a .NET
  global tool via NuGet" — no PackAsTool/tool packaging exists; it's
  git-clone-and-build today.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@dynamics365ninja
dynamics365ninja merged commit 23a59ce into main Aug 5, 2026
4 checks passed
@dynamics365ninja
dynamics365ninja deleted the docs/architecture-audit-2026-08 branch August 5, 2026 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant