AsplenzAsplenz

Getting Started

What is Asplenz Knowledge?

Asplenz Knowledge is a structured decision governance system. It provides a central registry where engineering organizations declare their decisions, constraints, and operational rules — then enforces them across human and AI-driven workflows.

Knowledge answers three questions for every action taken in your codebase:

  • What was decided? (Decisions)
  • What must never happen? (Invariants)
  • What should be done now? (Rules)

The Problem

Engineering teams accumulate decisions across Slack threads, meeting notes, RFCs, and tribal knowledge. When AI agents generate code or humans review PRs, there is no reliable way to verify whether the proposed changes comply with existing constraints.

Knowledge makes these decisions machine-readable and enforceable.

Core Concepts

ConceptPurpose
DecisionA recorded fact — what was chosen and why
InvariantAn absolute constraint that must never be violated
RuleAn active directive that should be followed (mandatory or advisory)
OverrideA governed exception to an invariant or rule

Decisions are historical and immutable. Invariants and rules are active constraints. Overrides allow controlled exceptions with justification and audit trail.

Quick Start

1. Create a scope

A scope is an isolation boundary for your decisions and constraints. Typical scopes: "Engineering", "Security", "Operations".

POST /api/v1/scopes
{
  "name": "Engineering",
  "description": "Software engineering decisions and constraints"
}

2. Declare an invariant

POST /api/v1/scopes/{scope_id}/invariants
{
  "constraint": "All API endpoints must require authentication",
  "rationale": "Security baseline — prevents accidental data exposure",
  "author": "security-team"
}

3. Evaluate an action

POST /api/v1/check
{
  "scope_id": "scp-...",
  "intended_action": "Add a public health endpoint without authentication"
}

Response:

{
  "allowed": false,
  "conflicts": [
    {
      "entry_type": "invariant",
      "statement": "All API endpoints must require authentication",
      "severity": "blocking",
      "requires_approval": true
    }
  ]
}

4. Interpret the result

  • allowed: true — proceed
  • allowed: false, requires_approval: true — request human approval before proceeding
  • allowed: false, requires_approval: false — change the approach

Example Workflow

1. AI agent receives a task: "Add a public health endpoint"
2. Agent calls Knowledge check() → conflict with auth invariant, requires_approval=true
3. Agent requests approval with justification
4. Human reviews in the UI → approves → override auto-created
5. Agent proceeds with the implementation
6. Agent opens a PR with an Implementation Report citing the invariant and override
7. CI runs the Verifier → PASS (override covers the violation)

This workflow applies equally to human developers and autonomous agents.