Andrew Ridgway bec1eaac87
Some checks failed
Test / test (push) Has been cancelled
first pass at the newspaper builder
2026-09-14 11:57:22 +10:00

2.4 KiB

Team-Level Rules

This team's affirmed practices and corrections. Loaded after org.md as strict-additive guidance; contradictions with broader policy are rejected. Populated by the practices-discovery affirmation gate. Edit at the gate, not directly.

Way of Working

Direct to main. This is a solo local project, so everyday edits go straight to the main line; we use branches only if something larger ever warrants a review boundary. No feature-branch ceremony for routine work.

Walking Skeleton

Skip the separate walking-skeleton step. The layout and content are built together — there is no integration surface to prove, and a thin end-to-end slice (one markdown file → one rendered A4 page) emerges naturally as the first piece anyway.

Testing Posture

Unit tests for the markdown→HTML transform. The primary testable surface is the renderer: sample article markdown must always map to complete, correctly structured newspaper HTML with no dropped sections or mangled escaping, and the print stylesheet must keep content inside an A4 sheet. We write focused tests for the transform logic rather than an exhaustive suite; the print result remains the real-world acceptance check.

Methodology: test-after Ordering: implement the transform and layout, then write and run tests that verify markdown→HTML fidelity and A4 print containment.

Change Control

Deployment

File-only, no server. A Python static generator (primary path, run with the working uv runtime) reads content files and emits a self-contained newspaper.html. The page is opened directly via file:// and printed to A4 from the browser print dialog. The generated page also includes a native file-picker / drag-and-drop load path so content can be swapped in live without regenerating. No server, no browser flags, never deployed beyond localhost. The generator may optionally call AI to draft newspaper copy before rendering.

Code Style

Minimal and pragmatic, no style rules beyond staying consistent. Pure HTML5 + CSS + vanilla JS with no build step and no framework. Keep formatting clean by hand; do not introduce tooling, transpilers, or bundlers.

Forbidden

Mandated

Corrections