Skip to content

docs: make Getting Started and CONTRIBUTING accurate and runnable#78

Merged
krakennetworks merged 4 commits into
mainfrom
docs/getting-started-accuracy
Jun 24, 2026
Merged

docs: make Getting Started and CONTRIBUTING accurate and runnable#78
krakennetworks merged 4 commits into
mainfrom
docs/getting-started-accuracy

Conversation

@se-jo-ma

Copy link
Copy Markdown
Member

What

Followed the developer onboarding guides (docs/getting-started.md, CONTRIBUTING.md, README.md) step by step and corrected every instruction that was wrong or did not run.

Fixes

  • Python version: 3.14 → 3.12 in Getting Started (matches requires-python = ">=3.12").
  • Core deps: now lists clipspy, pyyaml, pydantic (was "the only core dependency is clipspy").
  • Dev setup: uv syncuv sync --all-extras. A plain uv sync left 16 test modules failing at collection (missing fastapi / cryptography / mcp / prometheus_client) and ran 0 tests; with the extras the suite is green (1691 passed, 4 skipped, 1695 collected).
  • Getting Started example rewritten so it actually compiles and runs: real list-form when: schema, a classification hierarchy + function loaded via load_functions() so below() is defined, and the printed decision/reason/rule_trace/module_trace replaced with the real executed output. The old example printed a trace for a classification::resolve-levels rule that was never defined.
  • README Quick Start fixed — it crashed because it never called load_modules(); it now uses Engine.from_rules().
  • Updated the CONTRIBUTING test count (1695) and Project Structure tree.

Verification

  • Getting Started example + README snippet run clean; the outputs printed in the docs match real execution.
  • uv sync --all-extras && uv run pytest -q1691 passed, 4 skipped.
  • uv run ruff format --check src/ tests/ clean; uv run mypy src/ clean with --all-extras.

Out of scope / note

  • One honest residual: interpolating the cleared-slot value into the deny reason hits a CLIPS compiler edge case (bind: + a classification operator on the same slot emits invalid CLIPS). Used a truthful static reason; classification semantics are intact. Fixing the compiler was out of scope.

🤖 Generated with Claude Code

https://claude.ai/code/session_01V8oiyn95VpYzZXH2V2PXSa

krakennetworks and others added 4 commits June 24, 2026 19:09
Followed the developer onboarding guides end to end and fixed every step
that was wrong or did not run:

- Correct the Python floor to 3.12 (was 3.14); list the real core deps
  (clipspy, pyyaml, pydantic) instead of "only clipspy".
- Document `uv sync --all-extras` for dev setup. A plain `uv sync` left
  16 test modules failing at collection (missing fastapi / cryptography /
  mcp / prometheus_client) and ran 0 tests; with extras the suite is
  green (1691 passed, 4 skipped, 1695 collected).
- Rewrite the Getting Started rule example so it actually compiles and
  runs: real list-form `when:` schema, a classification hierarchy +
  function loaded via load_functions() so `below()` is defined, and the
  printed decision/reason/rule_trace/module_trace replaced with real
  executed output (the old example printed a trace for a rule that was
  never defined).
- Fix the README Quick Start snippet, which crashed because it never
  called load_modules(); it now uses Engine.from_rules().
- Update the CONTRIBUTING test count (1695) and Project Structure tree.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V8oiyn95VpYzZXH2V2PXSa
The getting-started prose changes (Python 3.12 baseline, expanded core
deps, classification-hierarchy section) are embedded into the generated
llms-full.txt. Regenerated via `make docs-gen` so the docs drift gate
passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YFbDHuyErPiiWNEGkEa4kG
fathom-ts/package.json was touched by #51 (repository.url https->git+https), tripping the doc-source drift gate. The repo-url format change doesn't affect this page's content; re-verified.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017pXsj4Q7q1Vn2mtHhakTtJ
Signed-off-by: se-jo-ma <mauk.sean@gmail.com>
pypi-publish.yml bumped actions/checkout v6->v7 (dependabot #87), a mechanical CI bump that doesn't affect this page; re-verified.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017pXsj4Q7q1Vn2mtHhakTtJ
Signed-off-by: se-jo-ma <mauk.sean@gmail.com>
@se-jo-ma se-jo-ma force-pushed the docs/getting-started-accuracy branch from 4c8c670 to befdf68 Compare June 24, 2026 19:09
@krakennetworks krakennetworks self-requested a review June 24, 2026 19:19
@krakennetworks krakennetworks merged commit e1bbabc into main Jun 24, 2026
13 checks passed
@krakennetworks krakennetworks deleted the docs/getting-started-accuracy branch June 24, 2026 19:20
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.

2 participants