Skip to content

chore(release): 0.14.2#49

Merged
silversurfer562 merged 1 commit into
mainfrom
chore/release-0.14.2
May 27, 2026
Merged

chore(release): 0.14.2#49
silversurfer562 merged 1 commit into
mainfrom
chore/release-0.14.2

Conversation

@silversurfer562
Copy link
Copy Markdown
Member

Summary

Patch release. Two changes ship:

  1. Fix: source_hash LLM laundering (#48) — the load-bearing fix. Features stayed stale forever after regen because the LLM polish step transcribed deterministic frontmatter fields with single-character errors. Field-level merge restores canonical values for source_hash, generated_at, feature, depth, name, type, status while preserving polish: skipped and any other non-deterministic polish-layer markers.

  2. CI: publish.yml trigger swap to push: tags: 'v*.*.*'. Already in [Unreleased] since 0.14.1; ships with this version.

Why 0.14.2 (patch) not 0.15.0

The user-visible behavior change is "regenerated features now report current instead of permanently stale". That's restoring intended behavior, not breaking new ground — patch semantics.

Downstream impact

Unblocks attune-gui Phase 2 (living-docs-regen-automation). Once attune-gui pins this version, its CI fail-if-stale gate becomes useful (previously could never pass because regen never reached a fixed point). attune-ai's dashboard stale-count also stops mis-flagging just-regenerated features.

Version-bump files

  • pyproject.toml: 0.14.1 → 0.14.2
  • src/attune_author/__init__.py: __version__: 0.14.1 → 0.14.2

CHANGELOG entry under [0.14.2] - 2026-05-27 covers both shipping items.

Test plan

  • Local: 983/983 unit tests pass
  • Local: uv run --with build python -m build produces clean wheel + sdist
  • End-to-end on attune-ai spec-engine: 11/11 templates' frontmatter source_hash matches compute_source_hash post-regen
  • CI: full matrix green
  • After merge: tag v0.14.2 → publish workflow auto-fires on push:tags → approve pypi env → verify on PyPI

🤖 Generated with Claude Code

Patch release fixing the source_hash LLM-laundering bug (PR #48).

After successful regen, features stayed permanently "stale"
because the polish LLM transcribed the source_hash field with
single-character errors. Field-level frontmatter merge restores
the canonical deterministic fields after polish while preserving
non-deterministic markers like `polish: skipped`.

Unblocks attune-gui Phase 2 (living-docs-regen-automation) once
attune-gui pins this version. attune-ai's dashboard stale-count
also stops mis-flagging just-regenerated features.

Also includes the `publish.yml` trigger swap that was queued in
Unreleased since 0.14.1.

Local: 983/983 unit tests pass. Dist builds clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented May 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@silversurfer562 silversurfer562 merged commit c032176 into main May 27, 2026
13 checks passed
@silversurfer562 silversurfer562 deleted the chore/release-0.14.2 branch May 27, 2026 13:39
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