msr-2.1-draft.json only, not ratifiedFor over two decades, the shareware industry relied on the Association of Shareware Professionals (ASP) PAD XML format. PAD XML established vital patterns for software catalogs: rich multi-resolution icons, annotated screenshots, clear hardware requirements, and distribution channels. However, PAD XML suffered from fatal design vulnerabilities: lack of cryptographic signatures, no domain ownership authority, reliance on unstructured text fields, and an exclusively passive pull model that overloaded web networks with uncoordinated crawlers and exposed directories to Server-Side Request Forgery (SSRF).
MSR JSON 2.0 solved the security and governance architecture through Ed25519/ECDSA signatures,
canonical domain binding (/.well-known/msr.json), SemVer compliance, strict JSON Schema validation,
and interfaces for modern AI agents and MCP servers. Yet MSR JSON 2.0 omitted standard visual media declarations,
ecosystem package manager mappings (e.g. PyPI, Homebrew, Docker), structured execution requirements, and real-time
push notifications.
RFC 0008 introduces four high-impact extensions for the MSR JSON v2.1 specification, bridging visual catalog presentation, agent execution safety, and real-time indexing.
entity.media)
Catalogs, software directories (such as MySoftRank), and discovery agents require verified visual assets to
present software without relying on brittle HTML screen scraping. RFC 0008 adds an optional
entity.media object:
"media": {
"icon": {
"svg": "https://example.com/assets/icon.svg",
"png_32": "https://example.com/assets/icon-32.png",
"png_64": "https://example.com/assets/icon-64.png",
"png_128": "https://example.com/assets/icon-128.png",
"png_256": "https://example.com/assets/icon-256.png",
"png_512": "https://example.com/assets/icon-512.png"
},
"screenshots": [
{
"url": "https://example.com/assets/screen-main.webp",
"title": "Main Dashboard",
"width": 1920,
"height": 1080,
"lang": "en"
}
],
"video_demo_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}
| Field | Type | Description |
|---|---|---|
icon |
object | Standardized icon formats and pixel dimensions (svg, png_32 to
png_512). |
screenshots |
array | Array of screenshot objects with mandatory url, optional dimensions, title, and BCP 47
lang tag (RFC 0006). |
video_demo_url |
string (URI) | Authoritative HTTPS URL to a video walkthrough or demonstration. |
distribution)
Modern software is consumed through diverse package registries and application stores. Declaring these identifiers
enables directories and autonomous AI agents to generate installation instructions (e.g.
brew install, pip install, docker pull) automatically.
RFC 0008 introduces distribution as a root-level property:
"distribution": {
"package_managers": {
"pypi": "my-pkg",
"npm": "@org/my-pkg",
"crates": "my_crate",
"homebrew": "my-tool",
"flathub": "org.example.MyTool",
"docker": "org/my-tool"
},
"app_stores": {
"google_play": "com.example.app",
"apple_app_store": "id1234567890",
"microsoft_store": "9NBLGGH42THL"
}
}
capabilities.requirements)
To prevent autonomous agents or users from downloading and attempting to execute incompatible binaries or models,
RFC 0008 standardizes structured machine requirements inside capabilities.requirements:
"requirements": {
"architectures": ["x86_64", "arm64"],
"operating_systems": [
{ "os": "linux", "min_kernel": "5.15" },
{ "os": "darwin", "min_version": "13.0" },
{ "os": "windows", "min_version": "10.0.19041" }
],
"hardware": {
"min_ram_mb": 512,
"recommended_ram_mb": 2048,
"min_storage_mb": 100,
"gpu": {
"required": false,
"min_vram_mb": 4096
}
}
}
Recognized architectures include x86_64, arm64, aarch64,
riscv64, wasm32, and universal. Recognized operating systems include
linux, darwin, windows, freebsd, android, and
ios.
Rather than forcing registry crawlers to hammer hundreds of thousands of publisher domains daily, publishers can dispatch an authenticated Push-Ping webhook when publishing a release:
POST https://mysoftrank.com/api/v1/ping
Content-Type: application/json
{
"domain": "example.com"
}
https://<domain>/.well-known/msr.json according to RFC 0001.trust.signatures
block, the signature MUST be verified before promoting the new release into canonical public indexing.
The properties defined in this RFC reside exclusively in the experimental schemas/msr-2.1-draft.json
schema. Existing MSR JSON 2.0 manifests and production 2.0 validators are unaffected and will reject these
properties under additionalProperties: false until the 2.1 protocol is formally ratified.