JobStarted is declared at lib/src/main/kotlin/dev/arcp/messages/Execution.kt:117 with a single property, startedAt: Instant. The job-events guide at docs/guides/job-events.md:11 shows is JobStarted -> println("Job ${msg.jobId} is now running") — there is no msg.jobId; the job id lives on the envelope (env.jobId). A reader following the snippet would get a compilation error. The same guide's heartbeat and chunk snippets at docs/guides/job-events.md:36, docs/guides/job-events.md:69, and docs/guides/job-events.md:101 are correct in shape but should be re-checked against the message constructors while the file is being edited.
Fix prompt: Change the JobStarted example to is JobStarted -> println("Job ${env.jobId} started at ${msg.startedAt}"), and audit the rest of docs/guides/job-events.md to ensure every msg.<field> reference exists on the corresponding MessageType data class. Run a docs-snippet test (or compile the snippet through a hidden internal test target) so future drift is caught at build time.
JobStartedis declared atlib/src/main/kotlin/dev/arcp/messages/Execution.kt:117with a single property,startedAt: Instant. The job-events guide atdocs/guides/job-events.md:11showsis JobStarted -> println("Job ${msg.jobId} is now running")— there is nomsg.jobId; the job id lives on the envelope (env.jobId). A reader following the snippet would get a compilation error. The same guide's heartbeat and chunk snippets atdocs/guides/job-events.md:36,docs/guides/job-events.md:69, anddocs/guides/job-events.md:101are correct in shape but should be re-checked against the message constructors while the file is being edited.Fix prompt: Change the
JobStartedexample tois JobStarted -> println("Job ${env.jobId} started at ${msg.startedAt}"), and audit the rest ofdocs/guides/job-events.mdto ensure everymsg.<field>reference exists on the correspondingMessageTypedata class. Run a docs-snippet test (or compile the snippet through a hiddeninternaltest target) so future drift is caught at build time.