What one pull request reaches, and a verdict on it.
Change impact analysis, per feature: what a pull request reaches, traced from its changed files before anyone runs it. featkpr reads the changed files against the map: the routes and checks they touch, the goals behind them and the tests that prove those goals. Then it gives a verdict from the goals the change proved or broke.
BookStack pull request #6213 · commit 0f5164ec · in a private mirror
The first verdict, on a real pull request #
- verdict
- needs a look
- goals touched
- 2
- goals proven
- 0
- tests run on its code
- none yet, on 27 Sep
On 27 Sep featkpr did not yet run a pull request's own code, so the verdict could only say which goals the change touches. On 28 Sep 2026 it did: the pull request's own code ran, isolated, beside BookStack's development tip, and 19 held, 5 were not proven and 0 broke. Held means the test passed before and after the change and failed as the wrong user. That result was not posted then: featkpr had no token to post with yet.
How a change is traced #
From the changed files to the routes and page elements behind a permission, then to the cases under them and the tests that cover them. Shown on a saved run of another BookStack pull request, #6108, which added a permission to see page revisions.

- Changed filescontrollers, the permission list, templates, language files and tests
- Behind a permissionthe routes and page elements those lines guard
- Casesa dot per case; a hollow one has no test yet, an amber one waits on a person
- Tests to re-checkthe product's own tests that touch the change, out of the whole suite
The list of tests is advice for a reviewer. featkpr runs nothing and skips nothing on a pull request yet. Pull request #6108 on Codeberg
Works today, and not yet #
Works today #
- How your app ships, drawn and approvedfeatkpr reads your branches, tags and merge history, proposes one of nine release flows with its evidence, and you fix the drawing and approve it. Then each arrow shows what featkpr does there.live 28 Sep; BookStack read as development → release, featkpr as dev → prod · since 28 Sep
- Features named from the codeModules and features named from the repository, each with the routes and permission checks behind it.298 features in 13 modules on BookStack · since 22 Sep
- A goal's record of proofEach goal keeps its own record, computed from runs: which tests prove it, and when they last did.since 27 Sep
- A test for each caseA test per case, written from a template, none by hand. They call the app directly.497 written so far; 311 ran on 20 Oct 2026, 03:18 UTC · since 26 Sep
- Apps hosted on GitHubApps on GitHub, followed by webhook; featkpr's own code is the first.since 28 Sep
Not yet #
- What a pull request reaches, and its verdictThe routes, goals and tests a change touches, then a verdict from the goals it proved and broke.the pull request's own code ran on BookStack #6213, 28 Sep 2026: 0 broke, 19 held, 5 not proven · decided, no week yet
- Where a goal counts as provenEach goal says where it was proven: a stage and an environment per product, never a plain "proven". The release flow it hangs on is live.decided, no week yet
- Keeps working when the code host is downA queue, a mirror of the repository and an operations page.decided, no week yet
from our plan of 1 Oct 2026 · every part on the roadmap
Bring a pull request you worry about #
On a 30-minute call we show the verdict and the trace on BookStack, then look at what reading your pull requests would take.