- I1: canary scope/contract/test now cover subdirectories (src/rune/**/canary_*.py) — red-green proven - I2: tolerance behavior pinned by test (closing-apostrophe anchor; rune_tui_helper NOT tolerated) - I3: henxels==0.12.0 exact pin; redundant unpinned CI install removed - I4: AGENTS.md digest freshness enforced by test (contract edit without sync fails) — umbrella rule made mechanical - I5: max_lines recursive (./src/rune/*); dead allowance dropped (local_tool_runtime) - Minor 6-13 accepted and documented in plan tail Suite 466 -> 470 (+4 discharge tests); henxels check exit 0; ruff clean.
38 lines
821 B
TOML
38 lines
821 B
TOML
[build-system]
|
|
requires = ["setuptools>=68.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "rune"
|
|
version = "0.49.0"
|
|
description = "Rune — a stateful coding assistant with persistent memory, orchestration, and TUI"
|
|
requires-python = ">=3.10"
|
|
|
|
dependencies = [
|
|
"textual>=8.2.0",
|
|
"textual-autocomplete>=4.0.0",
|
|
"rich>=13.0.0",
|
|
"httpx>=0.27.0",
|
|
"aiohttp>=3.9.0",
|
|
"websockets>=12.0",
|
|
"psutil>=5.9.0",
|
|
"pyyaml>=6.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
memory = ["sqlite-vec>=0.1.0"]
|
|
dev = ["pytest>=8.0", "pytest-subtests", "ruff==0.16.5", "pyright", "henxels==0.12.0"]
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
|
|
[tool.ruff]
|
|
target-version = "py310"
|
|
line-length = 120
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E9", "F63", "F7", "F82"]
|