Repository navigation
test: ebook - Verify manuscript rendering and reader interactions #382
Description
Outcome
Add focused source-to-reader and interaction regression coverage.
Verified context
Existing reader controls are substantial; #14 owns shared frontend test infrastructure. Coverage must test actual source integration rather than assume new controls are needed.
Scope
Extend existing tooling with eBook fixtures and journeys, not manuscript writing.
Acceptance criteria
- Tests cover ordering, contents/drawer destinations, page breaks and supported page variants.
- Boundaries, empty content, corrupt progress and repagination are covered.
- Keyboard, buttons, touch, settings and reduced motion are exercised across layouts.
- Actual test commands/results and the Markdown-to-reader editing path are documented; failures remain explicit.
Boundaries and sources
Creation defines work only; it does not start implementation. Preserve unrelated code, protected assets, editorial wording and existing records. Do not fabricate content, identity, media, manuscript chapters, dates or engagement data. Use approved repository-native authoring, validation, preview and publication decisions; do not provision an external CMS or database. Existing editorial verification remains with its current issues. All acceptance criteria remain unchecked until evidenced.
Repository evidence was inspected on develop at 4ecdb26d9655a48bf000a7c89da2f70383edce87. Recheck before implementation; no build or browser tests were run for this draft. Follow repository instructions and applicable Spec Kit requirements. Paths below refer to this repository.
Sources: repository instructions, application, editorial content.
Branch instructions
- Repository: lightspeedwp/ThisOneTimeOnAcidCom
- Proposed branch:
test/ebook-reader-regression - Base:
develop - Naming policy: local guide, validator, organisation strategy.
- Pull request template: Unresolved for this prefix in the inspected routing evidence; verify the current repository/organisation template before opening a PR.
- Constraints: Preserve unrelated changes; do not force-push, merge or deploy. Complete applicable Spec Kit requirements before implementation.
- Conflicts or missing evidence: Proposed branch, not an existing branch; collision freedom is unverified. Recheck current branch routing and open governance changes, including PR automation: repo-governance - Add governance automation and validation #346. Older instructions claim branch rules are absent; the inspected local guide and executable validator establish the current convention. This draft creates no branch or pull request.
Unanswered clarification questions
These questions clarify the existing regression-coverage scope without duplicating shared test infrastructure or assuming tests have passed.
- Which existing test files should be extended or refactored, and which new files, if any, are required?
- Which approved manuscript fixtures and expected results should establish ordering, contents, page-break and page-variant correctness?
- Which browser, viewport, layout and input combinations are required for the existing interaction scenarios?
- Which existing test commands should run this coverage, and where should revision-specific results and failures be recorded?
- What is the verified Markdown-to-reader editing path, and which parts should the testing documentation explain?
Branch instructions — batch 32 audit addendum
- Repository:
lightspeedwp/ThisOneTimeOnAcidCom; implementing target: this reader-regression issue, counterpart GitHub issue 382. - Proposed branch:
test/ebook-reader-regression; base: refresheddevelop, verified at4ecdb26d9655a48bf000a7c89da2f70383edce87(R). Shared governance baseline:8f28eca80bff198879f7aaf496717dc0551bb32e(G). - Branch state: proposed new branch, not created/reused. Static inspection of the local guide and validator supports
test/and the proposed syntax. No matching branch/exact-head PR found. Recheck before creation; absence is not reservation. No validator was executed. - Instructions: follow repository AGENTS, CONTRIBUTING, guidelines reading order and applicable reader/accessibility guidance. Older assertions that tests/branch rules are absent conflict with current executable configuration. No governance cleanup is included.
- Template unresolved: local
.github/workflows/pr-template-routing.ymlsuggests sharedpr_test.md; sharedconfig.ymlmapstest/topr_chore.md. Both are evidence, not approval to choose silently. Resolve selection before preparing a PR; routing does not prove native inheritance or automatic body insertion. Do not change routing/templates, create local copies or adopt example metadata/closing placeholders. - Association safeguards: no allowed closing targets for this provisional contribution. Review future identifiers, links, commits and native associations separately; non-closing wording is not guaranteed association-safe. Omit coordination-parent identifiers/URLs from future branches, PR metadata and coding prompts while effects remain unverified. Never use an epic as native development/closing target.
- PR346 remains open/unmerged governance context, not delivered infrastructure or a branch to reuse. No branch/PR operations, execution, merge or deployment authorised.
Expected file changes
Provisional bounded plan, not implementation authority. Parent directories exist and proposed destinations were absent at R. Fixture paths remain unresolved: approve their exact locations separately; do not fabricate manuscript content.
| Operation | Path | Intended change | Evidence/revision | Approval or dependency |
|---|---|---|---|---|
| Create, conditional/proposed | e2e/ebook-source-rendering.spec.ts |
Source-to-reader ordering, contents destinations, page breaks, variants and invalid/empty input | R: Playwright discovers e2e/; current loader/rendering pipeline inspected |
#380 approved sources/results and isolated fixture-loading contract |
| Create, conditional/proposed | e2e/ebook-reader.spec.ts |
Boundaries, drawer, keyboard/buttons/touch, settings, reduced motion and collection-state coverage | R: active reader, pagination helpers and preferences inspected | #14 startup/infrastructure evidence; #381 continuity/recovery contract; avoid duplicating its proposed continuity test |
| Create, conditional/proposed | docs/ebook-reader-testing.md |
Verified editing/fixture path, targeted commands, browser/layout matrix and revision-specific outcomes | R: existing docs directory, package scripts and Playwright configuration | Agreed contracts and actual execution evidence; no claimed results in advance |
No moves/deletions. Shared infrastructure, source loading and reading-continuity work remain incomplete. Batches 26, 30 and 31 remain pending sync approval, not delivered prerequisites.
The active chain is bookContentLoader.ts → ebook-pages.ts → EbookPage.tsx. The loader targets absent /src/content/book/; root content/book/ inventory does not establish editorial approval or completeness. Exclude the brief and missing/unapproved material. Testing fallback TypeScript data does not prove manuscript integration.
Agree the browser/layout/input matrix, including the current 1024px spread boundary. Coordinate font/resize/orientation, single/spread, reload, changed/removed sources and legacy/corrupt/blocked-storage cases with continuity coverage. Playwright currently builds locally; remote preview mode is not implemented. Jest discovers JavaScript tests and lacks a TypeScript transform; alternative harness/configuration changes require a revised preview.
Complete applicable Spec Kit planning first. Specification allocation/routing and exact artefact paths remain unresolved; no number reserved or allocation run. Preview those paths separately.
Exclude runtime fixes, manuscript/editorial changes, fabricated content, dependencies/configuration, workflows/templates, protected assets, Supabase, attribution/changelog, generated output and unrelated cleanup. Resolve changelog handling separately. Additional paths/material changes require revised preview and approval. No builds, scripts, browser tests or validators ran; acceptance remains unchecked. Keep restricted material/credentials out of public sync. Description approval changes no status, ownership, labels, hierarchy or PR associations and grants no implementation authority.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Activity
linear-code commentedon Oct 18, 2026
TOA-330