diff --git a/CHANGELOG.md b/CHANGELOG.md index 46da3d6..c1e203e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 0.7.9 - 2026-08-21 + - Console P4: workspace detail now projects a read-only operator twin after the existing inventory and before the family / events / channel panes. Plan swimlanes come from existing Objectives plus `objective_wave` events; diff --git a/docs/designs/console-v2-live-family-signals.md b/docs/designs/console-v2-live-family-signals.md index c33a375..7d2ba56 100644 --- a/docs/designs/console-v2-live-family-signals.md +++ b/docs/designs/console-v2-live-family-signals.md @@ -425,7 +425,7 @@ P3 已落地:overlay 清单与同源图像(bearer `fetch` 后赋 `blob:` URL ### P4 · 操作者双生 -P4 仍在同一 `0.7.x` 列车、同一工作区详情页,不新增一级导航。详情在既有清单之后投影只读操作者双生: +P4 已落地:操作者双生(计划 / 里程碑 / 阶段 / 谁在跑)与配线架界面改版已在 main。同一工作区详情页,不新增一级导航。详情在既有清单之后投影只读操作者双生: - **计划**:只为快照里已有的 Objective 建泳道;`objective_wave` 只填充这些泳道,不发明目标。 - **里程碑**:仅 `incomplete | complete | repair_required`;未知派生结果留空。 diff --git a/pyproject.toml b/pyproject.toml index 7c1a854..e555ca4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "dyro" -version = "0.7.8" +version = "0.7.9" description = "DyroEngineeringFlow: local-first automation and delivery control for multi-repository teams" readme = "README.md" requires-python = ">=3.11" diff --git a/src/dyro/bridge/skill/SKILL.md b/src/dyro/bridge/skill/SKILL.md index 81c4ead..a1fb2e2 100644 --- a/src/dyro/bridge/skill/SKILL.md +++ b/src/dyro/bridge/skill/SKILL.md @@ -50,7 +50,7 @@ release, publish, console, install, or any confirmation/approval field. ```json { "protocol": {"major": 1, "minor": 0}, - "client": {"name": "dyro-agent-bridge-skill", "version": "0.7.8"}, + "client": {"name": "dyro-agent-bridge-skill", "version": "0.7.9"}, "operation": "bridge.capabilities.compact", "input": {} } diff --git a/tests/test_cli.py b/tests/test_cli.py index 1e937aa..89f723e 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -2127,6 +2127,6 @@ def test_package_version_matches_pyproject(self) -> None: from dyro import __version__ metadata = tomllib.loads(Path("pyproject.toml").read_text(encoding="utf-8")) - self.assertEqual(metadata["project"]["version"], "0.7.8") - self.assertEqual(__version__, "0.7.8") + self.assertEqual(metadata["project"]["version"], "0.7.9") + self.assertEqual(__version__, "0.7.9") self.assertEqual(__version__, metadata["project"]["version"]) diff --git a/tests/test_console_artifacts.py b/tests/test_console_artifacts.py index c8eef0d..c347f24 100644 --- a/tests/test_console_artifacts.py +++ b/tests/test_console_artifacts.py @@ -225,12 +225,12 @@ def test_page_and_manifest_keep_p3_fail_closed_pins(self) -> None: self.assertNotEqual(refresh_at, -1) self.assertNotIn(b"/artifacts", script.body[refresh_at:next_fn]) - def test_package_version_is_0_7_8(self) -> None: + def test_package_version_is_0_7_9(self) -> None: import tomllib from pathlib import Path metadata = tomllib.loads(Path("pyproject.toml").read_text(encoding="utf-8")) - self.assertEqual(metadata["project"]["version"], "0.7.8") + self.assertEqual(metadata["project"]["version"], "0.7.9") class ConsoleArtifactServiceTests(WorkspaceCase): diff --git a/tests/test_release_gates.py b/tests/test_release_gates.py index d6e4379..5e6e72e 100644 --- a/tests/test_release_gates.py +++ b/tests/test_release_gates.py @@ -32,7 +32,7 @@ def test_physics_train_refuses_published_0_6_9_tag(self) -> None: def test_0_7_release_runs_gates_without_claiming_1_0(self) -> None: stdout = StringIO() with redirect_stdout(stdout): - code = main(["--root", str(ROOT), "--release-tag", "v0.7.8"]) + code = main(["--root", str(ROOT), "--release-tag", "v0.7.9"]) self.assertEqual(code, 0) self.assertIn("0.7 gates present", stdout.getvalue()) self.assertNotIn("1.0 gates present", stdout.getvalue()) diff --git a/uv.lock b/uv.lock index bab7633..6dfe28e 100644 --- a/uv.lock +++ b/uv.lock @@ -286,7 +286,7 @@ wheels = [ [[package]] name = "dyro" -version = "0.7.8" +version = "0.7.9" source = { editable = "." } dependencies = [ { name = "cryptography" },