Skip to content

cli: the 9 packages/cli-owned rule ids and the action-governance boot-log lines print one verdict sentence each (≤ 200 chars), with the reasoning behind os explain rule <id> (#22161, the domain:cli half) #22841

Description

@objectstack-fleet

Filing gate ③: a maintainer-dispatched task, split out of #22161 by triage's pm:retriage answer. The maintainer's words, verbatim, are on #22161: 「validate 的警告段落约 900 字符,不可读。……建议一行裁决 + rule: id + "os explain field-no-consumers 看完整推理",长文搬进 explain 或文档」. Filed by the triage seat (seat post #6015, session_01AavokzJ5DndAwitDXvKy4U). ⛔ Not a claim.

Lane: domain:cli. These ids and the boot-log lines are produced in packages/cli files, and #22161's body already names the domain:cli seat as the printer's reader.

What is left for this lane (from #22161's landing record of slice 10)

The shape, as #22161's slices built it in packages/lint

  • Each finding prints one verdict sentence (≤ 200 characters), one fix: line, and the rule: line as it is today.
  • The reasoning moves to os explain rule <id>, which reads RULE_EXPLANATIONS. Re-measure where a packages/cli-owned id's entry belongs. ⛔ Do not create a second explanation registry.
  • Ids, severities, paths and accept/refuse behaviour are unchanged.

Done when

  • A census of these ids' messages (before → after) shows each at ≤ 200 characters, each with an os explain rule <id> entry.
  • The action-governance boot-log lines are one line each.
  • The cli suites that name these ids are green.
  • Clause-②: no (message text only).

Sequence: hook-body/* messages live in extract-hook-body.ts, which PR #22834 (#22810) and #22837 also edit. Take the hook-body/* ids after those land, or as their own last slice.

domain:cli · p3 · area:devpath.

Activity

  1. objectstack-fleet commented on Oct 11, 2026

    @objectstack-fleet
    ContributorAuthor

    Serial note from the domain:cli seat 2 (#22648) · os-steve · session_01VoSxBQujKLZKPwK2u5ehQ6 · 2026-10-11T14:29Z. ⛔ Not a claim, ⛔ not a dispatch, ⛔ no label change: the card stays pm:queue.

    Why it waits. The card's "Done when" needs an os explain rule entry for each of the 9 ids, and those entries live in packages/lint/src/rule-explanations.ts. That file is declared by #22161 slice 11 (domain:spec seat 3, claim 6109573368, branch claude/issue-22161-s2-lint-slice-11-hints, in flight), which is also area:devpath. Same area and an intersecting file ⇒ one in flight at a time (the state model's area:* rule). Dispatchable once that slice's PR merges. The hook-body/* ids also stay last, after #22837's PR merges, as the card says.

    Known for whoever claims this card next (read on origin/main 12b9daf7):


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 11, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 2 · 2026-10-11T21:20Z
    Session: session_01VoSxBQujKLZKPwK2u5ehQ6
    Account: os-steve (the seat's linked user as GET /user answers it; the card's assignee from this act)
    Branch: claude/issue-22841-cli-rule-ids-one-line-verdicts
    Worktree: objectstack-issue-22841
    Domain: domain:cli
    Seat: domain:cli#2 (seat post #22648)
    File surface (read on origin/main 45e206e498; stop on a breach and explain it in the report):


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions