-
Sat, Sep 12, 2026 3
-
scheduler: nightly canonicalize --apply (03:30 local, Redis lock 2 h) + light pass every 6 h with one-line summary; full API cache flush after each connector run documented; taxonomy: Apache Software License/Apache License → Apache-2.0, BSD License → BSD-3-Clause, framework kind 'model' and org_kind 'organization' no longer reported as unmapped
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
aia canonicalize: duplicates → variants → artifacts → families → licences → taxonomy → results → events → anomalies (dry-run by default, idempotent --apply); aia anomalies; aia quarantine list|release|discard
…
Every step plans from reads and reports counts + examples; --apply executes the plan through merge_entities / upsert_relation / a tier-2 derived FactWriter. No deletes, snapshots untouched, a second --apply is a no-op. Optional entity scope for targeted runs and tests. docs/CANONICALIZATION.md documents every rule, what is never done, counting rules and how to re-run. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
SDK hardening: SSRF guard with per-hop redirect validation, run_id on every fact, same-source loophole closed, taxonomy at write time, result comparability, event semantics, hierarchy hints, quarantine
…
- fetch: validate_destination() on every request and redirect hop (max 5, manual loop): non-http(s), localhost/.local/.internal, RFC1918, loopback, link-local (metadata), CGNAT, IPv6 loopback/link-local/ULA, unspecified → FetchError("blocked destination") - facts: facts_to_json / facts_from_json (tagged datetimes) for quarantined runs - writer: run_id/source_key/is_first_run; a claim supersedes only when tier <= current or same source AND same extractor (LLM never overwrites deterministic from the same URL); licence/openness/modalities/status/kind/org_kind normalised via the ontology with value_raw + taxonomy_mappings, same assertion in another spelling re-encoded in place (no event); license_key claim; results get config_key, trust_level, variant, run_group, extractor, effort config for variant refs, one current row per (model, benchmark, metric, config_key), out-of-range scores → confidence low + anomaly; events get recorded_at, is_backfill (classify_backfill), group_key, deterministic importance; family/canonical hints materialised (family_id, canonical_id, artifact_kind, member_of_family, artifact_of); NEW_ARTIFACT 0, NEW_MODEL_FAMILY 1; conflicting claims recorded once; derived writers never open review items and mark their events backfill - resolver: model/artifact compatible lookups; keep_separate decisions honoured; digit-collapsing aliases require the same variant_key; first_seen_hint → first_seen_at = min(now, hint); resolve_variant() folds evaluator-only effort variants onto the canonical model - connector: run_id/source_key/first-run flag into the writer; --url reprocess rebuilds Targets from documents.meta._target (key, doc_type, meta, needs_llm, entity persisted at first fetch); quarantine for tier ≥ 2 connectors (rolling median baseline of the last 5 full runs: new entities > max(50, 1.3×), prices > 3×, entities < 0.8× / results < 0.5× on full extraction) → quarantined_runs + review item, nothing written - services/events: classify_backfill, group_key_for, importance_for · services/anomalies: record / run_checks / list_anomalies - merge: modes merge|alias|variant|family_member, keep_separate refusal, org-type and model/artifact pairs, dedupe/config_key recompute with collision handling, one current result per key, embeddings/sources/domains/review_queue/family_id/canonical_id re-pointed, resolution_decisions + admin_audit_log rows - handlers: LLM extraction writer carries the snapshot's run_id Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
-
Fri, Sep 11, 2026 9
-
Worker reclaims this host's running jobs at start-up (restart-safe)
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Worker sticks to one job kind while any remain; embeddings only queued when no extraction is pending (no model thrash on llm-api)
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
LLM gateway: wait-and-retry on 503/429 while the local server loads or swaps models; one LLM job at a time in production
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
SDK: never lose a failed target silently, order-insensitive list comparison, unique result dedupe suffix; scheduler runs connectors sequentially; ecosystem connector fixes and registry fragments
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Lint fixes
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
LLM facts: one tier below source, plausible model names only, status vocabulary normalised
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
API v1: FastAPI routers per docs/API.md (public + admin), detail builder, hardware fit, entity merge, indexes, tests
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Worker: acquire the concurrency slot before claiming a job
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
AI Atlas foundation: schema, connector SDK, archive, temporal writer, LLM gateway, scheduler, registry, CLI, Anthropic connector
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-