{
  "access_tiers": {
    "by-request": {
      "allows": [
        "private integrations",
        "source code",
        "extended capabilities"
      ],
      "auth": "review + acceptance of terms",
      "label": "Access on request",
      "level": 2
    },
    "owner-only": {
      "allows": [
        "home infrastructure",
        "cameras",
        "actions on the owner's behalf"
      ],
      "auth": "owner only",
      "label": "Owner infrastructure",
      "level": 3,
      "note": "Never published. Listed so that the tier vocabulary is complete."
    },
    "public": {
      "allows": [
        "capability descriptors",
        "documentation",
        "compatibility",
        "checks performed"
      ],
      "auth": "none",
      "label": "Open catalogue",
      "level": 1
    }
  },
  "agent": "Gella",
  "audit_trail": {
    "implemented": false,
    "note": "Planned. Nothing is claimed until it can be read."
  },
  "cache": "public, max-age=300",
  "catalogue": {
    "access_breakdown": {
      "by-request": 3,
      "public": 20
    },
    "mcp": {
      "count": 1,
      "index": "https://api.deus-tex.ru/mcp/index.json"
    },
    "risk_breakdown": {
      "high": 20,
      "medium": 3
    },
    "skills": {
      "count": 23,
      "index": "https://api.deus-tex.ru/skills/index.json"
    }
  },
  "contact_note": "Public contact runs through the site. No personal mailbox is published.",
  "content_model": {
    "note": "A record describes what a capability does, what it needs and what was checked. The operational procedure is NOT published. Do not infer an installer.",
    "procedure_included": false,
    "publishes": "capability descriptors"
  },
  "cors": "*",
  "counts_source": "generated by tools/build_index.py from skills/*.json and mcp/*.json; never hand-edited",
  "description": "AI-gents pipeline, infrastructure, harness, smart home. Built for AI agents first; humans get a description and the terms of participation.",
  "digest_contract": {
    "deprecated": [
      "audit_trail.sha256_16 - truncated, target object undefined, removed in 1.3.0"
    ],
    "file_sha256": {
      "algorithm": "sha256",
      "covers": "the exact bytes of the record file at its endpoint",
      "field": "sha256",
      "how": "sha256sum <record>.json"
    },
    "record_digest": {
      "algorithm": "sha256",
      "covers": "the record's logical content, excluding the 'integrity' field itself",
      "field": "integrity.digest",
      "how": "sha256(json.dumps({k:v for k,v in rec.items() if k!='integrity'}, ensure_ascii=False, sort_keys=True, separators=(',',':')).encode('utf-8'))",
      "why": "survives re-formatting and lets a client re-derive the value without the file"
    },
    "rule": "Check file_sha256 against the index. Use record_digest for content identity. They cover different objects by design. Neither proves authorship; provenance is the detached signature over the index."
  },
  "endpoints": {
    "api_index": "https://api.deus-tex.ru/v1/index.json",
    "audit_script": "https://api.deus-tex.ru/clients/audit.py",
    "changes": "https://api.deus-tex.ru/v1/changes.json",
    "for_agents": "https://api.deus-tex.ru/for-agents.md",
    "health": "https://api.deus-tex.ru/health",
    "hub": "https://api.deus-tex.ru/",
    "human": "https://deus-tex.ru/",
    "license": "https://api.deus-tex.ru/LICENSE.txt",
    "llms": "https://api.deus-tex.ru/llms.txt",
    "manifest": "https://api.deus-tex.ru/.well-known/deus-tex.json",
    "mcp_index": "https://api.deus-tex.ru/mcp/index.json",
    "packages": "https://api.deus-tex.ru/packages/index.json",
    "pubkey": "https://api.deus-tex.ru/v1/hub-pub.pem",
    "signature": "https://api.deus-tex.ru/v1/index.json.sig",
    "skills_index": "https://api.deus-tex.ru/skills/index.json"
  },
  "mcp_contract": {
    "field_meaning": {
      "access_tier": "who can see the record",
      "permissions": "declaration; class in permissions_meta.capability_class",
      "tools": "names and descriptions exposed by the server",
      "transport": "stdio command+args, or remote http/sse endpoint"
    },
    "note": "An MCP entry describes how to reach a server, never a secret to reach it with.",
    "required_fields": [
      "name",
      "version",
      "transport",
      "tools",
      "permissions",
      "compatibility",
      "access_tier",
      "review_status",
      "integrity"
    ]
  },
  "name": "Deus Tex Hub",
  "onboarding": {
    "entry": "https://deus-tex.ru/",
    "steps": [
      "fetch this manifest",
      "fetch llms.txt",
      "resolve skills and mcp indexes",
      "build a local list of what is available",
      "tell the user in their own language what can be installed",
      "ask before installing anything"
    ]
  },
  "operator": "Quant Studio / Laboratory Quant",
  "owner": "Voland / Quant Studio",
  "policy": {
    "license": "each published item carries its upstream license and attribution",
    "moderation": "pre-moderation, we may refuse without explanation",
    "payloads": "forbidden",
    "sla": "none",
    "warranty": "none"
  },
  "protocols": [
    "deus-tex/skills-index/v2",
    "deus-tex/mcp-index/v2",
    "deus-tex/api-index/v1",
    "deus-tex/packages/v1",
    "mcp/1.0"
  ],
  "release_notes": "1.3.0 - contract reconciliation. Counts are generated from the files (22 skills, 1 MCP). trust_level and sha256_16 removed. One documented digest contract with two clearly scoped digests. Permissions carry capability_class and risk_class. Licences are machine-readable. Records state content_kind=capability-descriptor and procedure_included=false instead of implying an installer. /mcps/ alias added for the endpoint already advertised in the MCP index. Publication gate in tools/verify_catalog.py wired into tools/hub_ci.sh.",
  "scenarios": {
    "connect_your_agent": "Fetch manifest, read skills_index and mcp_index, verify file sha256 and integrity.digest, apply your own policy, ask the human before anything with side effects.",
    "publish_a_skill": "Submit a descriptor with every required field. Pre-moderation applies. Payloads are forbidden. Nothing is published automatically.",
    "verify_safety": "Check the index sha256 (raw bytes) and integrity.digest (canonical record), then check the detached index signature. Those prove the bytes came from this hub. They do not prove the capability is safe: security_assessment is the only claim about safety, and most records say not-assessed."
  },
  "schema": "deus-tex/hub-manifest/v2",
  "skill_contract": {
    "enforcement": "Not published. The hub runs nothing and claims no enforcement. A caller's policy engine must apply its own limits; capability_class and risk_class exist for that.",
    "field_meaning": {
      "access_tier": "who can see the record: public | by-request | owner-only",
      "compatibility": "prose list plus compatibility.ranges for automatic gating",
      "integrity": "canonical record digest; see digest_contract",
      "manifest": "name, version, inputs, outputs",
      "permissions": "prose declaration of needed access; class in permissions_meta.capability_class",
      "permissions_meta": "capability_class and risk_class so a client can gate without parsing prose",
      "review_status": "moderation stage, not a safety verdict",
      "security_assessment": "what was checked and what was not",
      "test_suite": "declared checks; the hub does not execute them"
    },
    "grant_model": "Not published. Nothing here grants access to anything.",
    "install_model": "None. This is a catalogue of descriptors, not an installer: procedure_included is false on every record.",
    "required_fields": [
      "name",
      "title",
      "summary",
      "version",
      "manifest",
      "permissions",
      "compatibility",
      "test_suite",
      "execution_policy",
      "audit_trail",
      "access_tier",
      "review_status",
      "integrity",
      "security_assessment"
    ]
  },
  "status": "stable",
  "trust": {
    "algorithm": "Ed25519",
    "covers": [
      "v1/index.json",
      "v1/changes.json",
      "packages/index.json"
    ],
    "detached_signature": "https://api.deus-tex.ru/v1/index.json.sig",
    "limits": "A signature proves the hub published these bytes. It does not prove the capability is safe, and it does not audit third-party code.",
    "public_key": "https://api.deus-tex.ru/v1/hub-pub.pem",
    "signed": true,
    "verify": "base64 -d index.json.sig > s.bin && openssl pkeyutl -verify -pubin -inkey hub-pub.pem -rawin -in index.json -sigfile s.bin"
  },
  "updated": "2026-10-23",
  "version": "1.3.0"
}
