Human Outcome Reporting
Explain what the user can now do, which requirements were verified, and what remains open. Works with Datarim or as a standalone skill.
A report you can understand on its own
Human Outcome Reporting 0.3.3 explains the product result before the internal activity. A progress update identifies a meaningful change; a final report connects the original request to the delivered outcome and the evidence. Missing checks, stale results, and checks on another version or environment remain visible.
Readable words and numbers
Version 0.2.3 keeps normal spaces in dates, counts, role numbers and version labels. Advisory prose checks flag obvious joins outside code, paths and literal identifiers. They never rewrite canonical names or prove that every reader understands a report.
What it changes
- Separate work performed, criteria verified, delivery, and human acceptance.
- Explain unfamiliar project terms where they appear.
- Use the appropriate profile for a feature, bugfix, research, operations, release, or ordinary answer.
- Keep the explanation complete; there is no hard word cap that hides an unmet requirement.
- Keep exact installation prompts, machine formats, permissions, and security controls intact.
Installation and use
Datarim commands load the shared skill from the project runtime. It can also be installed independently for Claude Code, Codex, and Cursor. See the reporting installation guide. Installing the skill does not install the Datarim workflow.
Independent language preferences
Reply language and generated artifact language both default to English and can differ. The shared helper reads user preferences from $XDG_CONFIG_HOME/datarim/config.yaml or ~/.config/datarim/config.yaml, plus shared and private project defaults when selected. A change needs no reinstall. Native rules retain authority; preserve quotations, code and machine values. Configure languages.
Fixed renderer labels use language catalogs. Unavailable catalog coverage is disclosed as an English fallback; supplied prose is not automatically translated. A fresh-session observation is needed to establish behavior in a particular client.
Before the first message
Standalone installation registers synchronous SessionStart callbacks for supported Codex and Claude Code clients. They resolve current user and project preferences before the first progress message; Cursor keeps its native startup integration. Review the new exact Codex hook definition through /hooks. The installer does not grant trust or change permissions, and preserves existing foreign and safety hooks. Installed files, native activation and observed model behavior are separate checks.
Current project and prompt preferences
A nearest datarim/config.local.yaml selects its own project, including below an ancestor framework. Malformed settings or a broken private marker are errors, not an ancestor fallback. Claude uses owned synchronous UserPromptSubmit, PostToolUse and PostToolUseFailure reminders before submitted prompts and after completed or failed tools. They add language context without changing outputs, decisions or permissions. Post-tool JSON input is bounded to 1 MiB; startup and prompt input retain 64 KiB. Invalid or oversized metadata discloses unresolved preferences. Failed-tool callbacks exclude permission denials, pre-execution validation failures and cancellations. Codex has no per-turn callback in this installer; start a fresh conversation when earlier context remains. Generated callbacks execute current helper source instead of a preexisting helper bytecode cache, preserve foreign caches and do not write helper bytecode. File checks leave runtime, startup, per-turn and post-tool activation unmeasured. Native trust and actual observations remain separate; no rule guarantees every future model answer.
Notes inside replies
A reusable note or document excerpt authored inside a reply is an artifact: its generated prose and examples use artifact language. The surrounding explanation, first sentence, progress and narration before and after tools use reply language. An explicit document-language request changes only that artifact; a reply-language request changes only reply prose. Do not add an unrequested translated example. Explicit bilingual or translation requests retain precedence; verbatim input, code and machine identifiers remain intact.
Explain again
/dr-explain restates an existing outcome or explains a term without changing files, running tests, deploying, or accepting the result.
How the pieces connect
The shared skill governs report meaning. Human Summary keeps the four familiar headings for QA, compliance, and archive. Commands, agents, templates, the requirement graph, and report records all refer to the same contract. Read the versioned source.
Limits
Automated validators check report structure and evidence bindings. They cannot guarantee that every reader understands an explanation, and discovering an installed skill does not prove that a particular client session loaded it.