Skip to content

Risk register is ID-ordered while chapter 11 promises priority ordering #95

Description

@dieterbaier

Problem

src/docs/arc42/doc-11000-risks-and-technical-debt.adoc tells the reader:

Risks are ordered by derived qualitative priority.

The generated register is ordered by artifact ID.

Evidence

src/docs/arc42/11-risks-and-technical-debt/generated/doc-11001-risks.adoc, in
render order, with the Priority column each row carries:

Row ID Priority
1 R-001 High
2 R-002 High
3 R-003 Medium
4 R-004 Medium
5 R-005 Low
6 R-006 Medium
7 R-007 Medium

A Low priority sits above two Medium ones. The sequence is exactly ID order,
which coincided with priority order until R-005 was added.

Pre-existing on main. Appending R-007 in ID order neither causes nor worsens
it, but it does add a second row below the misplaced one.

Decision to make

Two honest resolutions, and they are not equivalent:

  • Sort the generator output by priority, with a stable tie-break on ID.
    Keeps the promise the chapter makes, and puts the risks a reader most needs
    first. Changes the order of an existing rendered table.
  • Correct the chapter prose to say the register is ordered by ID. Cheaper,
    and honest, but gives up a property worth having in a risk register.

The first is the better outcome if the sort is cheap; general-semantic-contracts.md
asks chapter 11 for priority ordering, so changing the prose narrows what the
contract promised.

Behaviour specification

Sorting changes observable generator output, so bdd-specification applies:
a scenario in features/documentation-generation.feature asserting the register
order for a set of risks with mixed priorities, bridged into the generator
tests. Prose-only correction needs no scenario.

Acceptance criteria

  • The chapter prose and the generated register agree.
  • If sorting is chosen: ties break deterministically, so the output stays
    reproducible; a scenario covers the ordering and is bridged to a test.
  • If prose is chosen: the contract's expectation for chapter 11 is revisited
    in the same change rather than left contradicting the prose.
  • Render and validation checks pass.

Origin

Found on 2026-09-04 by an independent Convergence Check on #88, which reported
it as a pre-existing residual observation rather than a defect introduced by
that change.

Activity

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

    priority:p4Dogfood, example and rendering cleanup

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions