---
title: "Source Arrival & Freshness Register"
method: POST
path: "/v1/tools/register_source_arrival_freshness"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Source Arrival & Freshness Register

`POST /v1/tools/register_source_arrival_freshness`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/register_source_arrival_freshness`
- Auth: none declared

Reconciles a caller-declared EXPECTED-source inventory against caller-declared OBSERVED arrivals, per source: arrived, missing, late (arrived after its declared expected-as-of), or stale (arrived but older than its declared freshness threshold relative to a declared reference-as-of). The expected inventory is always an independently supplied caller input, never derived from the observed set -- a register that only counts what showed up cannot tell 'nothing broke' from 'a whole source never arrived,' and closing that blind spot is this node's purpose. If no expected-source inventory is declared, the node refuses to report on arrivals alone and emits a did-not-run execution state instead of a degraded pass. All sources current yields auto_pass; any late-but-present source yields review_required (which routes to an exception step, never a human blocker); any missing expected source yields reject; an observed arrival supplied with no as-of yields a ran-stale execution state rather than a guessed decision. Deterministic reconciliation arithmetic only, no clock, no network, zero PII. Not a log tailer: completeness is measured against the declared expected inventory, never the extract's own self-reported arrivals. Clause: GAO-25-107721 SS13.07 (currency as an attribute of the information itself); ECB RDARR Guide (May 2024) SS3.5(1) (timeliness).

**Tool URL:** https://ainumbers.co/chaingraph/art-524-source-arrival-freshness-register.html

## Request body

- object
  - `expected_sources` unknown[], required
    - unknown
  - `observed_arrivals` unknown[], required
    - unknown
  - `reference_as_of` unknown, required

## Response `200`

Successful tool execution result

- object
  - `execution_state` string
  - `decision` string
  - `reason` string
  - `source_count` integer
  - `sources` object[]
    - `source_id` string
    - `expected_as_of` integer
    - `freshness_threshold_hours` integer
    - `arrived` boolean
    - `observed_as_of` integer
    - `late` boolean
    - `stale` boolean
    - `source_status` string
  - `missing_sources` unknown[]
    - unknown
  - `late_or_stale_sources` unknown[]
    - unknown
  - `unknown_freshness_sources` unknown[]
    - unknown

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
