diff --git a/CHANGELOG.md b/CHANGELOG.md index 088cc09..fedcad2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), ## [Unreleased] +## [0.9.3] - 2026-05-07 + +### Fixed + +- **Test count badge synced with reality** — was 183 (stale), actual is 287. README + README_KR updated. +- **CLI command count corrected** — README claimed "three commands (`scaffold`, `run`, `lint`)" but actual CLI has **four commands (`init`, `run`, `lint`, `gate`)**. The `init` command was incorrectly named `scaffold` in the README; `gate` (CI ship gate added in 0.4) was missing entirely. README + README_KR updated (5 hits in EN, 2 hits in KR). +- No code changes. + ## [0.9.2] - 2026-05-07 Re-publish to refresh the PyPI page rendering. No code changes. diff --git a/README.md b/README.md index 88badea..ecb5b82 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![License: Apache 2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE) [![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org) [![PyPI](https://img.shields.io/pypi/v/antemortem.svg)](https://pypi.org/project/antemortem/) -[![Tests](https://img.shields.io/badge/tests-183%20passing-brightgreen.svg)](tests/) +[![Tests](https://img.shields.io/badge/tests-287%20passing-brightgreen.svg)](tests/) [![Providers](https://img.shields.io/badge/providers-anthropic%20%7C%20openai%20%7C%20gemini%20%7C%20openai--compatible-informational.svg)](#provider-support) [![Methodology](https://img.shields.io/badge/methodology-Antemortem-blueviolet.svg)](https://github.com/hibou04-ops/Antemortem) @@ -19,7 +19,7 @@ pip install antemortem > **v0.8.0 (2026-05-06)** — Gemini 2.5 Flash adapter via the Google GenAI SDK (`response_schema` strict-output path + local Pydantic validation). See [Provider compatibility caveats](#provider-compatibility-caveats). -**MCP server.** This package also exposes its three commands (`scaffold`, `run`, `lint`) as agent-callable MCP tools. Run `pip install "antemortem[mcp]"` then `python -m antemortem.mcp` (stdio, default for Claude Code) or `python -m antemortem.mcp --http`. See [AGENT_TRIGGERS.md scenario 1](https://github.com/hibou04-ops/omegaprompt/blob/main/AGENT_TRIGGERS.md#scenario-1--pre-implementation-reconnaissance) for when an agent should fire these. +**MCP server.** This package also exposes its four commands (`init`, `run`, `lint`, `gate`) as agent-callable MCP tools. Run `pip install "antemortem[mcp]"` then `python -m antemortem.mcp` (stdio, default for Claude Code) or `python -m antemortem.mcp --http`. See [AGENT_TRIGGERS.md scenario 1](https://github.com/hibou04-ops/omegaprompt/blob/main/AGENT_TRIGGERS.md#scenario-1--pre-implementation-reconnaissance) for when an agent should fire these. Works with any frontier LLM: Anthropic / Claude, OpenAI, Gemini, or any OpenAI-compatible endpoint that supports the structured-output `parse` path (Azure OpenAI, Groq, Together.ai, OpenRouter; local model gateways like Ollama may need model-specific validation — see [Provider compatibility caveats](#provider-compatibility-caveats)). @@ -35,7 +35,7 @@ https://github.com/user-attachments/assets/7ccb714e-2162-4933-aee0-64855aa58f97 ## TL;DR — what & why -You're about to build a feature. You list the risks. Some are **real** (in the code). Some are **ghosts** (your imagination). Some are unnamed (you don't see them yet). Manual review takes hours and anchors on whoever speaks first. `antemortem-cli` runs the recon programmatically — three commands, with citations the lint verifies on disk: +You're about to build a feature. You list the risks. Some are **real** (in the code). Some are **ghosts** (your imagination). Some are unnamed (you don't see them yet). Manual review takes hours and anchors on whoever speaks first. `antemortem-cli` runs the recon programmatically — four commands (`init` / `run` / `lint` / `gate`), with citations the lint verifies on disk: - **You write the spec + traps yourself** — the model never frames your risk list (anchoring defense). - **Classification with `file:line` citations** — `REAL` / `GHOST` / `NEW` / `UNRESOLVED` for each trap, every claim grounded in disk. @@ -70,7 +70,7 @@ Set an API key for any provider: export ANTHROPIC_API_KEY=... # or OPENAI_API_KEY, GEMINI_API_KEY, GOOGLE_API_KEY (free tier: https://aistudio.google.com/apikey) ``` -Run the three-command flow: +Run the four-command flow (`init` → `run` → `lint` → `gate`): ```bash # 1. Scaffold a doc — markdown + YAML frontmatter @@ -127,7 +127,7 @@ antemortem lint antemortem/auth-refactor.md - [The failure mode this solves](#the-failure-mode-this-solves) - [How it compares](#how-it-compares) - [Worked example: a real ghost trap](#worked-example-a-real-ghost-trap) -- [The three commands](#the-three-commands) +- [The four commands](#the-four-commands) - [Provider support](#provider-support) - [The data contract](#the-data-contract) - [Architecture](#architecture) @@ -288,7 +288,7 @@ The post-implementation note honestly records what the recon *missed* — a Wind --- -## The three commands +## The four commands ### `antemortem init ` diff --git a/README_KR.md b/README_KR.md index 4e4a285..d19ab81 100644 --- a/README_KR.md +++ b/README_KR.md @@ -6,7 +6,7 @@ [![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org) [![PyPI](https://img.shields.io/pypi/v/antemortem.svg)](https://pypi.org/project/antemortem/) [![Status](https://img.shields.io/badge/status-alpha-orange.svg)](#상태--로드맵) -[![Tests](https://img.shields.io/badge/tests-183%20passing-brightgreen.svg)](tests/) +[![Tests](https://img.shields.io/badge/tests-287%20passing-brightgreen.svg)](tests/) [![Providers](https://img.shields.io/badge/providers-anthropic%20%7C%20openai%20%7C%20gemini%20%7C%20openai--compatible-informational.svg)](#provider-지원) [![Methodology](https://img.shields.io/badge/methodology-Antemortem-blueviolet.svg)](https://github.com/hibou04-ops/Antemortem) @@ -28,7 +28,7 @@ English README: [README.md](README.md) - [이 도구가 해결하는 failure mode](#이-도구가-해결하는-failure-mode) - [Worked example: 실제 ghost trap](#worked-example-실제-ghost-trap) -- [세 가지 커맨드](#세-가지-커맨드) +- [네 가지 커맨드](#네-가지-커맨드) - [Provider 지원](#provider-지원) - [데이터 계약](#데이터-계약) - [아키텍처](#아키텍처) @@ -99,7 +99,7 @@ Post-implementation 노트는 recon 이 *놓친* 것을 정직하게 기록 — --- -## 세 가지 커맨드 +## 네 가지 커맨드 ### `antemortem init ` diff --git a/pyproject.toml b/pyproject.toml index 8022b03..8812fbf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "antemortem" -version = "0.9.2" +version = "0.9.3" description = "Model-agnostic CLI for the Antemortem pre-implementation reconnaissance discipline — scaffold, run (Anthropic / OpenAI / Gemini / OpenAI-compatible), optionally critique via a 2-pass adversarial review, and lint antemortem documents with disk-verified file:line citations. Four-level decision gate for CI." readme = "README.md" requires-python = ">=3.11" diff --git a/src/antemortem/__init__.py b/src/antemortem/__init__.py index 700c8bf..7c55360 100644 --- a/src/antemortem/__init__.py +++ b/src/antemortem/__init__.py @@ -10,4 +10,4 @@ See https://github.com/hibou04-ops/Antemortem for the methodology. """ -__version__ = "0.9.2" +__version__ = "0.9.3"