feat(release-log): per-release skill-stats history + process wiring - #66
Merged
Conversation
…e process Adds pipeline/update_release_log.py, which upserts the current build's stats (date, skill count, per-source breakdown, embed model, index sha, npm version) into data/release_log.jsonl (canonical) and renders docs/release-log.md (table with per-release deltas). Idempotent — keyed by release date, so a same-day rebuild updates the row rather than duplicating it. Seeded from existing history: 2026-03-14 (4,599) → 2026-03-15 (14,306) → 2026-03-17 (37,962) → 2026-06-22 (42,068). Wired into the release process: the update-index skill (Step 7), the npm-release skill (stamps the npm version onto the index-release row), and the update-index CI workflow's incremental path (updates + commits the log back). Documented in CLAUDE.md. `!data/release_log.jsonl` gitignore exception keeps the canonical log committed despite the broad data/*.jsonl ignore. Tests: tests/pipeline/test_update_release_log.py (parse/upsert/render/main, idempotency, npm-version, error path). 579 passed, lint clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Summary
Adds a committed per-release skill-stats log and wires its update into the release process.
pipeline/update_release_log.py— reads the just-builtdata/version.txt+data/metadata.jsonland upserts a row (date, skill count, per-source breakdown, embed model, index sha256, npm version) into:data/release_log.jsonl— canonical, one JSON object per releasedocs/release-log.md— rendered Markdown table with per-release deltas (newest first)skills/update-index/SKILL.md— new Step 7 (run after build/docs, commit alongside the index).skills/npm-release/SKILL.md— stamps the published npm version onto the current index-release row..github/workflows/update-index.yml— the incremental path updates the log and commits it back to the default branch.CLAUDE.md— pipeline command + committed-files note updated..gitignoregains!data/release_log.jsonlso the canonical log is committed despite the broaddata/*.jsonlignore.Verification
pytest— 579 passed (8 new tests: parse/upsert/render/main, idempotency, npm-version, missing-version error);ruff check pipeline/ tests/clean; workflow YAML parses.Risk & rollback
Low — new script + log files + docs/process wiring; no change to index/search/runtime behavior. Rollback = revert.
🤖 Generated with Claude Code