Skip to content

Replace the detailed diagram with the flow one - #9

Merged
aarora79 merged 6 commits into
mainfrom
docs/flow-diagram
Sep 26, 2026
Merged

aarora79 merged 6 commits into
mainfrom
docs/flow-diagram

Conversation

@aarora79

Copy link
Copy Markdown
Owner

The pipeline diagram had grown to seven steps carrying every weight, threshold and rubric level. Accurate, but it read like a specification.

The flow diagram says the same shape in five boxes and one branch: a pull request, pre-triage on plain rules with no model, a fork where draft or a failing or running check stops and reports that state, otherwise one Jev call of eleven questions, the nine becoming an (effort, consequence) pair, and the pair picking one route. The route table now says what the repo owner does.

It ends with two worked examples so a reader can see what a skill running this reports:

apache/airflow #73729  "Fix clearing with upstream and downstream selecting unrelated tasks"
bugfix · check correctness first  |  2 files, +51/-2
security surface 0.06 · blast radius 1.1/2 · has tests 0.98  ⟶  (0.27, 0.15)  ⟶  tests-are-enough

mcp-gateway-registry #1693  "feat(security): Asymmetric (ES256) internal JWT signing"
feature · check security first  |  51 files, +3052/-626
security surface 1.00 · blast radius 2.0/2 · has tests 0.96  ⟶  (0.74, 1.00)  ⟶  human-plus-author

Every figure comes from a committed report. The second example is from the gateway run because the airflow report no longer holds a human-plus-author: the pull request that did is now ci-failing, so pre-triage removes it before Jev sees it. Both rows name their repository rather than mixing quietly.

pipeline.html and pipeline.png are deleted, render.py goes back to one target, and the AGENTS.md layout line follows. No code change, so no release needed.

The pipeline diagram had grown to seven steps carrying every weight, every
threshold and every rubric level. It documented the sample accurately and
read like a specification.

The flow diagram says the same shape in five boxes and one branch: a pull
request, pre-triage on plain rules with no model, a fork where any of draft,
a failing check or a running check stops and reports that state, otherwise
one Jev call of eleven questions, the nine becoming an effort and consequence
pair, and the pair picking one route. The route table now says what the repo
owner does rather than what evidence is sufficient, because that is the
sentence a reader wants.

It ends with two worked examples, so a reader can see what a skill running
this would actually report:

  apache/airflow #73729 "Fix clearing with upstream and downstream..."
  bugfix, check correctness first, 2 files +51/-2
  security surface 0.06, blast radius 1.1/2, has tests 0.98
  -> (0.27, 0.15) -> tests-are-enough

  mcp-gateway-registry #1693 "feat(security): Asymmetric (ES256) JWT signing"
  feature, check security first, 51 files +3052/-626
  security surface 1.00, blast radius 2.0/2, has tests 0.96
  -> (0.74, 1.00) -> human-plus-author

Every figure comes from a committed report. The second example is from the
gateway run because the airflow report no longer holds a human-plus-author:
the pull request that did is now ci-failing, so pre-triage takes it out before
Jev sees it. Both rows name their repository rather than mixing quietly.

pipeline.html and pipeline.png are deleted, render.py goes back to one target,
and the AGENTS.md layout line follows.
@aarora79 aarora79 added the documentation Improvements or additions to documentation label Sep 26, 2026
mean and max are the reason the pair exists, and they were reading as
ordinary words in the same grey as the rest of the line. Each now carries its
own colour: teal for the mean, because averaging is the calm operation, and
red for the max, because it is the alarm. A reader scanning the diagram now
sees that the two halves do different arithmetic before reading either label.
… pass

Accuracy first, because the prose had drifted from the code.

The worked example cited airflow #73698, a pull request the committed report
no longer holds: the dataset was re-fetched, the eighteen most recent open
ones changed, and it dropped out. None of its nine rows could be checked
against anything in the repo. Rebuilt on #73741, which is in the report and
teaches the point better: "Improve DAG tag length validation error", two
files, eleven added lines, and it still needs a person because a length check
on user input is input validation and security_surface came back 0.97.
Averaging the nine puts it at 0.40, mid-queue, where nobody looks twice.

That rebuild exposed a second gap. The nine rounded rows sum to 0.3969 while
the report records 0.3970, because the report rounds the total rather than
adding rounded rows. The table shows 0.3969 and one clause explains it, so a
reader adding the column gets what is printed.

go/README.md had no mention of pre-triage, though the binary does it. It now
carries the states table, the shared-failure rule, the ten-of-eighteen
figure, state_counts among the outputs, and a corrected drift line: effort
moves about 0.03 and consequence about 0.07, with the 16-of-18 parity result.

Smaller fixes: the sample README said twenty-six pull requests want a token,
left from the gateway example, and one pull request now costs three GitHub
calls rather than two since the checks call landed. It pointed at
-fail-on-tier where the route gate is -fail-on-route.

Twenty claims verified against questions.yml, the source and the committed
report: route floors, effort raises, the size floor, the deadband, eleven
questions with nine weighted and three inverted, the four consequence
markers, the budgets, the state and route counts, and the parity result.

A new section explains why the shape is worth it, framed around who makes the
decision rather than around tokens saved. Pre-triage removes ten of eighteen
before any model runs, and no model could do that, because no model knows
whether CI passed. Deciding what a human sees is itself a model call and
should be the cheap one: eleven judgements and two numbers, about 3,000 input
tokens whoever does it, $0.00013 at TypeSafe's published price. A reader
divides their own model's input price by 0.042 to see the multiple, which
keeps a competitor's pricing out of a file that would rot around it. The
expensive model then reviews the one pull request in eighteen where a review
is the deciding evidence.

The writing pass took both files to zero mechanical hits across 160 prose
lines: six passives given their actor, five -ly adverbs replaced, two of them
by the number they were standing in for, and two headings rewritten that
defined a thing by what it is not.
Four sentences carrying an anecdote about a boto3 bump and Postgres
serialization, the eight-and-five counts, and a note that the detection costs
nothing. The rule is the part a reader needs: a check name failing on several
unrelated pull requests is the check being broken, and the output says which
failures are shared. Two sentences.

The counts it was quoting are in the recorded output further down the page
anyway, where a reader can see the five marked lines rather than being told
about them.
"which failures are shared" was passive in a sentence about who is to blame,
which is the one place it should not be. The output marks those failures as
the checks' own.
…ells

"The cheapest call is the one nobody makes" was an epigram: a general truth
shaped to sound quotable, carrying no fact a reader could use. The section
around it had three more of the same class, which a word-level scan cannot
see. A setup sentence, "Three things produce that funnel", existed only to
introduce the list under it. Three bold headings in a row built a parallel
triad. "Charge frontier prices for the privilege" was a sneer, and "the job
only it can do" was a flourish standing in for "reading code".

The section is now five plain paragraphs titled "What each stage costs", each
one stating what happens and what it costs: ten removed by rules before any
model runs, eleven judgements and two numbers for about 3,000 input tokens
whoever answers them, a review on one pull request in eighteen, and the
condition that the saving holds only while the cheap routes are right.

Five more shape tells across both files, all of them defining a thing by what
it is not: "the number to measure is not accuracy across the queue", "none of
them says merge it now, and none of them merges anything", "the API base is a
variable, not a glued-together path", "size is not review cost, and neither is
line count", and "security_surface at 0.98 is not offset by infra_surface at
0.04". Each now states the positive version.

Two passives the earlier pass missed, because the regex only looked for -ed
participles: "the max of them is taken" and "that diagram is built from".

Both files scan clean: 64 and 40 prose lines, no padding, no -ly adverbs, no
passive in either -ed or irregular form, no corrective negation outside a
table cell where "the author, who is not asking" is the plain meaning.
@aarora79
aarora79 merged commit 49685da into main Sep 26, 2026
1 check passed
@aarora79
aarora79 deleted the docs/flow-diagram branch September 26, 2026 01:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant