{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_kz6u3zdz858s","handle":"journeyman","url":"https://wellknown.network/agents/journeyman","links":{"self":"https://wellknown.network/agents/journeyman/record.json","html":"https://wellknown.network/agents/journeyman","markdown":"https://wellknown.network/agents/journeyman/record.md","api":"https://wellknown.network/api/v1/agents/journeyman","status":"https://wellknown.network/api/v1/agents/journeyman/status","claim":"https://wellknown.network/agents/journeyman/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/journeyman/claim.json","badge":"https://wellknown.network/agents/journeyman/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/journeyman/history","tools":"https://wellknown.network/api/v1/agents/journeyman/tools"},"ard":{"identifier":"urn:air:journeyman.softwareengineeringprofessional.com:server:journeyman","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"journeyman","summary":"Read-only Pattern-Assist corpus for aspiring software engineers: grounded dev patterns with sources.","description":"Read-only Pattern-Assist corpus for aspiring software engineers: grounded dev patterns with sources.","publisher":{"name":"com.softwareengineeringprofessional","url":null},"homepage":"https://journeyman.softwareengineeringprofessional.com","repository":"https://github.com/people-analyst/journeyman","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://journeyman.softwareengineeringprofessional.com/api/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-08T15:08:32.996604Z","publishedAt":"2026-09-08T15:08:32.996604Z","registryName":"com.softwareengineeringprofessional/journeyman"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"data.vector-search","name":"Vector Search","confidence":0.554,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.54,"provenance":"derived"},{"slug":"research.academic","name":"Academic Research","confidence":0.54,"provenance":"derived"}],"categories":["commerce","data","research"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-12T04:28:05.758Z","lastProbedAt":"2026-10-12T04:28:05.758Z","statusComputedAt":"2026-10-12T04:29:36.885Z","reliability30d":{"probes":110,"successRate":1,"p50Ms":159,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-12T04:28:05.758Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":137,"error":null,"detail":{"tools":[{"name":"search_patterns","description":"Search the vendored Pattern-Assist corpus (hybrid lexical + embeddings when available; lexical fallback). Returns ranked patterns with source_ref citations and "},{"name":"recommend_patterns","description":"C-03: ranked Pattern-Assist recommendations for a task. Each hit carries a corpus why, a when-not / FTO trade-off, and cited same-area cross-links. Use this whe"},{"name":"get_pattern","description":"Lookup a single Pattern-Assist row by stable id. Returns 404-shaped payload when unknown — never fabricates a nearest match."},{"name":"list_patterns","description":"Paginated inventory of pattern ids and summaries from the vendored corpus."},{"name":"list_public_pages","description":"Site map for agents: canonical human pages plus read-only REST/MCP endpoints on this host."}],"toolCount":5,"toolsHash":"2965aa6c8f4dd4e62da004911fd8689d2b64045bd508c44b40d298ae2d185088","serverName":"journeyman-patterns","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T21:26:35.468Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":142,"error":null,"detail":{"tools":[{"name":"search_patterns","description":"Search the vendored Pattern-Assist corpus (hybrid lexical + embeddings when available; lexical fallback). Returns ranked patterns with source_ref citations and "},{"name":"recommend_patterns","description":"C-03: ranked Pattern-Assist recommendations for a task. Each hit carries a corpus why, a when-not / FTO trade-off, and cited same-area cross-links. Use this whe"},{"name":"get_pattern","description":"Lookup a single Pattern-Assist row by stable id. Returns 404-shaped payload when unknown — never fabricates a nearest match."},{"name":"list_patterns","description":"Paginated inventory of pattern ids and summaries from the vendored corpus."},{"name":"list_public_pages","description":"Site map for agents: canonical human pages plus read-only REST/MCP endpoints on this host."}],"toolCount":5,"toolsHash":"2965aa6c8f4dd4e62da004911fd8689d2b64045bd508c44b40d298ae2d185088","serverName":"journeyman-patterns","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T15:22:28.414Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":143,"error":null,"detail":{"tools":[{"name":"search_patterns","description":"Search the vendored Pattern-Assist corpus (hybrid lexical + embeddings when available; lexical fallback). Returns ranked patterns with source_ref citations and "},{"name":"recommend_patterns","description":"C-03: ranked Pattern-Assist recommendations for a task. Each hit carries a corpus why, a when-not / FTO trade-off, and cited same-area cross-links. Use this whe"},{"name":"get_pattern","description":"Lookup a single Pattern-Assist row by stable id. Returns 404-shaped payload when unknown — never fabricates a nearest match."},{"name":"list_patterns","description":"Paginated inventory of pattern ids and summaries from the vendored corpus."},{"name":"list_public_pages","description":"Site map for agents: canonical human pages plus read-only REST/MCP endpoints on this host."}],"toolCount":5,"toolsHash":"2965aa6c8f4dd4e62da004911fd8689d2b64045bd508c44b40d298ae2d185088","serverName":"journeyman-patterns","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T08:26:20.527Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":185,"error":null,"detail":{"tools":[{"name":"search_patterns","description":"Search the vendored Pattern-Assist corpus (hybrid lexical + embeddings when available; lexical fallback). Returns ranked patterns with source_ref citations and "},{"name":"recommend_patterns","description":"C-03: ranked Pattern-Assist recommendations for a task. Each hit carries a corpus why, a when-not / FTO trade-off, and cited same-area cross-links. Use this whe"},{"name":"get_pattern","description":"Lookup a single Pattern-Assist row by stable id. Returns 404-shaped payload when unknown — never fabricates a nearest match."},{"name":"list_patterns","description":"Paginated inventory of pattern ids and summaries from the vendored corpus."},{"name":"list_public_pages","description":"Site map for agents: canonical human pages plus read-only REST/MCP endpoints on this host."}],"toolCount":5,"toolsHash":"2965aa6c8f4dd4e62da004911fd8689d2b64045bd508c44b40d298ae2d185088","serverName":"journeyman-patterns","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T02:21:57.373Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":412,"error":null,"detail":{"tools":[{"name":"search_patterns","description":"Search the vendored Pattern-Assist corpus (hybrid lexical + embeddings when available; lexical fallback). Returns ranked patterns with source_ref citations and "},{"name":"recommend_patterns","description":"C-03: ranked Pattern-Assist recommendations for a task. Each hit carries a corpus why, a when-not / FTO trade-off, and cited same-area cross-links. Use this whe"},{"name":"get_pattern","description":"Lookup a single Pattern-Assist row by stable id. Returns 404-shaped payload when unknown — never fabricates a nearest match."},{"name":"list_patterns","description":"Paginated inventory of pattern ids and summaries from the vendored corpus."},{"name":"list_public_pages","description":"Site map for agents: canonical human pages plus read-only REST/MCP endpoints on this host."}],"toolCount":5,"toolsHash":"2965aa6c8f4dd4e62da004911fd8689d2b64045bd508c44b40d298ae2d185088","serverName":"journeyman-patterns","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T19:25:48.085Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":151,"error":null,"detail":{"tools":[{"name":"search_patterns","description":"Search the vendored Pattern-Assist corpus (hybrid lexical + embeddings when available; lexical fallback). Returns ranked patterns with source_ref citations and "},{"name":"recommend_patterns","description":"C-03: ranked Pattern-Assist recommendations for a task. Each hit carries a corpus why, a when-not / FTO trade-off, and cited same-area cross-links. Use this whe"},{"name":"get_pattern","description":"Lookup a single Pattern-Assist row by stable id. Returns 404-shaped payload when unknown — never fabricates a nearest match."},{"name":"list_patterns","description":"Paginated inventory of pattern ids and summaries from the vendored corpus."},{"name":"list_public_pages","description":"Site map for agents: canonical human pages plus read-only REST/MCP endpoints on this host."}],"toolCount":5,"toolsHash":"2965aa6c8f4dd4e62da004911fd8689d2b64045bd508c44b40d298ae2d185088","serverName":"journeyman-patterns","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T13:25:46.514Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":185,"error":null,"detail":{"tools":[{"name":"search_patterns","description":"Search the vendored Pattern-Assist corpus (hybrid lexical + embeddings when available; lexical fallback). Returns ranked patterns with source_ref citations and "},{"name":"recommend_patterns","description":"C-03: ranked Pattern-Assist recommendations for a task. Each hit carries a corpus why, a when-not / FTO trade-off, and cited same-area cross-links. Use this whe"},{"name":"get_pattern","description":"Lookup a single Pattern-Assist row by stable id. Returns 404-shaped payload when unknown — never fabricates a nearest match."},{"name":"list_patterns","description":"Paginated inventory of pattern ids and summaries from the vendored corpus."},{"name":"list_public_pages","description":"Site map for agents: canonical human pages plus read-only REST/MCP endpoints on this host."}],"toolCount":5,"toolsHash":"2965aa6c8f4dd4e62da004911fd8689d2b64045bd508c44b40d298ae2d185088","serverName":"journeyman-patterns","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T07:24:35.284Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":148,"error":null,"detail":{"tools":[{"name":"search_patterns","description":"Search the vendored Pattern-Assist corpus (hybrid lexical + embeddings when available; lexical fallback). Returns ranked patterns with source_ref citations and "},{"name":"recommend_patterns","description":"C-03: ranked Pattern-Assist recommendations for a task. Each hit carries a corpus why, a when-not / FTO trade-off, and cited same-area cross-links. Use this whe"},{"name":"get_pattern","description":"Lookup a single Pattern-Assist row by stable id. Returns 404-shaped payload when unknown — never fabricates a nearest match."},{"name":"list_patterns","description":"Paginated inventory of pattern ids and summaries from the vendored corpus."},{"name":"list_public_pages","description":"Site map for agents: canonical human pages plus read-only REST/MCP endpoints on this host."}],"toolCount":5,"toolsHash":"2965aa6c8f4dd4e62da004911fd8689d2b64045bd508c44b40d298ae2d185088","serverName":"journeyman-patterns","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T01:25:05.766Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":143,"error":null,"detail":{"tools":[{"name":"search_patterns","description":"Search the vendored Pattern-Assist corpus (hybrid lexical + embeddings when available; lexical fallback). Returns ranked patterns with source_ref citations and "},{"name":"recommend_patterns","description":"C-03: ranked Pattern-Assist recommendations for a task. Each hit carries a corpus why, a when-not / FTO trade-off, and cited same-area cross-links. Use this whe"},{"name":"get_pattern","description":"Lookup a single Pattern-Assist row by stable id. Returns 404-shaped payload when unknown — never fabricates a nearest match."},{"name":"list_patterns","description":"Paginated inventory of pattern ids and summaries from the vendored corpus."},{"name":"list_public_pages","description":"Site map for agents: canonical human pages plus read-only REST/MCP endpoints on this host."}],"toolCount":5,"toolsHash":"2965aa6c8f4dd4e62da004911fd8689d2b64045bd508c44b40d298ae2d185088","serverName":"journeyman-patterns","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T19:26:32.626Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":166,"error":null,"detail":{"tools":[{"name":"search_patterns","description":"Search the vendored Pattern-Assist corpus (hybrid lexical + embeddings when available; lexical fallback). Returns ranked patterns with source_ref citations and "},{"name":"recommend_patterns","description":"C-03: ranked Pattern-Assist recommendations for a task. Each hit carries a corpus why, a when-not / FTO trade-off, and cited same-area cross-links. Use this whe"},{"name":"get_pattern","description":"Lookup a single Pattern-Assist row by stable id. Returns 404-shaped payload when unknown — never fabricates a nearest match."},{"name":"list_patterns","description":"Paginated inventory of pattern ids and summaries from the vendored corpus."},{"name":"list_public_pages","description":"Site map for agents: canonical human pages plus read-only REST/MCP endpoints on this host."}],"toolCount":5,"toolsHash":"2965aa6c8f4dd4e62da004911fd8689d2b64045bd508c44b40d298ae2d185088","serverName":"journeyman-patterns","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"search_patterns","description":"Search the vendored Pattern-Assist corpus (hybrid lexical + embeddings when available; lexical fallback). Returns ranked patterns with source_ref citations and "},{"name":"recommend_patterns","description":"C-03: ranked Pattern-Assist recommendations for a task. Each hit carries a corpus why, a when-not / FTO trade-off, and cited same-area cross-links. Use this whe"},{"name":"get_pattern","description":"Lookup a single Pattern-Assist row by stable id. Returns 404-shaped payload when unknown — never fabricates a nearest match."},{"name":"list_patterns","description":"Paginated inventory of pattern ids and summaries from the vendored corpus."},{"name":"list_public_pages","description":"Site map for agents: canonical human pages plus read-only REST/MCP endpoints on this host."}],"package":null,"toolSurface":{"id":"ts_y9gpx3dyswhd","endpointId":"ep_paefxpvt2e2x","hash":"2965aa6c8f4dd4e62da004911fd8689d2b64045bd508c44b40d298ae2d185088","toolCount":5,"serverName":"journeyman-patterns","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-25T04:26:12.681Z","lastSeenAt":"2026-10-12T04:28:05.771Z","observations":63,"toolNames":["search_patterns","recommend_patterns","get_pattern","list_patterns","list_public_pages"],"distinctSurfaces":3},"endpointFacts":[{"id":"ep_paefxpvt2e2x","url":"https://journeyman.softwareengineeringprofessional.com/api/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T22:23:24.768Z","auth":{"observedAt":"2026-10-08T22:23:24.817Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-08T22:23:24.845Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"journeyman.softwareengineeringprofessional.com","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-09-18T17:17:07.000Z","validTo":"2026-12-17T17:17:06.000Z","daysToExpiry":66,"sanCount":1,"fingerprint256":"76:A3:ED:DD:2C:1D:03:8D:87:40:59:75:48:56:47:AB:0A:F7:4F:07:DD:C7:46:A6:A7:0C:CA:F0:64:CD:B0:78"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.softwareengineeringprofessional/journeyman","url":"https://registry.modelcontextprotocol.io/v0/servers/com.softwareengineeringprofessional%2Fjourneyman","firstSeenAt":"2026-09-09T19:21:23.149Z","fetchedAt":"2026-10-09T11:22:18.759Z","normalizedAt":"2026-10-09T11:22:18.759Z"}]},"firstSeenAt":"2026-09-09T19:21:23.149Z","updatedAt":"2026-10-12T04:30:42.183Z"}