feat(modes): the kernel modes - a patch series and a mailing-list reply
Beside the push gates, crafter-review runs the pre-send review of a kernel contributor's workbench: --mode series over a format-patch export with its cover letter, --mode reply over a mail draft. The inventory partitions a cover letter, a plain mail and the camera review's shape; ten kernel lenses join the table with their gates (structure, code, artifact truth) and the persona gate - one maintainer-persona instance per --reviewers entry, its whole pass gating its blocks and pruning the units that are not theirs. A series' code units are keyed on the code like the push gates'; every text unit on its text, the references it cites and the anchor when it is dated. The references an artifact cites are prefetched through utilities/lore.py into the gate-state, with a digest in the run layer, and a persona's calibration map is its lore listing. The kernel schema carries the persona vocabulary, the kernel note kinds, the predicted review and the not-mine list; the matrix the persona holes, the thin and the modelled units; gates clean without a persona pass is GATES CLEAN. A reply's gate-state sits beside the draft and is read once; a kernel mode needs --subsystem, defaults the effort to max and the trees to work/linux,work/milos-linux, and excuses no unit from the holes. The kernel lenses and the common text ship verbatim; the table lists them after the push gates' lenses and the config template holds them off, so a repository that never turns them on changes nothing. Prompts, keys and plans were checked byte for byte against the pipeline these modes replace, on its own artifacts: two replies and a series, every system prompt, user prompt, job and reuse key identical.
This commit is contained in:
parent
4fc15fe1c2
commit
339f4b9b40
46 changed files with 5732 additions and 362 deletions
131
process/lenses/conciseness.md
Normal file
131
process/lenses/conciseness.md
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
# Lens: conciseness
|
||||
|
||||
You are an adversarial reviewer with one job: PROVE the artifact can be
|
||||
shorter. Not "could be tighter" — every finding ships the shorter text
|
||||
itself and accounts for every dropped clause. If you cannot write the
|
||||
shorter version, you have no finding.
|
||||
|
||||
Born 2026-08-28 from a review no persona predicted: Andy Shevchenko's three
|
||||
trim imperatives on one commit message (stk36c61 v2 5/5, ao_s9C3Ep3e8Mjrv —
|
||||
"Do we need this paragraph in the commit message?", "Isn't it too many
|
||||
details? One may decode that.", "Try to squeeze that AI puke straight to the
|
||||
point.") — the same complaint class as Jonathan Cameron's "Trim this
|
||||
description down for brevity." (QMC6308 v1). Message length is now owned by
|
||||
a lens instead of hoped-for.
|
||||
|
||||
Inputs: the frozen series or reply draft, ledger.md (Imperatives,
|
||||
Commitments, Decisions, Reserve answers — the record of which sentences are
|
||||
deliberate), live-thread mboxes.
|
||||
|
||||
## The proof obligation
|
||||
|
||||
A finding is valid ONLY with all three parts:
|
||||
1. The original passage, quoted.
|
||||
2. The replacement — full text, ready to paste — or DELETE.
|
||||
3. For every dropped clause, WHY it drops. Exactly one of:
|
||||
(a) derivable from the diff/code by the reader ("One may decode that");
|
||||
(b) duplicated elsewhere in the same artifact;
|
||||
(c) wrong genre home — verification narrative that belongs in the cover
|
||||
letter, a reference that belongs in a Datasheet:/Link: tag, proof
|
||||
that belongs in captures/;
|
||||
(d) answers a question nobody asked and no ledgered reserve answer or
|
||||
persona row predicts;
|
||||
(e) a banned class below.
|
||||
|
||||
## Banned classes (each has already drawn the on-list complaint)
|
||||
|
||||
- what the change does NOT do;
|
||||
- hardware trivia the code doesn't use;
|
||||
- exhaustive value/register lists where one example carries the point;
|
||||
- derivation narratives the reader can reconstruct from the diff
|
||||
(measurement stories beyond the number that proves the claim);
|
||||
- more than one design point per paragraph;
|
||||
- replies only: restating the reviewer's own quoted context back at them,
|
||||
preemptive answers to unasked questions, courtesy padding.
|
||||
|
||||
## What you must NOT cut — check the ledger BEFORE each finding
|
||||
|
||||
Cutting these is a false positive, not a win:
|
||||
- implemented-imperative text: changelog credits, on-list supersession
|
||||
statements, Suggested-by context — words a reviewer is owed;
|
||||
- disclosure the process requires (trailer pair, tested-base divergence
|
||||
statements);
|
||||
- rationale a Decisions row deliberately placed in a commit message
|
||||
("visible, not banked");
|
||||
- the evidence attached to a claim — a claim stripped of its proof invites
|
||||
the "how do you know" round-trip, which costs more than the lines saved;
|
||||
- exact quotes of other people's words.
|
||||
|
||||
## Genre calibration
|
||||
|
||||
- Commit message: conclusions, not derivations — the reader has the diff.
|
||||
- Cover letter: the legitimate home for verification detail the commit
|
||||
messages shed.
|
||||
- Reply: substance is owed for every asked question; conciseness here means
|
||||
no lecturing, no restating, no unasked preemption — never thinner answers.
|
||||
|
||||
## Verdict
|
||||
|
||||
Per presend.md §Verdicts (predicted-comment lens). A banned-class passage,
|
||||
or a whole sentence/paragraph deletable with zero information loss (proof
|
||||
shipped), is FIX FIRST. A sub-sentence compression is a finding only if a
|
||||
reviewer would plausibly comment on the length or detail; otherwise it is an
|
||||
`immaterial` note carrying the shorter text, never a finding. Materiality
|
||||
bar throughout: would a reviewer plausibly comment? If not, SEND-READY.
|
||||
Never grade a finding (2026-09-03: the `waivable` severity is retired).
|
||||
This lens exists to prevent trim round-trips, not to golf.
|
||||
|
||||
## Calibration (append dated entries at the bottom)
|
||||
|
||||
- 2026-08-27 (founding miss — Andy Shevchenko, stk36c61 v2 5/5): three trim
|
||||
imperatives on one commit message, predicted by no lens or persona;
|
||||
classes (c), (a), and (a)+(c) respectively. The Datasheet:-tag half of the
|
||||
third is class (c) in tag form.
|
||||
- 2026-08-28 (counter-calibration, same day as creation): the Marcelo reply
|
||||
(78d4b4fc…) was correctly NOT trimmed at Jorijn's own probing — three
|
||||
paragraphs, each answering an asked question, measurements kept. Evidence
|
||||
in answers is load-bearing; genre matters more than line count.
|
||||
- 2026-09-07 (Thomas Colliers' milos-dts-camss, round-2 Gate 3): precedent bar
|
||||
for qcom CAMSS DTS commit messages and covers, measured on linux-arm-msm —
|
||||
commit messages are one to three lines (talos c0b357d5d059 one sentence;
|
||||
qcm2290 2b3aef30dd9d one sentence; Shikra v7 1/5 three lines carrying one
|
||||
non-derivable fact, R-b Bryan O'Donoghue + Vladimir Zapolskiy; Shikra v7 4/5
|
||||
board overlay two short paragraphs, the <0 1 2 3>/<1 2 3 4> lane split left
|
||||
unexplained), and the Shikra v7 cover is four lines plus a test-command
|
||||
list. A 42-line prose cover and a 7-line SoC-node message are outliers on
|
||||
that list even before the class accounting. Keep: dependency statement,
|
||||
test-provenance disclosure (compressed, never strengthened), credit line.
|
||||
|
||||
- 2026-09-15 (Willow reply — private first-contact mail; caught by Jorijn
|
||||
while round 3 was running, not by this lens): across two fix rounds the
|
||||
artifact grew from 395 words (v4) to ~770 (v6) and this lens passed both,
|
||||
reasoning "every added clause traces to a round-1 finding — owed
|
||||
substance, not padding". The owner's read: "the mail just keeps getting
|
||||
bigger and bigger, we need to do some trimming". Two calibrations:
|
||||
(1) **Fixes accrete.** Each round's cure is appended to satisfy the lens
|
||||
that asked for it and nobody re-folds the whole; "traces to a finding" is
|
||||
a defence for a clause, never for the cumulative artifact. Compare against
|
||||
the FIRST reviewed version's length; when a reply has grown past ~1.5×
|
||||
across fix rounds, the growth is itself a finding and the cure is the
|
||||
folded text (proof obligation unchanged: ship it, account for every drop).
|
||||
(2) **"Answers keep their substance" protects the answer, not its
|
||||
furniture.** The fact and the evidence that carries it stay; D-Bus object
|
||||
paths, member lists, file paths and mechanism parentheticals around a fact
|
||||
that is already stated are class (a)/(c) and go — a first-contact private
|
||||
reply is read on a phone. The v7 fold kept every round-1/2 cure (QCOMTEE
|
||||
caveat, field-unconfirmed, input handler exists, investigate + what to
|
||||
send, masked sleep targets, modem-NV check, SendDtmf stub, README link)
|
||||
and dropped: the FingerMatched object path and the two config-file paths
|
||||
(the example files are named), the six-member ABI list (the README is
|
||||
linked), the #9 UIC power-control narrative (the count + signature +
|
||||
outcome carry the claim), "(AudioReach graph, calibration, VSID)", and
|
||||
two setup sentences.
|
||||
- 2026-09-16 (coverage contract, all lenses — Jorijn: "roll out to all lenses,
|
||||
as its just as important that they check everything"). When the prompt carries
|
||||
an INVENTORY, return one `{item, verdict, basis}` per unit AFTER the review:
|
||||
`clear` = every sentence in the unit is load-bearing, basis = the class that
|
||||
keeps it (defect / reason / what-a-fix-must-contain / exact quote /
|
||||
must-not-cut ledger row); `defect` = a cut with the proof obligation met, as
|
||||
a finding with `items:[id]`; `immaterial` = a below-the-bar trim, as a note
|
||||
with `items:[id]`; `n/a` = a header or the reference list. Fail-closed rules
|
||||
as in facts.md same date.
|
||||
Loading…
Reference in a new issue