Skip to content

feat(release-log): per-release skill-stats history + process wiring - #66

Merged
yya007 merged 1 commit into
masterfrom
feat/release-log
Jun 22, 2026
Merged

feat(release-log): per-release skill-stats history + process wiring#66
yya007 merged 1 commit into
masterfrom
feat/release-log

Conversation

@yya007

@yya007 yya007 commented Jun 22, 2026

Copy link
Copy Markdown
Owner

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-built data/version.txt + data/metadata.jsonl and 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 release
    • docs/release-log.md — rendered Markdown table with per-release deltas (newest first)
    • Idempotent: keyed by release date, so a same-day rebuild updates the row instead of duplicating it.
  • Seeded from existing history (from git): 2026-03-14 (4,599) → 2026-03-15 (14,306) → 2026-03-17 (37,962) → 2026-06-22 (42,068).
  • Wired into the process:
    • 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.
  • .gitignore gains !data/release_log.jsonl so the canonical log is committed despite the broad data/*.jsonl ignore.

Verification

  • pytest579 passed (8 new tests: parse/upsert/render/main, idempotency, npm-version, missing-version error); ruff check pipeline/ tests/ clean; workflow YAML parses.
  • Ran the script against the real current release: produced the 4-row log + table below.
Date Skills Δ
2026-06-22 42,068 +4,106
2026-03-17 37,962 +23,656
2026-03-15 14,306 +9,707
2026-03-14 4,599

Risk & rollback

Low — new script + log files + docs/process wiring; no change to index/search/runtime behavior. Rollback = revert.

🤖 Generated with Claude Code

…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>
@yya007
yya007 merged commit 07168ff into master Jun 22, 2026
1 check passed
@yya007
yya007 deleted the feat/release-log branch June 22, 2026 22:50
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