87 lines
2.5 KiB
Markdown
87 lines
2.5 KiB
Markdown
# 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
|
|
|
|
```mermaid
|
|
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**:
|
|
```python
|
|
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**:
|
|
```python
|
|
from fusionagi.governance import Guardrails
|
|
|
|
guardrails = Guardrails()
|
|
guardrails.add_check(maa_gate.check)
|
|
```
|
|
|
|
4. **Pass Guardrails to Executor**:
|
|
```python
|
|
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:
|
|
```python
|
|
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):
|
|
```python
|
|
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).
|