diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d5027f..6c4d5de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,12 @@ All notable changes to Warden are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project aims to follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [0.4.1] — 2026-07-11 · "Fail Closed" + +A correctness patch from a systemic audit of every gate-decision path: 16 places where an +empty/degenerate input ("nothing ran, passed, measured, or gated") produced a false-green `PASS`. +All now signal honestly — WARN-direction across the board, except the GitHub Action, which fails +**closed** to BLOCK so a broken gate can never post a green check that unblocks a merge. ### Fixed @@ -188,6 +193,7 @@ quarantine; a merge-gate verdict; the Sentinel dashboard; Prometheus/Grafana obs Jira / GitHub Projects requirement sync; a session recorder and learning studio; and the cross-repo coverage-sync GitHub App. +[0.4.1]: https://github.com/QuintinBotes/warden/releases/tag/v0.4.1 [0.4.0]: https://github.com/QuintinBotes/warden/releases/tag/v0.4.0 [0.3.0]: https://github.com/QuintinBotes/warden/releases/tag/v0.3.0 [0.2.0]: https://github.com/QuintinBotes/warden/releases/tag/v0.2.0 diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json index 349eb0b..74a1eeb 100644 --- a/apps/dashboard/package.json +++ b/apps/dashboard/package.json @@ -1,6 +1,6 @@ { "name": "dashboard", - "version": "0.4.0", + "version": "0.4.1", "private": true, "description": "Warden dashboard — Next.js app rendering the Sentinel design system over dashboard-api data", "scripts": { diff --git a/package.json b/package.json index 4a9af08..18f615f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "warden", - "version": "0.4.0", + "version": "0.4.1", "private": true, "type": "module", "description": "Warden — open-source, AI-native QA platform", diff --git a/packages/agent/package.json b/packages/agent/package.json index 38dd7c7..c3715c3 100644 --- a/packages/agent/package.json +++ b/packages/agent/package.json @@ -1,6 +1,6 @@ { "name": "@warden/agent", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden agent layer — LLM provider abstraction and the exploratory/generative/healer strategies", "license": "MIT", "type": "module", diff --git a/packages/cli/package.json b/packages/cli/package.json index de50417..0c03286 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@warden/cli", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden CLI — analyze, run, agent, report, plan, and init commands", "license": "MIT", "type": "module", diff --git a/packages/core/package.json b/packages/core/package.json index 2821742..6a398b0 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@warden/core", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden core — shared types, Zod schemas, and the platform contract surface", "license": "MIT", "type": "module", diff --git a/packages/coverage-sync/package.json b/packages/coverage-sync/package.json index 92c1e45..1536324 100644 --- a/packages/coverage-sync/package.json +++ b/packages/coverage-sync/package.json @@ -1,6 +1,6 @@ { "name": "@warden/coverage-sync", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden cross-repo coverage sync — resolve linked repos, find test/doc gaps, publish suggestions", "license": "MIT", "type": "module", diff --git a/packages/cuj/package.json b/packages/cuj/package.json index 2d1b233..32b3b69 100644 --- a/packages/cuj/package.json +++ b/packages/cuj/package.json @@ -1,6 +1,6 @@ { "name": "@warden/cuj", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden Critical User Journey modeling — journey entity, health rollup, scoped gating", "license": "MIT", "type": "module", diff --git a/packages/dashboard-api/package.json b/packages/dashboard-api/package.json index cc23b31..edd05ab 100644 --- a/packages/dashboard-api/package.json +++ b/packages/dashboard-api/package.json @@ -1,6 +1,6 @@ { "name": "@warden/dashboard-api", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden dashboard data API — DashboardDataApi over the SQLite store and metrics", "license": "MIT", "type": "module", diff --git a/packages/design-system/package.json b/packages/design-system/package.json index bc12e19..1434e0a 100644 --- a/packages/design-system/package.json +++ b/packages/design-system/package.json @@ -1,6 +1,6 @@ { "name": "@warden/design-system", - "version": "0.4.0", + "version": "0.4.1", "description": "Sentinel — Warden's design system: tokens, themes, portcullis logo, and dashboard components", "license": "MIT", "type": "module", diff --git a/packages/enterprise/package.json b/packages/enterprise/package.json index 23be56b..a974dc8 100644 --- a/packages/enterprise/package.json +++ b/packages/enterprise/package.json @@ -1,6 +1,6 @@ { "name": "@warden/enterprise", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden enterprise readiness — OIDC auth, RBAC, append-only audit, per-tenant isolation for hosted surfaces", "license": "MIT", "type": "module", diff --git a/packages/fixtures/package.json b/packages/fixtures/package.json index a64e460..0f673f3 100644 --- a/packages/fixtures/package.json +++ b/packages/fixtures/package.json @@ -1,6 +1,6 @@ { "name": "@warden/fixtures", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden test-data management — declarative, namespaced seed/teardown via SQL, API, or Testcontainers", "license": "MIT", "type": "module", diff --git a/packages/github-action/package.json b/packages/github-action/package.json index 8b2547a..82b7427 100644 --- a/packages/github-action/package.json +++ b/packages/github-action/package.json @@ -1,6 +1,6 @@ { "name": "warden-action", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden GitHub Action — tiered AI QA on every PR", "license": "MIT", "type": "module", diff --git a/packages/github-app/package.json b/packages/github-app/package.json index fd8df60..432e30b 100644 --- a/packages/github-app/package.json +++ b/packages/github-app/package.json @@ -1,6 +1,6 @@ { "name": "@warden/github-app", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden GitHub App — cross-repo coverage sync on pull requests", "license": "MIT", "type": "module", diff --git a/packages/grid/package.json b/packages/grid/package.json index c9c6f76..0be78ce 100644 --- a/packages/grid/package.json +++ b/packages/grid/package.json @@ -1,6 +1,6 @@ { "name": "@warden/grid", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden device cloud grid — GridProvider adapters (local/BrowserStack/Sauce/LambdaTest) + shard planner", "license": "MIT", "type": "module", diff --git a/packages/impact/package.json b/packages/impact/package.json index 46858bf..704197b 100644 --- a/packages/impact/package.json +++ b/packages/impact/package.json @@ -1,6 +1,6 @@ { "name": "@warden/impact", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden test impact analysis — map a diff to the impacted tests via a coverage index", "license": "MIT", "type": "module", diff --git a/packages/integrations/package.json b/packages/integrations/package.json index 3ea888d..4a304c8 100644 --- a/packages/integrations/package.json +++ b/packages/integrations/package.json @@ -1,6 +1,6 @@ { "name": "@warden/integrations", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden integrations — Linear/Jira/GitHub Projects requirement sync (IntegrationAdapter)", "license": "MIT", "type": "module", diff --git a/packages/learning-studio/package.json b/packages/learning-studio/package.json index caa7220..a9d3714 100644 --- a/packages/learning-studio/package.json +++ b/packages/learning-studio/package.json @@ -1,6 +1,6 @@ { "name": "@warden/learning-studio", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden Learning Content Studio — turn tested flows into narrated learning videos + articles", "license": "MIT", "type": "module", diff --git a/packages/notifications/package.json b/packages/notifications/package.json index 18a01e1..2ecc92b 100644 --- a/packages/notifications/package.json +++ b/packages/notifications/package.json @@ -1,6 +1,6 @@ { "name": "@warden/notifications", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden first-party notification plugins — Slack, Teams, PagerDuty, generic webhook", "license": "MIT", "type": "module", diff --git a/packages/observability/package.json b/packages/observability/package.json index 5800856..6b474de 100644 --- a/packages/observability/package.json +++ b/packages/observability/package.json @@ -1,6 +1,6 @@ { "name": "@warden/observability", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden observability — MetricsEmitter over Prometheus pushgateway + Grafana dashboards", "license": "MIT", "type": "module", diff --git a/packages/orchestrator/package.json b/packages/orchestrator/package.json index 6c06f13..e255967 100644 --- a/packages/orchestrator/package.json +++ b/packages/orchestrator/package.json @@ -1,6 +1,6 @@ { "name": "@warden/orchestrator", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden orchestrator — diff analysis, scope selection, risk scoring, and gate evaluation", "license": "MIT", "type": "module", diff --git a/packages/plugin-registry/package.json b/packages/plugin-registry/package.json index f3f96cb..6bb5892 100644 --- a/packages/plugin-registry/package.json +++ b/packages/plugin-registry/package.json @@ -1,6 +1,6 @@ { "name": "@warden/plugin-registry", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden plugin registry — manifest-based discovery + resolution of QAPlatformPlugins", "license": "MIT", "type": "module", diff --git a/packages/proactive-healer/package.json b/packages/proactive-healer/package.json index d6f1d1b..b41e71c 100644 --- a/packages/proactive-healer/package.json +++ b/packages/proactive-healer/package.json @@ -1,6 +1,6 @@ { "name": "@warden/proactive-healer", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden proactive self-healing — pre-emptive locator repair via draft PRs", "license": "MIT", "type": "module", diff --git a/packages/recorder/package.json b/packages/recorder/package.json index 9955385..effa34d 100644 --- a/packages/recorder/package.json +++ b/packages/recorder/package.json @@ -1,6 +1,6 @@ { "name": "@warden/recorder", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden recorder — session recording (SessionRecorder) + test synthesis (TestSynthesizer)", "license": "MIT", "type": "module", diff --git a/packages/reporter/package.json b/packages/reporter/package.json index 71058e5..34b677d 100644 --- a/packages/reporter/package.json +++ b/packages/reporter/package.json @@ -1,6 +1,6 @@ { "name": "@warden/reporter", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden reporter — CTRF, GitHub Job Summary, PR comment, and Check-Run annotation surfaces", "license": "MIT", "type": "module", diff --git a/packages/results-service/package.json b/packages/results-service/package.json index ddd29f6..15e6acb 100644 --- a/packages/results-service/package.json +++ b/packages/results-service/package.json @@ -1,6 +1,6 @@ { "name": "@warden/results-service", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden hosted results service — public, token-gated run links over dashboard-api", "license": "MIT", "type": "module", diff --git a/packages/runner/package.json b/packages/runner/package.json index da0f962..b015718 100644 --- a/packages/runner/package.json +++ b/packages/runner/package.json @@ -1,6 +1,6 @@ { "name": "@warden/runner", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden runner — Playwright + Claude-Chrome browser engines, API tests, and CTRF conversion", "license": "MIT", "type": "module", diff --git a/packages/test-management/package.json b/packages/test-management/package.json index 46947cb..df26931 100644 --- a/packages/test-management/package.json +++ b/packages/test-management/package.json @@ -1,6 +1,6 @@ { "name": "@warden/test-management", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden test management — SQLite execution history, Git-YAML test cases, coverage matrix, flake quarantine", "license": "MIT", "type": "module", diff --git a/packages/traffic/package.json b/packages/traffic/package.json index 0c35f54..9e9267a 100644 --- a/packages/traffic/package.json +++ b/packages/traffic/package.json @@ -1,6 +1,6 @@ { "name": "@warden/traffic", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden production-traffic recording — ingest, PII scrub, cluster, synthesize specs", "license": "MIT", "type": "module", diff --git a/packages/vcs/package.json b/packages/vcs/package.json index 54fed2a..8c5de77 100644 --- a/packages/vcs/package.json +++ b/packages/vcs/package.json @@ -1,6 +1,6 @@ { "name": "@warden/vcs", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden multi-SCM — VcsProvider adapters for GitHub, GitLab, Bitbucket, and Azure DevOps", "license": "MIT", "type": "module", diff --git a/packages/visual/package.json b/packages/visual/package.json index 7c276cf..3e6fd41 100644 --- a/packages/visual/package.json +++ b/packages/visual/package.json @@ -1,6 +1,6 @@ { "name": "@warden/visual", - "version": "0.4.0", + "version": "0.4.1", "description": "Warden visual regression — deterministic screenshot diffing with an optional AI structure-aware judge", "license": "MIT", "type": "module",