{
  "schema": "entities-ca.method-registry.v1",
  "updatedAt": "2026-10-15",
  "methods": [
    {
      "id": "record-depth-v1",
      "name": "Record Depth Index",
      "status": "production",
      "range": { "minimum": 0, "maximum": 100 },
      "meaning": "Evidence coverage of an entities.ca record. It is not a rating of the organisation.",
      "components": [
        { "name": "independentPublishers", "maximum": 20, "formula": "min(20, publisherCount * 5)" },
        { "name": "identityEvidence", "maximum": 20, "formula": "min(20, identifierSchemeCount * 4 + registrationCount * 2)" },
        { "name": "evidenceBreadth", "maximum": 30, "formula": "min(30, representedEvidenceFamilies * 5)" },
        { "name": "datedSpan", "maximum": 15, "formula": "3, 6, 9, 12 or 15 points at spans below 1, 3, 5, 10 or at least 10 years" },
        { "name": "traceability", "maximum": 15, "formula": "5 points for any source, 5 for multiple source files and 5 for stored linkage evidence" }
      ],
      "bands": [
        { "name": "Basic", "minimum": 0, "maximumExclusive": 25 },
        { "name": "Documented", "minimum": 25, "maximumExclusive": 50 },
        { "name": "Layered", "minimum": 50, "maximumExclusive": 75 },
        { "name": "Deep", "minimum": 75, "maximumInclusive": 100 }
      ],
      "implementation": "engine/intelligence/indices.ts"
    },
    {
      "id": "public-footprint-v1",
      "name": "Public Footprint Vector",
      "status": "production",
      "rangePerDimension": { "minimum": 0, "maximum": 100 },
      "meaning": "Eight independent descriptions of where an organisation appears in covered public records.",
      "aggregation": "none",
      "dimensions": [
        "identity",
        "operations",
        "disclosure",
        "publicMoney",
        "publicActivity",
        "relationships",
        "regulatory",
        "history"
      ],
      "warning": "Dimensions are never added into a reputation, trust, quality or risk score. Zero means no evidence in the covered corpus, not proof of no activity.",
      "implementation": "engine/intelligence/indices.ts"
    },
    {
      "id": "source-freshness-v1",
      "name": "Source Freshness",
      "status": "production",
      "meaning": "Elapsed time since the latest successful source capture, interpreted against that source's declared cadence.",
      "outputs": {
        "ageDays": "max(0, observation time - latest successful capture), expressed in days",
        "freshnessRatio": "ageDays / cadenceDays",
        "state": "current through one cadence, due through cadence plus one grace day, then overdue; failures and row-count anomalies remain separate states"
      },
      "warning": "Freshness describes the entities.ca capture. It does not prove that the publisher's own data is complete or current.",
      "implementation": "engine/cli/health.ts"
    },
    {
      "id": "observation-continuity-v1",
      "name": "Observation Continuity",
      "status": "production",
      "meaning": "The proportion of expected cadence-sized windows that contain at least one successful capture.",
      "formula": "observedWindows / expectedWindows",
      "window": "At least 90 days, up to twelve source cadences, capped at 365 days; a shorter history begins at the first successful capture.",
      "warning": "Repeated captures inside one window count once. An empty window remains an unobserved gap and cannot be filled by a later snapshot.",
      "implementation": "engine/cli/health.ts"
    },
    {
      "id": "gleif-canada-identity-v1",
      "name": "GLEIF Canada Identity and Relationship Series",
      "status": "production",
      "meaning": "Counts published CEIDs carrying an LEI, exact registry links and typed GLEIF relationship rows whose subject is a published Canadian entity.",
      "joins": "Subject and target entities resolve by exact LEI only; company names are never relationship evidence.",
      "outputs": [
        "entitiesWithLei",
        "exactCbcaLinks",
        "withAnotherPublisher",
        "withPublicMoney",
        "byJurisdiction",
        "byLeiRegistrationStatus",
        "relationships.byType",
        "relationships.byValidationSource"
      ],
      "warning": "GLEIF direct and ultimate parents describe accounting consolidation, not every form of legal or beneficial ownership. Missing edges may reflect reporting exceptions.",
      "implementation": "engine/cli/gleif-report.ts"
    }
  ],
  "planned": [
    "entity-change-velocity-v1",
    "resolution-evidence-class-v1",
    "coverage-adjusted-local-activity-v1",
    "network-concentration-v1"
  ],
  "documentation": "https://entities.ca/intelligence/"
}
