omnistate
Installs a Git pre-commit hook and enforces commit clearance tokens, blocking commits or pushes unless the changes have been audited and cleared by OMNISTATE.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@omnistatebegin a transaction scoped to src/auth.py, then audit and finish it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ OMNISTATE
Universal State Governance, Transaction Guardrails & Anti-Bypass Framework for AI Agents, MCP & CLI
Zero Context Loss โข Scope Enclosure โข Anti-Laziness Diff Defense โข Git Pre-commit Warden
๐ฏ The Problem
When Large Language Models (LLMs) and autonomous AI coding agents (Claude, Cursor, Copilot, ChatGPT, Cline, Antigravity) develop software, they inevitably run into four critical failure modes:
Context Loss & Amnesia Across Sessions: When a chat restarts or compacts, the AI forgets what was changed, what decisions were made, or what step it was on.
Scope Creep & Accidental Regression: The AI modifies files far outside its intended scope, breaking unrelated features or deleting essential comments and functions.
Lazy AI Placeholders: The AI generates truncated code snippets such as
// ... rest of implementation unchanged,# TODO: implement this, or silently deletes production logic.Unverified Commits: The AI hallucinates that "all tests pass" and commits directly to git without empirical proof or verified evidence.
OMNISTATE solves this by bringing deterministic ACID transaction semantics, multi-gate automated auditing, and a tamper-proof Git Warden to any software project.
Related MCP server: Harness Engineering MCP
๐๏ธ Architecture & Transaction Lifecycle
flowchart TD
subgraph Human_or_AI ["AI Agent or Developer"]
Init["omnistate init<br>(Mounts pre-commit hook)"] --> Begin
Begin["omnistate begin<br>(Declare Intent & Scope)"]
Begin --> Step["omnistate step<br>(Record Milestones)"]
Step --> CodeEdit["Perform Code Edits"]
CodeEdit --> Audit["omnistate audit<br>(Deterministic Gates)"]
end
subgraph Gates ["Quality & Security Gates"]
Audit --> G1["Gate 1: Scope Enclosure Check"]
Audit --> G2["Gate 2: Anti-Laziness Critic (Diff Scan)"]
Audit --> G3["Gate 3: Anti-Bloat Ratio Check"]
Audit --> G4["Gate 4: Automated Test Runner"]
Audit --> G5["Gate 5: Empirical Evidence Verification"]
end
subgraph State_Engine ["OMNISTATE Engine"]
G1 & G2 & G3 & G4 & G5 -->|All Passed| AuditPassed["Status: AUDITED<br>(Freezes SHA-256 Fingerprints)"]
AuditPassed --> Finish["omnistate finish"]
Finish --> TamperCheck{"Anti-Tamper Check:<br>Files changed since audit?"}
TamperCheck -->|No| Clearance["Issue Commit Clearance Token<br>OMNI_CLEAR_XXXXXXXX<br>Archive rev_XXXX.json"]
TamperCheck -->|Yes| TamperFail["๐จ Tamper Violation<br>Require Re-Audit"]
end
subgraph Git_Warden ["Git Pre-Commit Warden Hook"]
Clearance --> GitCommit["git commit -m '...'"]
GitCommit --> PreCommitHook[".git/hooks/pre-commit"]
PreCommitHook --> WardenScan{"Warden Verification:<br>1. Active session completed?<br>2. Valid clearance token?<br>3. Staged hashes == Audited hashes?"}
WardenScan -->|Yes| CommitAllowed["โ
Commit Permitted"]
WardenScan -->|No| CommitBlocked["โ COMMIT BLOCKED"]
endโจ Key Features
๐ก๏ธ ACID Transactions for AI Edits:
begin$\rightarrow$step$\rightarrow$audit$\rightarrow$finish$\rightarrow$commit.๐ Dual-Mode Adapters:
CLI Mode: Full-featured terminal interface with rich dashboards.
MCP Server Mode (Model Context Protocol): Exposes state tools directly to Claude Desktop, Cursor, Antigravity, OpenCode, Windsurf, and any MCP client over stdio.
๐ Anti-Tamper & Anti-Laziness Guardrail:
Scans unified diffs for lazy ellipsis comments (
// ...,# TODO: implement).Cryptographically locks audited files via SHA-256. Any modification made after audit invalidates the clearance token.
๐ฎ Git Warden Pre-Commit Hook:
Blocks any
git commitorgit pushif code was not properly audited and cleared by OMNISTATE.
๐ฆ Zero External Dependencies:
Pure Python standard library (compatible with Python 3.8+). No heavy dependencies, no version conflicts.
๐ Immutable History Snapshots:
Automatically records full state history in
.omnistate/snapshots/rev_0001.jsonwith revision deltas.
๐ Quick Start
1. Installation
git clone https://github.com/cwen0224/omnistate.git
cd omnistate
pip install -e .Or install directly via pip (once published):
pip install omnistate2. Initialize in Your Project
In any git repository:
cd /path/to/your/project
omnistate initThis will:
Create the
.omnistate/directory withomnistate.jsonconfiguration.Install the automated
pre-commithook in.git/hooks/pre-commit.
๐ค Using with AI via MCP (Model Context Protocol)
OMNISTATE includes a built-in, zero-dependency MCP server that enables AI models to govern their own changes safely.
Claude Desktop Configuration
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"omnistate": {
"command": "omnistate-mcp",
"args": ["--workspace", "/path/to/your/project"]
}
}
}Cursor / Windsurf / Antigravity / OpenCode Configuration
Add to your project's MCP settings:
{
"name": "omnistate",
"command": "python",
"args": ["-m", "omnistate.mcp", "--workspace", "."]
}Tools Exposed to the AI
MCP Tool Name | Description |
| Initialize state governance and pre-commit hook in workspace |
| Start a transactional state change with declared intent and scope boundaries |
| Record an incremental milestone or progress step |
| Deterministically verify modified code against scope, anti-laziness, and test gates |
| Verify anti-tamper fingerprints, archive immutable snapshot, and issue commit clearance |
| Abort active transaction and optionally roll back uncommitted changes |
| Return active transaction status, git state, and clearance token |
| Scan working tree diff for anti-laziness violations |
| Return state governance and guardrail rules for the AI context |
๐ป CLI Usage Guide
1. Begin a Task
omnistate begin --intent "Implement OAuth login" --scope "auth/,tests/" --risk standard2. Record Progress
omnistate step --action "Implemented JWT token parser" --details "Added unit test in test_auth.py"3. Check Governance Dashboard
omnistate statusOutput:
==================================================================
๐ OMNISTATE STATE GOVERNANCE DASHBOARD (v1.0.0)
==================================================================
Project Root : /home/dev/my-project
State Directory : /home/dev/my-project/.omnistate
Current Revision : #0012
Git HEAD Commit : a4b91ef201
------------------------------------------------------------------
Transaction ID : sess_3f1a92b810de
Transaction State: ๐ก [ IN_PROGRESS ]
Intent Summary : Implement OAuth login
Scope Boundary : ['auth/', 'tests/']
Risk Tier : STANDARD
Steps Recorded : 3
Audit Status : โณ PENDING (Run 'omnistate audit' when edits complete)
------------------------------------------------------------------
Working Tree Mod : 2 files modified
โข auth/oauth.py
โข tests/test_oauth.py
==================================================================4. Audit Modifications
omnistate auditOutput:
================ OMNISTATE AUDIT RESULTS ================
โ
PASS | ScopeEnclosureGate
โ
PASS | AntiLazinessCritic
โ
PASS | AntiBloatCritic
โ
PASS | TestRunnerGate
=========================================================
๐ All quality gates PASSED! Ready to execute 'omnistate finish'.5. Finalize & Unlock Git Commit
omnistate finish --evidence "tests/report.txt" --note "All tests green"Output:
๐ [OMNISTATE] Transaction COMPLETED: sess_3f1a92b810de
๐ก๏ธ Commit Clearance Token: OMNI_CLEAR_8A90F1BC24D7A19E
๐ฆ Archived Revision : #0013
๐ You are now cleared to commit your changes with git!6. Commit to Git
git commit -m "feat(auth): implement OAuth login"
# Output:
# ๐ก๏ธ [OMNISTATE WARDEN PASSED] Clearance Token verified: OMNI_CLEAR_8A90F1BC24D7A19Eโ๏ธ Configuration (omnistate.json)
Created automatically inside .omnistate/omnistate.json:
{
"state_dir": ".omnistate",
"ignored_paths": [
".git",
".venv",
"node_modules",
"__pycache__",
"dist",
"build"
],
"gates": {
"scope_enforcement": true,
"anti_laziness": true,
"anti_bloat": true,
"max_file_growth_ratio": 2.0,
"max_line_growth": 600,
"test_command": "pytest -q",
"evidence_required": false
},
"warden": {
"enforce_pre_commit": true,
"block_unclear_commits": true
}
}๐ Python SDK API
You can also embed OMNISTATE directly into your Python scripts or custom agent loops:
from pathlib import Path
from omnistate import OmniStateCoordinator
coord = OmniStateCoordinator(Path("."))
# 1. Begin
session = coord.begin(
intent_summary="Refactor database models",
scope_paths=["models/", "migrations/"],
risk_tier="standard"
)
# 2. Record step
coord.record_step("Generated Alembic migration")
# 3. Audit
passed, gate_results = coord.audit(run_tests=True)
if passed:
# 4. Finish
finished_session = coord.finish(note="Migrations verified")
print("Clearance Token:", finished_session.commit_clearance)
else:
print("Audit failed! Gate errors:", [g.errors for g in gate_results if not g.passed])๐งช Running Tests
python -m unittest discover -s tests๐ License
MIT License. Copyright (c) 2026 cwen0224.
Available Tools
9 toolsomnistate_abortB
Abort active transaction and optionally roll back uncommitted changes in scope.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Reason for cancellation. | |
| rollback | No | Whether to revert uncommitted changes in scope via git. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only hints that this is a mutating lifecycle operation. It does not say whether aborting discards work, whether the abort is reversible, what the resulting status is, or how errors are reported if nothing is active. The one behavioral detail it gives (git rollback of uncommitted changes) largely restates the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, leading with the verb and the target resource. It is efficient, though its brevity contributes to the gaps scored elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low complexity (2 optional params, no output schema), so a short description is defensible, but with zero annotations the agent still lacks lifecycle context: resulting state after abort, effect on session, and behavior when no transaction is active.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters ('note' as cancellation reason, 'rollback' as git revert toggle with a false default) are fully documented there. The description adds no syntax, format, or interaction detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('abort') against a specific resource ('active transaction') plus the optional rollback side effect. It is clearly distinct from omnistate_begin/step, but the boundary with the sibling omnistate_finish (abort vs. successful completion) is never made explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'active transaction' implies a usage precondition, but the description never says when to abort instead of calling omnistate_finish, nor whether it is safe/no-op when no transaction is open. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
omnistate_auditB
Audit current modifications against scope boundaries, anti-laziness gates, and test suites.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Optional list of files to audit. If omitted, automatically checks git status. | |
| run_tests | No | Whether to run the configured test command. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses that test suites may run (a side effect) and that anti-laziness gates are checked, but says nothing about what happens on failure, whether the audit blocks progress or mutates state, or what the result looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; each clause carries meaning. It is dense but slightly under-explained for a tool that can execute tests, though not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should explain failure semantics and result shape. It does not, leaving an agent unsure how to interpret a failed audit or whether it gates the workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema (files with git-status fallback, run_tests default true). The description adds no semantics beyond that, which is acceptable but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Audit') and resource ('current modifications') and enumerates three check categories (scope boundaries, anti-laziness gates, test suites). It is distinguishable from siblings like omnistate_inspect_diff and omnistate_status, though it never names an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this validates changes somewhere in the omnistate workflow. The description never states when to call it versus omnistate_status, omnistate_inspect_diff, or omnistate_finish, and gives no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
omnistate_beginB
Begin a safe, transactional state change. Declares intent, scope boundaries, and risk tier.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | List of directories or files allowed to be modified (e.g. ['src/', 'tests/']). | |
| intent | Yes | Clear, concise summary of what this code change will achieve. | |
| prompt | No | Original raw user prompt. | |
| non_goals | No | Strict boundaries or things that must NOT be touched or altered. | |
| risk_tier | No | Risk tier of the task. | standard |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that the operation is 'safe' and 'transactional' and introduces a risk tier, which is useful context, but it omits what 'transactional' means operationally โ whether state is locked, whether finish/abort is required, what happens on failure, and what side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by what the call declares. There is no filler and every sentence adds a distinct piece of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a transaction-starting tool with five parameters and no output schema or annotations, the description is too thin. It does not explain the lifecycle relationship to 'omnistate_finish'/'omnistate_abort', the difference from 'omnistate_init', or what an agent should expect after calling begin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents each parameter. The description restates 'intent, scope boundaries, and risk tier' without adding format, constraints, or examples beyond the schema, which is the baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Begin') and an abstract resource ('transactional state change'), plus what it declares (intent, scope, risk tier). However, it does not distinguish this from the sibling 'omnistate_init', leaving ambiguity about which tool actually starts a new state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. With siblings like 'omnistate_init' and 'omnistate_step', the description should say whether this begins a transaction after init, replaces init, or is the correct first call in a workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
omnistate_explain_rulesA
Explain the OMNISTATE transaction lifecycle rules and guardrails for AI coding assistants.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description must carry the behavioral burden; 'Explain' implies a non-mutating informational call, but this is inference rather than stated. It does not say whether the output is static documentation or state-dependent, and there is no output schema to fall back on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and subject arrive immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, no-annotation, no-output-schema tool, the description covers the topic but not the return shape or invocation context. One clause on what the explanation covers (e.g., states, transitions, guardrail violations) would close the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline of 4 applies; the description correctly implies no inputs are needed and nothing contradicts that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Explain') and resource ('OMNISTATE transaction lifecycle rules and guardrails'), which clearly distinguishes it from the operational siblings (begin/step/finish) that actually act on transactions. It is clear what the tool returns conceptually, though the phrase 'for AI coding assistants' is audience framing rather than scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the reference lookup to consult for the lifecycle rules, presumably before or alongside using omnistate_begin/step/finish. It never says when to call it versus just proceeding, nor whether it must be called before starting a transaction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
omnistate_finishA
Finalize transaction, verify anti-tamper fingerprints, archive immutable snapshot, and issue commit clearance.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Completion note. | |
| evidence | No | List of evidence artifact file paths proving task completion. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real behavioral detail: anti-tamper fingerprint verification, immutable archival, and commit clearance are meaningful side effects. However, it does not state that finalization is irreversible, what happens if fingerprint verification fails, or what permissions/state are required, which are critical for a committing mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with four comma-separated clauses, each carrying new information about the finalization sequence. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter, no-output-schema commit tool with no annotations, the description covers what happens but omits irreversibility, failure behavior when fingerprints don't match, and what the caller receives back. Adequate but leaves important gaps for a terminal mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two optional parameters (note, evidence) are already documented in the schema; the baseline is 3. The description adds nothing about how evidence is used in fingerprint verification or what a completion note affects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Finalize transaction') and enumerates the resulting actions (fingerprint verification, immutable snapshot, commit clearance), which clearly positions it as the terminal step in the omnistate lifecycle. It is distinguishable from omnistate_abort/omnistate_step by implication, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Finalize' and 'issue commit clearance' imply this is the closing step, but there is no explicit statement of prerequisites (e.g., must follow omnistate_begin/step), no guidance on when to prefer omnistate_abort instead, and no failure-path guidance. Usage is inferable only from the word choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
omnistate_initC
Initialize OMNISTATE state governance and pre-commit guardrail in the current workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| overwrite | No | Whether to overwrite existing config if present. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says the tool initializes governance and a pre-commit guardrail, but does not describe what files or configuration are created, whether the operation is idempotent, what side effects occur, or what happens when configuration already exists beyond the overwrite parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is appropriately short, though its brevity contributes to the missing behavioral and usage details assessed elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an initialization tool with no annotations and no output schema, the description should explain more about what the tool sets up, prerequisites, and side effects. It gives the high-level purpose but leaves meaningful operational context unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single optional parameter 'overwrite' is fully documented in the schema. The description adds no parameter-specific meaning, so the baseline of 3 applies when the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Initialize') and resources ('OMNISTATE state governance and pre-commit guardrail') in the current workspace. It is clear what the tool does, though it does not explicitly contrast itself with siblings like omnistate_begin or omnistate_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a setup use case but gives no explicit guidance on when to use this tool versus lifecycle siblings (begin, status, audit, etc.). It also does not mention prerequisites, whether initialization should run before omnistate_begin, or when overwrite should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
omnistate_inspect_diffB
Run anti-laziness and scope inspection on the working tree diff without altering state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full disclosure burden, and it does state the key safety property: 'without altering state,' making it effectively read-only. It says nothing about failure modes, whether the check can block later steps, or what the result contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the state-safety qualifier is attached immediately to the action. 'Anti-laziness' is the only word that does not clearly earn its place without a definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must explain what the inspection reports and how a failure should be interpreted, but it stops at the action. An agent can invoke it, but cannot predict or act on the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is no argument semantics for the description to compensate for. Baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource: run an inspection over the working tree diff. The name and description agree, so an agent knows this is a read-side check rather than a state transition. What 'anti-laziness' actually verifies is unexplained jargon, and nothing tells it apart from the sibling omnistate_audit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus omnistate_audit, omnistate_status, or omnistate_begin/omnistate_finish. No prerequisites are given, such as whether a diff must already exist or whether omnistate_begin has to run first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
omnistate_statusA
Get current OMNISTATE status, active transaction details, git head, and commit clearance state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full disclosure burden. 'Get' implies a read with no side effects, but the description never explicitly confirms read-only behavior, permissions, or whether calling it mutates transaction state; the list of returned fields is helpful but is return-value content, not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and resource first, followed by an enumerated list of return fields. No filler, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the enumeration of expected fields (transaction details, git head, clearance state) is doing real work. Terms like 'commit clearance state' and 'OMNISTATE' remain undefined, which leaves a little ambiguity, but for a no-arg status probe this is close to sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline of 4 applies; there is nothing to document and the description does not invent or misdescribe inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('OMNISTATE status') and enumerates the concrete data returned (active transaction details, git head, commit clearance state). This clearly reads as the read-only counterpart to the mutation-oriented siblings (begin, step, finish, abort), though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus omnistate_audit, omnistate_step, or omnistate_inspect_diff, nor any prerequisite such as needing an active transaction. The agent must infer that this is a polling/inspection tool from the verb alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
omnistate_stepA
Record an intermediate progress milestone or action within the active transaction.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Brief description of the action taken. | |
| details | No | Additional details or outcome notes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the key precondition that a transaction must be active, but it does not state whether calling this mutates state, whether milestones are persisted or returned, what happens if no transaction is active, or whether repeated calls are allowed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Every word contributes to stating the action, the scope, and the transaction precondition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter recording tool with no output schema, the description covers the core purpose and precondition. It is minimally adequate but leaves key behavioral questions (persistence, error behavior, relationship to auditing) unanswered, which matters given the absence of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters ('action' and 'details') are already documented in the schema. The description adds no meaning beyond what the schema provides, which meets the baseline expectation when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (record) and resource (intermediate progress milestone/action) scoped to the active transaction, which distinguishes it from omnistate_init, omnistate_begin, and omnistate_finish. It does not explicitly contrast with omnistate_audit or omnistate_status, so sibling differentiation is incomplete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'within the active transaction' implies the precondition for use and suggests this is a mid-transaction step rather than a terminal one. However, it gives no explicit when-to-use guidance versus omnistate_audit, omnistate_status, or omnistate_inspect_diff, and no when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
v1.0.0- First observed
omnistate_abort - First observed
omnistate_audit - First observed
omnistate_begin - First observed
omnistate_explain_rules - First observed
omnistate_finish - First observed
omnistate_init - First observed
omnistate_inspect_diff - First observed
omnistate_status - First observed
omnistate_step
TDQS
Scored across 9 tools
Tools map cleanly to a transaction lifecycle (init, begin, step, audit, finish, abort) with status and inspect_diff as read-only helpers. The main possible confusion is audit vs inspect_diff, both involving scope/anti-laziness checks, and init vs begin, but descriptions distinguish state-changing versus read-only and setup versus transaction start.
All tools share the omnistate_ prefix and snake_case formatting, making the set highly predictable. Minor deviations exist: status is a noun while most names are verbs, init is abbreviated, and step is less action-specific, but the convention remains readable.
Nine tools fit comfortably within the ideal 3-15 range for a transaction-governance server. Each tool corresponds to a distinct lifecycle stage or helper, with no obvious filler.
The surface covers setup, transaction start, progress recording, auditing, commit clearance, abort/rollback, status, diff inspection, and rule explanation. A minor gap is that archived immutable snapshots are created but no tool lists or retrieves transaction history or past snapshots.
Maintenance
Related MCP Connectors
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
Contract-change authorization for AI agents: preflight a change to an API or MCP contract, get a signed decision, and verify the receipt offline. Only a granted change can proceed.
Related MCP Servers
- FlicenseAqualityBmaintenanceGovernance/control plane for MCP-enabled coding-agent workflows with validation, findings, approvals, budgets, and proof bundles.5510-
- AlicenseNot gradedqualityDmaintenanceEnables AI coding environments to enforce engineering governance through MCP tools and resources for init, check, route, and review workflows.9 npm2MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents and hosts to enforce deterministic repository boundaries via MCP, providing structured reads, supervised edits, snapshots, audits, and recovery with machine-readable evidence.MIT
- AlicenseBqualityBmaintenanceCommit-time audit engine for AI coding agents. Scans git diffs with 24 audit rules, writes HMAC-signed tamper-evident audit history, and ships MCP tools for governance aggregation.10454MIT