docs(events): detail is a real envelope member now
#227
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/events-module-detail"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follows the finding docs#226 recorded, which you merged while this was being written — so it is a fresh branch rather than a second commit on that one.
The finding, restated
§H told a module the revert contract accepts a
detailon its envelope.classify()readsok,retry,error,await,holdFor,resourcesandparticipantsand had never read adetail.module-uobelieved §H twice since Phase 12b —uo.item.grantanswers{ granted, missed, why }anduo.world.saveanswers{ started: true }— and both were writing into nothing.The grant is the one that mattered: a grant reaches the players a run's participation ledger holds, and which of them missed out is knowable only to the module, so an operator saw a step marked
doneand never learned four of twelve got nothing.Fixed by making the member real, not by deleting the reporting
§H's sentence was right; only its example was wrong. website#197 carries the code; this documents it.
MODULE_API.md§1.1, 1.10.0detailas a third envelope member beside Phase 10's two — optional, on both success shapes, objects only, 4KB, dropped-and-logged rather than failing the stepMODULE_API.md§2.4EVENTS.md§FdescribeLogLinedefault returns a kind word, so the new line would have rendered as the literal stringstep.detail: the channel existing and showing nothingEVENTS.md§Hdetailis unread, and no longer spells a successful revert with oneTwo rules are worth reading in §F rather than here, because they are the ones a later phase will be tempted to relax: anything wrong with a
detailis dropped and logged rather than failing the step — a step that did what it was asked must not be re-run because its module's commentary was malformed, which is a world write repeated for a log line — and the failure channel is unchanged and is stillerroralone.module-uoneeded no change: the code it already shipped started working.MODULE_API_VERSIONstays 1.10.0, amended in place — still onedge.🤖 Generated with Claude Code
https://claude.ai/code/session_016wDDVXWMDz82WqE1i969r4
detailis a real envelope member now ec55e66720Follows the finding recorded a commit ago: §H told a module the revert contract accepts a `detail`, `classify()` had never read one, and `module-uo` had been answering one since Phase 12b — so `uo.item.grant`'s report of which recipients missed out was written into nothing. Fixed in `website#197` by making the member real rather than by deleting the reporting, because §H's sentence was right and only its example was wrong. * **§1.1, 1.10.0** gains `detail` as a third envelope member beside Phase 10's two: optional, on both SUCCESS shapes, carried and never interpreted, objects only, 4KB, dropped-and-logged rather than failing the step. * **§2.4** gains the contract rule — core reads no key out of it, because a switch on known keys anywhere in core would be core learning one module's vocabulary. * **EVENTS.md §F** records the fix, including the half that is easy to miss: the run console's `describeLogLine` default returns a kind WORD, so the new line would have rendered as the literal string "step.detail" — the channel existing and showing nothing. * **§H's wipes row** no longer claims `detail` is unread. MODULE_API stays 1.10.0, amended in place — still on `edge`. The failure channel is unchanged and is still `error` alone. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016wDDVXWMDz82WqE1i969r4