Skip to content

claude-lane-incident: renderIssueBody coverage copy names the rendered table instead of the tracked index #344

Description

@kyle-sexton

Summary

Two non-blocking findings from the final pre-merge verification of #331 (merged at a90ff43), confined to renderIssueBody:

  1. The operator-facing copy names the wrong set. Both new sentences point at the rendered table, but coverageGap checks the tracked index (MAX_TRACKED_REPOSITORIES = 60) plus repositoriesSeen, while the table is capped separately (MAX_RENDERED_REPOSITORIES = 40 and the character budget). The copy is correct for small incidents and wrong in exactly the fleet-wide case it was written for (measured: 40 repos @140ch renders 28 but tracks 40; 120 repos renders 24, tracks 60, seen 120). Additionally, at unlisted > 0 the gate can never pass, yet step 4 attributes a permanent hold solely to a gone repository — the docstring's other two standing causes (incident wider than the tracked cap; schema bump) are undocumented in the durable artifact.

    Fix: say "every repository this incident tracks" instead of "listed above/below", plus one clause for the truncated/schema cases. The run warning already carries the truth.

  2. The new copy is untested. Reverting the entire body-copy change leaves the suite green (134/134 on the reduced set). The suite already asserts rendered-body substrings, so one assertion following that convention prevents silent regression.

Test plan

  • Update the two sentences in renderIssueBody; add a rendered-body substring assertion covering the coverage-hold copy.
  • node --test .github/scripts/*.test.cjs green.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions