Skip to main content

The G-Brain Company Brain Primitive: continuously compiles Slack, Jira, and Gmail into an executable, conflict-resolved operational state for AI agents.

Project description

ain-state-compiler

The G-Brain Primitive — A local-first, self-improving Company Brain that continuously compiles Slack, Jira, and Gmail into an executable, conflict-resolved operational state for AI agents.

PyPI version Python 3.9+ Zero Dependencies License: MIT


What Is This?

Most enterprise knowledge systems offer static storage and RAG over documents.

ain-state-compiler solves a harder problem:

Continuously compiling an organization's operational reality into an executable, internally consistent state representation.

The output is not a document retrieval system — it is a Company Brain:

Dimension Static KB (Notion/Wikis) AIN State Compiler
Focus Storing documents Maintaining live state
Refunds Refund policy PDF Actual refund behaviors observed across support logs
Engineering Static runbooks SRE behavior during actual incident response
Workflows SOP text Extracted from real event execution traces

Architecture

[ Slack / Jira / Gmail ]
         |
         v
[ Shared Hivemind DB ]   <-- Supabase (cloud) or SQLite (local)
         |
         v  (Every 5 minutes, offline cron)
[ sync + state_compiler ]  -- Zero-LLM, 100% offline
         |
    +---------+-----------+
    |         |           |
[IMMs]   [OEGs]    [Conflict Report]
    \         |           /
         [compiled_state/]
              |
    (On-demand query only)
              v
        [ Ollama LLM ]   <-- local gemma3:1b
              |
        [ Agent Action ]

Key Principles:

  • Zero-LLM at source: All ingestion, structuring, and conflict detection is 100% offline deterministic code.
  • LLMs on-demand only: Only invoked when you explicitly query the brain. Context is pre-compiled and token-optimized (14-30% reduction via JSON→YAML).
  • Self-improving: Notices recurring resolution structures and updates its executable skill library.
  • Shared hivemind: Multiple team members write to one central DB; all local nodes compile their own state and read from the same source of truth.

Installation

pip install ain-state-compiler

First-Time Setup

After installing, run the interactive setup wizard:

ain-brain setup

This will prompt you for:

  • Slack Bot Token (xoxb-...)
  • Jira URL + API Token
  • Gmail App Password
  • Supabase URL + Service Role Key (central cloud hivemind)
  • Optional external DB credentials

All credentials are saved to .env in your project directory.

Install Ollama (Local LLM)

ain-brain install-ollama

This downloads and installs Ollama and pulls gemma3:1b. LLMs are only called when you query the brain — never during ingestion.

Register 5-Minute Background Sync

ain-brain cron
  • Windows: Registers a Windows Task Scheduler task (AINBrainSync).
  • Linux/macOS: Adds a crontab entry.

The background task runs sync + compile every 5 minutes completely offline.


Usage

Seed the local database (mock data for testing)

ain-brain init-db

Run a one-shot sync + compile

ain-brain sync

Query the Company Brain

ain-brain query "What is the current deployment status of Analytics v2?"
ain-brain query "What is the billing situation with Acme Corp?"
ain-brain query "Are there any active conflicts in the system?"

If Ollama is running, it uses gemma3:1b for inference. Otherwise it falls back to the deterministic offline resolver.

Start the Dashboard Server

ain-brain server

Open http://localhost:8000 to access the B2B glassmorphic dashboard with:

  • Live ingest stream terminal
  • Active contradictions panel
  • YAML OEG viewer
  • Interactive query terminal

Python API

from ain_state_compiler import StateCompiler, ConflictDetector, TokenOptimizer

# Compile operational state
compiler = StateCompiler("/path/to/project")
summary = compiler.compile()
print(summary)
# {'processed_slack_events': 6, 'processed_jira_issues': 2, ..., 'detected_conflicts': 2}

# Token optimization
import json
data = {"key": "value", "nested": {"a": 1, "b": "hello world"}}
savings = TokenOptimizer.calculate_savings(data)
print(f"YAML saves {savings['saving_percentage']}% tokens vs JSON")

# Query the brain
from ain_state_compiler.query import query_brain
answer, node, used_llm = query_brain("What is the analytics v2 flag status?")
print(answer)

Sync with Supabase

Set environment variables (or configure via ain-brain setup):

SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key

Then run:

ain-brain sync

The sync will pull from Supabase and write compiled state back to the compile_log table.


Supabase Schema

Run these SQL commands in Supabase SQL Editor to create the required tables:

CREATE TABLE slack_history (
    id SERIAL PRIMARY KEY,
    channel TEXT NOT NULL,
    timestamp TEXT NOT NULL,
    "user" TEXT NOT NULL,
    text TEXT NOT NULL
);

CREATE TABLE jira_issues (
    id TEXT PRIMARY KEY,
    title TEXT NOT NULL,
    status TEXT NOT NULL,
    assignee TEXT NOT NULL,
    updated_at TEXT NOT NULL,
    description TEXT NOT NULL
);

CREATE TABLE emails (
    id TEXT PRIMARY KEY,
    subject TEXT NOT NULL,
    sender TEXT NOT NULL,
    timestamp TEXT NOT NULL,
    body TEXT NOT NULL
);

CREATE TABLE compile_log (
    id SERIAL PRIMARY KEY,
    compiled_at TEXT NOT NULL,
    slack_events INTEGER,
    jira_issues INTEGER,
    emails INTEGER,
    conflicts INTEGER
);

What Gets Compiled

Each sync cycle produces:

File Description
compiled_state/product_deployment_imm.md Product Deployment Institutional Memory Module
compiled_state/acme_corp_billing_imm.md Billing configuration IMM
compiled_state/active_conflicts_report.md All detected cross-departmental contradictions
compiled_state/operational_state.json Full operational state (JSON)
compiled_state/operational_state.yaml Token-optimized YAML (14-30% smaller)
compiled_state/token_optimization_metrics.json Compression metrics

The Contradiction Engine

The primary competitive moat. Instead of exposing raw conflicting data to AI agents (which causes hallucination), the Contradiction Engine resolves state before agents ever see it.

Example detection:

[CON-001] CRITICAL: Feature Flag Rollback vs GA Announcement
  - Jira ENG-1043: Status=Done (GA implied)
  - Email: Marketing sent "Analytics v2 is now live!" to all customers
  - Slack: SRE set analytics_v2=FALSE due to DB connection pool exhaustion

Resolution: Halt GA messaging. Update Jira to BLOCKED. Issue customer notice.

Token Optimization

Before submitting context to a local LLM, the JSON→YAML optimizer strips brackets, quotes, and separators:

JSON: {"key": "value", "nested": {"a": 1}}   (38 chars)
YAML: key: value\nnested:\n  a: 1            (27 chars = 29% smaller)

On realistic payloads, this saves 14-30% of tokens, reducing inference latency and API costs.


License

MIT License — see LICENSE


Built on the AIN (Autonomous Intelligence Network) architecture. Part of the G-Brain Company Brain research program.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ain_state_compiler-0.1.0.tar.gz (34.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ain_state_compiler-0.1.0-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file ain_state_compiler-0.1.0.tar.gz.

File metadata

  • Download URL: ain_state_compiler-0.1.0.tar.gz
  • Upload date:
  • Size: 34.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for ain_state_compiler-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cf337ced1a66b2911afdd6b424968cb7ffacb86fc2190e6d0ffb16a52f934926
MD5 40e9e6420ea0a2cf95a8a0c7a451c50c
BLAKE2b-256 614b0fe51091c818c3ad9e2e622187ae8234dbeeccdab160e862658f9addf397

See more details on using hashes here.

File details

Details for the file ain_state_compiler-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ain_state_compiler-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 713056e02e9b74eac3eb260947b5859997bd873588f3e9d8789d680539a9e497
MD5 e03e0f05ed37efe7910e71d397c270b1
BLAKE2b-256 1d018a9337b7bd0a0e22d321ca8a4f6b13cf639465f7b5ca045ede5a9c2de330

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page