Skip to content

chore(release): v1.2.1#53

Merged
RichardHightower merged 1 commit into
mainfrom
chore/release-1.2.1
Apr 30, 2026
Merged

chore(release): v1.2.1#53
RichardHightower merged 1 commit into
mainfrom
chore/release-1.2.1

Conversation

@RichardHightower
Copy link
Copy Markdown
Contributor

Summary

Prepares the v1.2.1 patch release. Bumps pyproject.toml version 1.2.0 → 1.2.1 and adds the CHANGELOG entry.

1.2.1 is an eval-driven patch release. Four bugs surfaced by dogfooding designdoc against its own repo are fixed; the ULTRAREVIEW follow-up hardening pass also lands.

Eval-driven fixes (user-visible)

  • #49 Hermetic mode for non-MCP agents — setting_sources=[] blocks user ~/.claude/CLAUDE.md and output-style leakage into doer/checker subprocesses. Eval: 4 → 0 stray Insight blocks in class docs.
  • #46 Stage 3 doer cwd plumbing — SDK subprocess now inherits cwd=target_repo so Read calls resolve when target ≠ working dir.
  • #41 Stage 2 tolerant JSON extraction — strips code fences / preambles before pydantic validation. Schema-retry rate ~94% → <5% on real-repo eval.
  • #42 DEFAULT_EXCLUDES covers .claude/, .opencode/, .devcontainer/, .idea/, .vscode/.

ULTRAREVIEW hardening (issues #6-#18)

state-save lock, TaskGroup budget cancellation, Stage 7 checkpoint parity, retry-counter split, MermaidIssue typing, guard tests, silent-failure cleanup, helper extractions. Full list in CHANGELOG.

Release plumbing (already merged but enumerated for the changelog)

  • publish-on-tag PyPI release workflow (.github/workflows/release.yml)
  • plugin marketplace metadata (.claude-plugin/plugin.json, marketplace.json)

Invariants preserved

  • MAX_ATTEMPTS = 3 unchanged. Guard test test_config_does_not_expose_max_attempts still passes.
  • Doer/checker isolation unchanged.
  • Schema-validated verdicts unchanged; tolerant JSON extraction is parser-side, doesn't loosen schema.
  • Mermaid two-checker rule unchanged.

Test plan

  • task ci green locally (106 passed in 46.90s)
  • CI gates pass on PR
  • After merge: tag v1.2.1 and push → release.yml builds wheel + sdist and publishes to PyPI via Trusted Publisher OIDC
  • Verify pip install designdoc==1.2.1 works post-publish

Notes

PyPI Trusted Publisher must be registered before tag push. CONTRIBUTING.md → "Releasing" walks through it.

Bumps version 1.2.0 → 1.2.1 and adds CHANGELOG entry covering:
- 4 eval-driven fixes (#41, #42, #46, #49)
- ULTRAREVIEW follow-up hardening pass (#6-#18)
- CI release workflow + plugin marketplace metadata

Tag v1.2.1 after merge will trigger publish-on-tag PyPI workflow.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@RichardHightower RichardHightower merged commit 4a75b71 into main Apr 30, 2026
2 checks passed
@RichardHightower RichardHightower deleted the chore/release-1.2.1 branch April 30, 2026 13:58
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