A2 Delegation — Sorting The Review Checklist By Reversibility
Standard: AIHC.2.A2 · Bloom's: Analyze · Structure: PBL.
Notice the Say-See-Do cycles running on Maya R.'s actual work — not a canned exercise — and that every capability claim is cited to the frozen doc-set. The exit ticket climbs Bloom's to Analyze, and the lesson closes by writing to the ledger.
Learning objective
(Bloom's: Analyze) Analyze all six review-checklist.md categories by reversibility and
blast radius, and decide — with reasons, not tedium — which ones your
payments-first-pass-reviewer subagent (drafted in lesson 2) is actually allowed to own —
AIHC.2.A2 (Delegation).
Work at hand: lesson 2 left you with a subagent draft scoped loosely to "items 1, 4, 6." Today you check that scope against a real criterion instead of a hunch, using all six checklist items and this week's actual PR backlog.
SSD cycle 1 — the two questions that decide, not tedium
- SAY: "This is boring to check by hand" is not a delegation criterion — plenty of boring work is also high-stakes. AIHC's crosscutting concept X6 names the real test: reversibility (can a wrong call be undone cheaply?) and blast radius (how much does a wrong call touch if it isn't caught?). First delegations belong in the quadrant that's both reversible and verifiable — not the quadrant that's merely tedious.
- SEE: A 2×2, axes reversible↔irreversible and verifiable↔unverifiable, with your own six
review-checklist.mdcategories placed on it (not the exemplar's backlog — yours):VERIFIABLE UNVERIFIABLE REVERSIBLE [1] Decimal/rounding math | [4] PII scrubbed from logs | [6] secrets grep on diff | ------------------------------+------------------------------ IRREVERSIBLE | [2] API contract diff (external | partners already integrated) | [3] DB migration back-compat | [5] ledger idempotency + rollbackItems 1, 4, 6 land reversible+verifiable — a wrong subagent call costs a re-review, not a production incident. Items 2, 3, 5 touch things you can't cheaply undo once shipped: a breaking API change partners have already integrated against, a destructive migration, money in the ledger. - DO: On your own copy, confirm or correct this placement using your actual current backlog
(not the six abstract categories — the real PRs open on
payments-serviceright now). Note any item that moves quadrant based on this week's specifics (e.g., a migration that's purely additive might genuinely be reversible this time).
SSD cycle 2 — the subagent's scope becomes the delegation decision, in writing
- SAY: A delegation decision that lives only in your head isn't a decision the subagent can
act on. The 2×2's "delegate first" quadrant needs to become the actual
descriptionand scope note in the subagent file you drafted in lesson 2 — otherwise Claude Code has no way to know what you decided. - SEE: Doc-set §8 (Subagents), verbatim on what the file controls: "Each subagent gets its own context window, its own system prompt, and its own tool access/permissions." Your cycle-1 quadrant maps directly onto that: items 1/4/6 → this subagent's system prompt; items 2/3/5 → explicitly not in its system prompt, named as human-owned instead.
- DO: Edit your
.claude/agents/payments-first-pass-reviewer.mddraft from lesson 2: keep items 1, 4, 6 in its body as owned checks; add one explicit line — "Does NOT review items 2, 3, 5 — those stay human-reviewed; flag if a diff touches them so a human looks." That last clause matters: the subagent should notice it's near the boundary, not silently skip it.
SSD cycle 3 — what stays yours, and why tedium didn't win
- SAY: Items 2, 3, 5 are exactly the ones that eat your afternoon. That's not a reason to delegate them — under X6, high blast radius stays human-reviewed regardless of how tedious it is, because AIHC's other crosscutting concept, X7 (human bandwidth as the scarcest resource), means you spend your attention where a miss is expensive, not where a miss is merely annoying.
- SEE: Your own three "stays human" items, with the one-line blast-radius reason attached:
[2] API contract diff → partners already integrated; a breaking change ships to production customers before anyone notices [3] DB migration → a destructive drop can't be un-dropped [5] ledger idempotency → double-writes touch real money - DO: Add a one-line note to
review-checklist.mditself, next to items 2, 3, and 5: "HUMAN-OWNED — [your one-line reason from the table above]." This makes the delegation boundary visible to the next teammate who opens the checklist, not just to you.
Independent at-bat
Delegate for real, right now: using the invocation methods the doc-set names (Doc-set §8 — an
@-mention guarantees a specific subagent runs; claude --agent <name> makes the whole session
that subagent), invoke @payments-first-pass-reviewer against your actual current diff for the
calculate_fee() fix from lesson 2. No worked example this time — decide for yourself which
invocation method fits a one-off first-pass review versus a whole review session, and note
which you picked and why.
Exit ticket
(Graded against your own 2×2 placement, your edited subagent file, and the doc-set — never against whether delegating "felt" efficient.)
- (Remember) What are the two axes of the delegation 2×2, and which quadrant gets first delegations?
- (Understand) Why is "this is tedious" not, by itself, a valid reason to delegate an item?
- (Apply) A new checklist item appears next sprint: "Confirm currency-conversion rates are pulled from the approved rate table, not hardcoded." Place it on the 2×2 and justify the placement in one sentence.
- (Analyze) Your subagent's new line says it should flag diffs touching items 2/3/5 rather than silently ignore them. What failure does that flag-instead-of-skip design prevent?
- (Evaluate) Judge your own cycle-1 placement: which of your six items was the closest call, and what would have to change about it (in the code or the business) to move it to the other quadrant?
ledger_write
ledger_write:
learner_id: L1-DEV-MAYA
lesson_id: L1-dev-maya-03-a2-delegation
anchors: [AIHC.2.A2]
bloom_reached: Analyze
exit_ticket_score: ""
auto_score: ""
self_score: ""
calibration_gap: " — computed once Maya's self_score exists"
starting_mastery:
AIHC.2.A2: "not previously evidenced — first measurement this lesson"
journal_prompt: >
Which review-checklist.md item was hardest to place on the 2x2, and did your gut-call from
the lesson-1 diagnostic (cycle 3, ME vs. SOMEONE/SOMETHING ELSE) match where it actually
landed once you applied reversibility/blast-radius instead of instinct?
structure_used: PBL
referents_used: [baseball-mets]
next_lesson_seed: >
Lesson 4 asks the payments-first-pass-reviewer (and Claude in plan mode) for its own read
on the item-2/3/5 boundary before Maya finalizes it — testing whether the agent agrees
with where she drew the line.
RUBRIC SELF-AUDIT
| # | Indicator | Verdict | Evidence |
|---|---|---|---|
| R1 | One objective, Bloom's-leveled, named anchor | PASS | States "Bloom's: Analyze," names AIHC.2.A2 |
| R2 | Every tool claim traces to the doc-set | PASS | Doc-set §8 (subagent isolation quote, invocation methods) cited inline; AIHC X6/X7 cited from the standards doc |
| R3 | 3–6 cycles, one point each | PASS | 3 cycles: the two-axis test; writing the decision into the subagent file; naming what stays human and why |
| R4 | SEE verified against ground truth | PASS | 2x2 built from Maya's real six checklist items and her real backlog, not invented placeholders |
| R5 | Every DO on real work-at-hand | PASS | DOs edit her actual subagent file and review-checklist.md, and invoke the subagent against her actual diff |
| R6 | Media doctrine honored | PASS | Static 2x2 grid and text tables only; nothing here is a motion/process point |
| R7 | Exit ticket Bloom's-climbing | PASS | 5 Qs, Remember→Understand→Apply→Analyze→Evaluate, graded against her own artifacts |
| R8 | Ledger write complete | PASS | auto_score/self_score = ""; journal prompt ties back to lesson 1's diagnostic answer |
| R9 | Scaffolding fades; genuine at-bat | PASS | Cycle 1 gives a worked 2x2 placement; by the at-bat, Maya chooses her own invocation method with no worked example — lighter scaffold than lesson 2 |
| R10 | Referents elected-only, flavor-only | PASS | One Mets referent used sparingly elsewhere in the arc; this lesson keeps the analogy structural (2x2 reasoning) rather than decorative overload |
| R11 | Info-at-point-of-use honored | PASS | Doc-set §8 quote appears inside cycle 2's SEE, exactly where the subagent-file mechanism is needed — no front-loaded list |
| R12 | No replication | PASS | The 2x2 population, the human-owned items, and the invocation choice are specific to payments-service's six checklist items — differs materially from the exemplar's abstract backlog-item 2x2 |
Escalation: all load-bearing indicators PASS → auto-ships (Playbook §5, AIHC X2/B3).