Skip to content

Add property-level KDoc across public message models #46

@nficano

Description

@nficano

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationseverity:mediumMedium severity issue

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions