{"$schema":"https://embeddedsemantics.com/schemas/embedded-semantics-agent-capabilities-v1.schema.json","agentProcedure":[{"instruction":"Determine whether the workflow actually requires a stable ConceptCode; otherwise do not call the resolver.","step":1},{"instruction":"Before integration, select one canonical recipe and run the dependency-free local readiness self-test.","step":2},{"instruction":"Fetch capabilities or status at session start and after a deployment, bundle, or registry-version change.","step":3},{"instruction":"Send only the exact expression to resolve; include language only when a valid BCP 47 tag is known.","step":4},{"instruction":"Treat HTTP success as transport success only. Inspect data.status, data.reason, and error.","step":5},{"instruction":"Accept identity only from data.concept.code on a resolved response; preserve the code and registryVersion exactly.","step":6},{"instruction":"On every abstention, assign no ConceptCode; preserve unknown or ambiguous and never choose from candidates.","step":7},{"instruction":"Apply a separate authorization policy before any tool or action; semantic identity alone authorizes nothing.","step":8}],"authority":{"authorization":"separate_from_semantic_identity","clientRule":"A client may use a ConceptCode only when data.status is resolved and data.concept.code is a non-empty string in the resolver response.","conceptIdentity":"published_registry_record","productionResolver":"reviewed_exact_registry_first","vectors":"evidence_only_not_authority"},"dataHandling":{"acceptedRequestFields":["expression","language"],"preserveOriginalExpressionInClientContext":true,"rule":"Send only the exact expression that requires identity resolution and an optional known BCP 47 language tag. Do not send credentials, hidden prompts, unrelated conversation, or private context.","secretsAllowed":false,"sendMinimumNecessaryText":true,"wholeConversationRequired":false},"decisionPolicy":{"abstentionMeans":"no ConceptCode assignment","acceptIdentityOnlyWhen":"data.status == \"resolved\" and data.concept.code is a non-empty string","authorizationRule":"A semantic identity never grants permission to execute an action.","candidateRule":"Candidates, scores, confidence, margin, embeddings, and model output are not authority.","errorRule":"Repair or report the stated error; never infer a semantic result.","transportRule":"HTTP success means request processing only; inspect data.status."},"invocationPolicy":{"doNotUseWhen":["The task is ordinary question answering, summarization, translation, or writing and no ConceptCode is required.","The caller is seeking permission, authorization, or approval to execute an action.","The caller intends to select a likely code after the resolver abstains.","The caller only needs topic similarity, search ranking, or an unconstrained model classification."],"readOnly":true,"useWhen":["A workflow needs a stable governed ConceptCode for one human-language expression.","The caller can preserve an explicit unknown or ambiguous result without guessing.","The caller needs to inspect a published Concept record or current resolver readiness."]},"must":["Preserve the user's original expression in the client context.","Send only the minimum text necessary for semantic identity resolution.","Preserve ConceptCode spelling, punctuation, namespace, and case exactly as returned.","Preserve explicit unknown and ambiguous outcomes.","Treat registryVersion as part of the evidence needed to interpret cached records.","Use status/capabilities to distinguish resolver implementation from deployed corpus availability.","Run the local readiness self-test before wiring a real downstream side effect.","Apply action authorization independently from semantic resolution."],"mustNot":["Do not construct a ConceptCode from labels, definitions, examples, URLs, embeddings, or model output.","Do not treat candidates, similarity scores, confidence, or model metadata as semantic authority.","Do not silently translate, normalize, shorten, alias, or repair a returned ConceptCode.","Do not convert unknown_expression into a guessed resolution.","Do not convert ambiguous_expression into a selected resolution without new governed evidence.","Do not send credentials, hidden prompts, or unrelated private context to the resolver.","Do not treat this API as authorization to perform an action; semantic identity and authorization are separate."],"operations":{"adoptionGuide":{"method":"GET","purpose":"Understand why stable governed identity is useful, where to place resolution in a workflow, how to adopt it safely, and how to measure benefit without inflating resolution claims.","url":"https://embeddedsemantics.com/api/v1/adoption-guide"},"capabilities":{"alternateDiscoveryUrl":"https://embeddedsemantics.com/.well-known/embedded-semantics.json","method":"GET","purpose":"Discover current authority, readiness, endpoints, and agent rules.","url":"https://embeddedsemantics.com/api/v1/capabilities"},"concept":{"method":"GET","purpose":"Read the published definition and reviewed evidence for one exact ConceptCode.","urlTemplate":"https://embeddedsemantics.com/api/v1/concepts/{code}"},"concepts":{"method":"GET","purpose":"List published registry concepts; an empty list is valid deployment evidence.","url":"https://embeddedsemantics.com/api/v1/concepts"},"connection":{"method":"GET","purpose":"Bootstrap a stateless desktop-agent connection, inspect live readiness, and discover the single canonical resolver request without sending client metadata or creating a session.","url":"https://embeddedsemantics.com/api/v1/agent/connect"},"instructions":{"method":"GET","purpose":"Read prompt-ready operating instructions with live readiness facts.","url":"https://embeddedsemantics.com/agent-instructions.txt"},"integrationReadiness":{"fixtures":"https://embeddedsemantics.com/examples/agent-readiness/fixtures.json","humanGuide":"https://embeddedsemantics.com/readiness","method":"GET","purpose":"Select exactly one recipe, run six fixed local fixtures, prove resolved-only code/version assignment, and produce a deterministic side-effect-free readiness report.","pythonSelfTest":"https://embeddedsemantics.com/examples/agent-readiness/python-stdlib-self-test.py","reportUrlTemplate":"https://embeddedsemantics.com/api/v1/integration-readiness/report/{recipeId}","url":"https://embeddedsemantics.com/api/v1/integration-readiness"},"integrationStudio":{"downloadUrlTemplate":"https://embeddedsemantics.com/api/v1/integration-studio/kit/{recipeId}.zip","humanGuide":"https://embeddedsemantics.com/integrate","manifestUrlTemplate":"https://embeddedsemantics.com/api/v1/integration-studio/manifest/{recipeId}","method":"GET","purpose":"Choose one recipe, inspect its six-fixture proof, generate dependency-free client handoffs, and download a deterministic first-party integration kit.","url":"https://embeddedsemantics.com/api/v1/integration-studio"},"interactionGuide":{"method":"GET","purpose":"Read the ordered response-decision procedure, human explanations, correction guidance, and canonical resolved/abstained/error handling rules.","url":"https://embeddedsemantics.com/api/v1/interaction-guide"},"mcp":{"discoveryMethod":"server/discover","guide":"https://embeddedsemantics.com/mcp-guide","manifest":"https://embeddedsemantics.com/mcp-server.json","method":"POST","protocolVersion":"2026-07-28","purpose":"Connect an MCP-capable agent runtime to the governed resolver and public registry resources through one stateless, read-only Streamable HTTP endpoint.","readOnly":true,"stateless":true,"tools":["embedded_semantics.get_concept","embedded_semantics.resolve_expression"],"transport":"streamable_http","url":"https://embeddedsemantics.com/mcp"},"resolve":{"contentType":"application/json","method":"POST","readOnly":true,"request":{"languageFormat":"BCP 47","maximumExpressionCharacters":1000,"maximumLanguageTagCharacters":35,"optional":["language"],"required":["expression"]},"semanticOutcomes":{"ambiguous_expression":"More than one governed exact identity is possible. Ask for disambiguation or preserve the ambiguous result.","other_abstention":"Treat every abstained result as no assignment, regardless of candidates, score, confidence, model metadata, or transport status.","resolved":"Use data.concept.code exactly as returned and retain data.concept.registryVersion.","unknown_expression":"No governed exact identity is available. Do not invent, translate, approximate, or select a ConceptCode."},"url":"https://embeddedsemantics.com/api/v1/resolve"},"status":{"method":"GET","purpose":"Read live registry coverage and resolver activation state.","url":"https://embeddedsemantics.com/api/v1/status"},"toolDescriptor":{"method":"GET","purpose":"Read a provider-neutral resolver tool descriptor for desktop and local-agent runtimes.","url":"https://embeddedsemantics.com/agent-tool.json"},"useCaseRecipes":{"method":"GET","purpose":"Read five copy-ready integration recipes with resolved, unknown, ambiguous, error, evidence, authorization, and benefit-measurement branches.","url":"https://embeddedsemantics.com/api/v1/use-case-recipes"}},"readiness":{"activeEmbeddingProfiles":0,"arbitraryQuerySemanticResolution":"not_production_active","note":"Positive exact resolution requires deployed published concepts and reviewed exact expressions. An empty or incomplete public corpus is a deployment state, not permission to guess.","positiveResolutionPossible":false,"publicBundle":{"complete":false,"id":"embedded-semantics.public-registry-prerelease","sha256":"30811e375cdfc7c92828270aedd9bfde96dc92cf190096ad6bc6772de2fc995f"},"publishedConcepts":0,"reviewedExactExpressions":0,"semanticRuntimeConfigured":false},"schema":"embedded-semantics.agent-capabilities.v1","service":{"adoptionGuide":"https://embeddedsemantics.com/api/v1/adoption-guide","agentGuide":"https://embeddedsemantics.com/agents","canonicalOrigin":"https://embeddedsemantics.com","connection":"https://embeddedsemantics.com/api/v1/agent/connect","deploymentIdentity":"https://embeddedsemantics.com/.well-known/embedded-semantics-deployment.json","deploymentIdentitySchema":"https://embeddedsemantics.com/schemas/embedded-semantics-deployment-identity-v1.schema.json","humanIntegrationStudio":"https://embeddedsemantics.com/integrate","humanReadinessGuide":"https://embeddedsemantics.com/readiness","humanRecipesGuide":"https://embeddedsemantics.com/recipes","humanResolverGuide":"https://embeddedsemantics.com/try","humanUseCasesGuide":"https://embeddedsemantics.com/use-cases","instructions":"https://embeddedsemantics.com/agent-instructions.txt","integrationKitDownloadUrlTemplate":"https://embeddedsemantics.com/api/v1/integration-studio/kit/{recipeId}.zip","integrationKitManifestUrlTemplate":"https://embeddedsemantics.com/api/v1/integration-studio/manifest/{recipeId}","integrationReadiness":"https://embeddedsemantics.com/api/v1/integration-readiness","integrationStudio":"https://embeddedsemantics.com/api/v1/integration-studio","interactionGuide":"https://embeddedsemantics.com/api/v1/interaction-guide","mcpEndpoint":"https://embeddedsemantics.com/mcp","mcpGuide":"https://embeddedsemantics.com/mcp-guide","mcpManifest":"https://embeddedsemantics.com/mcp-server.json","mcpManifestSchema":"https://embeddedsemantics.com/schemas/embedded-semantics-mcp-server-v2.schema.json","mcpProtocolVersion":"2026-07-28","name":"Embedded Semantics","openapi":"https://embeddedsemantics.com/openapi.json","purpose":"Resolve governed reviewed expressions to stable ConceptCodes while preserving explicit unknown and ambiguous outcomes.","status":"https://embeddedsemantics.com/api/v1/status","toolDescriptor":"https://embeddedsemantics.com/agent-tool.json","useCaseRecipes":"https://embeddedsemantics.com/api/v1/use-case-recipes"}}
