Skip to content

feat(intake): add human_review — the declaration-only work-type - #318

Merged
Jammy2211 merged 1 commit into
mainfrom
claude/human-review-intake-type-nuc99a
Aug 29, 2026
Merged

feat(intake): add human_review — the declaration-only work-type#318
Jammy2211 merged 1 commit into
mainfrom
claude/human-review-intake-type-nuc99a

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

A completed task sometimes needs a person to read it before it counts as done.
Nothing in the workflow held that: complete/ means shipped, and a prompt that
shipped without anyone checking it is indistinguishable from one that was
checked.

human_review is a work-type in the ordinary layout
(draft/human_review/<target>/<slug>.md, same light header) that is unlike every
other one in four ways, all of them following from a human decided this, no
classifier could
:

  • Never inferred. It is filtered out of the classifier's signal sets
    (MANUAL_ONLY_WORK_TYPES, sizing faculty), so only an explicit
    Type: human review reaches it. Prose about reviewing shipped work still
    classifies as ordinary work. Review is opt-in, not a lifecycle stage — no
    close-out path files one, and an empty section means nothing was flagged
    rather than nothing shipped.
  • Never demoted. An unresolved target sends an ordinary prompt to triage/
    ("nobody classified this"); here somebody did, and a review's subject may only
    be named in a completion record, so it files flat instead.
  • Never drift. A merged PR in the body, or a Status: saying shipped, is the
    premise of a review rather than a stalled lifecycle.
  • Never backlog. Kept out of census()["records"] entirely, which keeps it
    out of the backlog count, the pick lists, the work-type sections, the bundler
    and the epics in one move.

It renders as its own Human review section on both dashboard pages, directly
under In flight — both are live obligations, and a review sunk below 140
backlog prompts would never be read. Its 📋 hands out a read-and-report prompt
rather than a /start_dev (there is nothing to start) that names both exits,
sign off or file the follow-up, because a review that stops at "looks fine"
leaves the row on the board forever.

human_review is also the first work-type whose name is two words, so the
declaration readers now normalise human review / human-review /
human_review to the folder key, and strip_declarations no longer strands a
leading declaration's punctuation in the derived title (Type: human review. Check the fit quality. titled as . Check the fit quality).

/start_dev gained a note refusing a draft/human_review/… path: the work it
names already shipped, so the answer is the review, not a worktree.

Downstream

PyAutoMind carries the taxonomy side (the folder, the docs, the regenerated
dashboard). This PR must merge first: dashboard_refresh.yml renders the
Mind's page with PyAutoBrain's main, so the Mind PR's freshness check cannot
pass until this renderer is on main.

Testing

python3 -m pytest -q -n auto — 644 passed, including 10 new contract tests
covering the manual-only rule, the no-demotion rule, the drift exemption, the
dedicated dashboard section on both pages, the recent-feed event, and the
multi-word declaration spellings.


Generated by Claude Code

A completed task sometimes needs a person to read it before it counts as
done. Nothing in the workflow held that: `complete/` means shipped, and a
prompt that shipped without anyone checking it is indistinguishable from one
that was checked.

`human_review/` is a work-type in the ordinary layout
(`draft/human_review/<target>/<slug>.md`, same light header) that is unlike
every other one in four ways, all of them following from "a human decided
this, no classifier could":

- **Never inferred.** It is filtered out of the classifier's signal sets
  (`MANUAL_ONLY_WORK_TYPES`, sizing faculty), so only an explicit
  `Type: human review` reaches it. Prose about reviewing shipped work still
  classifies as ordinary work. Review is opt-in, not a lifecycle stage — no
  close-out path files one.
- **Never demoted.** An unresolved target sends an ordinary prompt to
  `triage/` ("nobody classified this"); here somebody did, and a review's
  subject may only be named in a completion record, so it files flat.
- **Never drift.** A merged PR in the body, or a `Status:` saying shipped, is
  the premise of a review rather than a stalled lifecycle.
- **Never backlog.** Kept out of `census()["records"]` entirely, which keeps
  it out of the backlog count, the pick lists, the work-type sections, the
  bundler and the epics in one move.

It renders as its own **Human review** section on both dashboard pages,
directly under *In flight* — both are live obligations, and a review sunk
below 140 backlog prompts would never be read. Its 📋 hands out a
read-and-report prompt rather than a `/start_dev` (there is nothing to
start) that names both exits, sign off or file the follow-up, because a
review that stops at "looks fine" leaves the row on the board forever.

`human_review` is also the first work-type whose name is two words, so the
declaration readers now normalise `human review` / `human-review` /
`human_review` to the folder key, and `strip_declarations` no longer strands
a leading declaration's punctuation in the derived title (`Type: human
review. Check the fit quality.` titled as `. Check the fit quality`).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0139dGR6XPDoo4Wrq9eDevTw
@Jammy2211
Jammy2211 merged commit 429d337 into main Aug 29, 2026
2 checks passed
@Jammy2211
Jammy2211 deleted the claude/human-review-intake-type-nuc99a branch August 29, 2026 19:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants