Skip to content

Sort the directory by Ops Impact, highest first - #56

Merged
slominskir merged 1 commit into
mainfrom
sort-directory-by-ops-impact
Nov 12, 2026
Merged

slominskir merged 1 commit into
mainfrom
sort-directory-by-ops-impact

Conversation

@slominskir-coding-agent

ghost commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

What changed

The directory, the app's first page, listed software by name, so its first page showed whatever starts with "a". It now lists the most important software first:

  1. Assessed software by Ops Impact, from 5 Critical down.
  2. Then by Attention, from Severe down.
  3. Then by name.
  4. Software nobody has assessed comes after all of that, by name. Its Ops Impact is still the placeholder default of 3, which would otherwise mix it in with software graded Medium.

The directory also gets an Ops Impact column, left of SQA Level, shown as "5 Critical" or "Not assessed". Without it the order would follow a value the page does not show. The cell opens the assessment dialog, like the SQA Level and Attention cells.

Other effects:

  • The embedded directory (loose=Y) gets the same order and column.
  • The Sync page keeps its order by name.
  • The software ID ends every order, so pages stay fixed when two repositories hold software of the same name.

Deployment and upgrade steps

None. There is no schema or settings change, and no SQL for existing databases.

Checks

  • ./gradlew build: passes.
  • ./gradlew integrationTest: passes, 53 tests, against the app rebuilt from this branch.
  • New test SoftwareIT.directoryListsHighestOpsImpactFirst covers the order and a second page. Against the app built from main it failed, with the list coming back in name order.
  • Page: looked at screenshots of /directory and /directory?loose=Y from headless Chromium, at 1400 px and 900 px wide, with six demo entries; the order and the new column were right.
  • docker compose -f build.yaml logs sim: the only errors are the ones the integration tests cause on purpose (a duplicate name, and edits without permission).

Not checked:

  • Clicking the new Ops Impact cell in a browser. It has the same risk-dialog-opener link as the cells beside it.
  • The Sync page in a browser, since it reads the real GitHub and GitLab APIs. Its query now asks for name order explicitly.

Decisions

  • Sort by Ops Impact, not Attention: Attention combines impact with fragility, so a robust mission-critical app (impact 5, fragility 1) rates only Moderate and would fall below a fragile impact-4 app.
  • Unassessed software goes last instead of sorting at its placeholder impact of 3.
  • The Ops Impact column was added so the order is visible; sorting by a hidden value was the alternative.
  • No option to sort by name was added. The name filter still finds software by name; a sort choice in the filter panel could follow if people miss the old order.
  • Screenshot.png in the repository is not updated and lacks the new column.

Release notes

The directory lists software by Ops Impact, highest first, with unassessed software last, and shows Ops Impact as a column. No upgrade steps.

Prepared-by: Anthropic Claude Code:claude-fable-5-2

🤖 Generated with Claude Code

The directory, the app's first page, listed software by name, so its
first page showed whatever starts with "a" and not the software that
matters most to operations.

List assessed software by Ops Impact from 5 Critical down, then by
Attention from Severe down, then by name. Software nobody has assessed
follows, by name: its Ops Impact is still the placeholder default of 3,
which would otherwise mix it in with software graded Medium. The
software ID ends the order, so pages stay fixed when two repositories
hold software of the same name.

Show Ops Impact as a column, left of SQA Level, since the order would
otherwise follow a value the page does not show. The Sync page keeps
its order by name, which its comparison of local and remote lists
reads by.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@slominskir-coding-agent slominskir-coding-agent Bot added the source::ai Prepared by an AI coding agent label Nov 12, 2026
@slominskir
slominskir merged commit a0f8e71 into main Nov 12, 2026
5 checks passed
@slominskir
slominskir deleted the sort-directory-by-ops-impact branch November 12, 2026 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

source::ai Prepared by an AI coding agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant