Markdown work checklist
Updated 2026-10-23. Ordered by current relevance. Checked means the named work is complete within its stated boundary; it does not imply deployment or full Markdown compatibility. Optional syntax entries are decisions to implement/defer/omit, not approved implementation requirements. Keep historical evidence intact and update this checklist when work changes.
1. Current task-checkbox acceptance — highest priority
Fix barely distinguishable checked/unchecked appearance with hollow outlines versus solid fills and contrasting ticks; retain native disabled checkbox semantics, accessible task names and working links. Initial native-paint acceptance failed user UAT and was corrected.
Verify corrected appearance in Chromium across all 16 registered themes, phone/desktop, Auto light/dark, LCD palettes and forced colors: 46 dynamic + 46 generated cases; inspect all state-pair screenshots. Physical-device/AT acceptance remains below.
Complete user UAT of the corrected checkbox slice: user accepted it and authorized merge on 2026-10-23.
Merge the accepted task-checkbox slice into main. Production deployment/refresh remains a separate item below.
Implement checked/unchecked display for supported unordered task items, including uppercase X, wrapped task labels and nested items.
Keep task display immutable: disabled, skipped by Tab, no source writes, submission or editing controls.
Preserve literal markers in ordered items, code/table examples, malformed/empty labels and unsupported whole-list source blocks.
Verify task names/links, source downloads, dynamic/static parity and publication failure/recovery. Initial corpus: 1,109 displayed controls and 73 retained source candidates; corrected appearance has separate verification below.
Evidence: task implementation , task corpus/acceptance , contrast correction evidence .
2. Explicitly requested usability follow-ups
These are separate future slices, not part of the current checkbox correction.
3. Core renderer work already delivered
Restore the project-owned dependency-free renderer; remove the eight-package Markdown dependency bundle and its runtime imports.
Preserve headings, duplicate-safe heading IDs/fragments, ordinary emphasis, inline code, safe inline links, quotes and thematic breaks.
Render standalone pipe tables: header/body cells, alignment, optional outer pipes, empty cells, escaped pipes and supported inline-code pipes.
Provide keyboard-accessible table scrolling and whole-block source fallback for uncertain tables.
Preserve ordered/unordered nesting, mixed child types and ordinary continuation/loose paragraphs within the supported indentation rules, through eight levels.
Preserve explicit source step numbers, including starts, repeats, restarts and gaps.
Keep unsupported/ambiguous list blocks readable as source, without consuming following standalone content.
Retain fenced example bytes, language captions, keyboard source/code regions and readable Mermaid source.
Retain collapsed escaped metadata, hidden prose comments, escaped HTML, image alternatives/no fetching and traversal/symlink/unsafe-link protections.
Deliver the same renderer through ordinary PHP Docs and full/shared static publication, with stale refresh, failure retention and restoration/retry evidence.
Freeze source metrics, classify measured tables/lists/tasks and retain per-document hashes without restoring a reference-parser dependency.
Keep Docs discovery, browsing/search, safe downloads and root-document reading integrated with the existing reader.
Evidence: table slice , list slice , renderer runbook .
4. Optional compatibility decisions — prioritize by real document needs
Decide reference-style links/definitions: explicit, collapsed and shortcut forms, preserving document-boundary safety.
Decide URL autolinks: bare URLs, angle-bracket URLs and email autolinks.
Decide underscore emphasis/strong emphasis and strikethrough.
Decide hard line breaks from trailing spaces or backslashes.
Decide Setext headings, grouped/nested blockquotes and other currently unsupported block forms.
Decide tilde fences, standalone indented code and more complete inline-code delimiter/escape handling.
Decide broader list support: embedded tables/quotes/fenced or indented code, tabs/other indentation conventions and nesting beyond the current bound.
Decide task presentation in ordered lists; retain numbering and read-only behavior if selected.
Decide richer table forms: tables in lists/quotes, multiline/merged cells, nested tables, uneven rows and more complex code-span boundaries.
Decide rare or currently unused extensions such as footnotes and admonition-style alerts.
Decide whether Mermaid/math rendering or actual image loading is wanted; each needs a separate scope/security/dependency review. Labeled source/text alternatives remain the current behavior.
Reconcile the historical rare-syntax decision table with completed slices and record explicit implement/defer/omit decisions, including zero-use variants; do not replace historical counts with invented current measurements.
Evidence: historical rare-syntax table , original formatting inventory , latest task-slice metrics . Candidate counts are heuristics, not conformance guarantees.
5. Verification and documentation closeout
6. Original dependency/history-removal closeout — separate from renderer features
Evidence: removal implementation , clone/history handoff .
Current policy, not unfinished implementation
Raw HTML stays escaped, arbitrary images are not fetched, Mermaid stays source, and checkboxes remain read-only. Changing these policies is not implied by an unchecked optional decision. Do not delete recovery data or modify todo.txt without the required explicit user authorization.