XML Documentation Policy for v0.1.1.1
AIKernel.NET public APIs must provide bilingual XML documentation.
This policy applies to public interfaces, DTO records, enum types, enum values, public DTO properties, and public test skeleton members that intentionally document the contract surface.
Required Format
Inline XML documentation should include English and Japanese text in the same XML element. The preferred compact form uses explicit EN: and JA: markers.
/// <summary>\n/// EN: Describes a runtime status snapshot. JA: runtime status snapshot を記述します。\n/// </summary>\npublic sealed record RuntimeStatusSnapshot\n{\n /// <summary>EN: Gets the runtime identifier. JA: runtime identifier を取得します。</summary>\n public string RuntimeId { get; init; } = string.Empty;\n}
For method documentation, param, typeparam, and returns elements must also include Japanese text.
/// <summary>\n/// EN: Executes a runtime control operation. JA: runtime control 操作を実行します。\n/// </summary>\n/// <param name="request">EN: The request. JA: request パラメーターです。</param>\n/// <param name="cancellationToken">EN: The cancellation token. JA: キャンセル通知を監視するトークンです。</param>\n/// <returns>EN: The control result. JA: 結果を返します。</returns>\nValueTask<RuntimeControlResult> ControlAsync(\n RuntimeControlRequest request,\n CancellationToken cancellationToken);
External Include Format
Existing contract surfaces can use external XML documentation when both English and Japanese include files are present.
/// <include file="docs.en.xml" path="doc/members/member[@name='T:Example.Type']" />\n/// <include file="docs.ja.xml" path="doc/members/member[@name='T:Example.Type']" />\npublic interface IExample\n{\n}
Using only one language include file is not compliant.
Review Checklist
- Every public type has a bilingual
summaryor paired English/Japanese - Every public member has a bilingual
summaryor paired external include. - Every public method parameter has bilingual
paramdocumentation. - Every public generic parameter has bilingual
typeparamdocumentation. - Every public method return value has bilingual
returnsdocumentation. - XML documentation describes the contract surface and does not describe
external include.
implementation logic.
Verification
The repository can be checked with a documentation scan that verifies public declarations have bilingual XML documentation or paired docs.en.xml / docs.ja.xml includes. The normal build and test surface must also pass:
py tools\check_bilingual_xml_docs.py src\ndotnet build src\AIKernel.NET.slnx\ndotnet test src\tests\AIKernel.Abstractions.Tests\AIKernel.Abstractions.Tests.csproj --no-build
For cross-repository validation from the shared workspace root:
py AIKernel.NET\tools\check_bilingual_xml_docs.py `\n AIKernel.NET\src AIKernel.Core\src AIKernel.Control\src `\n AIKernel.Providers\src AIKernel.Wasm\src AIKernel.Cuda13.0\src `\n AIKernel.Tools\src AIKernel.Demo\src AIKernel.Doom\src
operations/XML_DOCUMENTATION_POLICY-v0.1.1.1.md