Skip to content

packaging: add __version__ and Repl.__repr__, doc get_state_pp/Goal.__str__ (W-406) - #5

Merged
AndPuQing merged 1 commit into
mainfrom
agent/leo3/9d4e8708b306
Aug 25, 2026
Merged

AndPuQing merged 1 commit into
mainfrom
agent/leo3/9d4e8708b306

Conversation

@AndPuQing

Copy link
Copy Markdown
Contributor

目标

W-406:打包打磨 — leotower.__version__ + Repl.__repr__;并补 README Repl 方法表的 get_state_pp / Goal.__str__ 说明(W-404 评审建议 / W-406 追加事项)。

改动

  1. python/leotower/__init__.py:
    • 新增 leotower.__version__:优先 importlib.metadata.version("leotower"),PackageNotFoundError 时回退硬编码 "0.1.0"(与 pyproject.toml 一致,代码注释要求同步);加入 __all__。
    • Repl.__init__ 记录 module 参数(self._module),新增 __repr__ → <leotower.Repl module='Lean'>。
  2. README.md:Repl 方法表补 Repl.get_state_pp(0 goal → no goals;1 goal → 与 get_goal_pp(state, 0) 一致;N goal → 编号拼接)与 Goal.__str__(name : type 假设行 + ⊢ ty)两行说明。
  3. tests/test_leotower.py::test_version_matches_pyproject:__version__ 与 pyproject 声明版本一致。
  4. tests/test_repl.py::test_repr_shows_imported_module:默认模块展示 + .lean 文件路径的参数记录(置于文件末尾,heartbeat 预算 W-407 原因见文件内注释)。

测试

  • uv run pytest:71 passed, 1 skipped;唯一失败 test_every_error_is_caught_by_except_runtime_error 为本机既有 W-407 heartbeat 边界(未改动 baseline 同样触发,开发/评审双方复跑一致)。
  • fallback 分支(PackageNotFoundError → 0.1.0)已实测。

评审已通过(Leo3 Reviewer,见 W-406 评论)。

@AndPuQing
AndPuQing merged commit 4911814 into main Aug 25, 2026
2 of 5 checks passed
@AndPuQing
AndPuQing deleted the agent/leo3/9d4e8708b306 branch August 25, 2026 19:24
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.

1 participant