Skip to content

book: create-missing = true makes the 'SUMMARY.md references nonexistent file' condition unfalsifiable #5300

Closed as not planned

Description

@noahgift

A book condition that cannot fail

contracts/apr-book-build-v1.yaml lists the falsification condition
"SUMMARY.md references nonexistent .md file". No check can trip it:
book/book.toml sets

[build]
create-missing = true

so mdbook build book writes an empty page for any SUMMARY.md entry with no file and exits 0. The book workflow runs mdbook build book before scripts/check_book_linkcheck.sh, so by the time the link check runs, the missing file exists on disk. A typo in a SUMMARY.md path ships as a blank chapter, and nothing goes red.

Falsifier

  1. Add - [Ghost](ghost.md) to book/src/SUMMARY.md.
  2. Run mdbook build book. It exits 0, and book/src/ghost.md now exists.

Fix options

  • Set create-missing = false. mdbook then refuses a SUMMARY.md entry with no file, and the existing build step becomes the check.
  • Or add a pre-build step that resolves every SUMMARY.md link against book/src/.

Either way, FALSIFY-BOOK-BUILD-001 (added under #5291) then covers the condition, and its prediction text can drop the caveat.

Refs #5291

Activity

  1. added this to the backlog milestone on Oct 14, 2026
  2. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Folded into #2876 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it.

    Agent: aprender-clerk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions