diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json index 5482433..b9ac884 100644 --- a/.agents/plugins/marketplace.json +++ b/.agents/plugins/marketplace.json @@ -13,7 +13,7 @@ "name": "graqle", "source": "./plugins/codex/graqle", "description": "Graph-powered codebase reasoning, impact analysis, and governed edits via the GraQle MCP server, plus governed-workflow skills.", - "version": "0.84.1", + "version": "0.85.0", "author": { "name": "Quantamix Solutions", "url": "https://graqle.com" diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 8ccaa7e..856137d 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -13,7 +13,7 @@ "name": "graqle", "source": "./plugins/claude-code/graqle", "description": "Graph-powered codebase reasoning, impact analysis, and governed edits via the GraQle MCP server, plus governed-workflow skills and an optional governance gate hook.", - "version": "0.84.1", + "version": "0.85.0", "author": { "name": "Quantamix Solutions", "url": "https://graqle.com" diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fd8552..aed7638 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,51 @@ All notable changes to GraQle are documented in this file. --- -## Unreleased — 0.84.1 (DAG-2026 CR-012 foundation) +## 0.85.0 — 2026-09-27 (CI integrity) + +> **CI suppression status (CR-CI-001, issue #350).** The suppression ceiling on this repo +> drops from **37 to 5** in this release, and a ratcheting guard now enforces it: `MAX` may +> only move down, and any PR that raises the count fails CI. Roughly **206 previously hidden +> tests now execute**. The 0.84.1 entry below stated 37 flags; that number is superseded. + +### Changed + +- **CI suppression ceiling 37 → 5, with a ratcheting guard.** Phase 2 removed 14 stale flags; + Phase 3 converted 11 files to named skips (10 patent stubs naming their exact stub module and + EP application, plus one naming the Ollama service and model); Phase 4 repaired 7 genuinely + failing files. Public and private CI are now at parity. +- **The release gate fails closed.** `graqle/release_gate/engine.py` previously returned `WARN` + at confidence 0.0 when it could not evaluate — a provider timeout or an internal error read as + "low confidence, proceed", so a gate that could not assess a release let it through. Both now + return `BLOCK`. Bad input blocks too: a gate that cannot parse its own diff, target or + `min_confidence` has no basis to pass a release. The never-crash and no-leak contracts are + unchanged, and compose verdicts are unaffected — only the fallback changed. +- **Release-gate failures are diagnosable.** Both provider-exception handlers logged only + `type(exc).__name__`, so every failure surfaced as a bare class name with no message and no + traceback. They now log the full exception. The verdict object stays redacted: the operator + log and the user-facing verdict have opposite requirements, and a test asserts both. + +### Fixed + +- `hypothesis` was imported by several test modules but never declared in the dev extras. The + gap stayed invisible because every affected module sat behind an `--ignore` flag. +- `CliRunner.isolated_filesystem` was removed in newer click; `typer[all]>=0.9` is unpinned, so + CI resolved a version where it does not exist while local installs still had it. Those tests + now use pytest's `tmp_path`, which does not depend on the runner's API surface. +- A Hypothesis `too_slow` health check on input generation began failing once ~460 previously + hidden tests started collecting. Suppressed, matching the sibling property tests. + +### Notes + +- **No new DAG-2026 disclosure in this release.** The Decision Assurance Gate foundation shipped + in 0.84.1; the reason-code registry still ships with an empty seed and `GRAQLE_DAG_ENABLED` + remains `false` by default. +- Two defects that the suppression flags were concealing are tracked separately rather than + fixed here, because each needs a decision rather than a patch. + +--- + +## 0.84.1 — 2026-09-23 (DAG-2026 CR-012 foundation) > **CI suppression disclosure (CR-CI-001, issue #350).** CI's green signal for this release is > maintained by **37 `--ignore=` flags** in `.github/workflows/ci.yml`: those test files are not diff --git a/graqle/__version__.py b/graqle/__version__.py index cf56fa7..7980df7 100644 --- a/graqle/__version__.py +++ b/graqle/__version__.py @@ -5,4 +5,4 @@ # constraints: none # ── /graqle:intelligence ── -__version__ = "0.84.1" +__version__ = "0.85.0" diff --git a/plugins/claude-code/graqle/.claude-plugin/plugin.json b/plugins/claude-code/graqle/.claude-plugin/plugin.json index bb66d60..afcbc94 100644 --- a/plugins/claude-code/graqle/.claude-plugin/plugin.json +++ b/plugins/claude-code/graqle/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "graqle", - "version": "0.84.1", + "version": "0.85.0", "description": "GraQle dev intelligence layer: graph-powered codebase reasoning, impact analysis, and governed edits via MCP, plus governed-workflow skills and an optional governance gate hook.", "author": { "name": "Quantamix Solutions", diff --git a/plugins/codex/graqle/.codex-plugin/plugin.json b/plugins/codex/graqle/.codex-plugin/plugin.json index b6b500b..acce476 100644 --- a/plugins/codex/graqle/.codex-plugin/plugin.json +++ b/plugins/codex/graqle/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "graqle", - "version": "0.84.1", + "version": "0.85.0", "description": "GraQle dev intelligence layer: graph-powered codebase reasoning, impact analysis, and governed edits via MCP, plus governed-workflow skills.", "interface": { "displayName": "GraQle", diff --git a/pyproject.toml b/pyproject.toml index 5a8fec4..4a26a3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ name = "graqle" # (first-to-finish/best-of-N) + CostAwareRouter (auto cost/latency selection) — # dual-provider autonomy. 0.77.0 = ADR-239 Stage 2 # (CheckpointProtocol + run_tests). 0.76.0 = ADR-225 G1 multi-tenant memory. -version = "0.84.1" +version = "0.85.0" description = "Persistent organisational intelligence for AI agents. Turn codebases, documents, policies and decisions into a knowledge graph so Claude Code, Cursor and Copilot reason over architecture, dependencies and prior lessons — with confidence scores and evidence. 13 LLM backends + custom, fully offline capable." readme = "README_PYPI.md" license = {text = "Apache-2.0"} diff --git a/server.json b/server.json index 6382d96..e5ebda7 100644 --- a/server.json +++ b/server.json @@ -8,12 +8,12 @@ "url": "https://github.com/quantamixsol/graqle", "source": "github" }, - "version": "0.84.1", + "version": "0.85.0", "packages": [ { "registryType": "pypi", "identifier": "graqle", - "version": "0.84.1", + "version": "0.85.0", "transport": { "type": "stdio" }