{"data":{"status":"fail","checked":6,"targets":["windows","macos","linux"],"findings":[{"target":"windows","rule":"windows-reserved-name","severity":"error","detail":"\"CON\" is a reserved device name; \"CON.txt\" resolves to the device, with or without an extension.","path":"docs/CON.txt","index":2,"component":"CON.txt"},{"target":"macos","rule":"not-nfc","severity":"warn","detail":"Name is not in Unicode NFC; macOS volumes treat NFC and NFD spellings as the same name, so it may be renamed or collide.","path":"café.txt","index":4,"component":"café.txt"},{"target":"windows","rule":"windows-trailing-dot-or-space","severity":"error","detail":"Windows names must not end with a space or a period; the Win32 API strips it, so the file lands under a different name.","path":"build/out.","index":5,"component":"out."}],"findingCount":3,"collisions":[{"targets":["windows","macos"],"kind":"case","count":2,"indexes":[0,1],"paths":["src/readme.md","src/README.md"]},{"targets":["macos"],"kind":"normalization","count":2,"indexes":[3,4],"paths":["café.txt","café.txt"]}],"witnesses":[{"ruleId":"windows:windows-reserved-name","detail":"\"CON\" is a reserved device name; \"CON.txt\" resolves to the device, with or without an extension.","path":"docs/CON.txt","index":2,"actual":"CON.txt"},{"ruleId":"windows:windows-trailing-dot-or-space","detail":"Windows names must not end with a space or a period; the Win32 API strips it, so the file lands under a different name.","path":"build/out.","index":5,"actual":"out."},{"ruleId":"windows+macos:case-collision","detail":"2 paths are one file on windows, macos.","index":0,"actual":["src/readme.md","src/README.md"]},{"ruleId":"macos:normalization-collision","detail":"2 paths are one file on macos.","index":3,"actual":["café.txt","café.txt"]}],"versions":{"engine":"path-portability 1","windows-naming":"learn.microsoft.com/windows/win32/fileio/naming-a-file, ms.date 2024-08-28, fetched 2026-11-04","windows-path-limits":"learn.microsoft.com/windows/win32/fileio/maximum-file-path-limitation, fetched 2026-11-04","linux-limits":"torvalds/linux include/uapi/linux/limits.h NAME_MAX=255 PATH_MAX=4096, fetched 2026-11-04","macos-limits":"apple-oss-distributions/xnu bsd/sys/syslimits.h NAME_MAX=255 bytes PATH_MAX=1024 bytes, fetched 2026-11-04","apfs-reference":"Apple File System Reference 2020-06-22 (case and normalization insensitivity flags, NFD name hash), fetched 2026-11-04","case-folding":"per-code-point simple uppercase mapping; an estimate of NTFS $UpCase and APFS folding"},"limits":["Case folding is an estimate; exotic scripts (Turkish dotless i, Georgian) may fold differently on a real volume.","Windows 8.3 short names, per-directory case sensitivity flags and the long-path registry opt-in are not modelled."],"deterministic":true},"_provenance":{"version":"writerslogic-provenance/1","issuer":"did:web:agents.writerslogic.com","verify":{"endpoint":"POST /api/v1/verify-provenance","did":"did:web:agents.writerslogic.com"},"manifest":{"format":"application/json","instance_id":"xmp:iid:0fd1cabd-910e-4ac3-a373-3eb7394b7da7","claim_generator_info":[{"name":"WritersLogic x402 Agent Hub","version":"2.0.0"}],"title":"File path portability check across Windows, macOS and Linux","assertions":[{"label":"c2pa.actions.v2","data":{"actions":[{"action":"c2pa.created","when":"2026-11-06T01:30:30.137Z","softwareAgent":{"name":"writerslogic-agent-hub/path-portability","version":"2.0.0"},"digitalSourceType":"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMedia","parameters":{"endpoint":"POST /api/v1/path-portability","inputDigest":{"alg":"sha256","hash":"81b0a76d523a7f2e42addedcf57fa977d94f4a3b64297a5032223536957e778f","canonicalization":"JCS"}}}]}},{"label":"c2pa.hash.data","data":{"alg":"sha256","hash":"69e2ee53aad2da435bced81ee0b4e39f911914a8560d552dc86cbbd61d5b07a9","name":"jcs-canonical-json(data)"}}]},"credential":{"@context":["https://www.w3.org/ns/credentials/v2"],"id":"urn:uuid:ea897c56-307e-4c9b-90d3-37c9aed39c5f","type":["VerifiableCredential","AgentOutputCredential"],"issuer":"did:web:agents.writerslogic.com","validFrom":"2026-11-06T01:30:30.137Z","credentialSubject":{"id":"urn:sha256:69e2ee53aad2da435bced81ee0b4e39f911914a8560d552dc86cbbd61d5b07a9","agent":"path-portability","endpoint":"POST /api/v1/path-portability","outputDigest":{"alg":"sha256","value":"69e2ee53aad2da435bced81ee0b4e39f911914a8560d552dc86cbbd61d5b07a9","canonicalization":"JCS"},"inputDigest":{"alg":"sha256","value":"81b0a76d523a7f2e42addedcf57fa977d94f4a3b64297a5032223536957e778f","canonicalization":"JCS"},"manifestDigest":{"alg":"sha256","value":"e1989a7fb0ff061ab1186dadac3f447dc0ec55bfda8179ca877b4a463ca9e570","canonicalization":"JCS"},"ingredients":[],"payment":{"scheme":"api-key","network":"eip155:8453","payer":"sample"}},"proof":{"type":"DataIntegrityProof","cryptosuite":"eddsa-jcs-2022","created":"2026-11-06T01:30:30.137Z","verificationMethod":"did:web:agents.writerslogic.com#key-1","proofPurpose":"assertionMethod","proofValue":"z22tjbUvX1XVf5VbjEwPh6P2MpDVtKZXnJSMAhJ4mKWgRDvLo58c5qPHNYRM1buocVmEbGbJXy9RbWf9koZmwcNSD"}},"ethSignature":{"type":"EIP-191","signer":"did:pkh:eip155:8453:0x3DBd42560cA7a7E448A2c7DfC9E785526189411f","address":"0x3DBd42560cA7a7E448A2c7DfC9E785526189411f","message":"writerslogic-provenance:ca8d7cf8840286ee1bfb47931ca8cdcc2d63e8c9b08884bf6990b0171c0f248f","signature":"0xa18b3edf600454dfd487e8bf611fc03e97df6496ce4870ad8934b2fb3fcefbd322736f27ea22879d32c3daf95a24968c766badf73dacc3b70126bf82ef6b5f361b"}}}