diff --git a/CHANGELOG.md b/CHANGELOG.md index 019bc9c..b8ac54c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ This file records the user-visible changes in each public GeoSkills release. -## v0.4.0 — Unreleased +## v0.4.0 — 2026-08-08 - Added one provider-neutral `geoskills.py` entry point with version, environment self-check, review-only plan, and guarded run commands. - Added strict `geoskills.recipe/v1` YAML recipes for explicit local input, worksheet, layout, canonical column mapping, units, output profile, style preset, confirmations, and up to 32 tasks. @@ -17,7 +17,7 @@ This file records the user-visible changes in each public GeoSkills release. - Added adaptive in-frame REE/spider legends and verified SVG/PDF plus 600 dpi PNG/TIFF publication artifacts. - Added Chinese missing-input guidance and refined TAS field-label placement for clearer beginner and visual review. - Removed exact source-data extrema from shareable reports and added report-level safeguards against future extrema leakage. -- Validated the local candidate with 196 automated tests plus synthetic and published-data regression runs; GitHub publication remains gated on user review. +- Validated the release with 196 automated tests plus synthetic and published-data regression runs. ## v0.3.0 — 2026-07-30 diff --git a/README.md b/README.md index c311d6f..4649d93 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ GeoSkills 是一个面向地质学与地球化学研究的本地 Agent Skill。 -当前公开正式版本为 [v0.3.0](https://github.com/gronbow/GeoSkills/releases/tag/v0.3.0)。本分支正在审核 v0.4.0 开发候选版:它不增加新图解,而是为已有的 REE、蛛网图、Harker 和 TAS 增加统一配方、运行前计划、隐私报告和多任务原子输出。 +当前正式版本为 [v0.4.0](https://github.com/gronbow/GeoSkills/releases/tag/v0.4.0)。它不增加新图解,而是为已有的 REE、蛛网图、Harker 和 TAS 增加统一配方、运行前计划、隐私报告和多任务原子输出。 ## 当前可以做什么 @@ -26,7 +26,7 @@ GeoSkills 是一个面向地质学与地球化学研究的本地 Agent Skill。 ## 安装到 Codex -公开仓库的默认分支 `main` 当前包含经过审核和自动测试的正式 v0.3.0: +公开仓库的默认分支 `main` 包含经过审核和自动测试的正式 v0.4.0: ```text https://github.com/gronbow/GeoSkills @@ -201,7 +201,7 @@ GeoSkills/ ## 当前状态 -GeoSkills v0.3.0 仍是当前公开正式版本。v0.4.0 开发候选版已在本地完成统一入口、严格配方、固定图解注册表、计划指纹、隐私报告和多任务原子输出,并已通过 196 项自动测试、合成数据回归和已发表数据回归。该候选版尚未上传 GitHub,需经用户最终审核批准。版本变化见 [CHANGELOG.md](CHANGELOG.md)。 +GeoSkills v0.4.0 已完成统一入口、严格配方、固定图解注册表、计划指纹、隐私报告和多任务原子输出,并通过 196 项自动测试、合成数据回归和已发表数据回归。版本变化见 [CHANGELOG.md](CHANGELOG.md)。 ## 许可 diff --git a/skills/geoskills/references/data-contract.md b/skills/geoskills/references/data-contract.md index e615d1b..427f0ad 100644 --- a/skills/geoskills/references/data-contract.md +++ b/skills/geoskills/references/data-contract.md @@ -1,6 +1,6 @@ # REE input data contract -This file records the REE input rules introduced in GeoSkills v0.1.0 and retained in v0.3.0. +This file records the REE input rules introduced in GeoSkills v0.1.0 and retained through v0.4.0. ## Required information diff --git a/skills/geoskills/scripts/geoskills_core/version.py b/skills/geoskills/scripts/geoskills_core/version.py index 81a8b0e..d4affeb 100644 --- a/skills/geoskills/scripts/geoskills_core/version.py +++ b/skills/geoskills/scripts/geoskills_core/version.py @@ -1,6 +1,6 @@ """GeoSkills workflow-core version contract.""" -VERSION = "0.4.0-dev" +VERSION = "0.4.0" __version__ = VERSION __all__ = ["VERSION", "__version__"] diff --git a/tests/test_recipe_registry.py b/tests/test_recipe_registry.py index 78f7584..286b59a 100644 --- a/tests/test_recipe_registry.py +++ b/tests/test_recipe_registry.py @@ -120,7 +120,7 @@ def issue_codes(result: dict) -> set[str]: def test_version_and_registry_are_fixed_and_json_ready() -> None: - assert VERSION == "0.4.0-dev" + assert VERSION == "0.4.0" assert diagram_ids() == ("ree", "spider", "harker", "tas") assert set(DIAGRAMS) == {"ree", "spider", "harker", "tas"} assert BUILTIN_STYLE_PRESETS == ( diff --git a/tests/test_workflow_cli.py b/tests/test_workflow_cli.py index ae06dce..ce68b9a 100644 --- a/tests/test_workflow_cli.py +++ b/tests/test_workflow_cli.py @@ -218,7 +218,7 @@ def test_version_works_without_site_packages() -> None: report = parse_stdout(result) assert result.returncode == 0 assert report["status"] == "ready" - assert report["result"]["tool_version"] == "0.4.0-dev" + assert report["result"]["tool_version"] == "0.4.0" def test_self_check_is_machine_readable_and_private_by_default() -> None: