Skip to content

Topic Resolution v1

Source schema: doc/schemas/topic-resolution.v1.schema.json

Signed deterministic resolver output over one pinned topic taxonomy. Ambiguous and unresolved are first-class states, not malformed outputs.

Governing Basis

Project Lineage

Fields

Field Required Shape Description
schema/v yes const: 1
resolution/id yes string
taxonomy/digest yes ref: #/$defs/sha256_digest
resolver/version yes string
epsilon yes number
query/keywords yes array
result yes enum: resolved, ambiguous, unresolved
topic/term no ref: #/$defs/topic_term
score no number
matched/labels yes array
candidates yes array
ambiguous/reason no string | null
issued-at yes string
resolver/node-id yes string
signature yes ref: #/$defs/signature
extensions no ref: #/$defs/extensions

Definitions

Definition Shape Description
sha256_digest string
topic_term string
matched_label object
candidate object
signature object
extensions object

Conditional Rules

Rule 1

When:

{
  "properties": {
    "result": {
      "const": "resolved"
    }
  },
  "required": [
    "result"
  ]
}

Then:

{
  "required": [
    "topic/term",
    "score"
  ]
}

Rule 2

When:

{
  "properties": {
    "result": {
      "const": "ambiguous"
    }
  },
  "required": [
    "result"
  ]
}

Then:

{
  "required": [
    "ambiguous/reason"
  ]
}

Field Semantics

schema/v

  • Required: yes
  • Shape: const: 1

resolution/id

  • Required: yes
  • Shape: string

taxonomy/digest

  • Required: yes
  • Shape: ref: #/$defs/sha256_digest

resolver/version

  • Required: yes
  • Shape: string

epsilon

  • Required: yes
  • Shape: number

query/keywords

  • Required: yes
  • Shape: array

result

  • Required: yes
  • Shape: enum: resolved, ambiguous, unresolved

topic/term

  • Required: no
  • Shape: ref: #/$defs/topic_term

score

  • Required: no
  • Shape: number

matched/labels

  • Required: yes
  • Shape: array

candidates

  • Required: yes
  • Shape: array

ambiguous/reason

  • Required: no
  • Shape: string | null

issued-at

  • Required: yes
  • Shape: string

resolver/node-id

  • Required: yes
  • Shape: string

signature

  • Required: yes
  • Shape: ref: #/$defs/signature

extensions

  • Required: no
  • Shape: ref: #/$defs/extensions

Definition Semantics

$defs.sha256_digest

  • Shape: string

$defs.topic_term

  • Shape: string

$defs.matched_label

  • Shape: object

$defs.candidate

  • Shape: object

$defs.signature

  • Shape: object

$defs.extensions

  • Shape: object