The public message model mostly documents each class with a one-line summary, but the primary-constructor properties that make up the wire API are usually undocumented. Representative examples include Capabilities at lib/src/main/kotlin/dev/arcp/messages/Session.kt:32, ToolInvoke and the execution messages starting at lib/src/main/kotlin/dev/arcp/messages/Execution.kt:17, artifact messages starting at lib/src/main/kotlin/dev/arcp/messages/Artifacts.kt:13, telemetry messages starting at lib/src/main/kotlin/dev/arcp/messages/Telemetry.kt:35, and permission messages starting at lib/src/main/kotlin/dev/arcp/messages/Permissions.kt:12. These are public API declarations, and Dokka will expose their names, defaults, and nullability without explaining protocol meaning, requiredness, or valid ranges.
Fix prompt: Add KDoc for every public constructor property in the message and model packages, using inline property KDoc or @property tags consistently. Include @constructor where the primary constructor has non-obvious invariants, add @throws to parsing and validation helpers that reject invalid wire values, and use KDoc links such as [MessageId], [SessionAccepted], and [ErrorCode] where they clarify relationships. Keep the first paragraph of each class KDoc as a meaningful summary, then put details and RFC references in following paragraphs so Dokka summaries stay useful.
The public message model mostly documents each class with a one-line summary, but the primary-constructor properties that make up the wire API are usually undocumented. Representative examples include
Capabilitiesatlib/src/main/kotlin/dev/arcp/messages/Session.kt:32,ToolInvokeand the execution messages starting atlib/src/main/kotlin/dev/arcp/messages/Execution.kt:17, artifact messages starting atlib/src/main/kotlin/dev/arcp/messages/Artifacts.kt:13, telemetry messages starting atlib/src/main/kotlin/dev/arcp/messages/Telemetry.kt:35, and permission messages starting atlib/src/main/kotlin/dev/arcp/messages/Permissions.kt:12. These are public API declarations, and Dokka will expose their names, defaults, and nullability without explaining protocol meaning, requiredness, or valid ranges.Fix prompt: Add KDoc for every public constructor property in the message and model packages, using inline property KDoc or
@propertytags consistently. Include@constructorwhere the primary constructor has non-obvious invariants, add@throwsto parsing and validation helpers that reject invalid wire values, and use KDoc links such as[MessageId],[SessionAccepted], and[ErrorCode]where they clarify relationships. Keep the first paragraph of each class KDoc as a meaningful summary, then put details and RFC references in following paragraphs so Dokka summaries stay useful.