Define a focused CS/applied-math feature track for phil that strengthens terminal workflows without turning the project into a simulator platform.
Scope Boundary
This issue is for CS-facing math workflows outside dedicated number-theory and stats tracks.
Goal
Make phil a first-stop math tool for CS practitioners while preserving exactness, safety, and scriptability.
Proposed Scope (phased)
Phase 1 (high value)
- Bit/number helpers: base conversion ergonomics, popcount/parity helpers.
- Performance/back-of-envelope helpers suitable for terminal use.
- Lightweight graph/discrete helpers for small examples.
Phase 2 (targeted depth)
- Information theory basics (entropy/KL for discrete distributions).
- Additional CS workflow helpers validated by user observations.
Product Constraints
- Exact-first behavior where possible.
- Explicit hint when numeric approximation is used.
- Deterministic, pipe-friendly output.
- No hidden semantics changes.
Acceptance Criteria
- Initial CS helper set is documented and reachable from help commands.
- High-value workflows have examples in one-shot and REPL contexts.
- Errors retain actionable
E: + hint: quality.
- Tests cover behavior and output stability.
Non-Goals
- No full algorithm/data-structure simulation engine.
- No DB/OS emulation layer.
- No graphing UI.
Test Gate
uv run --group dev pytest
uv run --group dev pytest --cov=calc --cov-report=term-missing --cov-fail-under=90
Define a focused CS/applied-math feature track for
philthat strengthens terminal workflows without turning the project into a simulator platform.Scope Boundary
This issue is for CS-facing math workflows outside dedicated number-theory and stats tracks.
Goal
Make
phila first-stop math tool for CS practitioners while preserving exactness, safety, and scriptability.Proposed Scope (phased)
Phase 1 (high value)
Phase 2 (targeted depth)
Product Constraints
Acceptance Criteria
E:+hint:quality.Non-Goals
Test Gate
uv run --group dev pytestuv run --group dev pytest --cov=calc --cov-report=term-missing --cov-fail-under=90