Repository navigation
v2.23: Fairer scores, steadier screens
The second half of the full code review: scoring mistakes, screens that lost your place, and upkeep.
Scoring (rules version 7, so every story is scored again)
- A lone dash no longer counts as an acceptance criterion, and "2.5 MB is the limit" keeps its 2.
- Criteria in the description score the same as in the criteria field, so a vague word there no longer costs points twice.
- A bold or "##" Acceptance criteria heading isn't mistaken for text left over from an AI chat.
- Trends no longer claim that more Ready stories meant more done when sprints started equally Ready.
Screens
- Enter in the import search box filters the list instead of importing everything ticked. In the Jira search box, it runs the preview.
- Back button: unsaved story edits survive it, and opening the story again offers them back.
- Refinement stays on the story you're estimating.
- The change log's Why tags stay on their own rows.
- Keyboard focus stays put after a quick save.
- Delete, share-link and nightly-sync buttons say when they couldn't save.
- Phones: the band is written under each title, not shown by colour alone.
- The sprint day count uses your own date from the start.
Imports
- Points come from the column that has them.
- A row with an unquoted comma is flagged.
- Values like 1e3 are rejected.
Behind the scenes
- Database tests: the code that locks and merges is now tested against a real database, on every change.
- Database layout check: GitHub also checks that the database layout matches the code.
- Node: version 24 is pinned.
- Docs are updated.