Files
infospace-bench/pyproject.toml
tegwick a4dde53fc3 IB-WP-0019-T03: rate-table cost computation
Ship a starter model rate table at src/infospace_bench/model_rates.yaml
(prompt_per_1k / completion_per_1k for the OpenRouter models we have
actually touched: gpt-4o, gpt-4o-mini, gpt-4-turbo, claude 3.5 sonnet
and haiku, claude 3 opus, gemini 1.5 flash/pro, llama 3.1 70b) and a
load_rate_table() / estimate_cost_usd() pair that overlays an optional
<workspace>/model-rates.yaml on top of the bundled defaults.

generate run now passes a workspace-aware cost_resolver into
record_run_usage, so cost_usd_estimated lands on every usage bucket
whose model matches the table. Adapter-returned cost still wins
(cost_status="known"); rate-table cost is reported under
cost_status="estimated"; unmatched models are recorded as
cost_status="unknown" rather than silently zeroed. Rate-table file is
listed in pyproject.toml package-data so pip-installed users keep the
defaults.

106 tests pass.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 19:54:30 +02:00

21 lines
566 B
TOML

[project]
name = "infospace-bench"
version = "0.1.0"
description = "Application-layer workspace for concrete structured knowledge spaces."
requires-python = ">=3.12"
dependencies = [
"PyYAML>=6",
"markitect-tool @ file:///home/worsch/markitect-tool",
"artifactstore @ file:///home/worsch/artifact-store",
]
[project.scripts]
infospace-bench = "infospace_bench.cli:main"
[tool.setuptools.package-data]
infospace_bench = ["profiles/**/*", "model_rates.yaml"]
[tool.pytest.ini_options]
pythonpath = ["src", "../markitect-tool/src"]
testpaths = ["tests"]