Skip to content

Release 0.87.0: Decision Assurance Gate - #274

Merged
harishquantamix merged 34 commits into
masterfrom
release/0.87.0
Oct 23, 2026
Merged

harishquantamix merged 34 commits into
masterfrom
release/0.87.0

Conversation

@quantamixsol

Copy link
Copy Markdown
Owner

GraQle 0.87.0: Decision Assurance Gate

Adds the Decision Assurance Gate (graqle.assurance). Before an agent acts, the gate checks the decision and answers EXECUTE, REPLAN, HOLD, REJECT or ESCALATE with the deciding rule and reason codes.

Off by default. The gate is enabled with the environment variable GRAQLE_DAG_ENABLED. With the flag off, behaviour is unchanged from 0.86.0. Installing or upgrading does not turn it on.

What is in this release

  • Hard gates on policy, actor, evidence and exact arguments.
  • Contradiction tracking with recomputation of dependent decisions.
  • A per-dimension confidence vector with projection.
  • Trajectory estimators with replanning and escalation routing.
  • A threshold-study runner and an intervention-study runner (graq assurance).
  • Signed, hash-chained provenance events with key rotation support, a PROV-O export and SHACL shapes for auditor-side checks.
  • Simplified README and PyPI description. Version 0.87.0 and the changelog entry.

The graq dag command group is not part of this release.

Verification

  • Full test suite in a clean environment (fresh checkout, fresh virtual environment, empty environment variables): 10294 passed, 94 skipped, 5 expected failures, 1 unexpected pass, 0 failed.
  • Live graph-database tests for the persistence paths pass against a Neo4j Community instance.
  • Public IP scan of this diff against master: no findings.
  • The package contains no path under a decision_layer directory (covered by a test).

Publishing

After merge: tag v0.87.0 on the merge commit. CI builds, signs and publishes to PyPI.

quantamixsol and others added 30 commits October 22, 2026 14:10
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… hunk excluded, policy file)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…y CLI excluded (needs #390 dogfood CLI, out of scope)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… neutral wording in write-path test comment

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…and README_PYPI

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ional dag CLI, tree-compare guard, master reason-code test)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…in manifests to 0.87.0

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ly (comment-only)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…p remaining wording flagged by ip_scan

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ayer is absent from the wheel package tree and build config
…ckage tree and build config

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
quantamixsol and others added 3 commits October 22, 2026 18:18
…y ruling R2); no permanent skips

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… M-1)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

🛡️ GraQle PR Guardian

💥 Blast Radius: 192 modules affected

Module Files Changed Risk Level Impact Radius
.agents 1 🟡 T2 1
.claude-plugin 1 🟡 T2 1
.env.example 1 🟡 T2 1
.github 1 🟡 T2 1
.importlinter 1 🟡 T2 1
CHANGELOG.md 1 🟡 T2 1
README.md 1 🟡 T2 1
README_PYPI.md 1 🟡 T2 1
docs 3 🟡 T2 3
graqle 72 🟠 T3 72
plugins 2 🟡 T2 2
pyproject.toml 1 🟡 T2 1
scripts 1 🟡 T2 1
server.json 1 🟡 T2 1
tests 104 🟠 T3 104

Total blast radius: 192


🏛️ Governance Verdict

🚫 FAIL

  • T3: 17 file(s) require explicit approval.

🔍 SHACL Violations

No SHACL violations detected. ✅


🔐 Approval Requirements

This PR requires approval from: T3

  • A registered Tech Lead or Governance Admin must approve.

❌ Approval requirement NOT yet satisfied.


Metric Value
Blast Radius 192
Files Analyzed 192
Blocked 17
SHACL Violations 0
Verdict FAIL

🔬 Powered by GraQle PR Guardian v0.1.0 · Scan completed 2026-10-23T15:29:24.260944+00:00

…iles before the tests and broke the protected-file hash guard
@harishquantamix
harishquantamix merged commit 1de34f0 into master Oct 23, 2026
19 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants