Skip to content

docs: add .agents/ AI-native knowledge base and slim CLAUDE.md#301

Merged
maximn merged 5 commits into
masterfrom
maximn/ai-native-agents-docs
Jun 14, 2026
Merged

docs: add .agents/ AI-native knowledge base and slim CLAUDE.md#301
maximn merged 5 commits into
masterfrom
maximn/ai-native-agents-docs

Conversation

@maximn

@maximn maximn commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Summary

Makes the repo AI-native: a lean CLAUDE.md entry point that routes into a new curated .agents/ knowledge base, plus fixes to stale docs that were actively misleading (removed-in-2.0 static facade, wrong target frameworks, Newtonsoft references). Docs only — no production code changes.

Related issue

n/a. Tech debt surfaced during the audit is filed separately as #292#300 (all labelled tech-debt) and logged in .agents/known-issues.md.

Changes

  • New .agents/ — index README.md (router) + 12 focused, agent-facing docs: architecture, adding-a-new-api, api-catalog, serialization, observability, testing, dependency-injection, build-release-ci, public-api, conventions, known-issues. Each is grounded in real path:symbol references and links to the canonical human docs rather than duplicating them.
  • Rewrote CLAUDE.md into a lean entry point: 30-second architecture, the commands used in most sessions, the rules that break the build/release, and a routing table into .agents/.
  • Fixed stale docs (.claude/commands/{format,pack,restore,test}.md, docs/index.md, PULL_REQUEST_TEMPLATE.md, CONTRIBUTING.md): target frameworks are netstandard2.0;net8.0;net10.0; the entry point is the instance-based GoogleMapsClient/IGoogleMapsClient (no static facade); serialization is System.Text.Json; corrected the test command (real Billable gating, not a broken TestCategory!=Integration filter).

Test plan

Documentation-only change — no .cs/.csproj/workflow/script files were touched (verified via git status), so the build and test suite are structurally unaffected. Validation performed:

  • All routing links in CLAUDE.md and .agents/README.md resolve to existing files.
  • Stale-TFM sweep (net6.0/net7.0/net481/net462/net60) is clean except intentional "what was dropped/dead" mentions in the new docs.
  • Routing sanity check: a fresh agent given only CLAUDE.md + .agents/README.md correctly routed common tasks (adding an API, observability, billable tests) and stated the entry point / TFMs / no-static-facade accurately.

Checklist

  • dotnet format — n/a, no C# changed.
  • dotnet test — n/a, docs-only; no code paths affected.
  • Multi-framework build passes — unaffected (no code/csproj changes).
  • XML documentation updated if public API surface changed — n/a, public surface unchanged.

Make the repo AI-native: give agents an accurate, navigable knowledge base
so sessions start with the right mental model instead of stale prose.

- Add .agents/ with an index README + 12 focused, agent-facing docs:
  architecture, adding-a-new-api, api-catalog, serialization, observability,
  testing, dependency-injection, build-release-ci, public-api, conventions,
  known-issues. Each is grounded in real path:symbol references and links to
  the canonical human docs rather than duplicating them.
- Rewrite CLAUDE.md as a lean entry point (30-second architecture, the
  commands used most, build/release rules, and a routing table into .agents/).
- Fix stale framework/architecture drift in .claude/commands/*, docs/index.md,
  PULL_REQUEST_TEMPLATE.md, and CONTRIBUTING.md: target frameworks are
  netstandard2.0;net8.0;net10.0, the entry point is the instance-based
  GoogleMapsClient (no static facade), and serialization is System.Text.Json.

Docs only — no production code changes. Tech-debt surfaced during the audit
is logged in .agents/known-issues.md and tracked in #292-#300.
@github-actions

github-actions Bot commented Jun 13, 2026

Copy link
Copy Markdown

🔬 TestGlance

✅ 249 passed across 1 job — 95.8% · ⏱️ 11.2s

Job Result Pass rate Duration Health
build 249/260 · 95.8% → 11.2s ↑ Report
🟡 build — details

✅ 249 passed · ⏭️ 11 skipped
███████████████░ 95.8%
⏱️ 11.2s
📈 Pass rate: 95.8% → (-0.9%) · Duration: 11.2s ↑ (+1.3s, +12.6%) · Tests: 260 (+0)

vs master

Metric master PR Delta
Pass rate 95.8% 95.8% +0.0%
Duration 11.5s 11.2s -2.3%

📄 HTML Report


Updated 2026-06-14T15:06:00.033Z

@maximn maximn self-assigned this Jun 13, 2026
maximn added 4 commits June 14, 2026 15:47
They wrapped single trivial dotnet commands (build/format/pack/restore/test)
with no project-specific logic, duplicating CLAUDE.md and .agents/, and had
already gone stale (wrong TFMs, Newtonsoft, broken test filter).
The catalog was written before #283/#287/#288 landed and listed only 12 of
the 19 services on IGoogleMapsClient. Adds the Roads (SnapToRoads,
NearestRoads, SpeedLimits), Solar (BuildingInsights, DataLayers, GeoTiff) and
Aerial View (sub-API) services with correct verbs and base classes, and
corrects the signing section: Roads/Solar are GET on MapsBaseRequest, so
verb no longer implies signability — the base class does.
- api-catalog: PlaceDetailsNew and PlacePhoto are GET, not POST (they
  override only GetUri(); GetRequestBody() returns null -> engine GETs).
  Refine the signing section's verb lists and add a Places mixed-verb gotcha.
- architecture/CLAUDE: MapsAPIGenericEngine is internal abstract (static
  methods), not a static class.
- architecture: IGoogleMapsClient now exposes 19 service properties
  (18 IEngineFacade + the AerialView sub-API), not 12.
- build-release-ci: default push/PR CI tests net10.0 only; net8.0 is
  workflow_dispatch-gated.
- serialization/known-issues: DurationJsonConverter does null-check its
  reflected members; reword B3 to the real issue (reflect-by-name +
  silent partial objects). UnixTimeConverter is one-way (DateTime -> Unix).
@maximn maximn merged commit b1a1725 into master Jun 14, 2026
6 checks passed
@maximn maximn deleted the maximn/ai-native-agents-docs branch June 14, 2026 15:07
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