Repository navigation
docs: re-measure the landing page, and complete the 1.12.0 changelog - #112
Merged
Merged
Conversation
The README described a product two releases old, and nothing compared it to the
reference it points at.
README.md claimed six primitives, 65 tools, a 57-tool combo and a `brief` tier.
Measured from the code: `wake_up` made the primitives **seven**, the full surface
is **66**, the `agent` preset resolves to **59**, and `brief` was dissolved on
2026-09-07 (`daily_brief` rides `review`). `docs/index.md` was further behind —
version 1.8.1, 927 tests, a 6/46/56 surface, 23 DB tables. It now states 1.12.0,
2262 tests, 7/59/66, and 41 tables (57 objects counting the 16 FTS5 shadows),
each number taken from `resolve_exposure`, a freshly migrated database, and the
`hooks.user`/`hooks.agent` config keys rather than from a neighbouring document.
Every count was re-derived, and one of them is worth recording because the audit
nearly broke a correct value: the "19 names" in the hooks row is **right** (12
user + 13 agent slots). The 11 from `KNOWN_EVENTS` counts the external event
bridge — two true numbers about two different surfaces.
`pyproject.toml` and `mcp_server/annotations.py` carried the same stale counts
("5 primitives", "all 65 tools"); both now say seven and 66.
The changelog was missing five merged entries: #98 and #100 (the `forget` dry run
and the undo that restores from the shadow bin) and #99, #101, #102 (the
shared-connection commit repairs). They were in the release draft but not in
CHANGELOG.md, and the published release body is taken *from* the changelog — so
v1.12.0 would have announced a smaller change than it shipped. The two `### Added`
sections inside [1.12.0] are merged into one, so the release page reads Added /
Fixed / Documentation instead of Added / Fixed / Added / Documentation.
Version bumped to 1.12.0 to match the section the release workflow extracts, and
`uv.lock` with it: the locked install gate refuses a commit where the lockfile and
`pyproject.toml` disagree, which is how the first attempt at this commit failed.
Gates: full suite 2262 passed; `ruff check`, `ruff format --check` and `mypy`
(202 files) clean; `tests/test_code_policy.py` 112 passed. The release body was
extracted with the workflow's own regex before tagging: 29,240 characters, three
sections, sixteen entries, and `test_release_hygiene.py` now checks 1.12.0 against
the persona dictionary because the section left `[Unreleased]`.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что не так
README описывал продукт двух релизной давности — и ничто не сравнивало его с тем справочником, на который он ссылается.
wake_up)server.PRIMITIVE_TOOLS_EXPOSURE_SUMMARYживого сервера,get_all_tools()agent)resolve_exposure("agent", …)briefdaily_briefедет наreviewEXTRA_TIERSoperatorминусagentdocs/index.mdотстал сильнее: версия 1.8.1, 927 тестов, 6/46/56 тулов, 23 таблицы.Что сделано
Каждое число перемерено по коду, а не скопировано из соседнего документа:
resolve_exposureдля тиров, свежая мигрированная база для схемы (41 таблица, 57 объектов с 16 тенями FTS5), ключиhooks.user/hooks.agentдля хуков.Проверено также
pyproject.toml(«5 primitives») иmcp_server/annotations.py(«all 65 tools»).В changelog не хватало пяти влитых записей
#98,#99,#100,#101,#102— параforget(dry run + undo из shadow bin) и три починки shared-соединения. Они были в черновике релиза, но не вCHANGELOG.md, а тело публикуемого релиза берётся из changelog. Значит v1.12.0 объявил бы меньше, чем в нём есть. Записи написаны по коммитам, не по заголовкам.Два раздела
### Addedвнутри[1.12.0]сведены в один — страница релиза читается как Added / Fixed / Documentation, а не Added / Fixed / Added / Documentation. Сведение сделано скриптом с проверкой, что набор записей не изменился (16 → 16).Гейты
ruff check/ruff format --check(687 файлов) /mypy(202 файла) — чистоtests/test_code_policy.py— 112 passeduv.lockподнят вместе с версией: первый заход на коммит упал именно на locked-гейте, что и правильноТело релиза извлечено тем же регексом, что и в
release.yml, до тега: 29 240 знаков, три раздела, шестнадцать записей.test_release_hygiene.pyтеперь проверяет1.12.0против словаря персон — секция впервые вышла из[Unreleased], и проверка прошла.Что дальше
После мержа — тег
v1.12.0:release.ymlсоберёт пакет, опубликует на PyPI до объявления релиза и создаст GitHub Release с телом из CHANGELOG.