Atomic Review Process
Generated artifact. Do not edit manually.
Generated by:
scripts/build_compendia.pyRegenerate with:python3 scripts/build_compendia.py --compendium qa-ci-lanes --web-and-texSource of truth:docs/qa-ci/lanes-source/
Language / Sprache: English (EN) · Deutsch (DE) | PDF: English PDF · Deutsches PDF
Compendium: §1 CI Architecture · §2 Quality Dashboard · §3 Mapping Workbench · §4 Package Readiness · §5 Release-Model Conformance · §6 Dual Release Contracts · §7 Relation Checks · §8 Atomic Review · §9 Requires Review · §10 Human Review Gates · §11 MEM SPARQL Audit · §12 MEM SPARQL Runbook · §13 Source Rationales Runbook · §14 Abi 2026 DeepLink QA
8. Atomic Review Process
This chapter documents the repeatable manual authoring and QA workflow for verifying whether existing leaf goals (contains: []) of a skill landscape represent genuinely atomic didactic steps and splitting bundled goals cleanly (complementing the ledger-enforced CQR-301 gate in Semantic Atomicity Review).
8.1. Scope and Working Definition
Reviews inspect one landscape JSON file per pass across goals with contains: []. Goal kinds governed by dedicated QA lanes are intentionally excluded:
- memorization goals tagged
memorizationorsrs-deck:*, - exam or task-bundle goals carrying
examData, - motivation or orientation goals (
Motivation,Orientation).
A domain goal counts as atomic when all four criteria hold:
- It states one primary competence action.
- It is realistically assessable in 1–3 tasks.
- It represents one small didactic step relative to its prerequisites.
- It hides no independent sub-skills inside one umbrella sentence (warning signs: multiple verbs at distinct cognitive levels, multiple content subdomains, or separate proof obligations).
8.2. Seven-Step Review Workflow and Decision File
app/scripts/generateAtomicReport.ts (npm run report:atomic) prepares the decisions scaffold and findings report (../tmp/atomic_findings_<curriculum>.md containing summary counts, not_ok findings, and a full appendix):
cd app
npm run report:atomic -- \
--input ../curricula/<...>/json/<file>.json \
--decisions ../tmp/atomic_decisions_<name>.json \
--init-decisions
- Initialize or update the decisions scaffold.
- Decompose each leaf goal semantically (action verbs, content objects, expected competence proof).
- Judge whether splitting into 2–4 goals materially improves clarity and assessment (mark
not_okonly for genuine didactic precision gains, never for wording aesthetics alone). - Record
ok,not_ok, orpendingin the JSON decisions file:
{
"goals": {
"<goalId-a>": { "status": "ok" },
"<goalId-b>": {
"status": "not_ok",
"problem": "why the goal is bundled",
"proposal": "how to split it into 2-4 goals"
},
"<goalId-c>": { "status": "pending" }
}
}
- For
not_okgoals, specify 2–4 replacement goals with updatedtitle,description,requires, and parentcontains. - After applying accepted splits, check acyclicity, reference integrity, and weights (atomic goals normally retain
weight = 1; cluster weights reflect unique atomic descendant counts). - Run
cd app && npm run validate:graph.