{"schemaVersion":"1.0","name":"PrivateDock","slug":"privatedock","website":"https://privatedock.fyi","category":"other","description":"PrivateDock helps homeowners and designers find dock builders, boat lift dealers and marine contractors.","capabilities":["llmsTxt documentation","llmsFullTxt documentation"],"aiResources":{"llmsTxt":{"type":"llmsTxt","url":"https://privatedock.fyi/llms.txt","status":"verified","available":true,"httpStatus":200,"checkedAt":"2026-11-03T22:19:56.405Z","lastSuccessfulAt":"2026-11-03T22:19:56.405Z","contentType":"text/plain; charset=utf-8","contentSize":18313,"estimatedTokens":4579,"tokenMethod":"UTF-16 characters / 4 (approximation)","contentHash":"9a5c980f099dea2b024b23c27c2da4f35afbd73f90dd3bac12588ac7f9d47682","internalLinks":175,"externalLinks":1,"document":{"h1Count":1,"firstBlockIsH1":true,"title":"PrivateDock","usefulTitle":true,"headingCount":12,"uniqueHeadingCount":12,"hasSections":true,"orderedHeadings":true,"sectionWithContent":true,"fileListLinks":173,"summaryPresent":true,"contextPresent":true,"validLinks":176,"invalidLinks":0,"duplicateLinks":0,"descriptiveLinks":176,"annotatedLinks":172},"linkHealth":{"eligibleCount":176,"selectedCount":5,"sampledCount":5,"working":3,"broken":0,"unknown":2,"checkedAt":"2026-11-03T22:19:57.835Z","sourceHash":"9a5c980f099dea2b024b23c27c2da4f35afbd73f90dd3bac12588ac7f9d47682","method":"deterministic sample, at most 5 URLs, at most 2 concurrent hosts, 15s budget","results":[{"url":"https://privatedock.fyi/us/mo.md","httpStatus":200,"checkedAt":"2026-11-03T22:19:57.835Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://privatedock.fyi/us/al/foley.md","httpStatus":200,"checkedAt":"2026-11-03T22:19:57.835Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://privatedock.fyi/api/v1/openapi.json","status":"unknown","httpStatus":null,"reason":"oversized","attempted":true,"checkedAt":"2026-11-03T22:19:57.835Z"},{"url":"https://privatedock.fyi/products","status":"unknown","httpStatus":null,"reason":"oversized","attempted":true,"checkedAt":"2026-11-03T22:19:57.835Z"},{"url":"https://privatedock.fyi/us/de/seaford.md","httpStatus":200,"checkedAt":"2026-11-03T22:19:57.835Z","attempted":true,"status":"working","reason":"http_success"}]},"headings":["PrivateDock","Countries","Regions","Marine contractors by city","Categories","Free tools","Products","Waterfront project guides","About this site","Data sources","API","Optional"],"warnings":[],"summary":"Documentation sections: PrivateDock; Countries; Regions; Marine contractors by city; Categories; Free tools.","summarySourceHash":"9a5c980f099dea2b024b23c27c2da4f35afbd73f90dd3bac12588ac7f9d47682","processingVersion":"2.0","method":"markdown-ast-analysis"},"llmsFullTxt":{"type":"llmsFullTxt","url":"https://privatedock.fyi/llms-full.txt","status":"verified","available":true,"httpStatus":200,"checkedAt":"2026-11-03T22:19:57.021Z","lastSuccessfulAt":"2026-11-03T22:19:57.021Z","contentType":"text/plain; charset=utf-8","contentSize":112312,"estimatedTokens":28078,"tokenMethod":"UTF-16 characters / 4 (approximation)","contentHash":"5e84d86e49943d0d984d9617ca2d27881324d72eafef36d4f000c6ee490a947e","internalLinks":204,"externalLinks":190,"document":{"h1Count":1,"firstBlockIsH1":true,"title":"PrivateDock","usefulTitle":true,"headingCount":353,"uniqueHeadingCount":338,"hasSections":true,"orderedHeadings":true,"sectionWithContent":true,"fileListLinks":205,"summaryPresent":true,"contextPresent":true,"validLinks":399,"invalidLinks":0,"duplicateLinks":5,"descriptiveLinks":205,"annotatedLinks":11},"headings":["PrivateDock","Edmonton, AB, Canada","Insta Dock Inc","Airdrie, Alberta, Canada","Dock Stop","Campbell River, BC, Canada","Pacific Marine Construction","Scotch Creek, BC, Canada","Interior Marine Construction","Elmsdale, NS, Canada","Docks Unlimited","Cornwall, ON, Canada"],"warnings":["5 duplicate documentation links"],"summary":"Documentation sections: PrivateDock; Edmonton, AB, Canada; Insta Dock Inc; Airdrie, Alberta, Canada; Dock Stop; Campbell River, BC, Canada.","summarySourceHash":"5e84d86e49943d0d984d9617ca2d27881324d72eafef36d4f000c6ee490a947e","processingVersion":"2.0","method":"markdown-ast-analysis"},"webmcp":null},"readiness":{"score":100,"version":"2.0","confidence":"medium","components":[{"name":"availability","weight":25,"assessedWeight":25,"points":25,"rules":[{"id":"current_access","label":"Current usable primary file","weight":25,"observation":"Current llms.txt retrieval succeeded (HTTP 200); usable text verified.","points":25}],"explanation":"Current usable primary file: 25/25."},{"name":"structure","weight":25,"assessedWeight":25,"points":25,"rules":[{"id":"title","label":"One project H1 at the beginning","weight":10,"observation":"1 H1 heading(s); starts with H1: yes.","points":10},{"id":"sections","label":"Coherent content sections","weight":5,"observation":"H2 with content: yes; no heading-level jumps: yes.","points":5},{"id":"file_lists","label":"Documentation links organized in lists","weight":5,"observation":"173 valid link occurrence(s) inside Markdown lists.","points":5},{"id":"heading_uniqueness","label":"Non-repeated headings","weight":5,"observation":"12 unique heading(s) out of 12; code examples are excluded.","points":5}],"explanation":"One project H1 at the beginning: 10/10. Coherent content sections: 5/5. Documentation links organized in lists: 5/5. Non-repeated headings: 5/5."},{"name":"links","weight":25,"assessedWeight":25,"points":24.94,"rules":[{"id":"link_syntax","label":"Resolvable HTTP(S) link syntax","weight":5,"observation":"176 valid URL occurrence(s), 0 malformed, unsupported or unresolved.","points":5},{"id":"link_uniqueness","label":"Unique documentation destinations","weight":5,"observation":"176 unique destination(s) from 176 valid occurrence(s).","points":5},{"id":"link_labels","label":"Descriptive link labels","weight":2.5,"observation":"176 of 176 unique links have non-placeholder labels. This is a text heuristic, not a semantic guarantee.","points":2.5},{"id":"link_notes","label":"Context beside file links","weight":2.5,"observation":"172 of 176 unique links have notes beside a Markdown list link.","points":2.44},{"id":"link_health","label":"Sampled destination accessibility","weight":10,"observation":"5 of 176 destinations sampled: 3 working, 0 confirmed 404/410, 2 unknown. Only working and confirmed-broken results enter this fraction.","points":10}],"explanation":"Resolvable HTTP(S) link syntax: 5/5. Unique documentation destinations: 5/5. Descriptive link labels: 2.5/2.5. Context beside file links: 2.44/2.5. Sampled destination accessibility: 10/10."},{"name":"confidence","weight":15,"assessedWeight":15,"points":15,"rules":[{"id":"verification_age","label":"Age of last successful verification","weight":10,"observation":"Last success: 2026-11-03T22:19:56.405Z. Full points through day 8 (7-day schedule plus 1-day grace), 60% through day 30, 20% thereafter or for an unknown date.","points":10},{"id":"latest_success","label":"Latest primary check succeeded","weight":5,"observation":"Latest primary verification succeeded.","points":5}],"explanation":"Age of last successful verification: 10/10. Latest primary check succeeded: 5/5."},{"name":"metadata","weight":10,"assessedWeight":10,"points":10,"rules":[{"id":"summary","label":"Useful summary blockquote","weight":5,"observation":"A blockquote before the first H2 with at least 20 non-whitespace characters and no placeholder-only text.","points":5},{"id":"context","label":"Useful introductory context","weight":5,"observation":"An introductory paragraph before the first H2 with at least 20 non-whitespace characters and no placeholder-only text. Listing form fields do not earn these points.","points":5}],"explanation":"Useful summary blockquote: 5/5. Useful introductory context: 5/5."}],"earnedPoints":99.94,"assessedWeight":100,"availableWeight":100,"provisional":false,"calculatedAt":"2026-11-03T22:20:01.412Z","lastVerifiedAt":"2026-11-03T22:19:56.405Z","evidence":{"sourceUrl":"https://privatedock.fyi/llms.txt","contentHash":"9a5c980f099dea2b024b23c27c2da4f35afbd73f90dd3bac12588ac7f9d47682","processingVersion":"2.0","retrievedAt":"2026-11-03T22:19:56.405Z"},"linkSampling":{"eligibleCount":176,"selectedCount":5,"sampledCount":5,"working":3,"broken":0,"unknown":2,"checkedAt":"2026-11-03T22:19:57.835Z","sourceHash":"9a5c980f099dea2b024b23c27c2da4f35afbd73f90dd3bac12588ac7f9d47682","method":"deterministic sample, at most 5 URLs, at most 2 concurrent hosts, 15s budget","results":[{"url":"https://privatedock.fyi/us/mo.md","httpStatus":200,"checkedAt":"2026-11-03T22:19:57.835Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://privatedock.fyi/us/al/foley.md","httpStatus":200,"checkedAt":"2026-11-03T22:19:57.835Z","attempted":true,"status":"working","reason":"http_success"},{"url":"https://privatedock.fyi/api/v1/openapi.json","status":"unknown","httpStatus":null,"reason":"oversized","attempted":true,"checkedAt":"2026-11-03T22:19:57.835Z"},{"url":"https://privatedock.fyi/products","status":"unknown","httpStatus":null,"reason":"oversized","attempted":true,"checkedAt":"2026-11-03T22:19:57.835Z"},{"url":"https://privatedock.fyi/us/de/seaford.md","httpStatus":200,"checkedAt":"2026-11-03T22:19:57.835Z","attempted":true,"status":"working","reason":"http_success"}]},"warnings":["This measures observable documentation, not model rankings or citation probability.","H1 is the only required section in the llms.txt proposal. Other checks are LLMSList quality preferences; missing optional sections do not make usable text invalid.","Destination accessibility covers a sample of 5 out of 176 unique links, not the entire website."]},"updatedAt":"2026-11-03T22:20:01.412Z"}