Skip to content

Latest commit

 

History

History
18 lines (12 loc) · 1.86 KB

File metadata and controls

18 lines (12 loc) · 1.86 KB

tools

A shared toolbox of small CLI utilities, callable directly by both the human and the assistant (and, eventually, by Praxis models at inference time) so neither side has to relay numbers off charts or read/copy/paste data between contexts. Each tool is single-purpose and runs as python tools/<name>.py.

Conventions

  • Naming: verb-prefixed (fetch_metrics.py, get_runs.py, ...), not bare nouns. Tools read as actions; this also leaves room for them to land in a model-callable tool schema later without renaming.
  • Dependencies: prefer stdlib. A tool should run from a clean checkout without forcing the user into the project venv or a heavy install.
  • Output: human-readable by default, with a --json flag when the tool produces structured data the assistant might want to parse.
  • Scope: small and focused. New capability = new file, not a new flag on an existing tool.

Available tools

  • fetch_metrics.py - hits the running web app's /api/metrics (and /api/dynamics with --dynamics) and prints a per-series summary table (n, latest, first, min/max, slope per 1k steps, missing count, unicode sparkline) for the current run or --run <hash>. Pass --filter <regex> to narrow series, --json for machine output, --host host:port to point at a non-default server.
  • generate_print_samples.py - materializes the default print data (25 formats x N) and traces the engagement reward over it, to eyeball the dynamics before any model exists.
  • index_kb.py - builds the knowledge-base FTS5 search index the web app serves at /api/kb/search, reading docs/, next/, and build/runs/ directly.

The paper's living-document inputs (variables.tex, framing.tex, geometries.tex, inlines.tex) are no longer tools - they are part of the codebase under praxis/pillars/. Regenerate them with python -m praxis.pillars.build, then build the PDF.