Files
FusionAGI/docs/maa_activation.md
defiQUG c052b07662
Some checks failed
Tests / test (3.10) (push) Has been cancelled
Tests / test (3.11) (push) Has been cancelled
Tests / test (3.12) (push) Has been cancelled
Tests / lint (push) Has been cancelled
Tests / docker (push) Has been cancelled
Initial commit: add .gitignore and README
2026-02-09 21:51:42 -08:00

2.5 KiB

MAA (Manufacturing Authority Add-On) Activation

Overview

MAA is a sovereign validation layer. No physical-world manufacturing execution is permitted without MAA approval and a valid Manufacturing Proof Certificate (MPC).

Activation Flow

flowchart LR
    subgraph setup [Setup]
        MPC[MPCAuthority]
        Gate[MAAGate]
        G[Guardrails]
        E[ExecutorAgent]
    end

    subgraph runtime [Runtime]
        Issue[Issue MPC]
        Verify[Gate.verify]
        Tool[Manufacturing Tool]
    end

    MPC --> Gate
    Gate --> G
    G --> E
    Issue --> Verify
    Verify --> Tool

Flow: Create MPCAuthority and MAAGate → register Gate with Guardrails → pass Guardrails to Executor. At runtime: issue MPC → Gate verifies before tool execution.

Activation Steps

  1. MAA is built-in. No extra install is required; use the fusionagi.maa package directly.

  2. Create MPC Authority and MAA Gate:

    from fusionagi.maa import MAAGate
    from fusionagi.maa.layers import MPCAuthority
    
    mpc_authority = MPCAuthority()
    maa_gate = MAAGate(mpc_authority=mpc_authority)
    
  3. Register MAA Gate with Guardrails:

    from fusionagi.governance import Guardrails
    
    guardrails = Guardrails()
    guardrails.add_check(maa_gate.check)
    
  4. Pass Guardrails to Executor:

    from fusionagi.agents import ExecutorAgent
    from fusionagi.tools import ToolRegistry
    
    registry = ToolRegistry()
    executor = ExecutorAgent(registry=registry, state_manager=state, guardrails=guardrails)
    
  5. Issue an MPC before calling manufacturing tools:

    cert = mpc_authority.issue("design-001", decision_lineage=[...])
    # Tool args must include mpc_id=cert.mpc_id.value (or mpc_id_value)
    
  6. Register manufacturing tools (e.g. from MAA):

    from fusionagi.maa.tools import cnc_emit_tool, am_slice_tool
    registry.register(cnc_emit_tool())
    registry.register(am_slice_tool())
    

MPC Lifecycle

  • Issue: MPCAuthority.issue(mpc_id_value, ...) creates an immutable, versioned certificate.
  • Verify: The Gate calls mpc_authority.verify(mpc_id) before allowing manufacturing tools.
  • Versioning: Changes require re-certification; historical MPCs are read-only.

Deployment

  • MAA runs in-process; no cloud dependency.
  • All state (DLTs, MPCs, machine profiles) can be file-backed or DB-backed for on-prem/air-gapped use.
  • GPU is optional (for future simulation/geometry backends).