Run artifact

workspace/targets/ReadingList/SOUNDINGS.md

Soundings

Per-assertion acceptance board, one row per Blueprint Programmatic Acceptance check. drydock plan projects every assertion as — UNVERIFIED; drydock score ac sets the Status column from deterministic proof results. A rerun of drydock plan resets Status to — UNVERIFIED; rescore to refresh.

StatusBlueprintAC IdTextEvidenceVerified At
✓ PASSARCHITECTURE.mdarchitecture-factoryThe application factory creates a runnable Flask application with an HTTP test client.2026-08-15T17:38:53+00:00
✓ PASSARCHITECTURE.mdarchitecture-isolationSeparate application instances can be created independently for isolated execution.2026-08-15T17:38:53+00:00
✓ PASSARCHITECTURE.mdarchitecture-entrypointThe web entrypoint exposes the application factory without requiring a development server to start during import.2026-08-15T17:38:53+00:00
✓ PASSDATABASE.mddatabase-add-readbackA book added through the persistence interface can be read back with the submitted fields.2026-08-15T17:38:53+00:00
✓ PASSDATABASE.mddatabase-orderOrdered reads preserve the order in which books were added.2026-08-15T17:38:53+00:00
✓ PASSDATABASE.mddatabase-removeRemoving an existing book makes it absent from a subsequent persistence read.2026-08-15T17:38:53+00:00
✓ PASSDATABASE.mddatabase-emptyA new database returns an empty ordered collection.2026-08-15T17:38:53+00:00
✓ PASSUI-GENERAL.mdui-patterns-formThe shared presentation includes labeled title and author controls and a submission control.2026-08-15T17:38:53+00:00
~ PREPASSEDUI-GENERAL.mdui-patterns-empty-stateThe shared presentation provides a reader-visible empty-list state.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
✓ PASSUI-GENERAL.mdui-patterns-removal-controlThe shared presentation provides a removal control for a listed book.2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Book-Creation.mdbook-creation-routeThe book-creation route accepts a submitted title and author and returns a redirect response.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Book-Creation.mdbook-creation-readbackA successfully submitted book is visible when the list is read again.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Book-Creation.mdbook-creation-preserves-existing-orderAdding a new book preserves the relative order of books already present.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Ordered-List.mdordered-list-routeThe reading-list route is reachable and returns a successful response for an empty store.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Ordered-List.mdordered-list-empty-stateAn empty store produces a reader-understandable empty-list state.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Ordered-List.mdordered-list-orderThe list renders multiple books in their insertion order.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Book-Removal.mdremoval-route-reachableThe removal route accepts a valid removal request.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
✓ PASSFEATURE-Book-Removal.mdremoval-persistsRemoving a book makes it absent on the next public list read.2026-08-15T17:38:53+00:00
✓ PASSFEATURE-Book-Removal.mdremoval-preserves-remaining-orderRemoving one book leaves the other books in their original relative order.2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Incomplete-Submission.mdvalidation-rejects-empty-titleA submission with an empty title is rejected with a client validation response.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Incomplete-Submission.mdvalidation-rejects-empty-authorA submission with an empty author is rejected with a client validation response.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Incomplete-Submission.mdvalidation-does-not-persist-invalid-submissionInvalid submissions do not appear in the public list.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Incomplete-Submission.mdvalidation-preserves-valid-submissionA valid submission remains supported by the creation workflow.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDSCREEN-Reading-List.mdscreen-loadsThe reading-list screen is reachable at its declared route.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDSCREEN-Reading-List.mdscreen-accepts-book-submissionThe screen supports submitting a title and author through the declared creation route.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDSCREEN-Reading-List.mdscreen-supports-removalThe screen supports removing a listed book through the declared removal route.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDSCREEN-Reading-List.mdscreen-supports-empty-stateThe screen responds successfully when the reading list is empty.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Test-Suite.mdcomplete-suiteThe required POSIX test launcher runs the complete automated suite successfully.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Test-Suite.mdlauncher-runs-from-rootThe test launcher is runnable from the application root using the required command.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00
~ PREPASSEDFEATURE-Test-Suite.mdbehavior-suite-command-existsThe complete launcher invocation is the executable project verification boundary.green at this block's baseline too, before its code existed — confirm the criterion exercises the story's work2026-08-15T17:38:53+00:00