{
  "schema": "urdream-rss-ledger-execution-v1",
  "status": "PASS",
  "run": {
    "executed_at": "2026-11-06T10:42:07.828950+00:00",
    "platform": {
      "os": "Darwin",
      "os_release": "27.2.0",
      "architecture": "arm64",
      "python": "3.13.7"
    },
    "packages": {
      "feedparser": "6.0.14",
      "feedparser-sgmllib": "2.1.0"
    },
    "public_feed_file": "signal-rss-ledger-public-feed-20261106.xml.txt",
    "public_feed_sha256": "6c62435cdf6edf107031b103d16acf894cfa9b43b05c3d232fd173f1004ab6d8",
    "fixture_file": "signal-rss-ledger-fixtures-20261106.json",
    "fixture_sha256": "808b5f60faa2cc5a112bcdc4abf6eca153a988c70b609e5b5986ea64f221a17f",
    "replay_core_matches_expected": null,
    "cached_parse_timing": {
      "iterations": 25,
      "median_ms": 1.6822,
      "min_ms": 1.6266,
      "max_ms": 1.9239
    },
    "total_elapsed_ms": 52.012
  },
  "outcomes": {
    "public_input": {
      "feed_version": "rss20",
      "bozo": false,
      "bozo_exception_type": null,
      "entry_count": 18,
      "entries": [
        {
          "id": "https://signal.urdream.top/resumable-agents-need-safe-side-effects/",
          "link": "https://signal.urdream.top/resumable-agents-need-safe-side-effects/",
          "title": "A resumable agent needs safe side effects",
          "summary": "Saving progress helps an interrupted workflow continue, but external actions need their own identity and confirmation.",
          "published": "Sat, 31 Oct 2026 05:58:00 +0000",
          "updated": "Sat, 31 Oct 2026 05:58:00 +0000",
          "index": 0,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            31,
            5,
            58,
            0,
            5,
            304,
            0
          ],
          "parsed_fields_sha256": "8092d78ca20b258defdb0d535a5dc1a2392d2232a63a86375c348ef89ab84d5b"
        },
        {
          "id": "https://signal.urdream.top/agent-evaluations-beyond-the-final-answer/",
          "link": "https://signal.urdream.top/agent-evaluations-beyond-the-final-answer/",
          "title": "An agent evaluation should inspect the work",
          "summary": "An answer can look right while the underlying tool calls, permissions or evidence are wrong. Design tests around the whole task.",
          "published": "Sat, 31 Oct 2026 05:58:00 +0000",
          "updated": "Sat, 31 Oct 2026 05:58:00 +0000",
          "index": 1,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            31,
            5,
            58,
            0,
            5,
            304,
            0
          ],
          "parsed_fields_sha256": "a59799ac1e3c44bf5238a4149ff1bf445620c2b734b0e040055e32b3894cacd8"
        },
        {
          "id": "https://signal.urdream.top/evidence-reading-path/",
          "link": "https://signal.urdream.top/evidence-reading-path/",
          "title": "Published work needs an evidence trail",
          "summary": "Follow a source from collection to an approved draft and a page that can be checked and shared.",
          "published": "Wed, 28 Oct 2026 08:23:00 +0000",
          "updated": "Wed, 28 Oct 2026 08:23:00 +0000",
          "index": 2,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            8,
            23,
            0,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "9a250a30a5232c7f31b535d74cf5c6cb3e65666c03f9e64484e3642bbbccc505"
        },
        {
          "id": "https://signal.urdream.top/ai-infrastructure-reading-path/",
          "link": "https://signal.urdream.top/ai-infrastructure-reading-path/",
          "title": "AI infrastructure: count both budgets",
          "summary": "Connect model choices to hardware, operating cost and the work needed to run a reliable service.",
          "published": "Wed, 28 Oct 2026 08:23:00 +0000",
          "updated": "Wed, 28 Oct 2026 08:23:00 +0000",
          "index": 3,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            8,
            23,
            0,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "9d83fb5e1852d2dfcbf630d32448fd661ca03d07196bef0277a6c672d1faf591"
        },
        {
          "id": "https://signal.urdream.top/ai-agents-reading-path/",
          "link": "https://signal.urdream.top/ai-agents-reading-path/",
          "title": "AI agents: from permission to proof",
          "summary": "A short reading path for deciding what an agent may do, and how to check what it actually did.",
          "published": "Wed, 28 Oct 2026 08:23:00 +0000",
          "updated": "Wed, 28 Oct 2026 08:23:00 +0000",
          "index": 4,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            8,
            23,
            0,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "e9a04a9606c2b3ed2aafa51f35773c1d0a518f0cbd30331d73ec11e6596e2fb8"
        },
        {
          "id": "https://signal.urdream.top/share-page-metadata-own-address/",
          "link": "https://signal.urdream.top/share-page-metadata-own-address/",
          "title": "A shared page needs its own identity",
          "summary": "Treat the title, canonical address and preview image as part of the published article, then inspect the actual public response.",
          "published": "Wed, 28 Oct 2026 03:12:32 +0000",
          "updated": "Wed, 28 Oct 2026 03:12:32 +0000",
          "index": 5,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            3,
            12,
            32,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "e5ba47257f2e271f92128e81d799799f040bf7023cd19fce57860dd5eb7dd6b9"
        },
        {
          "id": "https://signal.urdream.top/launch-demo-usable-finish-line/",
          "link": "https://signal.urdream.top/launch-demo-usable-finish-line/",
          "title": "A launch demo needs a usable finish line",
          "summary": "A public URL, a bounded task and a clear result give people a way to inspect a product after the launch post disappears from view.",
          "published": "Wed, 28 Oct 2026 03:12:32 +0000",
          "updated": "Wed, 28 Oct 2026 03:12:32 +0000",
          "index": 6,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            3,
            12,
            32,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "97b703ddc2556de8b5b81df17d66b9adafd615e1a8d2b4a6c0a09a818ba0289d"
        },
        {
          "id": "https://signal.urdream.top/launch-page-next-question/",
          "link": "https://signal.urdream.top/launch-page-next-question/",
          "title": "A launch page should answer the next question",
          "summary": "A useful first screen puts a meaningful action beside enough evidence to understand it. Keep the deeper explanation one step away.",
          "published": "Wed, 28 Oct 2026 03:12:32 +0000",
          "updated": "Wed, 28 Oct 2026 03:12:32 +0000",
          "index": 7,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            3,
            12,
            32,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "c89e30907db9130c9efee19f78aa3e32a233bb2a86b283f2ef283db87f050afa"
        },
        {
          "id": "https://signal.urdream.top/structured-output-needs-domain-validation/",
          "link": "https://signal.urdream.top/structured-output-needs-domain-validation/",
          "title": "A JSON schema defines the handoff",
          "summary": "Structured generation helps software accept an answer. Domain checks must still establish that its values are supported and its proposed actions are allowed.",
          "published": "Wed, 28 Oct 2026 01:55:43 +0000",
          "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
          "index": 8,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            1,
            55,
            43,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "1ccebe926da3f74d24b281df6fc10c8c7bde943ff63a84de6e06249ee1b67604"
        },
        {
          "id": "https://signal.urdream.top/rss-discovery-needs-a-source-ledger/",
          "link": "https://signal.urdream.top/rss-discovery-needs-a-source-ledger/",
          "title": "RSS discovery needs a source ledger",
          "summary": "A feed can tell an editor that something changed. A useful evidence record must also explain which item, which version and which claim was examined.",
          "published": "Wed, 28 Oct 2026 01:55:43 +0000",
          "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
          "index": 9,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            1,
            55,
            43,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "ea68ed944c2df0099c18a5acf01d40394f0118f7c6b8dcd36ba643473cc01f18"
        },
        {
          "id": "https://signal.urdream.top/prompt-caching-starts-with-stable-inputs/",
          "link": "https://signal.urdream.top/prompt-caching-starts-with-stable-inputs/",
          "title": "Prompt caching starts with stable inputs",
          "summary": "Before forecasting savings, identify the prefix that really repeats, the work a cache can skip and the boundaries that keep reuse safe.",
          "published": "Wed, 28 Oct 2026 01:55:43 +0000",
          "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
          "index": 10,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            1,
            55,
            43,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "46e9eb740dc3cfac7aad2949287a6d281b307f6529957c4ceec915c5d8b74284"
        },
        {
          "id": "https://signal.urdream.top/evaluation-set-is-a-product-specification/",
          "link": "https://signal.urdream.top/evaluation-set-is-a-product-specification/",
          "title": "Your evaluation set is a product specification",
          "summary": "A useful AI evaluation explains who the product serves, which errors matter and what evidence makes an answer acceptable.",
          "published": "Wed, 28 Oct 2026 01:55:43 +0000",
          "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
          "index": 11,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            1,
            55,
            43,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "bbcdb024c120d5f892cfd9aee97e6ad487b3087268ae25601e8a598e4869aa3b"
        },
        {
          "id": "https://signal.urdream.top/agent-permissions-follow-the-action/",
          "link": "https://signal.urdream.top/agent-permissions-follow-the-action/",
          "title": "An agent permission should describe an action",
          "summary": "Turn broad access requests into bounded capabilities: a resource, an operation, an intended recipient and an observable result.",
          "published": "Wed, 28 Oct 2026 01:55:43 +0000",
          "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
          "index": 12,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            1,
            55,
            43,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "af98b1c0753cd6f008abbf5e2ccf75f0223ee19bcb47b927f4f6b0b5c926e473"
        },
        {
          "id": "https://signal.urdream.top/retrieval-or-long-context-evidence-design/",
          "link": "https://signal.urdream.top/retrieval-or-long-context-evidence-design/",
          "title": "Choose the evidence path before the context window",
          "summary": "RAG and long context place different demands on evidence selection. Compare the questions, missing sources and update rules before choosing a pipeline.",
          "published": "Wed, 28 Oct 2026 01:55:43 +0000",
          "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
          "index": 13,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            28,
            1,
            55,
            43,
            2,
            301,
            0
          ],
          "parsed_fields_sha256": "fc9d248a3323fbfb5cc23d96238009598b6d614b12cc626808de9c84bc326abc"
        },
        {
          "id": "https://signal.urdream.top/local-ai-two-budgets/",
          "link": "https://signal.urdream.top/local-ai-two-budgets/",
          "title": "Local AI has a hardware budget and an attention budget",
          "summary": "Moving a model onto your own machine changes the bill and the operating work. Count both before choosing a stack.",
          "published": "Tue, 27 Oct 2026 15:05:16 +0000",
          "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
          "index": 14,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            27,
            15,
            5,
            16,
            1,
            300,
            0
          ],
          "parsed_fields_sha256": "f6b028c5c9e393d134c2f58ef60d33b5a237f1d8f0c5739bf082207ed07b44fe"
        },
        {
          "id": "https://signal.urdream.top/review-the-exact-draft/",
          "link": "https://signal.urdream.top/review-the-exact-draft/",
          "title": "A review belongs to an exact draft",
          "summary": "An approval loses meaning when the underlying facts or text change. Bind the review to the version you intend to ship.",
          "published": "Tue, 27 Oct 2026 15:05:16 +0000",
          "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
          "index": 15,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            27,
            15,
            5,
            16,
            1,
            300,
            0
          ],
          "parsed_fields_sha256": "6ae96dbad0b0d84e5653f96fbcdf74afe925694d25006e8ffa9c10687df1e6ef"
        },
        {
          "id": "https://signal.urdream.top/reading-release-notes/",
          "link": "https://signal.urdream.top/reading-release-notes/",
          "title": "Read a release note before you upgrade",
          "summary": "A version number is a useful starting point. A good upgrade decision needs a closer look at scope, dates and rollback.",
          "published": "Tue, 27 Oct 2026 15:05:16 +0000",
          "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
          "index": 16,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            27,
            15,
            5,
            16,
            1,
            300,
            0
          ],
          "parsed_fields_sha256": "a100f299e5070026905d9d174bf62b565b28894314392451aa416d8ec31b283f"
        },
        {
          "id": "https://signal.urdream.top/small-server-big-decisions/",
          "link": "https://signal.urdream.top/small-server-big-decisions/",
          "title": "A small server changes the architecture",
          "summary": "Three publications do not need three always-on application stacks. Start with the resources you can actually measure.",
          "published": "Tue, 27 Oct 2026 15:05:16 +0000",
          "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
          "index": 17,
          "guidislink": false,
          "published_parsed": [
            2026,
            10,
            27,
            15,
            5,
            16,
            1,
            300,
            0
          ],
          "parsed_fields_sha256": "51579126441abcdcf843610445696f6296b161551c7cf1a6183beabb0ec39e79"
        }
      ],
      "example_batch_decision": "parsed-for-ledger-example"
    },
    "synthetic_inputs": {
      "opaque-guid": {
        "feed_version": "rss20",
        "bozo": false,
        "bozo_exception_type": null,
        "entry_count": 1,
        "entries": [
          {
            "id": "urn:example:record:42",
            "link": "https://publisher.example/report",
            "title": "Fictional release note",
            "summary": "The synthetic request cap is 10.",
            "published": "Fri, 06 Nov 2026 00:00:00 GMT",
            "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
            "index": 0,
            "guidislink": false,
            "published_parsed": [
              2026,
              11,
              6,
              0,
              0,
              0,
              4,
              310,
              0
            ],
            "parsed_fields_sha256": "63fb243d834b08ed8e1266d6cb2fe861c2fc23f9ccc5fb51d11cd70536cf2cef"
          }
        ],
        "example_batch_decision": "parsed-for-ledger-example"
      },
      "revision-before": {
        "feed_version": "rss20",
        "bozo": false,
        "bozo_exception_type": null,
        "entry_count": 1,
        "entries": [
          {
            "id": "urn:example:record:42",
            "link": "https://publisher.example/report",
            "title": "Fictional release note",
            "summary": "The synthetic request cap is 10.",
            "published": "Fri, 06 Nov 2026 00:00:00 GMT",
            "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
            "index": 0,
            "guidislink": false,
            "published_parsed": [
              2026,
              11,
              6,
              0,
              0,
              0,
              4,
              310,
              0
            ],
            "parsed_fields_sha256": "63fb243d834b08ed8e1266d6cb2fe861c2fc23f9ccc5fb51d11cd70536cf2cef"
          }
        ],
        "example_batch_decision": "parsed-for-ledger-example"
      },
      "revision-after": {
        "feed_version": "rss20",
        "bozo": false,
        "bozo_exception_type": null,
        "entry_count": 1,
        "entries": [
          {
            "id": "urn:example:record:42",
            "link": "https://publisher.example/report",
            "title": "Fictional release note",
            "summary": "The synthetic request cap is 8.",
            "published": "Fri, 06 Nov 2026 00:00:00 GMT",
            "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
            "index": 0,
            "guidislink": false,
            "published_parsed": [
              2026,
              11,
              6,
              0,
              0,
              0,
              4,
              310,
              0
            ],
            "parsed_fields_sha256": "0ac117128626794cd8156b389d28f09dc1b26dda7b29075862d61cb0170cd21c"
          }
        ],
        "example_batch_decision": "parsed-for-ledger-example"
      },
      "shared-link-a": {
        "feed_version": "rss20",
        "bozo": false,
        "bozo_exception_type": null,
        "entry_count": 1,
        "entries": [
          {
            "id": "urn:example:a",
            "link": "https://publisher.example/report",
            "title": "Fictional release note",
            "summary": "The synthetic request cap is 10.",
            "published": "Fri, 06 Nov 2026 00:00:00 GMT",
            "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
            "index": 0,
            "guidislink": false,
            "published_parsed": [
              2026,
              11,
              6,
              0,
              0,
              0,
              4,
              310,
              0
            ],
            "parsed_fields_sha256": "90bac3fb506a5eff37e225b24275012a8d78f5e9f6b73bf471213201f2227613"
          }
        ],
        "example_batch_decision": "parsed-for-ledger-example"
      },
      "shared-link-b": {
        "feed_version": "rss20",
        "bozo": false,
        "bozo_exception_type": null,
        "entry_count": 1,
        "entries": [
          {
            "id": "urn:example:b",
            "link": "https://publisher.example/report",
            "title": "Fictional release note",
            "summary": "The synthetic request cap is 10.",
            "published": "Fri, 06 Nov 2026 00:00:00 GMT",
            "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
            "index": 0,
            "guidislink": false,
            "published_parsed": [
              2026,
              11,
              6,
              0,
              0,
              0,
              4,
              310,
              0
            ],
            "parsed_fields_sha256": "34b3e6265ef783810420e42151fb5acd56014a21b6ea1ecaad11eb0937f7db58"
          }
        ],
        "example_batch_decision": "parsed-for-ledger-example"
      },
      "query-distinct": {
        "feed_version": "rss20",
        "bozo": false,
        "bozo_exception_type": null,
        "entry_count": 2,
        "entries": [
          {
            "id": null,
            "link": "https://publisher.example/report?edition=1",
            "title": "Fictional release note",
            "summary": "The synthetic request cap is 10.",
            "published": "Fri, 06 Nov 2026 00:00:00 GMT",
            "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
            "index": 0,
            "guidislink": null,
            "published_parsed": [
              2026,
              11,
              6,
              0,
              0,
              0,
              4,
              310,
              0
            ],
            "parsed_fields_sha256": "7566730c981974a66ce0022c2a4ca2c3c5d4ec178c8d3bafee2aa1b4f9c260bd"
          },
          {
            "id": null,
            "link": "https://publisher.example/report?edition=2",
            "title": "Fictional release note",
            "summary": "The synthetic request cap is 10.",
            "published": "Fri, 06 Nov 2026 00:00:00 GMT",
            "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
            "index": 1,
            "guidislink": null,
            "published_parsed": [
              2026,
              11,
              6,
              0,
              0,
              0,
              4,
              310,
              0
            ],
            "parsed_fields_sha256": "17aab59ad64f3227bf4c20678ddb57aee50cad3b62bd0e5404cb4f3133c2f49a"
          }
        ],
        "example_batch_decision": "parsed-for-ledger-example"
      },
      "unparsed-date": {
        "feed_version": "rss20",
        "bozo": false,
        "bozo_exception_type": null,
        "entry_count": 1,
        "entries": [
          {
            "id": "urn:example:record:42",
            "link": "https://publisher.example/report",
            "title": "Fictional release note",
            "summary": "The synthetic request cap is 10.",
            "published": "not a date",
            "updated": "not a date",
            "index": 0,
            "guidislink": false,
            "published_parsed": null,
            "parsed_fields_sha256": "b8bbc68beaac9742ce76e11131b3cd99c0664e4feb22359fe4ed8791d7d33eca"
          }
        ],
        "example_batch_decision": "parsed-for-ledger-example"
      },
      "missing-identity": {
        "feed_version": "rss20",
        "bozo": false,
        "bozo_exception_type": null,
        "entry_count": 2,
        "entries": [
          {
            "id": null,
            "link": null,
            "title": "Fictional release note",
            "summary": "The synthetic request cap is 10.",
            "published": "Fri, 06 Nov 2026 00:00:00 GMT",
            "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
            "index": 0,
            "guidislink": null,
            "published_parsed": [
              2026,
              11,
              6,
              0,
              0,
              0,
              4,
              310,
              0
            ],
            "parsed_fields_sha256": "59c159a90638938414c662f3c196a2fe52bc00f8c28a56810a01124af81fa023"
          },
          {
            "id": null,
            "link": null,
            "title": "Fictional release note",
            "summary": "The synthetic request cap is 10.",
            "published": "Fri, 06 Nov 2026 00:00:00 GMT",
            "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
            "index": 1,
            "guidislink": null,
            "published_parsed": [
              2026,
              11,
              6,
              0,
              0,
              0,
              4,
              310,
              0
            ],
            "parsed_fields_sha256": "59c159a90638938414c662f3c196a2fe52bc00f8c28a56810a01124af81fa023"
          }
        ],
        "example_batch_decision": "parsed-for-ledger-example"
      },
      "truncated-xml": {
        "feed_version": "rss20",
        "bozo": true,
        "bozo_exception_type": "SAXParseException",
        "entry_count": 1,
        "entries": [
          {
            "id": "urn:example:record:42",
            "link": "https://publisher.example/report",
            "title": "Fictional release note",
            "summary": "The synthetic request cap is 10.",
            "published": "Fri, 06 Nov 2026 00:00:00 GMT",
            "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
            "index": 0,
            "guidislink": false,
            "published_parsed": [
              2026,
              11,
              6,
              0,
              0,
              0,
              4,
              310,
              0
            ],
            "parsed_fields_sha256": "63fb243d834b08ed8e1266d6cb2fe861c2fc23f9ccc5fb51d11cd70536cf2cef"
          }
        ],
        "example_batch_decision": "hold-for-review"
      },
      "not-a-feed": {
        "feed_version": "",
        "bozo": false,
        "bozo_exception_type": null,
        "entry_count": 0,
        "entries": [],
        "example_batch_decision": "hold-for-review"
      }
    },
    "editorial_example": {
      "duplicate_public_input": {
        "observation_count": 36,
        "identity_count": 18,
        "records": [
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/resumable-agents-need-safe-side-effects/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/resumable-agents-need-safe-side-effects/",
                "link": "https://signal.urdream.top/resumable-agents-need-safe-side-effects/",
                "title": "A resumable agent needs safe side effects",
                "summary": "Saving progress helps an interrupted workflow continue, but external actions need their own identity and confirmation.",
                "published": "Sat, 31 Oct 2026 05:58:00 +0000",
                "updated": "Sat, 31 Oct 2026 05:58:00 +0000",
                "index": 0,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  31,
                  5,
                  58,
                  0,
                  5,
                  304,
                  0
                ],
                "parsed_fields_sha256": "8092d78ca20b258defdb0d535a5dc1a2392d2232a63a86375c348ef89ab84d5b",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/resumable-agents-need-safe-side-effects/",
                "link": "https://signal.urdream.top/resumable-agents-need-safe-side-effects/",
                "title": "A resumable agent needs safe side effects",
                "summary": "Saving progress helps an interrupted workflow continue, but external actions need their own identity and confirmation.",
                "published": "Sat, 31 Oct 2026 05:58:00 +0000",
                "updated": "Sat, 31 Oct 2026 05:58:00 +0000",
                "index": 0,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  31,
                  5,
                  58,
                  0,
                  5,
                  304,
                  0
                ],
                "parsed_fields_sha256": "8092d78ca20b258defdb0d535a5dc1a2392d2232a63a86375c348ef89ab84d5b",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/agent-evaluations-beyond-the-final-answer/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/agent-evaluations-beyond-the-final-answer/",
                "link": "https://signal.urdream.top/agent-evaluations-beyond-the-final-answer/",
                "title": "An agent evaluation should inspect the work",
                "summary": "An answer can look right while the underlying tool calls, permissions or evidence are wrong. Design tests around the whole task.",
                "published": "Sat, 31 Oct 2026 05:58:00 +0000",
                "updated": "Sat, 31 Oct 2026 05:58:00 +0000",
                "index": 1,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  31,
                  5,
                  58,
                  0,
                  5,
                  304,
                  0
                ],
                "parsed_fields_sha256": "a59799ac1e3c44bf5238a4149ff1bf445620c2b734b0e040055e32b3894cacd8",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/agent-evaluations-beyond-the-final-answer/",
                "link": "https://signal.urdream.top/agent-evaluations-beyond-the-final-answer/",
                "title": "An agent evaluation should inspect the work",
                "summary": "An answer can look right while the underlying tool calls, permissions or evidence are wrong. Design tests around the whole task.",
                "published": "Sat, 31 Oct 2026 05:58:00 +0000",
                "updated": "Sat, 31 Oct 2026 05:58:00 +0000",
                "index": 1,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  31,
                  5,
                  58,
                  0,
                  5,
                  304,
                  0
                ],
                "parsed_fields_sha256": "a59799ac1e3c44bf5238a4149ff1bf445620c2b734b0e040055e32b3894cacd8",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/evidence-reading-path/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/evidence-reading-path/",
                "link": "https://signal.urdream.top/evidence-reading-path/",
                "title": "Published work needs an evidence trail",
                "summary": "Follow a source from collection to an approved draft and a page that can be checked and shared.",
                "published": "Wed, 28 Oct 2026 08:23:00 +0000",
                "updated": "Wed, 28 Oct 2026 08:23:00 +0000",
                "index": 2,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  8,
                  23,
                  0,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "9a250a30a5232c7f31b535d74cf5c6cb3e65666c03f9e64484e3642bbbccc505",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/evidence-reading-path/",
                "link": "https://signal.urdream.top/evidence-reading-path/",
                "title": "Published work needs an evidence trail",
                "summary": "Follow a source from collection to an approved draft and a page that can be checked and shared.",
                "published": "Wed, 28 Oct 2026 08:23:00 +0000",
                "updated": "Wed, 28 Oct 2026 08:23:00 +0000",
                "index": 2,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  8,
                  23,
                  0,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "9a250a30a5232c7f31b535d74cf5c6cb3e65666c03f9e64484e3642bbbccc505",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/ai-infrastructure-reading-path/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/ai-infrastructure-reading-path/",
                "link": "https://signal.urdream.top/ai-infrastructure-reading-path/",
                "title": "AI infrastructure: count both budgets",
                "summary": "Connect model choices to hardware, operating cost and the work needed to run a reliable service.",
                "published": "Wed, 28 Oct 2026 08:23:00 +0000",
                "updated": "Wed, 28 Oct 2026 08:23:00 +0000",
                "index": 3,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  8,
                  23,
                  0,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "9d83fb5e1852d2dfcbf630d32448fd661ca03d07196bef0277a6c672d1faf591",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/ai-infrastructure-reading-path/",
                "link": "https://signal.urdream.top/ai-infrastructure-reading-path/",
                "title": "AI infrastructure: count both budgets",
                "summary": "Connect model choices to hardware, operating cost and the work needed to run a reliable service.",
                "published": "Wed, 28 Oct 2026 08:23:00 +0000",
                "updated": "Wed, 28 Oct 2026 08:23:00 +0000",
                "index": 3,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  8,
                  23,
                  0,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "9d83fb5e1852d2dfcbf630d32448fd661ca03d07196bef0277a6c672d1faf591",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/ai-agents-reading-path/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/ai-agents-reading-path/",
                "link": "https://signal.urdream.top/ai-agents-reading-path/",
                "title": "AI agents: from permission to proof",
                "summary": "A short reading path for deciding what an agent may do, and how to check what it actually did.",
                "published": "Wed, 28 Oct 2026 08:23:00 +0000",
                "updated": "Wed, 28 Oct 2026 08:23:00 +0000",
                "index": 4,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  8,
                  23,
                  0,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "e9a04a9606c2b3ed2aafa51f35773c1d0a518f0cbd30331d73ec11e6596e2fb8",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/ai-agents-reading-path/",
                "link": "https://signal.urdream.top/ai-agents-reading-path/",
                "title": "AI agents: from permission to proof",
                "summary": "A short reading path for deciding what an agent may do, and how to check what it actually did.",
                "published": "Wed, 28 Oct 2026 08:23:00 +0000",
                "updated": "Wed, 28 Oct 2026 08:23:00 +0000",
                "index": 4,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  8,
                  23,
                  0,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "e9a04a9606c2b3ed2aafa51f35773c1d0a518f0cbd30331d73ec11e6596e2fb8",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/share-page-metadata-own-address/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/share-page-metadata-own-address/",
                "link": "https://signal.urdream.top/share-page-metadata-own-address/",
                "title": "A shared page needs its own identity",
                "summary": "Treat the title, canonical address and preview image as part of the published article, then inspect the actual public response.",
                "published": "Wed, 28 Oct 2026 03:12:32 +0000",
                "updated": "Wed, 28 Oct 2026 03:12:32 +0000",
                "index": 5,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  3,
                  12,
                  32,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "e5ba47257f2e271f92128e81d799799f040bf7023cd19fce57860dd5eb7dd6b9",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/share-page-metadata-own-address/",
                "link": "https://signal.urdream.top/share-page-metadata-own-address/",
                "title": "A shared page needs its own identity",
                "summary": "Treat the title, canonical address and preview image as part of the published article, then inspect the actual public response.",
                "published": "Wed, 28 Oct 2026 03:12:32 +0000",
                "updated": "Wed, 28 Oct 2026 03:12:32 +0000",
                "index": 5,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  3,
                  12,
                  32,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "e5ba47257f2e271f92128e81d799799f040bf7023cd19fce57860dd5eb7dd6b9",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/launch-demo-usable-finish-line/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/launch-demo-usable-finish-line/",
                "link": "https://signal.urdream.top/launch-demo-usable-finish-line/",
                "title": "A launch demo needs a usable finish line",
                "summary": "A public URL, a bounded task and a clear result give people a way to inspect a product after the launch post disappears from view.",
                "published": "Wed, 28 Oct 2026 03:12:32 +0000",
                "updated": "Wed, 28 Oct 2026 03:12:32 +0000",
                "index": 6,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  3,
                  12,
                  32,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "97b703ddc2556de8b5b81df17d66b9adafd615e1a8d2b4a6c0a09a818ba0289d",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/launch-demo-usable-finish-line/",
                "link": "https://signal.urdream.top/launch-demo-usable-finish-line/",
                "title": "A launch demo needs a usable finish line",
                "summary": "A public URL, a bounded task and a clear result give people a way to inspect a product after the launch post disappears from view.",
                "published": "Wed, 28 Oct 2026 03:12:32 +0000",
                "updated": "Wed, 28 Oct 2026 03:12:32 +0000",
                "index": 6,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  3,
                  12,
                  32,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "97b703ddc2556de8b5b81df17d66b9adafd615e1a8d2b4a6c0a09a818ba0289d",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/launch-page-next-question/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/launch-page-next-question/",
                "link": "https://signal.urdream.top/launch-page-next-question/",
                "title": "A launch page should answer the next question",
                "summary": "A useful first screen puts a meaningful action beside enough evidence to understand it. Keep the deeper explanation one step away.",
                "published": "Wed, 28 Oct 2026 03:12:32 +0000",
                "updated": "Wed, 28 Oct 2026 03:12:32 +0000",
                "index": 7,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  3,
                  12,
                  32,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "c89e30907db9130c9efee19f78aa3e32a233bb2a86b283f2ef283db87f050afa",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/launch-page-next-question/",
                "link": "https://signal.urdream.top/launch-page-next-question/",
                "title": "A launch page should answer the next question",
                "summary": "A useful first screen puts a meaningful action beside enough evidence to understand it. Keep the deeper explanation one step away.",
                "published": "Wed, 28 Oct 2026 03:12:32 +0000",
                "updated": "Wed, 28 Oct 2026 03:12:32 +0000",
                "index": 7,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  3,
                  12,
                  32,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "c89e30907db9130c9efee19f78aa3e32a233bb2a86b283f2ef283db87f050afa",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/structured-output-needs-domain-validation/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/structured-output-needs-domain-validation/",
                "link": "https://signal.urdream.top/structured-output-needs-domain-validation/",
                "title": "A JSON schema defines the handoff",
                "summary": "Structured generation helps software accept an answer. Domain checks must still establish that its values are supported and its proposed actions are allowed.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 8,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "1ccebe926da3f74d24b281df6fc10c8c7bde943ff63a84de6e06249ee1b67604",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/structured-output-needs-domain-validation/",
                "link": "https://signal.urdream.top/structured-output-needs-domain-validation/",
                "title": "A JSON schema defines the handoff",
                "summary": "Structured generation helps software accept an answer. Domain checks must still establish that its values are supported and its proposed actions are allowed.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 8,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "1ccebe926da3f74d24b281df6fc10c8c7bde943ff63a84de6e06249ee1b67604",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/rss-discovery-needs-a-source-ledger/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/rss-discovery-needs-a-source-ledger/",
                "link": "https://signal.urdream.top/rss-discovery-needs-a-source-ledger/",
                "title": "RSS discovery needs a source ledger",
                "summary": "A feed can tell an editor that something changed. A useful evidence record must also explain which item, which version and which claim was examined.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 9,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "ea68ed944c2df0099c18a5acf01d40394f0118f7c6b8dcd36ba643473cc01f18",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/rss-discovery-needs-a-source-ledger/",
                "link": "https://signal.urdream.top/rss-discovery-needs-a-source-ledger/",
                "title": "RSS discovery needs a source ledger",
                "summary": "A feed can tell an editor that something changed. A useful evidence record must also explain which item, which version and which claim was examined.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 9,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "ea68ed944c2df0099c18a5acf01d40394f0118f7c6b8dcd36ba643473cc01f18",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/prompt-caching-starts-with-stable-inputs/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/prompt-caching-starts-with-stable-inputs/",
                "link": "https://signal.urdream.top/prompt-caching-starts-with-stable-inputs/",
                "title": "Prompt caching starts with stable inputs",
                "summary": "Before forecasting savings, identify the prefix that really repeats, the work a cache can skip and the boundaries that keep reuse safe.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 10,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "46e9eb740dc3cfac7aad2949287a6d281b307f6529957c4ceec915c5d8b74284",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/prompt-caching-starts-with-stable-inputs/",
                "link": "https://signal.urdream.top/prompt-caching-starts-with-stable-inputs/",
                "title": "Prompt caching starts with stable inputs",
                "summary": "Before forecasting savings, identify the prefix that really repeats, the work a cache can skip and the boundaries that keep reuse safe.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 10,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "46e9eb740dc3cfac7aad2949287a6d281b307f6529957c4ceec915c5d8b74284",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/evaluation-set-is-a-product-specification/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/evaluation-set-is-a-product-specification/",
                "link": "https://signal.urdream.top/evaluation-set-is-a-product-specification/",
                "title": "Your evaluation set is a product specification",
                "summary": "A useful AI evaluation explains who the product serves, which errors matter and what evidence makes an answer acceptable.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 11,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "bbcdb024c120d5f892cfd9aee97e6ad487b3087268ae25601e8a598e4869aa3b",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/evaluation-set-is-a-product-specification/",
                "link": "https://signal.urdream.top/evaluation-set-is-a-product-specification/",
                "title": "Your evaluation set is a product specification",
                "summary": "A useful AI evaluation explains who the product serves, which errors matter and what evidence makes an answer acceptable.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 11,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "bbcdb024c120d5f892cfd9aee97e6ad487b3087268ae25601e8a598e4869aa3b",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/agent-permissions-follow-the-action/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/agent-permissions-follow-the-action/",
                "link": "https://signal.urdream.top/agent-permissions-follow-the-action/",
                "title": "An agent permission should describe an action",
                "summary": "Turn broad access requests into bounded capabilities: a resource, an operation, an intended recipient and an observable result.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 12,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "af98b1c0753cd6f008abbf5e2ccf75f0223ee19bcb47b927f4f6b0b5c926e473",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/agent-permissions-follow-the-action/",
                "link": "https://signal.urdream.top/agent-permissions-follow-the-action/",
                "title": "An agent permission should describe an action",
                "summary": "Turn broad access requests into bounded capabilities: a resource, an operation, an intended recipient and an observable result.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 12,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "af98b1c0753cd6f008abbf5e2ccf75f0223ee19bcb47b927f4f6b0b5c926e473",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/retrieval-or-long-context-evidence-design/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/retrieval-or-long-context-evidence-design/",
                "link": "https://signal.urdream.top/retrieval-or-long-context-evidence-design/",
                "title": "Choose the evidence path before the context window",
                "summary": "RAG and long context place different demands on evidence selection. Compare the questions, missing sources and update rules before choosing a pipeline.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 13,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "fc9d248a3323fbfb5cc23d96238009598b6d614b12cc626808de9c84bc326abc",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/retrieval-or-long-context-evidence-design/",
                "link": "https://signal.urdream.top/retrieval-or-long-context-evidence-design/",
                "title": "Choose the evidence path before the context window",
                "summary": "RAG and long context place different demands on evidence selection. Compare the questions, missing sources and update rules before choosing a pipeline.",
                "published": "Wed, 28 Oct 2026 01:55:43 +0000",
                "updated": "Wed, 28 Oct 2026 01:55:43 +0000",
                "index": 13,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  28,
                  1,
                  55,
                  43,
                  2,
                  301,
                  0
                ],
                "parsed_fields_sha256": "fc9d248a3323fbfb5cc23d96238009598b6d614b12cc626808de9c84bc326abc",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/local-ai-two-budgets/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/local-ai-two-budgets/",
                "link": "https://signal.urdream.top/local-ai-two-budgets/",
                "title": "Local AI has a hardware budget and an attention budget",
                "summary": "Moving a model onto your own machine changes the bill and the operating work. Count both before choosing a stack.",
                "published": "Tue, 27 Oct 2026 15:05:16 +0000",
                "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
                "index": 14,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  27,
                  15,
                  5,
                  16,
                  1,
                  300,
                  0
                ],
                "parsed_fields_sha256": "f6b028c5c9e393d134c2f58ef60d33b5a237f1d8f0c5739bf082207ed07b44fe",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/local-ai-two-budgets/",
                "link": "https://signal.urdream.top/local-ai-two-budgets/",
                "title": "Local AI has a hardware budget and an attention budget",
                "summary": "Moving a model onto your own machine changes the bill and the operating work. Count both before choosing a stack.",
                "published": "Tue, 27 Oct 2026 15:05:16 +0000",
                "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
                "index": 14,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  27,
                  15,
                  5,
                  16,
                  1,
                  300,
                  0
                ],
                "parsed_fields_sha256": "f6b028c5c9e393d134c2f58ef60d33b5a237f1d8f0c5739bf082207ed07b44fe",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/review-the-exact-draft/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/review-the-exact-draft/",
                "link": "https://signal.urdream.top/review-the-exact-draft/",
                "title": "A review belongs to an exact draft",
                "summary": "An approval loses meaning when the underlying facts or text change. Bind the review to the version you intend to ship.",
                "published": "Tue, 27 Oct 2026 15:05:16 +0000",
                "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
                "index": 15,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  27,
                  15,
                  5,
                  16,
                  1,
                  300,
                  0
                ],
                "parsed_fields_sha256": "6ae96dbad0b0d84e5653f96fbcdf74afe925694d25006e8ffa9c10687df1e6ef",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/review-the-exact-draft/",
                "link": "https://signal.urdream.top/review-the-exact-draft/",
                "title": "A review belongs to an exact draft",
                "summary": "An approval loses meaning when the underlying facts or text change. Bind the review to the version you intend to ship.",
                "published": "Tue, 27 Oct 2026 15:05:16 +0000",
                "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
                "index": 15,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  27,
                  15,
                  5,
                  16,
                  1,
                  300,
                  0
                ],
                "parsed_fields_sha256": "6ae96dbad0b0d84e5653f96fbcdf74afe925694d25006e8ffa9c10687df1e6ef",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/reading-release-notes/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/reading-release-notes/",
                "link": "https://signal.urdream.top/reading-release-notes/",
                "title": "Read a release note before you upgrade",
                "summary": "A version number is a useful starting point. A good upgrade decision needs a closer look at scope, dates and rollback.",
                "published": "Tue, 27 Oct 2026 15:05:16 +0000",
                "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
                "index": 16,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  27,
                  15,
                  5,
                  16,
                  1,
                  300,
                  0
                ],
                "parsed_fields_sha256": "a100f299e5070026905d9d174bf62b565b28894314392451aa416d8ec31b283f",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/reading-release-notes/",
                "link": "https://signal.urdream.top/reading-release-notes/",
                "title": "Read a release note before you upgrade",
                "summary": "A version number is a useful starting point. A good upgrade decision needs a closer look at scope, dates and rollback.",
                "published": "Tue, 27 Oct 2026 15:05:16 +0000",
                "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
                "index": 16,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  27,
                  15,
                  5,
                  16,
                  1,
                  300,
                  0
                ],
                "parsed_fields_sha256": "a100f299e5070026905d9d174bf62b565b28894314392451aa416d8ec31b283f",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://signal.urdream.top/rss.xml",
              "feed-id",
              "https://signal.urdream.top/small-server-big-decisions/"
            ],
            "observation_count": 2,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "input-1",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/small-server-big-decisions/",
                "link": "https://signal.urdream.top/small-server-big-decisions/",
                "title": "A small server changes the architecture",
                "summary": "Three publications do not need three always-on application stacks. Start with the resources you can actually measure.",
                "published": "Tue, 27 Oct 2026 15:05:16 +0000",
                "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
                "index": 17,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  27,
                  15,
                  5,
                  16,
                  1,
                  300,
                  0
                ],
                "parsed_fields_sha256": "51579126441abcdcf843610445696f6296b161551c7cf1a6183beabb0ec39e79",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "input-2-same-saved-bytes",
                "feed_url": "https://signal.urdream.top/rss.xml",
                "id": "https://signal.urdream.top/small-server-big-decisions/",
                "link": "https://signal.urdream.top/small-server-big-decisions/",
                "title": "A small server changes the architecture",
                "summary": "Three publications do not need three always-on application stacks. Start with the resources you can actually measure.",
                "published": "Tue, 27 Oct 2026 15:05:16 +0000",
                "updated": "Tue, 27 Oct 2026 15:05:16 +0000",
                "index": 17,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  10,
                  27,
                  15,
                  5,
                  16,
                  1,
                  300,
                  0
                ],
                "parsed_fields_sha256": "51579126441abcdcf843610445696f6296b161551c7cf1a6183beabb0ec39e79",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          }
        ],
        "same_link_different_identities": {}
      },
      "same_id_revision": {
        "observation_count": 2,
        "identity_count": 1,
        "records": [
          {
            "identity": [
              "https://publisher.example/feed.xml",
              "feed-id",
              "urn:example:record:42"
            ],
            "observation_count": 2,
            "parsed_revision_count": 2,
            "observations": [
              {
                "batch": "revision-before",
                "feed_url": "https://publisher.example/feed.xml",
                "id": "urn:example:record:42",
                "link": "https://publisher.example/report",
                "title": "Fictional release note",
                "summary": "The synthetic request cap is 10.",
                "published": "Fri, 06 Nov 2026 00:00:00 GMT",
                "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
                "index": 0,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  11,
                  6,
                  0,
                  0,
                  0,
                  4,
                  310,
                  0
                ],
                "parsed_fields_sha256": "63fb243d834b08ed8e1266d6cb2fe861c2fc23f9ccc5fb51d11cd70536cf2cef",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              },
              {
                "batch": "revision-after",
                "feed_url": "https://publisher.example/feed.xml",
                "id": "urn:example:record:42",
                "link": "https://publisher.example/report",
                "title": "Fictional release note",
                "summary": "The synthetic request cap is 8.",
                "published": "Fri, 06 Nov 2026 00:00:00 GMT",
                "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
                "index": 0,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  11,
                  6,
                  0,
                  0,
                  0,
                  4,
                  310,
                  0
                ],
                "parsed_fields_sha256": "0ac117128626794cd8156b389d28f09dc1b26dda7b29075862d61cb0170cd21c",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          }
        ],
        "same_link_different_identities": {}
      },
      "common_link": {
        "observation_count": 2,
        "identity_count": 2,
        "records": [
          {
            "identity": [
              "https://publisher-a.example/feed.xml",
              "feed-id",
              "urn:example:a"
            ],
            "observation_count": 1,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "shared-link-a",
                "feed_url": "https://publisher-a.example/feed.xml",
                "id": "urn:example:a",
                "link": "https://publisher.example/report",
                "title": "Fictional release note",
                "summary": "The synthetic request cap is 10.",
                "published": "Fri, 06 Nov 2026 00:00:00 GMT",
                "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
                "index": 0,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  11,
                  6,
                  0,
                  0,
                  0,
                  4,
                  310,
                  0
                ],
                "parsed_fields_sha256": "90bac3fb506a5eff37e225b24275012a8d78f5e9f6b73bf471213201f2227613",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://publisher-b.example/feed.xml",
              "feed-id",
              "urn:example:b"
            ],
            "observation_count": 1,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "shared-link-b",
                "feed_url": "https://publisher-b.example/feed.xml",
                "id": "urn:example:b",
                "link": "https://publisher.example/report",
                "title": "Fictional release note",
                "summary": "The synthetic request cap is 10.",
                "published": "Fri, 06 Nov 2026 00:00:00 GMT",
                "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
                "index": 0,
                "guidislink": false,
                "published_parsed": [
                  2026,
                  11,
                  6,
                  0,
                  0,
                  0,
                  4,
                  310,
                  0
                ],
                "parsed_fields_sha256": "34b3e6265ef783810420e42151fb5acd56014a21b6ea1ecaad11eb0937f7db58",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          }
        ],
        "same_link_different_identities": {
          "https://publisher.example/report": 2
        }
      },
      "distinct_query": {
        "observation_count": 2,
        "identity_count": 2,
        "records": [
          {
            "identity": [
              "https://publisher.example/feed.xml",
              "exact-link",
              "https://publisher.example/report?edition=1"
            ],
            "observation_count": 1,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "query-distinct",
                "feed_url": "https://publisher.example/feed.xml",
                "id": null,
                "link": "https://publisher.example/report?edition=1",
                "title": "Fictional release note",
                "summary": "The synthetic request cap is 10.",
                "published": "Fri, 06 Nov 2026 00:00:00 GMT",
                "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
                "index": 0,
                "guidislink": null,
                "published_parsed": [
                  2026,
                  11,
                  6,
                  0,
                  0,
                  0,
                  4,
                  310,
                  0
                ],
                "parsed_fields_sha256": "7566730c981974a66ce0022c2a4ca2c3c5d4ec178c8d3bafee2aa1b4f9c260bd",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://publisher.example/feed.xml",
              "exact-link",
              "https://publisher.example/report?edition=2"
            ],
            "observation_count": 1,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "query-distinct",
                "feed_url": "https://publisher.example/feed.xml",
                "id": null,
                "link": "https://publisher.example/report?edition=2",
                "title": "Fictional release note",
                "summary": "The synthetic request cap is 10.",
                "published": "Fri, 06 Nov 2026 00:00:00 GMT",
                "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
                "index": 1,
                "guidislink": null,
                "published_parsed": [
                  2026,
                  11,
                  6,
                  0,
                  0,
                  0,
                  4,
                  310,
                  0
                ],
                "parsed_fields_sha256": "17aab59ad64f3227bf4c20678ddb57aee50cad3b62bd0e5404cb4f3133c2f49a",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          }
        ],
        "same_link_different_identities": {}
      },
      "missing_identity": {
        "observation_count": 2,
        "identity_count": 2,
        "records": [
          {
            "identity": [
              "https://publisher.example/feed.xml",
              "unidentified-observation",
              "missing-identity",
              0
            ],
            "observation_count": 1,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "missing-identity",
                "feed_url": "https://publisher.example/feed.xml",
                "id": null,
                "link": null,
                "title": "Fictional release note",
                "summary": "The synthetic request cap is 10.",
                "published": "Fri, 06 Nov 2026 00:00:00 GMT",
                "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
                "index": 0,
                "guidislink": null,
                "published_parsed": [
                  2026,
                  11,
                  6,
                  0,
                  0,
                  0,
                  4,
                  310,
                  0
                ],
                "parsed_fields_sha256": "59c159a90638938414c662f3c196a2fe52bc00f8c28a56810a01124af81fa023",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          },
          {
            "identity": [
              "https://publisher.example/feed.xml",
              "unidentified-observation",
              "missing-identity",
              1
            ],
            "observation_count": 1,
            "parsed_revision_count": 1,
            "observations": [
              {
                "batch": "missing-identity",
                "feed_url": "https://publisher.example/feed.xml",
                "id": null,
                "link": null,
                "title": "Fictional release note",
                "summary": "The synthetic request cap is 10.",
                "published": "Fri, 06 Nov 2026 00:00:00 GMT",
                "updated": "Fri, 06 Nov 2026 00:00:00 GMT",
                "index": 1,
                "guidislink": null,
                "published_parsed": [
                  2026,
                  11,
                  6,
                  0,
                  0,
                  0,
                  4,
                  310,
                  0
                ],
                "parsed_fields_sha256": "59c159a90638938414c662f3c196a2fe52bc00f8c28a56810a01124af81fa023",
                "linked_document_final_url": null,
                "linked_document_sha256": null,
                "factual_verification": "NOT_RUN"
              }
            ]
          }
        ],
        "same_link_different_identities": {}
      }
    },
    "checks": [
      {
        "name": "installed-version-pinned",
        "passed": true
      },
      {
        "name": "public-rss20",
        "passed": true
      },
      {
        "name": "public-no-bozo",
        "passed": true
      },
      {
        "name": "public-count-matches-raw-xml",
        "passed": true
      },
      {
        "name": "public-snapshot-has-18-items",
        "passed": true
      },
      {
        "name": "public-identifiers-all-unique",
        "passed": true
      },
      {
        "name": "public-links-correct-host",
        "passed": true
      },
      {
        "name": "public-id-and-link-equal-in-this-snapshot",
        "passed": true
      },
      {
        "name": "public-guid-flags-not-permalinks",
        "passed": true
      },
      {
        "name": "second-parse-does-not-delete-observations",
        "passed": true
      },
      {
        "name": "example-ledger-groups-18-identities",
        "passed": true
      },
      {
        "name": "example-ledger-keeps-two-origins-per-identity",
        "passed": true
      },
      {
        "name": "example-ledger-sees-no-change-on-same-bytes",
        "passed": true
      },
      {
        "name": "opaque-guid-remains-separate-from-link",
        "passed": true
      },
      {
        "name": "same-id-changed-summary-is-one-identity-two-revisions",
        "passed": true
      },
      {
        "name": "two-publishers-not-collapsed-by-common-link",
        "passed": true
      },
      {
        "name": "query-strings-preserved-as-distinct-links",
        "passed": true
      },
      {
        "name": "unparsed-date-not-silently-assigned-a-time",
        "passed": true
      },
      {
        "name": "unknown-identities-not-merged-by-title",
        "passed": true
      },
      {
        "name": "malformed-input-sets-bozo",
        "passed": true
      },
      {
        "name": "malformed-input-held-even-with-recovered-items",
        "passed": true
      },
      {
        "name": "ordinary-html-not-mistaken-for-a-feed",
        "passed": true
      }
    ],
    "passed": true
  },
  "not_run": [
    "Linked article retrieval or redirects",
    "Fact verification or editorial acceptance",
    "Live conditional GET/304 behavior",
    "Persistent crawler or scheduled ingestion",
    "AI/model generation or evaluation",
    "Production deployment, VPS load or network-proxy impact"
  ],
  "boundary": "Real saved public RSS input plus explicitly synthetic fixtures. Ledger grouping and hold decisions are our illustrative Python layer, not feedparser product features. Timing is one local cached-byte experiment."
}
