Skip to content

Specifications part 1: config file, plugins, scheduling; old design notes moved to history - #361

Open
txoof-bot wants to merge 5 commits into
mainfrom
346-specs
Open

txoof-bot wants to merge 5 commits into
mainfrom
346-specs

Conversation

@txoof-bot

@txoof-bot txoof-bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Part of #346, closes #210

What changed

  • Three specifications for people, in docs/specs/ and on the site under For developers → How PaperPi works:
    • The config file (config.md), from the notes config-format and live-config-reload
    • Which plugin is shown (scheduling.md), from plugin-scheduling; txoof reviewed this one as the sample
    • Plugins and setting helpers (plugins.md), from plugin-interface and setting-helpers
  • Each spec has the same shape: summary, how it works (present tense, what the code does today, with the old "Update" paragraphs folded in), a table of the exact numbers, Not built yet, Why it works this way (with a link to the old note), and In the code. No options considered, status lines, dates or issue numbers. Numbers checked against limits.py, plugin.py and config.py.
  • The old design notes moved unchanged to docs/history/decisions/, still off the site.
  • Links updated: the code comments and install/paperpi.service that pointed to docs/decisions/ now point to the matching spec. The three notes that get specs in part 2 (screens, errors, web interface) point to their place in docs/history/decisions/ for now.
  • CLAUDE.md: a new "Specifications" section. A PR that changes how a part works updates its spec in the same PR, and the old notes are not updated any more.
  • Fix for main: since Plugin pages: a picture at the top, written for people #359, the plugin pages without a "Sample images" section (now all of them) lost their framed top picture, and test_a_picture_before_the_first_section_is_the_plugins_preview failed on main. manual.plugin_page now marks the picture before splitting off that section.
  • When does a design note change from proposed to accepted? #210 (when does a note change from "proposed" to "accepted") no longer applies: specs describe what exists and have no status.

Part 2 will add the specs for screens and drivers, errors and time limits, and the web interface.

Area

docs (docs/, mkdocs.yml, CLAUDE.md), plus comment-only changes in src/paperpi/ and install/paperpi.service.

Tests

  • Only comments and docs changed; no local runs, CI checks.
  • uv run pytest: CI
  • uv run ruff check .: CI
  • Site build with broken-link check: CI (docs workflow).

Review

  • Review agents' comments answered

Only txoof approves and merges this PR.

🤖 Generated with Claude Code

txoof-bot and others added 4 commits October 29, 2026 10:35
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…specifications; CLAUDE.md rule (#346)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@txoof-bot
txoof-bot requested a review from txoof as a code owner October 29, 2026 09:39
…rame too (fixes the failing test on main after #359)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

When does a design note change from proposed to accepted?

1 participant