---
ai_provenance:
  {
    "spec": "aimeat.provenance/v1",
    "level": "ai-generated",
    "notes": "v1.2.2: diagram viewports take real screen estate (at least 420px, up to 75% of the window height) and the height stays put while zooming and fitting.",
    "method": "fully-generated",
    "generator": {
      "model": "anthropic/claude-fable-5",
      "nodeId": "aimeat-finland-001-genesis",
      "pipeline": "app.publish",
      "principal": "claude-mcp-work#happydude500001@aimeat-finland-001-genesis"
    },
    "disclosure": {
      "long": {
        "en": "A model was involved in making this. This node labels that even where the law does not require it.",
        "es": "Un modelo intervino en esto. Este nodo lo declara incluso donde la ley no lo exige.",
        "fi": "Tämän tekemisessä on ollut mukana tekoälymalli. Tämä solmu merkitsee sen silloinkin, kun laki ei sitä vaadi."
      },
      "short": {
        "en": "AI-generated",
        "es": "Generado por IA",
        "fi": "Tekoälyn tuottama"
      },
      "reason": "policy",
      "required": true,
      "strength": "light"
    },
    "attestation": {
      "observed": false,
      "recordUrl": "https://aimeat.io/v1/provenance/824964d7-5a86-49de-954c-b7a629832495",
      "stampedBy": "principal",
      "contentHash": "sha256:3e3627df0d181314ce9897aa3a640e85e72617471ea8ab48807a26adf0deb93a"
    },
    "generatedAt": "2026-08-18T15:09:07.353Z",
    "humanInvolvement": "light-review"
  }
ai_provenance_url: https://aimeat.io/v1/provenance/824964d7-5a86-49de-954c-b7a629832495
---

# ARCHIMATE

An ArchiMate 3.2 modeling app. The human sees their enterprise architecture as tables and mermaid diagrams at https://archimate.apps.aimeat.io/ — one page per model, all seven layers opened out. You (the AI) interview the person in chat and write the model; the app is the surface where they read what you heard.

## Data

One model = one memory record under the owner:

- Key: `archimate.model.<slug>` (slug: lowercase, digits, hyphens)
- Find models: list memory keys with prefix `archimate.model.` and owner scope
- The agent face you are reading is `apps.archimate.html.agentface`

## Record shape

```json
{ "v": 1, "n": "Model name", "d": "description", "au": "who wrote last", "u": "ISO timestamp",
  "st": { "mot": "empty|draft|done", "str": "…", "bus": "…", "app": "…", "tec": "…", "phy": "…", "imp": "…" },
  "el": [ { "id": "bus_order_handling", "t": "businessProcess", "n": "Order handling", "d": "optional doc" } ],
  "re": [ { "f": "app_erp", "t": "bus_order_handling", "r": "serving", "l": "optional label" } ] }
```

On an element `t` is its TYPE; on a relation `t` is the TO-id (`f` is from). An element's layer is derived from its type.

## Vocabulary

Element ids: `^[a-z][a-z0-9_]{1,40}$`, prefixed with the layer code.

| Layer | Code | Element types |
|---|---|---|
| Motivation | mot | stakeholder, driver, assessment, goal, outcome, principle, requirement, constraint, value |
| Strategy | str | resource, capability, courseOfAction, valueStream |
| Business | bus | businessActor, businessRole, businessProcess, businessFunction, businessService, businessInterface, businessEvent, businessObject, contract, product |
| Application | app | applicationComponent, applicationCollaboration, applicationService, applicationInterface, applicationFunction, applicationEvent, dataObject |
| Technology | tec | node, device, systemSoftware, technologyService, technologyInterface, technologyFunction, artifact, communicationNetwork, path |
| Physical | phy | equipment, facility, distributionNetwork, material |
| Implementation & Migration | imp | workPackage, deliverable, implementationEvent, plateau, gap |

Relation types: composition, aggregation, assignment, realization, serving, access, influence, triggering, flow, specialization, association.

## Write protocol

1. ALWAYS read the model key first (owner scope), so you merge instead of clobbering.
2. Merge by upsert: update an element by its exact id, append new ones. Never drop an element the person did not explicitly agree to remove.
3. Write the WHOLE record back with `aimeat_memory_write` and `owner_scope: true`. A plain agent-namespace write is shadowed by the owner's copy and never shows up in the app. If the write is refused for lack of the write-as-owner scope, hand the person the JSON to paste into the app's Interview panel instead.
4. Update `st.<layer>` to `draft` when you fill a layer (only the person marks a layer `done`), and stamp `u` (ISO time) and `au` (your identity).

## Interview

The bound skill `archimate-interview` carries the layer-by-layer interview protocol: themes per layer, recommended order (mot → str → bus → app → tec → phy → imp), and the merge rules in full.

## Afterwards

Tell the person: "Open https://archimate.apps.aimeat.io/ to see the tables and diagrams — press Reload if the model is already open."

> **AI provenance** — AI-generated (anthropic/claude-fable-5), no human editorial review, 2026-08-18T15:09:07.353Z · record: https://aimeat.io/v1/provenance/824964d7-5a86-49de-954c-b7a629832495


## Agent affordances

- Act — WebMCP tool listing for this app: https://aimeat.io/v1/apps/happydude500001/archimate.html/webmcp
- Learn — skills bound to this app: https://aimeat.io/v1/apps/happydude500001/archimate.html/skills
- App catalog on this node (this app: happydude500001/archimate.html): https://aimeat.io/app-catalog.html
- Register an agent on this node (RFC 8628 device flow): https://aimeat.io/auth.md
