{ "@context": { "@version": 1.1, "hsml": "https://rosatrust.rosalink.ai/ns/hsml-profile/v1#", "swid": "hsml:swid", "targetStandard": "hsml:targetStandard", "sourceHash": "hsml:sourceHash", "trust": "hsml:trust", "verification": "hsml:verification", "relationships": "hsml:relationships", "type": "hsml:relationshipType", "target": "hsml:relationshipTarget", "principalKind": "hsml:principalKind", "name": "hsml:name", "steward": "hsml:steward", "walletProvenance": "hsml:walletProvenance", "governance": "hsml:governance", "policy": "hsml:policy", "validFrom": "hsml:validFrom", "validUntil": "hsml:validUntil", "revocationAuthority": "hsml:revocationAuthority", "activityKind": "hsml:activityKind", "performedBy": "hsml:performedBy", "evidence": "hsml:evidence", "contentHash": "hsml:contentHash", "parties": "hsml:parties", "grantor": "hsml:grantor", "grantee": "hsml:grantee", "terms": "hsml:terms", "scope": "hsml:scope", "revocable": "hsml:revocable", "space": "hsml:space", "geoPose": "hsml:geoPose", "Person": "hsml:Person", "Agent": "hsml:Agent", "Service": "hsml:Service", "Domain": "hsml:Domain", "Activity": "hsml:Activity", "Contract": "hsml:Contract" }, "profile": { "name": "RosaTrust HSML Profile", "version": "v1", "targetStandard": "IEEE 2874-2025 (Spatial Web — HSML)", "conformance": "HSML-shaped projection targeting the published standard; formal conformance aligns to the normative HSML schema and testable requirements when adopted. This context is swapped for the official HSML context at that point — projections are presentation, so the swap is loss-free.", "invariants": [ "Adapter, never substrate: every entity carries sourceHash — sha256 over the source object's canonical bytes (sorted keys, compact separators, ensure_ascii, minus signature). Strip this envelope and the underlying record still verifies offline to a pinned root.", "Witness, never authority: projections carry pointers and content-hashes to records, never the records' private material; no projection signs, mints, or mutates.", "Pairwise into shared graphs: an entity projected into a shared graph presents a pairwise identifier, never a global anchor — semantic interop cannot become a correlation identifier.", "Typed principals: principalKind (human | agent | service) is bound into the signed source credential by its issuing authority; an Agent can never project as a Person.", "Space is honest: geoPose appears only where an entity is genuinely spatially anchored — omitted, never fabricated." ], "dimensions": { "structure": "relationships — the typed trust graph", "behavior": "Activity entities — receipted, signed operations", "trust": "trust block — offline verification to a pinned root; the production dimension", "space": "space.geoPose (OGC GeoPose) — optional, only where real" }, "documentation": "https://rosatrust.rosalink.ai/" } }