iiRecord
Agentic AI Atlas · GAP-L1-P1-repo-graph-discovery-signal
page:process-gaps-GAP-L1-P1-repo-graph-discovery-signala5c.ai
II.
Page JSON

page:process-gaps-GAP-L1-P1-repo-graph-discovery-signal

Structured · live

GAP-L1-P1-repo-graph-discovery-signal json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · wiki/process/gaps/GAP-L1-P1-repo-graph-discovery-signal.mdCluster · wiki
Record JSON
{
  "id": "page:process-gaps-GAP-L1-P1-repo-graph-discovery-signal",
  "_kind": "Page",
  "_file": "wiki/process/gaps/GAP-L1-P1-repo-graph-discovery-signal.md",
  "_cluster": "wiki",
  "attributes": {
    "nodeKind": "Page",
    "title": "GAP-L1-P1-repo-graph-discovery-signal",
    "displayName": "GAP-L1-P1-repo-graph-discovery-signal",
    "slug": "process/gaps/GAP-L1-P1-repo-graph-discovery-signal",
    "articlePath": "wiki/process/gaps/GAP-L1-P1-repo-graph-discovery-signal.md",
    "article": "# GAP-L1-P1-repo-graph-discovery-signal\n\n| Field | Value |\n|---|---|\n| id | gap:repo-graph-discovery-signal |\n| title | DiscoverySignal NodeKind from repo agent-catalog absent in v6 schema |\n| level | 1 |\n| priority | P1 |\n| discoveredAt | 2026-04-28T00:00:00Z |\n| source | packages/agent-catalog/graph/schema/ontology-schema.yaml |\n| status | open |\n| owner | tbd |\n\n## Current state\nThe repo's live `packages/agent-catalog/graph/schema/ontology-schema.yaml` defines `DiscoverySignal` (with `signalKind`, `key`, `matchMode`, `confidence`, `argvMatches`, etc.) and a `discovered_by` edge. v6 graph treats discovery as out-of-scope (\"Discovery runtime queries (`detectHostAgent`, `listInstalledAgents`)... runtime API; the catalog *describes* the data such queries consume; the queries themselves are not schema\").\n\nBut discovery **signals** themselves (file patterns, env-var names, argv shapes that identify a host agent) ARE catalog data — and the live repo proves it. Coverage-checklist row \"Discovery (concept)\" maps to `DiscoverySignal` but no NodeKind by that name exists in v6 ontology-schema.yaml.\n\n## Desired state\nPromote `DiscoverySignal` to a first-class NodeKind in v6 schema, with attributes mirrored from the repo: `signalKind (enum<env-var,file-presence,argv-match,pkg-manifest>)`, `key`, `matchMode`, `confidence`, `scope`, `argvMatches`. Add edge `AgentVersion discovered_by DiscoverySignal` (and similarly for `ModelProviderVersion`, `PluginTarget`).\n\n## Evidence\n- packages/agent-catalog/graph/schema/ontology-schema.yaml (lines 172-182)\n- packages/agent-catalog/graph/nodes/agents/ (live signal data)\n- C:/work/v6/graph/coverage-checklist.md \"Discovery (concept)\" row references `DiscoverySignal` as if it exists\n\n## Propagation status\n- Level 1: open\n- Level 2: not-started — coverage-checklist row currently false-positive (✅ but no schema element)\n\n## Propagation chain\n- Level 1: add NodeKind + edge in ontology-schema.yaml.\n- Level 2: this resolves OpenQuestion \"How do live agent-catalog 22 NodeKinds collapse into v6 schema NodeKinds?\" partially.\n\n## Notes\nCloses coverage-checklist OpenQuestion `oq:repo-22-nodekinds-mapping` for one of the missing kinds.\n",
    "documents": []
  },
  "outgoingEdges": [],
  "incomingEdges": [
    {
      "from": "page:process-gaps",
      "to": "page:process-gaps-GAP-L1-P1-repo-graph-discovery-signal",
      "kind": "contains_page"
    }
  ]
}