Current mechanical contract: exact, case-sensitive FORBID_LITERAL rules with optional path applicability.
Capability map · current release

Governance policies, with the boundary made clear.

Mneme's Decision Index can represent a broad set of organizational decisions. Its deterministic rule engine is intentionally narrower today. This page separates what is mechanically enforceable now from policies that require richer rule types.

One system, two scopes. The Decision Index represents, retrieves, traces, and governs authority around decisions. Mechanical enforcement applies only when a decision is expressed as a supported typed rule at a supported workflow boundary. Representation does not imply automatic detection.
Enforced today1

Direct literal prohibition

A known package, import, API, or token can be rejected deterministically wherever the rule applies.

Explicit modelling4

Enforceable when named

A specific forbidden literal and, when needed, path scope must be authored. Mneme does not infer the broader meaning.

Roadmap rule type7

Represented, not yet proven

The decision belongs in the index today, but reliable detection needs structural, identity, metadata, or required-presence semantics.

How to read the cards. Each badge describes the example's present enforcement status. “Explicit modelling” means Mneme can enforce a deliberately named literal; it does not mean Mneme understands the policy semantically.

Category 01

Architecture governance

Layer boundaries, forbidden patterns, deprecated architectures. The decisions that define how the system is shaped — not what it does, but how its parts are allowed to relate.

01

Forbidden architecture patterns

Requires explicit modelling

Rule. Do not access BigQuery directly from frontend routes.

What Mneme can verify today. Forbid an explicit literal such as @google-cloud/bigquery or new BigQuery within frontend paths. Mneme does not infer “direct database access” as a semantic concept.

// AI generates inside a Next.js API route
const client = new BigQuery();
forbidden dependency ADR violation architectural boundary breach

Compliant pattern. The frontend route calls a backend service over HTTP; only the backend holds the BigQuery client.

// compliant - the route fetches from a backend endpoint, no DB client in the frontend
export async function GET() {
  const res = await fetch(`${process.env.API_URL}/reports/summary`);
  return Response.json(await res.json());
}
02

Layer boundary violations

Roadmap rule type

Rule. Controllers must not contain business logic.

Current boundary. The Decision Index can preserve and retrieve this policy, but the rule engine cannot reliably determine what constitutes business logic or follow data flow between layers.

@app.post("/checkout")
def checkout():
    # pricing logic
    # tax logic
    # inventory logic
logic in presentation layer missing service abstraction

Desired pattern. The controller stays thin and delegates pricing, tax, and inventory to a service.

# compliant - business logic lives in the service layer
@app.post("/checkout")
def checkout(cart: Cart):
    return checkout_service.place_order(cart)
03

Unauthorized framework introduction

Enforced today

Rule. React app standardized on Zustand. No Redux.

What Mneme can verify today. A FORBID_LITERAL rule can reject the exact redux import or package token, optionally limited to the relevant application paths.

import { createStore } from "redux";
non-approved state management stack divergence

Compliant pattern. State management uses the approved library, Zustand.

// compliant - uses the standardized Zustand store
import { create } from "zustand";
const useStore = create((set) => ({ count: 0 }));
Category 02

Workflow governance

Protected directories, ownership boundaries, migration restrictions, prompt-level policies. The decisions that govern who — or which agent — is allowed to touch what.

04

Monorepo scope violations

Roadmap rule type

Rule. Billing agent cannot modify the auth package.

Current boundary. Path applicability controls where a rule is evaluated. It is not an agent-identity or ownership ACL that authorizes one agent and denies another.

# AI agent edits
packages/auth/*
scoped ownership breach out-of-domain modification

Desired pattern. The billing agent edits only its own package and consumes auth through its published interface.

# compliant - edits stay inside the owned package
packages/billing/*
# auth is imported, never modified
import { verifyToken } from "@org/auth";
10

Agent workflow violations

Roadmap rule type

Rule. Codegen agents cannot write directly to production migration folders.

Current boundary. Mneme does not yet enforce general agent-by-path mutation permissions. This requires identity-aware authorization semantics beyond path-scoped literal matching.

# Agent modifies
db/prod/migrations/*
restricted execution scope protected path mutation

Desired pattern. The agent writes proposed migrations to a staging directory; promotion to the production path is a human-gated step.

# compliant - agent writes to the reviewable staging path only
db/staging/migrations/*
# a maintainer promotes to db/prod/migrations/ after review
11

Prompt-level governance

Requires explicit modelling

Rule. Do not generate mock auth implementations.

What Mneme can verify today. Explicit phrases such as fake JWT can be forbidden at a supported prompt boundary. Mneme cannot recognize every possible mock authentication implementation by meaning alone.

# User prompt
"Just create a quick fake JWT validator."
policy conflict before generation governance-before-generation

Compliant pattern. The agent declines the mock and wires in the vetted auth library to verify real tokens.

# compliant - real verification, no fake validator
from app.auth import verify_jwt

def authenticate(token: str) -> User:
    return verify_jwt(token)  # signature + expiry checked
Category 03

Security governance

Unsafe query construction, credential handling, insecure auth patterns. The decisions where a violation is not just architectural debt but a vulnerability the team has already chosen not to ship.

05

Security policy violations

Roadmap rule type

Rule. No raw SQL string concatenation.

Current boundary. Reliable detection requires syntax or data-flow analysis to distinguish unsafe construction from legitimate SQL. Exact literal matching is not equivalent to this security rule.

query = f"SELECT * FROM users WHERE id = {user_id}"
unsafe query construction secure coding rule breach

Desired pattern. The user input is bound as a parameter, never interpolated into the SQL string.

# compliant - parameterized query, no string interpolation
cursor.execute(
    "SELECT * FROM users WHERE id = %s",
    (user_id,),
)
Category 04

Dependency governance

Banned libraries, licensing constraints, version pins, and the supersession history of decisions the team has already revisited. Dependencies are decisions; Mneme treats them as such.

08

Dependency licensing

Roadmap rule type

Rule. No GPL dependencies.

Current boundary. Mneme does not resolve package-to-license metadata today. Teams can forbid specifically named packages, but cannot enforce the GPL license class generically.

// AI adds to package.json
"some-gpl-library": "^2.1.0"
licensing policy violation approved-list deviation

Desired pattern. The dependency is swapped for an approved permissively-licensed (MIT or Apache-2.0) equivalent.

// compliant - MIT-licensed library from the approved list
"some-mit-library": "^3.0.0"
09

ADR supersession violations

Requires explicit modelling

Rule. ADR-002: all async jobs use Pub/Sub. (Supersedes an older ADR that allowed Celery.)

What Mneme can verify today. Decision precedence and supersession select the active ADR. Preventing Celery still requires an explicit FORBID_LITERAL rule for its package or import.

from celery import Celery
superseded decision outdated architecture pattern precedence-aware enforcement

Compliant pattern. Async work is dispatched through Pub/Sub, the decision that supersedes Celery.

# compliant - ADR-002: publish to Pub/Sub instead of Celery
from google.cloud import pubsub_v1

publisher = pubsub_v1.PublisherClient()
publisher.publish(topic_path, payload)
Category 05

Platform governance

Observability requirements, infra standards, deployment policies, API contracts. The decisions platform teams ship to keep services consistent across the org.

06

Infra governance violations

Requires explicit modelling

Rule. All infrastructure changes must use Terraform modules.

What Mneme can verify today. Known imperative commands such as gcloud compute instances create can be forbidden, optionally within relevant paths. Mneme cannot prove that every infrastructure change uses Terraform.

gcloud compute instances create ...
bypassing approved infra workflow untracked change surface

Compliant pattern. The instance is declared in a Terraform module and applied through the reviewed pipeline, not an imperative CLI call.

# compliant - declarative Terraform, applied via CI
module "api_instance" {
  source        = "./modules/compute"
  machine_type  = "e2-standard-2"
}
07

API contract violations

Roadmap rule type

Rule. Internal APIs must version under /v1/.

Current boundary. This is a positive requirement: proving the required prefix is present. Today's prohibition-focused rule does not provide general absence detection.

@app.route("/users")
routing convention breach API governance mismatch

Desired pattern. The route is namespaced under the required /v1/ version prefix.

# compliant - versioned under /v1/
@app.route("/v1/users")
12

Organizational consistency violations

Roadmap rule type

Rule. All services must emit OpenTelemetry traces.

Current boundary. This also requires proving that instrumentation is present. Mneme can preserve and retrieve the decision today, but cannot mechanically establish that every service emits traces.

# AI creates a new service with no tracing middleware
def create_app():
    app = FastAPI()
    return app
observability standard breach platform compliance failure

Desired pattern. The service is instrumented with OpenTelemetry before it is returned.

# compliant - emits OpenTelemetry traces
def create_app():
    app = FastAPI()
    FastAPIInstrumentor.instrument_app(app)
    return app

The distinction is architectural, not a disclaimer. Mneme can represent more governance knowledge than its current typed-rule vocabulary can mechanically prove. That separation lets teams preserve authority and provenance now, then add richer enforcement without changing the decision source of truth.

Today: use exact, case-sensitive FORBID_LITERAL rules and optional include_paths/exclude_paths applicability for deterministic checks. Treat structural analysis, agent identity ACLs, license metadata, and required-presence rules as roadmap capabilities.