Observation, not a live claim

This page was observed on 2026-09-08. Its state figures describe one historical export, not a promise that the protected cockpit or runtime ledger still has the same contents.

  • Runtime ledger: revision 125 records its latest update at 2026-08-16T11:35:58.800Z.
  • Sanitized export: revision 125 was generated at 2026-08-16T11:36:21.577Z, 22.777 seconds later.
  • Freshness reading: the shared revision establishes revision consistency between the two records; it does not prove a live feed. Both dates are 23 calendar days before this page’s observation date, so neither proves current freshness on 2026-09-08.

The distinction is deliberate:

flowchart LR
  C["Planned set catalog"] -. "declares inventory; no per-set ledger" .-> L["Runtime ledger"]
  L -->|"trusted extension export"| S["Sanitized snapshot"]
  S -->|"read-only API"| V["Protected cockpit"]
  • The planned catalog declares scope, manifests, and set-level intent. It identifies the root ledger as authoritative, says no per-set ledger is included, and assigns the application a snapshot read model: sets/catalog.yaml:1-10.
  • The runtime ledger is the canonical operational record. The protected application is intentionally not a raw-ledger reader: its adapter reads only artifacts/snapshots/foundry.json and rejects an unavailable or invalid export: src/adapters/iconloom-ledger.ts:5-29.
  • The snapshot is a bounded exported read model. It is validated for an exact schema before use, including timestamp, revision, icon summaries, run-state counts, and readiness fields: src/adapters/iconloom-ledger.ts:32-66.

Catalog scope versus exported rows

The catalog declares two sets and 13 planned icon IDs. Its status strings are catalog metadata, not human approval, run state, or certification. At the exported revision, those 13 names are represented; one additional ledger row does not belong to either catalog set.

GroupDeclared inventoryCatalog statusExported state at the recorded revision
Gamefun Core5showcase_decision_required5 mapped rows, all decision_required
Gridpulse Ops8awaiting_human_selection8 mapped rows, all decision_required
Unregistered ledger row0not catalogedset: cancelled, with 0 submissions

The two declared memberships and their 5/8 inventories are in sets/catalog.yaml:12-35. The cockpit registry separately preserves declared set order and places unmatched ledger rows in an unregistered group rather than silently assigning them: src/contracts/set-registry.ts:18-20,168-190. The unmatched set record therefore contributes to the runtime/export inventory of 14, but not to the planned catalog inventory of 13: artifacts/snapshots/foundry.json:8-9,184-193.

Run census and count boundaries

The export has 30 recorded runs: 13 decision_required and 17 cancelled. It has no generating, quarantined, or closed runs at that revision.

Run stateRecorded runs
generating0
decision_required13
quarantined0
closed0
cancelled17

cancelled is the only non-zero terminal outcome in this run census. It is not a selection, approval, release, or a substitute for a human decision. The run-state source is artifacts/snapshots/foundry.json:247-253; human-only decision and approval gates are recorded separately at artifacts/snapshots/foundry.json:763-768.

The exporter keeps current-run membership separate from complete history. The distinction is enforced by its contract test and by validation requiring each historical count to be at least its current-run counterpart: tests/adapters/iconloom-ledger.test.ts:33-37, src/adapters/iconloom-ledger.ts:62-66.

Per-icon snapshot counts and candidate lists are history aggregates too. A current slate must be reconstructed from run-level submitted hashes, lanes, and candidate-to-run membership rather than an icon summary: docs/index.md:200-207.

Candidate accountingCurrent runsComplete historyHistorical difference
Submissions48557
Passes37436
Failures11121
Quarantines231

These columns are not a quality score or a funnel. Quarantine is a separate candidate count rather than a third mutually exclusive pass/fail outcome: src/contracts/dashboard.ts:5-10, src/adapters/iconloom-ledger.ts:122-125. The dated values come directly from artifacts/snapshots/foundry.json:254-265.

Representative lineage and terminal record

Gamepad illustrates why the two count scopes must not be collapsed:

  • Its ledger row orders four runs and remains pending a human decision: .iconloom/state.json:43-64.
  • Three earlier runs are cancelled: two ended without a submission, and one retained one submitted candidate. The later run has four submitted candidates and is decision_required: .iconloom/state.json:2215-2237,2331-2353,2360-2385,2392-2423.
  • The exported icon summary consequently retains five submissions for gamepad across its record, while the current run itself supplies four. This is lineage and accounting evidence, not evidence that any candidate was selected or approved: artifacts/snapshots/foundry.json:113-128.

The public page intentionally omits run IDs, candidate hashes, raw briefs, leases, and private operational fields. The cited source coordinates are audit pointers; they are not an invitation to treat the raw ledger as a public API.

No certification claim

Nothing in this export supports a certification, release, or approval claim:

  • Rights are unverified.
  • Release readiness is not_ready.
  • The export records 0 approved of 14 required runtime icons, alongside 27 remaining deterministic blockers and 3 remaining candidate quarantines.
  • A mechanically eligible candidate, a passing check, or a decision_required run remains below a human selection and approval.

Those are the export’s own fields and blockers, not a conclusion inferred from the aggregate counts: artifacts/snapshots/foundry.json:770-788. Authority remains human-only and a model may not select: artifacts/snapshots/foundry.json:763-768. See agents for the authority boundary and svg-and-evidence for the difference between measured evidence and a decision.

Reproduce this dated reading

Use field-level views rather than copying the raw state into a public report:

  • Catalog scope and ledger policy: inspect setId, status, inventoryCount, iconIds, and ledger in sets/catalog.yaml:1-35.
  • Operator-side lineage: inspect only revision, updatedAt, a chosen icon’s runIds, and the matching runs’ status and submitted-candidate counts in .iconloom/state.json:2-7,43-64,2215-2237,2331-2353,2360-2385,2392-2423.
  • Export census for operator inspection: inspect generatedAt, stateRevision, inventoryTotal, runsByState, currentRunCounts, historyCounts, rightsStatus, and releaseReadiness in artifacts/snapshots/foundry.json:2-8,247-265,763-806.
  • Snapshot boundary and unavailable-export behavior: inspect src/adapters/iconloom-ledger.ts:5-29 and src/App.tsx:114-129.

For the wider system context, read architecture, commands, search-and-decisions, and private page (sign-in required).