Skill Core

Human Summary

Plain-language operator-facing recap (4 fixed sub-sections, 150–400 words, no jargon, no tables) emitted at the end of /dr-qa, /dr-compliance, and /dr-archive. Anglicism banlist + universal-term whitelist + per-paragraph escape hatch + severity ladder (info / warn / block).

Overview

Human Summary is the canonical contract for the plain-language recap emitted at the end of /dr-qa, /dr-compliance, and /dr-archive. The recap sits between the technical block (verdict, archive write, validation checklist) and the next-step block. It targets a human reader who has not opened any file and is not a programmer — a fast read, not a faithful index of the technical output. As of Datarim v2.8.0 the contract is enforced by an anglicism banlist, a universal-term whitelist, a per-paragraph escape hatch for verbatim quoted blocks, and a severity ladder that escalates from advisory to hard rejection at the fifth offence.

Why it exists

Datarim's technical output is optimized for an agent in the loop: verdicts, file paths, validation checklists, structured CTAs. A human operator reading the chat wants four answers: what was done, what worked, what didn't, what's next. Without this skill, the operator opens the archive document to extract those four answers. With it, the four answers are right there in the chat, above the CTA, in 150–400 words.

Output contract

A markdown section with a heading (## Отчёт оператору in Russian, ## Operator summary in English) and four fixed sub-sections in order: «Что было сделано / What was done», «Что получилось / What worked», «Что не получилось / осталось открытым / What didn't work or is still open», «Что дальше / What's next». Language follows the operator's most recent message — Russian default for Arcanada consumers, English otherwise.

Style rules

  • Plain language. No jargon. In Russian text, no English loanwords when a Russian equivalent exists.
  • No tables. Bullet lists or running prose only.
  • No bare task identifiers — always pair with a one-phrase recap.
  • No acronyms without expansion (CI/CD, TDD, PRD).
  • No multi-level nested lists. One level of bullets only.
  • No emoji. No mixed-language summaries.
  • Hard upper bound: 400 words across all four sub-sections.

Banlist, Whitelist, Escape Hatch

Three orthogonal layers enforce plain language. A list of around fifty anglicism tokens is rejected in Russian prose; a list of around thirty universal technical terms (JSON, OAuth, HTTP, CLI, RFC, CI/CD, …) is always allowed. Inside a single recap the author may quote tool output, error text, or code verbatim by wrapping it in a fenced literal block; the fence is bounded by ≤ 15 lines per fence and ≤ 2 fences per recap. Banlist offences aggregate: first offence is advisory, third becomes a visible warning above the recap, fifth blocks the recap entirely with a one-line note and offers a re-run.

Archive Grandfathering

The contract validates the runtime emission only — the chat output and the optional appended section in the quality-review report and the compliance report. Archive documents written before this contract are never re-validated; adding a token to the banlist in a patch release does not retroactively flag historical archives.

Loaded by

Mandatory: /dr-qa (Step 8), /dr-compliance (Step 8), /dr-archive (Step 8). May be reused by other pipeline commands later with the same contract.

Tested by

tests/test-human-summary-contract.bats — 24 spec-regression tests guarding skill existence, the four mandated sub-headings, RU and EN mini-examples, the length budget declaration, the banlist and whitelist files, the per-paragraph escape-hatch contract, the severity ladder, the archive-grandfathering rule, and the cross-references from all three commands.