Skip to content

A diagram is drawn for a chain with no branch, or where the feature has no shape to draw #64

Description

@PierreMardon

Status

Closed: measured in campaign 5. Observed in the first four campaigns: a diagram drawn where the feature has no shape. Decided by the developer on 2026-10-07: a diagram may say the prose again where the shape is real, and a chain with a single fork is not a shape. #101 wrote it in the prompt of the extractor and #104 in the rubric of the judge. In campaign 5, 05-fine-cap draws no diagram in its two runs, the features with a shape keep theirs, and blueprint.diagrams is 5 on the twelve pages. Left as it is: the row of checks 06-borrow-limit still draws. The measures and their sources are in the comments below, campaign by campaign.

What was seen

  • 03-overdue-reminders, 3 of 5: "The sequence diagram mostly draws a linear call chain between internal modules, which is implementation detail. Its only branch, skip or remind, is a simple fork that the prose already states."
  • 05-fine-cap, 3 of 5: "The flowchart is a straight chain with a single yes/no branch that the prose just above already states in one sentence."
  • diagram_as_expected is false on 05-fine-cap (2 diagrams) and 06-borrow-limit (1 diagram), where the case expects none. On 06-borrow-limit the judge gives 5 all the same.
  • 01-overdue-list drew one diagram in the trial run and none in the campaign: the same case, two paths.

Sources

Suspected cause

agents/surface-extractor.md line 71 forbids a diagram for "a chain with no branch", and also says "A diagram may say again what the prose says: it earns its place by the shape it gives, not by new facts." The judge faults a fork "that the prose already states": the prompt allows what the rubric penalizes. A chain with one fork sits between the two.

Next

Decide which of the two is right before touching either: the prompt's allowance, or the rubric's strictness. Then read again over several runs.

Activity

  1. PierreMardon commented on Oct 3, 2026

    @PierreMardon
    ContributorAuthor

    Read again in campaign 2

    Campaign 2: 01-overdue-list and 03-overdue-reminders, three runs each, on main with the four first fixes (#78, #79, #80, #81). Report kept: evals/reports/2026-10-03-e830bc236e9b/report.md. Raw data, out of git: .evals/campaign-2/. In the tables, a value is the mean over the three runs, with its lowest and highest when they differ.

    • 01-overdue-list, where the case expects none: one run of three drew a diagram. blueprint.diagrams 4.67 (4 to 5).
    • 03-overdue-reminders: 1 to 3 diagrams, blueprint.diagrams 3.67 (3 to 4). The lowest judgement: "The interval flowchart earns its place because the path branches. The sequence diagram is mostly a linear chain of internal reads and calls with one loop [...] the diagram shows module plumbing rather than a shape the developer needs."

    Status

    Observed again. Not fixed. The same two things as before: a diagram where the feature has no shape, one run in three; and a sequence diagram of internal calls. The second is partly what #83 addresses, by keeping to behavior and leaving the code to the plan.

  2. PierreMardon commented on Oct 3, 2026

    @PierreMardon
    ContributorAuthor

    Campaign 3

    With the fix of the extractor (#83): blueprint.diagrams 4 (3 to 5) on 01-overdue-list, 3.5 (3 to 4) on 03-overdue-reminders, 3 on 02-reservations. Both runs of 01-overdue-list drew a diagram where the case expects none. On 03-overdue-reminders the judge still finds "the module-level sequence diagram" among the "implementation choices the developer does not decide".

    Status

    Unchanged by #83. Not fixed. The prompt still allows a diagram to draw what the prose says, and the rubric still faults it: that disagreement is the thing to settle first.

  3. PierreMardon commented on Oct 5, 2026

    @PierreMardon
    ContributorAuthor

    Campaign 4

    Campaign 4: seven runs on main with every fix so far, #87 and #88 included, and the harness of #89, #90 and #91, on the cases no campaign had played again, or once. 04-suspension, 05-fine-cap and 06-borrow-limit: one run played whole and one stopped at the hand over each. 02-reservations: one run stopped at the hand over. Report kept: evals/reports/2026-10-05-d139a1ca0dbe/report.md, compared with campaign 1, the only earlier runs of three of these cases. Raw data, out of git: .evals/campaign-4/. A value is the mean over the runs of a case, with its lowest and highest when they differ.

    Campaign 1 Campaign 4
    02-reservations diagrams, a shape expected 3 3
    02-reservations blueprint.diagrams 4 3
    04-suspension diagrams 2 1.5 (1 to 2)
    04-suspension blueprint.diagrams 4 4
    05-fine-cap diagrams, none expected 2 1
    05-fine-cap blueprint.diagrams 3 3.5 (3 to 4)
    06-borrow-limit diagrams, none expected 1 1
    06-borrow-limit blueprint.diagrams 5 4.5 (4 to 5)
    • Where the case expects none, every run still draws one: both runs of 05-fine-cap and both of 06-borrow-limit.
    • What the judge faults is of two kinds. A diagram of the dependencies between modules, "implementation wiring the developer does not decide": 04-suspension, both runs. And a chain that is nearly linear, which the prose carries: on 02-reservations, "The return sequence diagram, though, is a near-linear chain with optional steps that the surrounding prose already conveys"; on 05-fine-cap, "a mostly linear chain of internal calls with one optional branch"; on 06-borrow-limit, "a near-linear chain of guards whose order criterion 6 already states in prose, as the text itself admits".

    Status

    Unchanged over four campaigns. Not fixed. The prompt still allows a diagram to draw what the prose says, the rubric still faults it, and that is still to settle first.

  4. PierreMardon commented on Oct 7, 2026

    @PierreMardon
    ContributorAuthor

    Decided by the developer: a diagram may say the prose again, and a chain with a single fork is no shape

    Recorded on 2026-10-07. Between the allowance of the prompt and the strictness of the rubric, each gives way on one point:

    • A diagram may say again what the prose says. The rubric stops faulting one for that alone, where the shape is real: several actors, states and their transitions, several branches.
    • A chain with a single fork is not a shape. A sentence says it better, and the extractor no longer draws it: it joins the single fact, the list and the chain with no branch.

    Status

    Open, decided, not done yet. What is left to write: the sentence of "The diagrams" in agents/surface-extractor.md, the criterion blueprint.diagrams of evals/judge/rubric.md, then several runs of 05-fine-cap and 06-borrow-limit, the two cases that expect no diagram and get one in every run.

  5. PierreMardon commented on Oct 7, 2026

    @PierreMardon
    ContributorAuthor

    The diagram the developer prefers

    Recorded on 2026-10-07. Of the two pages read (#62), the developer prefers the diagram of the page drawn before #83:

    • it draws the procedure: a loop over the members, two decisions, one end at exit 0, and each step marked new or existing;
    • the diagram of the page after it draws the data: two files that meet on one decision, with a single fork.

    That agrees with the decision above: the first is a shape, the second stands at the edge of what the rule sets aside. It is an example to hold the wording against when the sentence of the extractor is written. The comparison checked each box of both diagrams against the other plan: each is true of both.

    Status

    Unchanged: open, decided, not done yet.

  6. PierreMardon commented on Oct 7, 2026

    @PierreMardon
    ContributorAuthor

    Done by #101 and #104, not measured

    Merged on 2026-10-07, in the same words on both sides:

    What the rule does not reach

    Read in the fourth campaign by an independent reviewer of #101: of the four diagrams drawn on the two cases that expect none, one is a chain with a single fork. Those of 06-borrow-limit line up four or five checks that each refuse or go on, and one of 05-fine-cap is a sequence between five actors. So diagram_as_expected may move little on these cases. Nothing was added for a row of checks: the decision does not speak of it, and #77 asks that this pass add nothing to what bears on every blueprint. If the measure shows it, that is the next thing to decide here.

    What to read on the next campaign

    diagrams and diagram_as_expected on several runs of 05-fine-cap and 06-borrow-limit, blueprint.diagrams by the rubric as it stands, and that a feature with a shape still gets its diagram, on 02-reservations and 03-overdue-reminders.

    Status

    Open: done by #101 and #104, not measured.

  7. PierreMardon commented on Oct 7, 2026

    @PierreMardon
    ContributorAuthor

    Measured in campaign 5

    Campaign 5: twelve runs on main with the nine pull requests of 2026-10-07 (#97 to #105), the six cases twice each: 02-reservations, 04-suspension, 05-fine-cap and 06-borrow-limit played whole, 01-overdue-list and 03-overdue-reminders stopped at the hand over. The eight runs played whole are conformant and pass every hidden test. Report kept: evals/reports/2026-10-07-9d5de55f57a9/report.md, compared with campaign 4. Raw data, out of git: .evals/campaign-5/. A value is the mean over the runs, with its lowest and highest when they differ.

    Campaign 4 Campaign 5
    blueprint.diagrams, all the pages 3.9 (3 to 5) on seven 5 on the twelve
    05-fine-cap, diagrams, none expected 1 and 1 0 and 0
    06-borrow-limit, diagrams, none expected 1 and 1 1 and 1
    diagram_as_expected, the cases that expect something 0.2 0.8
    • The chain with a single fork is gone. Neither page of 05-fine-cap draws a diagram, where each drew one.
    • A feature with a shape keeps its diagram. 02-reservations draws 2 and 3, the states of a book and who calls whom; 03-overdue-reminders and 04-suspension one each.
    • The judge faults no diagram, by a rubric that changed with the extractor: 5 on every page, a page without one included.

    What the rule does not reach, as foreseen. Both pages of 06-borrow-limit still draw the row of checks of a borrow, four or five decisions that each refuse or go on. By the rule it is a path that forks more than once, and the judge gives it 5; the case expects no diagram, which is the opinion of the corpus. Whether a row of checks is a shape is left as it is: the developer has not spoken of it, and nothing was added for it.

    How much of this is the draw of the day. The twelve plans of the campaign were drawn again by the same extractor, alone, for the measure of #63: 05-fine-cap then draws none and one, 06-borrow-limit none and one. On one plan, a diagram is there in one draw and not in the next.

    Status

    Closed: measured. No diagram for a chain with a single fork, a diagram where the shape is real, and a judge that holds the same rule.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions