{
  "ysdkVersion": "1.0.0-draft.2",
  "did": "did:key:zYSDK-ORG-PLACEHOLDER-REPLACE-AT-DEPLOY-WITH-REAL-DID",
  "identity": {
    "signature": {
      "algorithm": "ML-DSA-87",
      "multicodec": "0x1212",
      "hybridWith": null,
      "sunsetAfter": null
    },
    "keyAgreement": {
      "algorithm": "ML-KEM-1024",
      "multicodec": "0x120d",
      "hybridWith": "X448",
      "sunsetAfter": "2030-01-01"
    }
  },
  "app": {
    "name": "YSDK",
    "tagline": "Publish one manifest and your app joins the YOS ecosystem.",
    "domain": "ysdk.org",
    "webManifest": "/manifest.webmanifest",
    "repository": "https://github.com/c2c8/ysdk",
    "license": "MIT"
  },
  "brand": {
    "hue": 245.1,
    "chroma": 0.1584,
    "lightness": 0.6756,
    "paletteSource": "goldenratiocolors.com golden-ratio RGB ladder {0,14,37,60,97,158,195,218,241,255}, retrieved live 2026-08-30; single-hue oklch design quantized to the perceptually nearest GRC colors (brand grc258 #259ef1, accent grc955 #ff9e9e); runtime-parameterized hexfield/rung families remain generated from hue 232",
    "contrastVerified": true
  },
  "modes": {
    "use": true,
    "install": true,
    "offline": {
      "worksOffline": [
        "The landing page and quickstart",
        "The conformance ladder",
        "The validator — it runs entirely in your browser",
        "The manifest schema"
      ],
      "doesNotWorkOffline": [
        "Checking a domain by URL",
        "The full specification",
        "First visit"
      ]
    }
  },
  "upgrade": {
    "policy": "explicit-always",
    "acceptedRanges": {},
    "signatureRequired": true,
    "integrityHashRequired": true,
    "rollbackSupported": true,
    "acceptanceLog": "/.well-known/ysdk.acceptance.log"
  },
  "conformance": {
    "level": 1,
    "verifiedAt": "2026-08-30",
    "note": "Evidence earned 2026-08-30 against the LOCAL origin http://127.0.0.1:8933 (pages-server.mjs, a Cloudflare-Pages-faithful harness; no Pages deploy credential existed on the verifying box), in Chromium 149.0.7827.55 ONLY - no WebKit/Safari engine exists on that Windows box. Every true flag above must be RE-EARNED by a public re-run at https://ysdk.org after deploy. didResolves, manifestSignatureVerifiedByThirdParty, externalConsumerCalledATool and revocationObservedRefusingAccess were NOT proven by this run and stay false. Offline was proven with the origin process killed, not network emulation alone; the 390x844 leg ran under Pixel-5 touch emulation (pointer: coarse); guard count = validator refusal drills that FIRED. Full transcript: gauntlet/ysdk-deploy/evidence/conformance-1320-760-390.txt (R321/S314 g3). Re-earned against the PUBLIC origin https://ysdk.org on 2026-08-31 (project ysdk-org.pages.dev): protocol semantics (302/301/308 redirects, header stack, CORS on this file), TLS valid on apex+www, HTTP->HTTPS 301, service worker activated at the public scope, offline reload boots, an uncached URL offline gets the offline page, and the second-visit navigation is clean. The viewport triple, touch leg and keyboard traversal ran 2026-08-30 on the Pages-faithful local origin and were not re-run publicly. Chromium-only sight on the verifying box. Known public deviation: the zone's default Browser Cache TTL rewrites /sw.js Cache-Control no-cache to max-age=14400 (worst-case 4h service-worker update delay) until the zone is set to Respect Existing Headers.",
    "evidence": {
      "didResolves": false,
      "manifestSignatureVerifiedByThirdParty": false,
      "installabilityConfirmedByBrowser": true,
      "offlineConfirmedByNetworkCut": true,
      "viewportsTested": [
        "1320x760",
        "760x1024",
        "390x844"
      ],
      "narrowLegUnderTouchEmulation": true,
      "keyboardOnlyTraversalPasses": true,
      "externalConsumerCalledATool": false,
      "revocationObservedRefusingAccess": false,
      "runsStandaloneWithNoYos": true,
      "guardsDrilledWithRefusedInput": 10
    }
  },
  "attestations": {
    "independentSecurityAudit": null,
    "notReviewed": [
      "No independent security audit has been performed on YSDK or any component of the YOS ecosystem.",
      "The DID above is a placeholder until ydid.org issues the real identifier; this manifest is unsigned.",
      "Conformance evidence flags are set by the Playwright run at deploy time, not by hand.",
      "Multicodec codepoints for ML-DSA-87 and ML-KEM-1024 are draft, not final.",
      "The specification is Draft 1 revision 2 and will change."
    ]
  }
}
