Skip to content

Phase 0 scaffold: package skeleton, tooling, CI with coverage#39

Merged
fazpu merged 2 commits into
mainfrom
impl/phase0-scaffold
Jul 9, 2026
Merged

Phase 0 scaffold: package skeleton, tooling, CI with coverage#39
fazpu merged 2 commits into
mainfrom
impl/phase0-scaffold

Conversation

@fazpu

@fazpu fazpu commented Jul 9, 2026

Copy link
Copy Markdown
Member

What

First implementation commit (roadmap phase 0): the package skeleton and the full quality gate, so every subsequent PR lands against working checks.

  • pyproject.toml — hatchling + src/ layout, Python ≥3.12, Apache-2.0. Ruff config copied verbatim from the writeitai house style (team-harness/loopy-loop: I,B,A,ERA, single-line imports, 88 cols). Pyright deliberately deviates from that template: standard mode with zero disabled checks (the template runs basic + ~20 report*=false) — strict-first for a data-integrity system full of enums and adjudication outcomes; loosen only per-line with a reason.
  • CI — uv with --locked sync (committed uv.lock = pinned tools, no lint drift), 3.12/3.13 matrix, ruff lint + format check, pyright, pytest.
  • Coverage, self-containedpy-cov-action/python-coverage-comment-action: PR comments with coverage diffs + a badge served from a data branch in this repo. No external service, no tokens to configure. Badges added to the README (coverage badge lights up after the first post-merge run on main).
  • src/ultimate_memory (versioned, py.typed) + smoke tests; Makefile dev targets (make check = lint + typecheck + test); README banner updated (implementation begun).

All checks green locally: ruff clean, pyright 0 errors in standard mode, 2/2 tests, coverage 66.7% (missed lines = the not-installed fallback branch).

Notes

  • Package name ultimate-memory is the working title; the rename gates public release, not development (questions.md #11a). PyPI/npm/Docker collision state is irrelevant until then.
  • After merge, consider branch protection requiring checks (3.12), checks (3.13), and Coverage report.

🤖 Generated with Claude Code

- pyproject.toml: hatchling + src layout, py>=3.12, pydantic core dep;
  ruff config copied from the writeitai house style (team-harness/
  loopy-loop); pyright deliberately DEVIATES from that template —
  "standard" mode with no checks disabled (strict-first for a
  data-integrity system); pytest with asyncio auto + coverage config
- src/ultimate_memory: versioned package with py.typed; src/tests:
  smoke tests
- CI (GitHub Actions): uv-based, locked sync, 3.12/3.13 matrix,
  ruff lint + format check, pyright, pytest with coverage; coverage
  published via py-cov-action (self-contained: PR comments + badge
  from a data branch, no external service)
- README: CI + coverage badges; banner updated (implementation begun,
  roadmap phase 0); Makefile dev targets; .gitignore python entries
- uv.lock committed: CI runs pinned tool/dep versions; bumps are
  deliberate

Package name "ultimate-memory" is the working title; rename gates
public release (questions.md #11a).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  src/ultimate_memory
  __init__.py 12-13
Project Total  

This report was generated by python-coverage-comment-action

…ts); codify relax-with-receipts rule

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@fazpu fazpu merged commit eccc693 into main Jul 9, 2026
3 checks passed
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