{
  "ok": true,
  "author": "Aziel Eliab",
  "product": "spectrallock",
  "version": "0.3.1",
  "runtime": true,
  "kv_increment": false,
  "rosetta_spectral_analysis": true,
  "corpus_ocr_aligned": true,
  "lenses": [
    "zero",
    "tazel",
    "vyrn",
    "uv",
    "rosetta",
    "zen",
    "chaos",
    "balance",
    "candle",
    "indent",
    "lemon"
  ],
  "live_modes": [
    "zero",
    "tazel",
    "vyrn",
    "uv",
    "rosetta",
    "zen",
    "chaos",
    "balance",
    "candle",
    "indent",
    "lemon",
    "pigment"
  ],
  "targets": [
    "ink",
    "page"
  ],
  "inject": [
    true,
    false
  ],
  "unredact": {
    "family": [
      "unredact",
      "lift",
      "redact-locate"
    ],
    "ops": [
      "locate",
      "lift",
      "recover",
      "refuse"
    ],
    "refuse_code": "SL-UNREDACT-OPAQUE",
    "leftover_bytes_recovery": true,
    "deep_history": true,
    "revision_graph": true,
    "revision_copies": true,
    "capabilities": [
      "historical_page_dereference",
      "revision_stream_compare",
      "operator_text_recovery",
      "font_encoding_resolve",
      "drawing_order_overlay",
      "redaction_classification",
      "orphan_object_scan",
      "xref_objstm",
      "after_eof_scan",
      "image_layer_recovery",
      "twin_page_compare",
      "producer_artifact_search",
      "ocr_after_structural",
      "character_provenance"
    ],
    "ocr_after_structural_only": true,
    "covered_letters_from_context": false,
    "pigment_recovery": false,
    "guessed_letters": false,
    "heatmap_is_transcript": false,
    "esda": false,
    "forensic_certification": false,
    "inject_default": false,
    "note": "Unredact / lift-overlay is locate + leftover-bytes + residual only. Locate reports text still in the file, metadata, attachments, twin-page residual, leftover container bytes, and historical page revisions (stale /Page, prior streams, xref/ObjStm, after-EOF, incremental startxref/Prev revision graph + per-revision tip-cut copies). Never invent letters. Opaque replace (clipped solid black / true rewrite) with no leftover bytes refuses (SL-UNREDACT-OPAQUE). That is the only honest switch for visual unredact. Non-opaque cover may use contrast / residual with inject OFF. No guessed letters. Heatmaps are residual overlays. A flattened screenshot of a box is replace. Leftover-bytes recovery reads prior objects / unused streams / attachments / incremental revisions / stale page graphs still in the container. If the container was rewritten and old bytes are gone, leftover_bytes is false. OCR runs only after structural recovery and never reconstructs covered letters from context. Lamb Lens: Service → Clarity → Peace. Author Aziel Eliab. NO-LIE.",
    "author": "Aziel Eliab",
    "status": "live"
  },
  "recover": {
    "family": "recover",
    "ops": [
      "locate",
      "deep-recover",
      "revision-graph",
      "cross-compare",
      "extract-embedded",
      "scan-orphans",
      "scan-metadata",
      "scan-sidecars",
      "scan-history",
      "refuse"
    ],
    "refuse_codes": [
      "SL-RECOVER-NO-BYTES",
      "SL-RECOVER-SANITIZED",
      "SL-RECOVER-OPAQUE",
      "SL-RECOVER-UNSUPPORTED",
      "SL-RECOVER-CORRUPT",
      "SL-RECOVER-ENCRYPTED",
      "SL-RECOVER-LIMIT",
      "SL-UNREDACT-OPAQUE"
    ],
    "live_kinds": [
      "pdf",
      "json",
      "xml",
      "html",
      "svg",
      "txt",
      "eml",
      "zip",
      "png",
      "jpeg"
    ],
    "slot_kinds": [
      "7z",
      "heic",
      "heif"
    ],
    "no_lie": true,
    "guessed_letters": false,
    "context_reconstruction": false,
    "catalog_door": false,
    "worker_path": "/v1/recover",
    "note": "Universal artifact recovery. Present bytes and documented structure only. Never infer covered letters from context. SLOT parsers stay SLOT; LIVE parsers stay LIVE. Secrets: secret_material_present + path/offset; values suppressed. Lamb Lens: Service → Clarity → Peace. Author Aziel Eliab. NO-LIE.",
    "author": "Aziel Eliab",
    "status": "live"
  },
  "handwriting": {
    "family": "handwriting",
    "aliases": [
      "handwriting",
      "handwrite",
      "ink-hand",
      "forgery-scan"
    ],
    "ops": [
      "analyze",
      "compare",
      "side-by-side",
      "graph",
      "forgery-indicators",
      "refuse"
    ],
    "refuse_codes": [
      "SL-HANDWRITING-NO-INK",
      "SL-HANDWRITING-UNSUPPORTED",
      "SL-HANDWRITING-LIMIT"
    ],
    "feature_matrix": {
      "stroke_weight": {
        "status": "live",
        "note": "width from ink mask + 4-dir radius (hosted); chamfer in package"
      },
      "speed_cues": {
        "status": "live",
        "note": "taper / tremor / ballistic vs controlled — heuristic only"
      },
      "ink_density": {
        "status": "live",
        "note": "darkness of ink-mask pixels"
      },
      "bleed_feathering": {
        "status": "live",
        "note": "edge gradient width / capillary-spread proxy"
      },
      "handwriting_shifts": {
        "status": "live",
        "note": "baseline drift, slant, size change"
      },
      "erasures": {
        "status": "live",
        "note": "abrasion brightening + mid-gray ghosts"
      },
      "tracing": {
        "status": "live",
        "note": "width uniformity, lift clustering"
      },
      "tremor_copy": {
        "status": "live",
        "note": "high-frequency wobble + slow uniform width"
      },
      "pen_lifts": {
        "status": "live",
        "note": "connected-component breaks"
      },
      "retouch_overwrite": {
        "status": "live",
        "note": "dark-on-dark cores"
      },
      "dual_ink": {
        "status": "live",
        "note": "hue clusters in stroke pixels"
      },
      "baseline_misalign": {
        "status": "live",
        "note": "row centroid drift"
      },
      "indent_helper": {
        "status": "live",
        "note": "indent mode inject-OFF; not ESDA"
      },
      "clone_stamp": {
        "status": "live",
        "note": "repeated 8×8 luminance hashes far apart"
      },
      "compression_paste": {
        "status": "live",
        "note": "8×8 block energy discontinuities"
      },
      "ductus": {
        "status": "live",
        "note": "gradient-direction consistency"
      },
      "style_shift": {
        "status": "live",
        "note": "component aspect-ratio regime change — heuristic flag only"
      },
      "jpeg_decode": {
        "status": "slot",
        "note": "hosted preview is PNG only; local package accepts JPEG"
      },
      "pressure_newtons": {
        "status": "slot",
        "note": "no force sensor; width/darkness is a proxy only"
      },
      "speed_mm_s": {
        "status": "slot",
        "note": "no temporal capture; taper/tremor are shape cues"
      },
      "writer_identity": {
        "status": "slot",
        "note": "never claimed as identity fact"
      },
      "esda": {
        "status": "slot",
        "note": "not electrostatic detection"
      },
      "chemical_ink_dating": {
        "status": "slot",
        "note": "not a lab assay"
      },
      "court_examiner_opinion": {
        "status": "slot",
        "note": "not a qualified examiner finding"
      }
    },
    "live_signals": [
      "baseline_misalign",
      "bleed_feathering",
      "clone_stamp",
      "compression_paste",
      "dual_ink",
      "ductus",
      "erasures",
      "handwriting_shifts",
      "indent_helper",
      "ink_density",
      "pen_lifts",
      "retouch_overwrite",
      "speed_cues",
      "stroke_weight",
      "style_shift",
      "tracing",
      "tremor_copy"
    ],
    "slot_signals": [
      "chemical_ink_dating",
      "court_examiner_opinion",
      "esda",
      "jpeg_decode",
      "pressure_newtons",
      "speed_mm_s",
      "writer_identity"
    ],
    "no_lie": true,
    "guessed_letters": false,
    "forensic_certification": false,
    "esda": false,
    "chemical_ink_dating": false,
    "writer_identification_as_fact": false,
    "heatmap_is_transcript": false,
    "heatmap_is_court_finding": false,
    "catalog_door": false,
    "worker_path": "/v1/handwriting",
    "hosted_preview": true,
    "max_side": 256,
    "jpeg": false,
    "note": "Handwriting analysis is synthetic image analysis of a user-supplied scan or photo of paper. Stroke weight, speed cues, bleed, erasures, tracing, and forgery indicators are heuristics from present pixels. They are candidates — human verification required. Heatmaps are residual overlays. Hosted /v1/handwriting is a 256 px PNG preview; the full pipeline is the Python package. An empty gate is a valid reading. Balance/lemon never invent marks. Lamb Lens: Service → Clarity → Peace. Author Aziel Eliab. NO-LIE.",
    "author": "Aziel Eliab",
    "status": "live"
  },
  "pigment": {
    "family": [
      "pigment",
      "restore-pigment"
    ],
    "ops": [
      "restore",
      "estimate",
      "refuse"
    ],
    "status": "live",
    "refuse_code": "SL-PIGMENT-GONE",
    "invented_marks": false,
    "note": "Restore lost pigment estimates faded signal where pixels still differ from the page in a supported cluster. Visible dark ink is reported separately and is left as already-present pigment. When the faded signal is gone the op refuses SL-PIGMENT-GONE and writes no new marks. Invented marks stay false. pigment_recovery is true on this path because the path ran. Overlay, inject, and unredact receipts keep pigment_recovery false. Lamb Lens: Service → Clarity → Peace. Author Aziel Eliab. NO-LIE.",
    "author": "Aziel Eliab",
    "mode": {
      "id": "pigment",
      "paper": "PIGMENT",
      "status": "live",
      "aliases": [
        "restore-pigment",
        "lost-pigment",
        "restore-lost-pigment"
      ],
      "summary": "Restore lost pigment from supported pixel evidence. Refuses SL-PIGMENT-GONE when the signal is gone.",
      "family": [
        "pigment",
        "restore-pigment"
      ],
      "ops": [
        "restore",
        "estimate",
        "refuse"
      ],
      "refuse_code": "SL-PIGMENT-GONE"
    }
  },
  "synthetic_uv": true,
  "limitation": "Rosetta spectral analysis (RSA-2.0 family). SpectralLock lenses match Aziel Corpus Library OCR — overlays plus ink/page targets (zero, tazel, vyrn, uv, rosetta, zen, chaos, balance, candle, indent, lemon). Synthetic UV is a 365–400 nm look from an ordinary photograph. Candlelight is a warm flame-side look from an ordinary photo. Indent is an image-enhancement heuristic for surface relief. Lemon enhances heat-/acid-style browning already in the pixels; it never invents marks. Balance never invents marks. Inject ON is false-color membership tint (paint) from the Spectral Harmonic Wheel. OFF is luminance of the same gate. Zero ignores the switch. In-band spectral math keeps Tazel #1EC9A5, Vyrn #C00066, Zero #6F6485. Restore lost pigment estimates faded signal still in the pixels and refuses SL-PIGMENT-GONE when that evidence is gone. An empty gate is a valid reading. Copy-of-copy works only if the hue is still in-band. Unredact / lift-overlay locates leftover bytes, historical page revisions, and residual only — never invents letters. Opaque replace with no leftover container bytes refuses (SL-UNREDACT-OPAQUE). Heatmaps are residual overlays. OCR only after structural recovery; never reconstructs covered letters from context. Handwriting analysis is synthetic scan heuristics of ink-on-paper photos. Lamb Lens: Service → Clarity → Peace. Hosted overlay is a simplified preview (max 256 px); the full pipeline is the Python package. The human still reads the page. Author Aziel Eliab.",
  "mesh": {
    "pointer": true,
    "path": "/v1/mesh",
    "enabled_default": false,
    "spec": "QNM-BUILD-1.0",
    "kernel": "NM-0.1",
    "rollup": "live|locked|isolated",
    "node_gate": false,
    "auto_heal": false,
    "anonymity_network": false,
    "author": "Aziel Eliab",
    "identity": "Aziel Eliab",
    "catalog_mcp": "https://aziel-runtime.vibelock.workers.dev/mcp",
    "fraggate_slug": "mesh",
    "origin": "https://aziel-runtime.vibelock.workers.dev/v1/mesh",
    "note": "PROXY to aziel-runtime /v1/mesh/* via AZIEL_RUNTIME. SpectralLock remains Rosetta spectral analysis (RSA-2.0 family). Full node process is local qnm-node/. QNS-CD-1.0 is a hub cite / Worker mesh cross-map only (photon QNS1 packet transfer). No public qnsd proxy. QNM-BUILD-1.0. QNS-CD-1.0 photon QNS1 packet transfer (hub cite / Worker mesh cross-map only). Suite mesh default off. Live|locked|isolated counts only. No Node Gate. No auto-heal. No public qnsd proxy. Author: Aziel Eliab only.",
    "anon_broadcast": "https://github.com/AzielEliab/anon-broadcast",
    "anon_broadcast_publish_path": false,
    "qns_cd_spec": "QNS-CD-1.0",
    "qns_cd": {
      "spec": "QNS-CD-1.0",
      "name": "photon QNS1 packet transfer",
      "kind": "cross-map",
      "local_daemon": "qnsd",
      "local_repo": "https://github.com/AzielEliab/qnm-node",
      "runtime_repo": "https://github.com/AzielEliab/aziel-runtime",
      "designs": "https://github.com/AzielEliab/aziel-runtime/tree/main/docs/designs",
      "node_mesh": "https://github.com/AzielEliab/aziel-runtime/blob/main/docs/NODE_MESH.md",
      "skill": "https://github.com/AzielEliab/aziel-runtime/blob/main/SKILL.md",
      "pair_custody": "https://github.com/AzielEliab/azinterface",
      "softwares_tab": false,
      "public_proxy": false,
      "node_gate": false,
      "default_off": true,
      "author": "Aziel Eliab",
      "identity": "Aziel Eliab",
      "note": "Hub cite / Worker mesh cross-map only. Local qnsd is coded in qnm-node. Runtime cites + catalog field live in aziel-runtime. AZInterface holds pair custody. No public qnsd proxy. No Node Gate. Author: Aziel Eliab only."
    }
  }
}