Tasks: Repo tooling setup
test-planning was declared away, so each _Test:_ names the command or test that proves the task; results are recorded in evidence/verification.md.
Task list
- [x] 1. Python project skeleton
.python-version(3.14),pyproject.toml(projecttiny_harness0.0.0,uv_buildflat layout, dev group, ruff/pyright/pytest/commitizen config),uv lock,uv sync.- Depends on: none
- Requirements: R1.1–R1.4, R3.1, R3.3, R4.1
- Test:
uv sync --lockedexits 0 and creates.venv/;uv run ruff --version,pyright --version,pytest --version,cz versionresolve from the lock.
- [x] 2.
hello_worldwith unit test- Write
tests/unit/test_hello.pyfirst (red: import fails), thentiny_harness/{__init__,hello}.pyandpy.typed(green). - Depends on: 1
- Requirements: R1.5, R2.1–R2.3
- Test:
uv run pytest tests/unit/test_hello.py(red→green)
- Write
- [x] 3. Integration test: built wheel installs and imports
tests/integration/test_package.pywith a Gherkin docstring linked to R2.- Depends on: 2
- Requirements: R1.5, R2.4
- Test:
uv run pytest tests/integration(red before task 2's package exists is covered by task 2's red; green here)
- [x] 4. Pre-commit hooks and markdownlint
.pre-commit-config.yaml,.markdownlint-cli2.jsonc; fix existing markdown findings.- Depends on: 2
- Requirements: R3.2, R4.2, R4.3, R5.1–R5.4
- Test:
uv run pre-commit run --all-filesexits 0; negative: a commit with messagebad messageis rejected bycommit-msg, one with a ruff error is blocked bypre-commit.
- [x] 5. Workflow invariant tests (security abuse cases)
tests/unit/test_workflows.pywritten first against the workflows of tasks 6–7 (red: files missing).- Depends on: 2
- Requirements: R6, R7, security abuse cases 1–3
- Test:
uv run pytest tests/unit/test_workflows.py(red→green with tasks 6–7)
- [x] 6.
ci.yml- Depends on: 4, 5
- Requirements: R6.1–R6.4
- Test: task 5's tests; the PR's own CI run is green.
- [x] 7.
release.yml- Depends on: 6
- Requirements: R7.1–R7.6
- Test: task 5's tests;
uv run cz bump --dry-run --yesfrom a throwaway clone shows0.0.0 → 0.1.0.
- [x] 8. VitePress docs site and
docs.ymldocs/package.json,bun.lock,.vitepress/config.mts,index.md,docs.yml,.gitignoreentries.- Depends on: 4
- Requirements: R8.1–R8.3
- Test:
bun run docs:buildindocs/exits 0 (dead-link check included).
- [x] 9. Guides, README, architecture, capability doc, decision
docs/guide/{tech-stack,local-development,releasing}.md; README links; architecture section;docs/capabilities/repo-tooling.md+ index row;docs/decisions/decision-001.md.- Depends on: 8
- Requirements: R8.4, R8.5
- Test: docs build and markdownlint pass; guide commands executed as written in a fresh clone during verification.
Dependency graph (DAG)
Checkpoints
Run uv run pre-commit run --all-files after tasks 4, 7 and 9. Each task's commit message records its test command and red→green transition.