Release Evidence Package
Claims in this release
7
across 3 tickets and 3 severity bands
Worst band present Not met (1)
Testing process
Release
Trigger
release/DEMO-1.0.0 branch openedAssembled
Scope
DEMO-1.0.0; all closedDeclared test suite
How code was found
Dovada does not recommend GO or NO-GO. The evidence in this package is provided to support that decision.
| Verdict | Not Met |
|---|---|
| Reasoning | Demo content seeded for KAN-487 - not a real model assessment. |
| Cited evidence | closeRelease() posts to Slack on every call, including the no-op path where the release was already closed - it does not check whether its own UPDATE changed a row first. |
| Verdict | Unrequested |
|---|---|
| Reasoning | Demo content seeded for KAN-487 - not a real model assessment. |
| Cited evidence |
|
VerdictMet
Reasoningexport-csv.test.ts’s "produces one row per audit event, in event order" asserts the output rows match a three-event fixture’s own order - the same behavior Validation confirmed, now backed by a real test.
| Symbol | Code location | Verdict | Why | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| exportAuditLog | src/audit/export-csv.ts | Met | |||||||||||||||
1 covering test
1 test is linked to this location and was judged not to exercise this code. |
|||||||||||||||||
| Verdict | Met |
|---|---|
| Reasoning | Demo content seeded for KAN-487 - not a real model assessment. |
| Cited evidence | export-csv.ts quotes any field containing a comma, a newline or a quote. |
| Verdict | Met |
|---|---|
| Reasoning | Demo content seeded for KAN-487 - not a real model assessment. |
| Cited evidence | export-csv.ts writes rows in the order it reads them from the log. |
VerdictMet
Reasoningpersist-release-closure.test.ts’s "notifies Slack on a real close" asserts the Slack call fires when a release actually closes - it does not assert the call is absent on a no-op close, which is the gap Validation’s own finding names.
| Symbol | Code location | Verdict | Why | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| closeRelease | src/release-assembly/adapters/release/persist-release-closure.ts | Met | |||||||||||||||
1 covering test
|
|||||||||||||||||
| Verdict | Met |
|---|---|
| Reasoning | Demo content seeded for KAN-487 - not a real model assessment. |
| Cited evidence | AR-016 now states the default and unit for every spend-ceiling key. |
This ticket's tests on the release branch
Implementation: demo/dovada#101 (2 files changed)
This ticket's tests on the release branch
Implementation: demo/dovada#102 (1 file changed)
Implementation: demo/dovada#103 (1 file changed)
The question. The one Verification puts to the model: given the code the change touches and the tests linked to it, what test does not appear to exist?
In this release, 1 of 3 judgments about linked tests (33%) found the test does not exercise the code it is linked to. A link says a test can reach the code, not that it was written to test it, so this figure is not a count of weak tests. At 0 of 2 code locations with a verdict (0%), counted once for each ticket whose claims show them, no linked test was judged to exercise the code; a test that does may exist beyond this reach.
Dovada links tests to code by reading, never by running them. It follows a test from the functions it imports and names, through the functions those name in their own file, and on through imports into other files to a function no test reaches more directly. A file nothing else reaches can be linked to the test file named for it, and a test written on the ticket, where the ticket is a declared test source, is linked by its declaration to the functions the change touches. Beyond those, a test that reaches code only by a route reading does not follow - an import Dovada does not resolve, a framework, a running service - is not linked to it, and code a change adds is linked to repository tests outside the change's own files only once the default branch holds it. The reach is a deliberate limit: carrying tests across more files would link every test of a caller to everything it can reach, whether or not that test's path runs through it, and judging links takes paid model calls.
Tests that do not appear to exist for the changes in this release. Each is an observation about the evidence Dovada found, not an instruction: a test that exists and was not linked is unseen rather than absent, so these are read as places worth looking rather than as defects.
Nothing on this sheet covers this record, and that is a fact about what Dovada was able to do rather than about the change.
No test exercises exporting an audit log with zero events - whether exportAuditLog() still writes a valid, header-only CSV file when there is nothing to export.
src/audit/export-csv.ts - exportAuditLogNo test exercises the Slack call itself failing or timing out - whether closeRelease() still completes the database update when notifySlack() rejects is not covered by any linked test.
src/release-assembly/adapters/release/persist-release-closure.ts - closeReleaseNo test exercises the no-op path - whether closeRelease() skips the Slack call when its own UPDATE changed no row is not covered by any linked test.
src/release-assembly/adapters/release/persist-release-closure.ts - closeReleaseResults from run demo-run-1 on release/DEMO-1.0.0, at its current head demo00000000.
Every test the release-branch runs at the head named above reported, whether or not Dovada knows it, grouped by the test types this deployment declares by where its file lives; a test no single declared type covers is under Other tests in the run. These are the runs' own results: no test here is judged against this release's code, and no verdict on the Claims sheet changes with them.
| Failed test | File |
|---|---|
| rejects an unknown event type | src/audit/export-csv.test.ts |
The tests judged to exercise this release's code, with their results from the release-branch runs at the head named above. Which tests appear rests on those judgments as they stand, including where a later change to the code has overcome a judgment by events; the Claims sheet shows each test as its record's assessment judged it, so the two can differ for one test. No verdict on the Claims sheet changes with these results: each stays what its record's assessment concluded.
Showing only 's tests.
demo-run-1code repository2 tests| Result | Test | File | Covers code from |
|---|---|---|---|
| passed | produces one row per audit event, in event order | src/audit/export-csv.test.ts | DEMO-101 |
| passed | notifies Slack on a real close | src/release-assembly/adapters/release/persist-release-closure.test.ts | DEMO-102 |
Every verdict, answer and finding Dovada prints, with other words it uses to report them, as Dovada uses them.
What this release delivered, grouped by change type. Each item is the shipping ticket's own summary; its assessment is on the Claims sheet.