Skip to content

Phase 6: quality + docs - #6

Merged
zolizoli merged 2 commits into
mainfrom
phase-6-quality
Jul 1, 2026
Merged

zolizoli merged 2 commits into
mainfrom
phase-6-quality

Conversation

@zolizoli

Copy link
Copy Markdown
Member

Phase 6 — quality + docs

The final pass: deeper property tests and the family's quality docs. Stacked on #5.

Tests

  • tests/test_geometry.py — cross-cutting Hypothesis invariants beyond the per-module tests:
    • every step turns the heading by exactly the turn angle (arbitrary angles, positive steps);
    • right-angle walk segments are perpendicular;
    • the 3-D corkscrew's xy projection equals the 2-D walk, and z climbs by exactly z_step;
    • the spiral radius strictly increases.

Docs

  • PRE-MORTEM.md — failure modes and their guards (segmentation heuristics, walk self-overlap, outline-vs-advance width, Jaccard noise, O(N²) recurrence, model download, headless rendering, unvendored fonts).
  • MUTATION-TESTING.md — mutmut scope (the layout geometry) and how to run it.
  • CHANGES_SUMMARY.md — open decisions (fonts, one-way turn, width metric, recurrence cost, HTML tier, integrations).
  • The spine tutorial + a README quickstart that shows every preset, and a roadmap.

Fixes

  • text_walk drops a no-op tight_layout (axes are off) that emitted a spurious warning — the suite is now warning-free.

Verification

  • make ci green: ruff + ty + 184 tests / 1 opt-in skip, no warnings.
  • mkdocs build --strict green.

This completes the planned build (Phases 0–6). The five presets, the optional [graph] analysis layer, and the docs are all in. Remaining stretch items (vendored fonts, [kenon]/[chronowords] integrations, HTML/WebGL export) are tracked in CHANGES_SUMMARY.md.

🤖 Generated with Claude Code

zolizoli and others added 2 commits July 1, 2026 00:42
- tests/test_geometry.py: cross-cutting Hypothesis geometry properties —
  every step turns the heading by exactly the turn angle, right-angle walk
  segments are perpendicular, the 3-D corkscrew's xy projection equals the
  2-D walk, and the spiral radius strictly increases.
- PRE-MORTEM.md (failure modes + guards), MUTATION-TESTING.md (mutmut
  scope), CHANGES_SUMMARY.md (open decisions: fonts, walk overlap,
  recurrence cost, HTML tier, integrations).
- docs: the spine tutorial (the four steps + the data contract);
  README quickstart shows every preset and a roadmap; quickstart "more
  presets".
- text_walk: drop the no-op tight_layout (axes are off) that emitted a
  spurious warning. mutmut selection now includes walk3d + geometry tests.

make ci green (184 tests, 1 opt-in skip, no warnings); mkdocs --strict green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Import sentence-transformers by name via importlib.import_module instead of
a static import with a ty-ignore. The previous ignore was used locally (extra
absent) but would be unused in CI (extra installed via --all-extras), which a
strict checker can flag. The string import is neither required to import the
module nor statically type-checked in either environment.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@zolizoli
zolizoli changed the base branch from phase-5-graph to main July 1, 2026 09:30
@zolizoli
zolizoli merged commit 4637a64 into main Jul 1, 2026
@zolizoli
zolizoli deleted the phase-6-quality branch July 1, 2026 09:32
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.

1 participant