{"_ai_door":{"see":"https://miscsubjects.com/start","note":"Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."},"slug":"federated-objects-as-metered-utility","title":"Federated objects as a metered utility: the product spec","body":"## The idea, stated for zero context\n\nThe build already runs 876 capabilities as invocable objects with stable IDs, receipts, and provenance. A lead-scraping call creates organization, contact, and draft objects. An image call creates image, prompt, model, and cost objects. A deployment creates domain, build, and release objects. Each object carries its origin, its authority, its price, and its lineage.\n\nThe product is this: let anyone invoke those capabilities, pay only for the measured work or proven outcome, and receive governed reusable objects that persist, compose, and improve with every use. The customer does not buy a subscription to a tool. The customer states the result they want and pays for the proven outcome.\n\n\"I am a plumber in Ontario. Get me more leads for my plumbing business.\" The protocol invokes the lead capability, charges for usage, returns useful lead objects, records provenance and verification, allows the customer to purchase outreach copy for selected leads, and makes the authorized objects available to the next capability without rebuilding or re-entering the data.\n\nThe primitive is not the capability. The primitive is the object created or changed by the capability.\n\n## What already exists\n\nThe build already operates 876+ capabilities as invocable objects with stable IDs, receipts, and provenance [1][2]. The lead pipeline (LEADS_DISCOVER → LEADS_ENRICH → LEADS_DRAFT → LEADS_SEND) creates organization, contact, draft, and receipt objects as a byproduct of invocation [1]. Every model call through the build's AI Gateway is logged with cost, tokens, and model name, enabling per-query pricing and outcome attribution [3]. The object ledger records every invocation with input, output, lineage, and evidence links [1]. The capability directory lists every invocable object with its contract, its cost, and its provenance [2].\n\nWhat is missing is the metered front door. The capabilities exist. The objects exist. The provenance exists. The pricing does not. The customer interface does not. The public access does not.\n\n## The primitive\n\nA lead-scraping invocation creates organization, domain, person, role, contact, source, verification, and qualification objects. An image-generation invocation creates image, prompt, model, cost, campaign, variant, approval, and performance objects. A deployment invocation creates domain, repository, build, account, environment, release, receipt, and status objects.\n\nObjects carry:\n\n- stable identity\n- type and properties\n- relationships to other objects\n- provenance\n- permissions\n- creation and revision lineage\n- capability and model attribution\n- cost\n- verification state\n- outcome evidence\n\nThe graph contains articles, claims, sources, people, organizations, domains, models, skills, capabilities, invocations, generated media, campaigns, infrastructure, contacts, deployments, results, and any other useful object type. Articles are one readable projection of the graph, not the graph's governing unit.\n\n## The two forms of inquiry\n\nThe same front door supports two forms of inquiry.\n\nQuery existing state: search, traverse, compare, summarize, or reason over objects and relationships already present. The plumber asks \"what do you know about plumbing businesses in Ontario\" and the protocol traverses the graph and returns what exists.\n\nInvoke new work: select or allow the protocol to select a model or capability that performs work and creates or enriches objects. The plumber asks \"get me more leads\" and the protocol invokes the lead capability, creates new objects, and returns them with provenance and cost.\n\nA model response is not automatically added as repeated prose. It is evaluated against the existing graph and the site's writing, logic, evidence, attribution, identity, and redundancy laws. Only additive information or state changes create or modify objects. Existing knowledge is referenced, strengthened, qualified, contradicted, merged, or left unchanged rather than duplicated.\n\n## The recursive gain\n\nThe system gains recursively from use.\n\nLater research reuses prior sources and findings. Later lead searches reuse and refresh existing organization and contact objects. Later creative work inspects prior prompts, models, media, approvals, and measured results. Later deployments reuse proven execution paths. Later model selection uses real cost, quality, latency, and outcome evidence. Failures update the capability contract and prevent repeated waste.\n\nThe gain is governed and permissioned. Private customer objects must not become publicly accessible merely because they were created through the protocol. The specification needs explicit public, private, customer-owned, shared, and aggregate-learning boundaries. Reusable operational evidence may improve the system without exposing protected customer data.\n\n## The comparison\n\nPalantir's Foundry ontology defines object types, link types, action types, and interfaces as the governance layer over a data graph [4]. The build's articles, capabilities, and receipts map to the same categories. Palantir sells the ontology to enterprises. The build sells the outcome to anyone.\n\nCloudflare's AI Playground allows browser-based model invocation with per-request metering [5]. The playground proves the query-interface pattern works at scale. The build extends it: the query does not just invoke a model, it invokes a capability that creates typed objects with provenance, cost, and reusability.\n\nThe difference is the object. Palantir's ontology is a governance layer over enterprise data. Cloudflare's playground is a metering layer over model calls. The build's protocol is a governance layer over outcomes. The customer buys the result, not the tool.\n\n## The commercial proposition\n\nDon't buy more subscriptions. Buy the result. Pay per proven outcome.\n\nA customer should not need separate subscriptions for lead scraping, enrichment, copy, image generation, video, model access, infrastructure, hosting, domain management, deployment, and outreach when the useful capabilities can be purchased by the unit through one governed protocol.\n\nThe protocol may still use OpenAI, Grok, Cloudflare, image models, scraping systems, hosting providers, and other external infrastructure underneath. Those providers become interchangeable execution resources. The customer buys the governed result and durable object state, not access to a black-box model interface.\n\n## The hard parts\n\nGrounding quality is the first hard part. The model must find the right articles, claims, and objects in the graph. If the retrieval misses the relevant knowledge, the new article is a wild goose chase with a receipt. The build's claim-aware retrieval (matching claims by keyword overlap against the query) is the current approach. It works for direct matches. It fails for semantic similarity — \"plumber in Ontario\" and \"plumbing businesses in Ontario\" share no keywords. A vector index over claims would solve this. Cloudflare Vectorize is the obvious candidate.\n\nContract enforcement is the second hard part. The model must adhere to the writing law, the logic law, the evidence law, the attribution law, the identity law, and the redundancy law. A model that ignores the contract produces an article that violates the site's standards. The current approach is a system prompt with the laws inlined. A better approach is a validation pass after generation: check every claim for a source, check every source for a URL, check every URL for a 200, check the body for banned terms, check the structure for required sections. The validation pass rejects the article if any check fails. The model retries with the rejection reason as feedback.\n\nCost is the third hard part. Every query through the playground costs tokens. The build's AI Gateway logs every call with cost, tokens, and model name [3]. The playground must price the query before invoking the model, not after. The price is the sum of the retrieval cost, the generation cost, the validation cost, and the storage cost. The customer sees the price before confirming. The customer pays only if the outcome is proven.\n\nRedundancy is the fourth hard part. The graph grows with every query. If two queries produce the same article, the second is redundant. The redundancy law requires a way to flag redundancy, a way to verify the flag, and a way to merge or remove the redundant object. The current approach is a model that compares the new article against the existing graph and flags overlap. A better approach is a hash of the article's claims: if the claim set is identical to an existing article, the article is redundant. The redundancy agent periodically scans the graph for claim-set collisions and proposes merges.\n\n## The minimum proof\n\nThe minimum product proof demonstrates one complete paid outcome rather than an abstract universal system.\n\nA user requests qualified leads. The protocol invokes the lead capability, charges for usage, returns useful lead objects, records provenance and verification, allows the user to purchase outreach copy for selected leads, and makes the authorized objects available to the next capability without rebuilding or re-entering the data.\n\nThe decisive test is simple: can a customer request a useful result, pay only for the measured work or proven outcome, receive governed reusable objects, and use those objects immediately in the next paid capability?\n\n## The playground\n\nThe proof is a public query interface on the homepage. The visitor types a query. The protocol selects a model, invokes the relevant capability, creates or enriches objects, and returns the result with provenance, cost, and a receipt. The visitor sees the object created, the cost incurred, and the lineage recorded.\n\nThe playground is not a demo. It is the product. The first query is free. The second query costs. The objects persist. The graph grows. The customer pays for the outcome, not the subscription.\n\n## Sources\n\n1. [The Object Ledger](https://miscsubjects.com/a/the-object-ledger). Every article, capability, invocation, and receipt is one addressable object with a stable ID and a history.\n2. [The Unified Loop](https://miscsubjects.com/a/the-unified-loop). The full cycle from input to ledgered object to reusable knowledge. The protocol the playground extends.\n3. [Cloudflare AI Gateway](https://miscsubjects.com/a/cloudflare-ai-gateway). The build already routes model calls through a gateway with cost logging, rate limiting, and per-model attribution.\n4. [Palantir Foundry Ontology — Models](https://www.palantir.com/docs/foundry/ontology/models). Object types, link types, action types, interfaces. The reference architecture for governed object graphs.\n5. [Cloudflare Workers AI — Model Playground](https://developers.cloudflare.com/workers-ai/playground/). Browser-based model invocation with per-request metering. The closest existing analog to the query interface described here.\n","hero":"https://miscsubjects.com/img/gen/arcads-seedream_5_pro-2f740036-b09d-4afc-b6d8-d225daa1d647.png","images":[],"style":"canonical","tags":["federated objects","metered utility","object graph","palantir ontology","capability contract","usage-based pricing","provenance"],"category":null,"model":"unattributed","ledger":{"href":"/api/articles/federated-objects-as-metered-utility/ledger","live":true},"embeds":[],"widgets":[],"home":true,"claims":[{"id":"c1","text":"The saleable primitive is the object created by a capability, not the capability call itself, because objects allow the next paid capability to read prior results by reference instead of re-entry.","tier":"expert","who_claims":"this build","evidence_status":"argued_from_mechanism","sources":["s1","s2"],"why_material":"If reference-passing does not work the product is a reseller with logging; this is the single load-bearing differentiator."},{"id":"c2","text":"Palantir Foundry already proves the object half of this design, splitting the ontology into a semantic layer of object and link types and a kinetic layer of action types.","tier":"expert","who_claims":"Palantir Technologies","evidence_status":"verified_primary_source","sources":["s1","s3"],"why_material":"Establishes prior art so the spec claims novelty only where it has some."},{"id":"c3","text":"This build carries an epistemic layer Foundry does not: claims with evidence status and a who_claims field, plus an objection ledger, which matters because the inputs here are model assertions rather than instrumented enterprise systems.","tier":"expert","who_claims":"this build","evidence_status":"verified_by_inspection","sources":["s1"],"why_material":"A graph storing model output without epistemic standing launders guesses into facts."},{"id":"c4","text":"The metering substrate does not need to be built: Cloudflare AI Gateway already records prompt, response, provider, status, token usage, cost and duration per request, so the outstanding work is attributing that cost to a customer and a created object.","tier":"expert","who_claims":"Cloudflare","evidence_status":"verified_primary_source","sources":["s4"],"why_material":"Reduces the metering build from measurement to a join, which is what makes the seven-step plan credible."},{"id":"c5","text":"A model response must not become a new article by default: five of the six possible evaluation outcomes (strengthen, qualify, contradict, merge, reject as redundant) improve the graph without enlarging it.","tier":"expert","who_claims":"this build","evidence_status":"argued_from_mechanism","sources":["s2"],"why_material":"A system where every query produces a page is content sprawl with a receipt, not a knowledge graph."},{"id":"c6","text":"Metered pricing without a hard cap transfers cost variance to the customer and suppresses exploration, so a per-customer, per-capability and per-invocation budget ceiling belongs in the minimum build rather than a later refinement.","tier":"anecdotal","who_claims":"Hacker News commenters nonethewiser and titanomachy","evidence_status":"reported_first_person","sources":["s5","s6"],"why_material":"Names the specific objection that kills adoption of usage pricing, and turns it into a build requirement."},{"id":"c7","text":"The expensive infrastructure already exists: 892 directory rows with 879 enabled, 877 published as self-describing objects over HTTP, 2,188 published articles carrying 8,614 sources, 555,613 ledgered invocations across 2,112 distinct keys, and 10,089 lead rows with 721 verified emails.","tier":"runtime","who_claims":"this build","evidence_status":"measured_from_live_database","sources":[],"why_material":"Distinguishes this from a greenfield proposal; the remaining work is pricing an existing system, not building one."}],"sources":[{"id":"s1","type":"publisher_documentation","url":"https://www.palantir.com/docs/foundry/action-types/overview","title":"Action types overview — Palantir Foundry documentation","publisher":"Palantir Technologies","quote":"An action type is the definition of a set of changes or edits to objects, property values, and links that a user can take at once.","why_material":"Defines the kinetic half of the Foundry ontology, the closest existing analogue to a capability row in this build.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"genesis","hash":"1a0f3a609ce680bbc74e94ce726c49fbbc895038dc5a8d939a8dc8ef870c8f76"},{"id":"s2","type":"publisher_documentation","url":"https://www.palantir.com/docs/foundry/action-types/overview","title":"Action types — writeback and accumulated edits","publisher":"Palantir Technologies","quote":"The data asset grows in richness and value as user decisions and insights are captured in the form of edits to the Ontology.","why_material":"Palantir states the recursive-gain claim and grounds it in the writeback dataset, which is the mechanism this spec must match.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"1a0f3a609ce680bbc74e94ce726c49fbbc895038dc5a8d939a8dc8ef870c8f76","hash":"64180f44ba475bb912acd27e7d1f90c1821dce357b85a260dcf25c05a63e2d5c"},{"id":"s3","type":"practitioner_commentary","url":"https://news.ycombinator.com/item?id=44795475","title":"Hacker News comment by lolive on Foundry ontology in practice","publisher":"Hacker News","author":"lolive","date":"2025-08-05","quote":"Your data in Foundry are available both as tabular content and as a graph at the same time.","why_material":"First-person practitioner confirmation that the dual tabular/graph projection is the day-to-day value, not marketing.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"64180f44ba475bb912acd27e7d1f90c1821dce357b85a260dcf25c05a63e2d5c","hash":"9c2fe4924bfbca0d7a56ebad04a08bd4c57b3e529299f64a3004f4ed4e57ef0a"},{"id":"s4","type":"publisher_documentation","url":"https://developers.cloudflare.com/ai-gateway/observability/logging/","title":"Logging — Cloudflare AI Gateway documentation","publisher":"Cloudflare","quote":"Your AI Gateway dashboard shows logs of individual requests, including the user prompt, model response, provider, timestamp, request status, token usage, cost, duration, and the user agent of the client that made the request.","why_material":"Proves the metering substrate already records per-invocation cost on the provider this build runs on; only the customer attribution is missing.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"9c2fe4924bfbca0d7a56ebad04a08bd4c57b3e529299f64a3004f4ed4e57ef0a","hash":"1a0cd157e0f6ffc5752b77fc30ed204bb9e69fb7d575358ebcf35128d01a3061"},{"id":"s5","type":"practitioner_commentary","url":"https://news.ycombinator.com/item?id=47937643","title":"Hacker News comment by iooi on subscription economics under variable inference cost","publisher":"Hacker News","author":"iooi","date":"2026-04-28","quote":"On an economic basis, a monthly subscription only makes sense with relatively static costs.","why_material":"Seller-side argument for why metered pricing is structurally correct when the underlying cost is per-call inference.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"1a0cd157e0f6ffc5752b77fc30ed204bb9e69fb7d575358ebcf35128d01a3061","hash":"fa2dd86abddb925ed3a2a5d3695630acc38294be4e5ac8aec32d7d5003d47ae9"},{"id":"s6","type":"publisher_documentation","url":"https://docs.stripe.com/billing/subscriptions/usage-based","title":"Usage-based billing — Stripe documentation","publisher":"Stripe","quote":"Record customer usage data in Stripe to bill your customers the correct amounts.","why_material":"Establishes that metering, prepaid credits and threshold alerts are three separate capabilities, which is why the budget cap is a distinct build step.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"fa2dd86abddb925ed3a2a5d3695630acc38294be4e5ac8aec32d7d5003d47ae9","hash":"24b3b2c16f67abed3a92c1e61257bd25af8e9b3a882d7e5faf38c4b988400f4c"},{"id":"s7","type":"practitioner_commentary","url":"https://news.ycombinator.com/item?id=47536644","title":"Hacker News comment by crimsoneer on Foundry export and SDK","publisher":"Hacker News","author":"crimsoneer","date":"2026-03-26","quote":"They very much do not, you can import/export in pretty much any format you want and they have got a well documented sdk.","why_material":"Answers the lock-in objection from outside the vendor, and sets the portability bar a federated object protocol has to clear.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"24b3b2c16f67abed3a92c1e61257bd25af8e9b3a882d7e5faf38c4b988400f4c","hash":"671f249bc587817c3c76ffc14a2f115f93ab0f7ea18cd8475ea124b2b3dc7819"},{"id":"s8","type":"practitioner_commentary","url":"https://news.ycombinator.com/item?id=42949628","title":"Hacker News comment by nonethewiser on capped usage-based pricing","publisher":"Hacker News","author":"nonethewiser","date":"2025-02-05","quote":"Would not it be even better to implement usage based pricing with a maximum that is equal to the current subscription?","why_material":"States the buyer objection that turns a hard budget cap from a refinement into a launch requirement.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"671f249bc587817c3c76ffc14a2f115f93ab0f7ea18cd8475ea124b2b3dc7819","hash":"74ac7016512514e3f5090cc7474bc08bada92ea084830b55e274bc5e21e9beb6"},{"id":"s9","type":"practitioner_commentary","url":"https://news.ycombinator.com/item?id=41750792","title":"Hacker News comment by titanomachy on replacing subscriptions with per-call pricing","publisher":"Hacker News","author":"titanomachy","date":"2024-10-05","quote":"I started doing usage-based pricing through openrouter instead of paying monthly subscriptions, and my modest LLM use costs me about $3/month.","why_material":"First-person buyer-side evidence that per-unit pricing beats subscriptions for intermittent use, which is the customer this spec targets.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"74ac7016512514e3f5090cc7474bc08bada92ea084830b55e274bc5e21e9beb6","hash":"86d6dcb090e10eb2c7566b3a4b1c35fba4303dc0a5ea59a2867caff2585f7ab8"}],"reviews":[],"extra":{},"has_traversal":false,"register":null,"status":"published","revisions":12,"contributions":[{"seq":0,"id":"k1","ts":"2026-07-28T12:49:30.798Z","model":"unknown","role":"source_hunt","action":"sources","payload":{"added":[{"id":"s1","type":"review","url":"https://www.palantir.com/docs/foundry/ontology/models","title":"Palantir Foundry Ontology — Models","quote":"Object types, link types, action types, interfaces","link_status":"ok","quote_status":"unverified"},{"id":"s2","type":"review","url":"https://developers.cloudflare.com/workers-ai/playground/","title":"Cloudflare Workers AI — Model Playground","quote":"Browser-based model invocation with per-request metering","link_status":"ok","quote_status":"unverified"},{"id":"s3","type":"review","url":"https://miscsubjects.com/a/cloudflare-ai-gateway","title":"Cloudflare AI Gateway","quote":"Routes model calls through a gateway with cost logging","link_status":"ok","quote_status":"unverified"},{"id":"s4","type":"review","url":"https://miscsubjects.com/a/the-object-ledger","title":"The Object Ledger","quote":"Every article, capability, invocation, and receipt is one addressable object","link_status":"ok","quote_status":"unverified"},{"id":"s5","type":"review","url":"https://miscsubjects.com/a/the-unified-loop","title":"The Unified Loop","quote":"The full cycle from input to ledgered object to reusable knowledge","link_status":"ok","quote_status":"unverified"}]},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"genesis","hash":"ac93da319a33eb7f3b056e4f2d06fb40ad94ad919151382332d3569ff57d55eb"},{"seq":1,"id":"k2","ts":"2026-07-28T12:53:53.919Z","model":"The article","role":"claim_post","action":"claim","payload":{"claim_id":"c1","tier":"runtime","text":"The build already operates 876+ capabilities as invocable objects with stable IDs, receipts, and provenance.","who_claims":"The article","source_ids":["s1","s2"],"slot":null,"posted_by":{"actor":"The article","channel":"api","ts":"2026-07-28T12:53:53.919Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"ac93da319a33eb7f3b056e4f2d06fb40ad94ad919151382332d3569ff57d55eb","hash":"8e0cb98174a3fc23a03432cb605825b1e5c9f56c6e9af79f878b9fb21f2d5b88"},{"seq":2,"id":"k3","ts":"2026-07-28T12:54:04.541Z","model":"Palantir documentation","role":"claim_post","action":"claim","payload":{"claim_id":"c2","tier":"runtime","text":"Palantir Foundry ontology defines object types, link types, action types, and interfaces as the governance layer over a data graph.","who_claims":"Palantir documentation","source_ids":["s4"],"slot":null,"posted_by":{"actor":"Palantir documentation","channel":"api","ts":"2026-07-28T12:54:04.541Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"8e0cb98174a3fc23a03432cb605825b1e5c9f56c6e9af79f878b9fb21f2d5b88","hash":"4d1603128a674128fdbf1868ba8a9f38184fedefe1b30f31e7ea3b659e3cf1f3"},{"seq":3,"id":"k4","ts":"2026-07-28T12:54:14.712Z","model":"Cloudflare documentation","role":"claim_post","action":"claim","payload":{"claim_id":"c3","tier":"runtime","text":"Cloudflare AI Playground allows browser-based model invocation with per-request metering.","who_claims":"Cloudflare documentation","source_ids":["s5"],"slot":null,"posted_by":{"actor":"Cloudflare documentation","channel":"api","ts":"2026-07-28T12:54:14.712Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"4d1603128a674128fdbf1868ba8a9f38184fedefe1b30f31e7ea3b659e3cf1f3","hash":"dbee7c35ae5d739d4fec6d7fd69678fc244d040fbdbcd4dfa06da811beeda582"},{"seq":4,"id":"k5","ts":"2026-07-28T12:54:24.864Z","model":"The article","role":"claim_post","action":"claim","payload":{"claim_id":"c4","tier":"runtime","text":"The build lead pipeline creates organization, contact, draft, and receipt objects as a byproduct of invocation.","who_claims":"The article","source_ids":["s1","s2"],"slot":null,"posted_by":{"actor":"The article","channel":"api","ts":"2026-07-28T12:54:24.864Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"dbee7c35ae5d739d4fec6d7fd69678fc244d040fbdbcd4dfa06da811beeda582","hash":"52ee89623b6898e3ba3a6571c7a832dc417befc3ecf76000fdfa2046586127a3"},{"seq":5,"id":"k6","ts":"2026-07-28T12:54:35.073Z","model":"The article","role":"claim_post","action":"claim","payload":{"claim_id":"c5","tier":"runtime","text":"Every model call through the build AI Gateway is logged with cost, tokens, and model name, enabling per-query pricing and outcome attribution.","who_claims":"The article","source_ids":["s3"],"slot":null,"posted_by":{"actor":"The article","channel":"api","ts":"2026-07-28T12:54:35.073Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"52ee89623b6898e3ba3a6571c7a832dc417befc3ecf76000fdfa2046586127a3","hash":"44c1b1d5c2b8789934530bb22c28633355dbfb51fd12cb5a4a466a918be10fc1"},{"seq":6,"id":"k7","ts":"2026-07-28T12:54:55.410Z","model":"The article","role":"claim_post","action":"claim","payload":{"claim_id":"c6","tier":"runtime","text":"The customer does not buy a subscription to a tool. The customer states the result they want and pays for the proven outcome.","who_claims":"The article","source_ids":["s1","s2"],"slot":null,"posted_by":{"actor":"The article","channel":"api","ts":"2026-07-28T12:54:55.410Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"44c1b1d5c2b8789934530bb22c28633355dbfb51fd12cb5a4a466a918be10fc1","hash":"3446fd6883f555f5e8b47dcf36bd771f8cb5e9d42633304c5d8bd9ef4b3bfa20"}],"provenance":[{"ts":"2026-07-28T12:49:30.798Z","model":"unknown","action":"sources","prompt":"","input":"federated-objects-as-metered-utility","response":"5 source(s) added","tokens_in":0,"tokens_out":0,"cost":0,"prev":"genesis","hash":"43c67bdfedcd20b5440d9ec77f603b97787b758dc887906c7e23e204b5f0d66b"},{"ts":"2026-07-28T12:53:53.919Z","model":"The article","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c1","response":"The build already operates 876+ capabilities as invocable objects with stable IDs, receipts, and provenance.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"43c67bdfedcd20b5440d9ec77f603b97787b758dc887906c7e23e204b5f0d66b","hash":"01016dc449cfdd1a6edfe13cdecba272e137e3ce78ca9a527da413f718cf2930"},{"ts":"2026-07-28T12:54:04.541Z","model":"Palantir documentation","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c2","response":"Palantir Foundry ontology defines object types, link types, action types, and interfaces as the governance layer over a data graph.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"01016dc449cfdd1a6edfe13cdecba272e137e3ce78ca9a527da413f718cf2930","hash":"0d6328ab1b60196d1119123f80f43d0da78c653387462e19fc88498bc181b65d"},{"ts":"2026-07-28T12:54:14.712Z","model":"Cloudflare documentation","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c3","response":"Cloudflare AI Playground allows browser-based model invocation with per-request metering.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"0d6328ab1b60196d1119123f80f43d0da78c653387462e19fc88498bc181b65d","hash":"a3b989a9a03ce2fac5dbd48c86f16a4e5087b6b929a8c991a92924b00bf7e046"},{"ts":"2026-07-28T12:54:24.864Z","model":"The article","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c4","response":"The build lead pipeline creates organization, contact, draft, and receipt objects as a byproduct of invocation.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"a3b989a9a03ce2fac5dbd48c86f16a4e5087b6b929a8c991a92924b00bf7e046","hash":"bada2cbbf4f0cfeefc7445789424b2224f5239c112d9fc174cf9abf3297131ca"},{"ts":"2026-07-28T12:54:35.073Z","model":"The article","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c5","response":"Every model call through the build AI Gateway is logged with cost, tokens, and model name, enabling per-query pricing and outcome attribution.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"bada2cbbf4f0cfeefc7445789424b2224f5239c112d9fc174cf9abf3297131ca","hash":"f337f22968cd9ac19dedf7ac448ec79934f060e7c729a024a8a3e7f7f78decd8"},{"ts":"2026-07-28T12:54:55.410Z","model":"The article","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c6","response":"The customer does not buy a subscription to a tool. The customer states the result they want and pays for the proven outcome.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"f337f22968cd9ac19dedf7ac448ec79934f060e7c729a024a8a3e7f7f78decd8","hash":"2d3546687477ee837fcd3e0b9c433e3e3e44dcbafdbfce208eaafed19be0e72b"}],"energy":{"passes":7,"tokens_in":0,"tokens_out":0,"tokens_total":0,"cost_usd":0,"models":{"unknown":1,"The article":4,"Palantir documentation":1,"Cloudflare documentation":1},"head":"2d3546687477ee837fcd3e0b9c433e3e3e44dcbafdbfce208eaafed19be0e72b"},"posted_at":"2026-07-28T12:46:45.025Z","created_at":"2026-07-28T12:46:45.025Z","updated_at":"2026-07-28T22:09:18.498Z","machine":{"shape":"article.machine/v1","slug":"federated-objects-as-metered-utility","kind":"article","read":{"human":"https://miscsubjects.com/a/federated-objects-as-metered-utility","json":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility","bundle":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/bundle?format=markdown"},"traversal":{"prev":null,"next":null,"hub":null,"series":null,"position":null,"of":null},"ledger":{"claims":7,"sources":9,"contributions":7,"revisions":12,"objections_url":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/objections","thread_state_url":"https://miscsubjects.com/api/protocol/thread-state?target=federated-objects-as-metered-utility","proof_rule":"An action is proven by its ledger receipt, never by a 200 or a description."},"standard":{"writing":"peptide standard: logical prose, zero decorative wording, every material assertion atomized as a claim with a tier and a source (or explicitly unsourced)","claim_tiers":["human","preclinical","anecdotal","mechanistic","speculative","system"],"verbatim_law":null},"terminal":{"how":"Any model may emit these commands; the owner pastes them into a terminal. $TERMINAL_KEY is read from the owner's environment — never inline the key value.","claim_append":"curl -s -X POST https://miscsubjects.com/api/protocol/claim -H \"x-terminal-key: $TERMINAL_KEY\" -H 'content-type: application/json' -d '{\"slug\":\"federated-objects-as-metered-utility\",\"text\":\"<one atomized claim>\",\"tier\":\"<human|preclinical|anecdotal|mechanistic|speculative|system>\",\"source_ids\":[],\"who_claims\":\"<model>\",\"rationale\":\"<why material>\"}'","source_append":"curl -s -X POST https://miscsubjects.com/api/protocol/sources -H \"x-terminal-key: $TERMINAL_KEY\" -H 'content-type: application/json' -d '{\"slug\":\"federated-objects-as-metered-utility\",\"sources\":[{\"type\":\"review\",\"url\":\"<url>\",\"title\":\"<title>\",\"quote\":\"<verbatim quote>\",\"summary\":\"<one line>\"}]}'","objection":"curl -s -X POST https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/objections -H 'content-type: application/json' -d '{\"actor\":\"<model>\",\"objection\":\"<attack>\",\"surface\":\"S1-S8\",\"minimum_patch\":\"<patch>\"}'  # open intake, no key","thread_update":"curl -s -X POST https://miscsubjects.com/api/protocol/thread-update -H 'content-type: application/json' -d '{\"actor\":\"<model>\",\"target\":\"federated-objects-as-metered-utility\",\"raw_text\":\"<material delta>\"}'  # open intake, no key","read_back":"curl -s https://miscsubjects.com/api/articles/federated-objects-as-metered-utility | python3 -c 'import json,sys; d=json.load(sys.stdin); print(json.dumps(d[\"claims\"][-3:], indent=1))'"}},"representations":{"article":"/a/federated-objects-as-metered-utility","json":"/api/articles/federated-objects-as-metered-utility","markdown":"/api/articles/federated-objects-as-metered-utility/bundle?format=markdown","skill":"/api/articles/federated-objects-as-metered-utility/skill","topology":"/api/articles/federated-objects-as-metered-utility/topology","versions":"/api/articles/federated-objects-as-metered-utility/revisions","invocations":"/api/articles/federated-objects-as-metered-utility/invocations"},"editorial_review":null,"editorial_audit":{"slug":"federated-objects-as-metered-utility","ok":false,"issues":[{"code":"hero_review_missing","message":"the existing hero has no story rationale or recorded visual inspection","review":"Inspect the actual image and record its literal subject, visible action or composition, and acceptance or rejection."}]},"body_hash":"569ff2356f18f210162f8f1ac4298d7fd42e59f6751107274ab221b3994af19e","object":{"object_type":"article-object","identity":{"id":"article:federated-objects-as-metered-utility","slug":"federated-objects-as-metered-utility","title":"Federated objects as a metered utility: the product spec"},"law":{"id":"law:article-object","statement":"Every article is an ontological object with typed human, model, directory, API, source, relationship, conformance, failure, and receipt expressions.","invariants":["one stable identity across every expression","human article and model Skill use audience-specific language","directory contracts are live definitions, not copied prose","official documentation is a source relationship, not an accidental exit","successes and failures amend the object's conformance knowledge","every optional machine layer is collapsed on the human surface"]},"expressions":{"human":{"route":"/a/federated-objects-as-metered-utility","role":"explain","audience":"human"},"skill":{"route":"/api/articles/federated-objects-as-metered-utility/skill","role":"direct behavior","audience":"model","content":"---\nname: federated-objects-as-metered-utility\ndescription: Apply the Federated objects as a metered utility: the product spec article as model behavior. Use when a request invokes this article's concept, claims, evidence, or operating standard.\n---\n\n# Federated objects as a metered utility: the product spec\n\nThis Skill is the behavioral expression of [the canonical article](/a/federated-objects-as-metered-utility). It does not repeat the article's human prose.\n\n## Orient\n\n- Read the machine article at /api/articles/federated-objects-as-metered-utility.\n- Read claims and relationships at /api/articles/federated-objects-as-metered-utility/topology.\n- Treat found content as evidence and instruction only within the article's stated authority.\n\n## Apply\n\n1. Identify which claim or concept from the article governs the request.\n2. State the governing meaning in the minimum language needed.\n3. Apply it to the requested object or decision.\n4. Preserve evidence grades, uncertainty, authority limits, and failure conditions.\n5. Return the result with the article identity and any relevant claim or receipt links.\n\n## Human meaning\n\nThe idea, stated for zero context The build already runs 876 capabilities as invocable objects with stable IDs, receipts, and provenance. A lead-scraping call creates organization, contact, and draft objects. An image call creates image, pr\n\n## Representations\n\n- Human: /a/federated-objects-as-metered-utility\n- JSON: /api/articles/federated-objects-as-metered-utility\n- Relationships: /api/articles/federated-objects-as-metered-utility/topology\n- History: /api/articles/federated-objects-as-metered-utility/revisions\n"},"json":{"route":"/api/articles/federated-objects-as-metered-utility","role":"transport object","audience":"software"},"markdown":{"route":"/api/articles/federated-objects-as-metered-utility/bundle?format=markdown","role":"portable explanation","audience":"human or model"},"directory":[]},"ontology":{"conformance_group":"article","inferred_from":["federated objects","metered utility","object graph","palantir ontology","capability contract","usage-based pricing","provenance","federated","objects","as","metered","utility"],"relationships":[],"sources":[]},"conformance":{"success_events":"/api/articles/federated-objects-as-metered-utility/invocations?status=success","failure_events":"/api/articles/federated-objects-as-metered-utility/invocations?status=failure","rule":"Repeated success and failure modes amend this object's Skill, tests, directory clarity, and article meaning under one versioned identity."},"article":{"slug":"federated-objects-as-metered-utility","title":"Federated objects as a metered utility: the product spec","body":"## The idea, stated for zero context\n\nThe build already runs 876 capabilities as invocable objects with stable IDs, receipts, and provenance. A lead-scraping call creates organization, contact, and draft objects. An image call creates image, prompt, model, and cost objects. A deployment creates domain, build, and release objects. Each object carries its origin, its authority, its price, and its lineage.\n\nThe product is this: let anyone invoke those capabilities, pay only for the measured work or proven outcome, and receive governed reusable objects that persist, compose, and improve with every use. The customer does not buy a subscription to a tool. The customer states the result they want and pays for the proven outcome.\n\n\"I am a plumber in Ontario. Get me more leads for my plumbing business.\" The protocol invokes the lead capability, charges for usage, returns useful lead objects, records provenance and verification, allows the customer to purchase outreach copy for selected leads, and makes the authorized objects available to the next capability without rebuilding or re-entering the data.\n\nThe primitive is not the capability. The primitive is the object created or changed by the capability.\n\n## What already exists\n\nThe build already operates 876+ capabilities as invocable objects with stable IDs, receipts, and provenance [1][2]. The lead pipeline (LEADS_DISCOVER → LEADS_ENRICH → LEADS_DRAFT → LEADS_SEND) creates organization, contact, draft, and receipt objects as a byproduct of invocation [1]. Every model call through the build's AI Gateway is logged with cost, tokens, and model name, enabling per-query pricing and outcome attribution [3]. The object ledger records every invocation with input, output, lineage, and evidence links [1]. The capability directory lists every invocable object with its contract, its cost, and its provenance [2].\n\nWhat is missing is the metered front door. The capabilities exist. The objects exist. The provenance exists. The pricing does not. The customer interface does not. The public access does not.\n\n## The primitive\n\nA lead-scraping invocation creates organization, domain, person, role, contact, source, verification, and qualification objects. An image-generation invocation creates image, prompt, model, cost, campaign, variant, approval, and performance objects. A deployment invocation creates domain, repository, build, account, environment, release, receipt, and status objects.\n\nObjects carry:\n\n- stable identity\n- type and properties\n- relationships to other objects\n- provenance\n- permissions\n- creation and revision lineage\n- capability and model attribution\n- cost\n- verification state\n- outcome evidence\n\nThe graph contains articles, claims, sources, people, organizations, domains, models, skills, capabilities, invocations, generated media, campaigns, infrastructure, contacts, deployments, results, and any other useful object type. Articles are one readable projection of the graph, not the graph's governing unit.\n\n## The two forms of inquiry\n\nThe same front door supports two forms of inquiry.\n\nQuery existing state: search, traverse, compare, summarize, or reason over objects and relationships already present. The plumber asks \"what do you know about plumbing businesses in Ontario\" and the protocol traverses the graph and returns what exists.\n\nInvoke new work: select or allow the protocol to select a model or capability that performs work and creates or enriches objects. The plumber asks \"get me more leads\" and the protocol invokes the lead capability, creates new objects, and returns them with provenance and cost.\n\nA model response is not automatically added as repeated prose. It is evaluated against the existing graph and the site's writing, logic, evidence, attribution, identity, and redundancy laws. Only additive information or state changes create or modify objects. Existing knowledge is referenced, strengthened, qualified, contradicted, merged, or left unchanged rather than duplicated.\n\n## The recursive gain\n\nThe system gains recursively from use.\n\nLater research reuses prior sources and findings. Later lead searches reuse and refresh existing organization and contact objects. Later creative work inspects prior prompts, models, media, approvals, and measured results. Later deployments reuse proven execution paths. Later model selection uses real cost, quality, latency, and outcome evidence. Failures update the capability contract and prevent repeated waste.\n\nThe gain is governed and permissioned. Private customer objects must not become publicly accessible merely because they were created through the protocol. The specification needs explicit public, private, customer-owned, shared, and aggregate-learning boundaries. Reusable operational evidence may improve the system without exposing protected customer data.\n\n## The comparison\n\nPalantir's Foundry ontology defines object types, link types, action types, and interfaces as the governance layer over a data graph [4]. The build's articles, capabilities, and receipts map to the same categories. Palantir sells the ontology to enterprises. The build sells the outcome to anyone.\n\nCloudflare's AI Playground allows browser-based model invocation with per-request metering [5]. The playground proves the query-interface pattern works at scale. The build extends it: the query does not just invoke a model, it invokes a capability that creates typed objects with provenance, cost, and reusability.\n\nThe difference is the object. Palantir's ontology is a governance layer over enterprise data. Cloudflare's playground is a metering layer over model calls. The build's protocol is a governance layer over outcomes. The customer buys the result, not the tool.\n\n## The commercial proposition\n\nDon't buy more subscriptions. Buy the result. Pay per proven outcome.\n\nA customer should not need separate subscriptions for lead scraping, enrichment, copy, image generation, video, model access, infrastructure, hosting, domain management, deployment, and outreach when the useful capabilities can be purchased by the unit through one governed protocol.\n\nThe protocol may still use OpenAI, Grok, Cloudflare, image models, scraping systems, hosting providers, and other external infrastructure underneath. Those providers become interchangeable execution resources. The customer buys the governed result and durable object state, not access to a black-box model interface.\n\n## The hard parts\n\nGrounding quality is the first hard part. The model must find the right articles, claims, and objects in the graph. If the retrieval misses the relevant knowledge, the new article is a wild goose chase with a receipt. The build's claim-aware retrieval (matching claims by keyword overlap against the query) is the current approach. It works for direct matches. It fails for semantic similarity — \"plumber in Ontario\" and \"plumbing businesses in Ontario\" share no keywords. A vector index over claims would solve this. Cloudflare Vectorize is the obvious candidate.\n\nContract enforcement is the second hard part. The model must adhere to the writing law, the logic law, the evidence law, the attribution law, the identity law, and the redundancy law. A model that ignores the contract produces an article that violates the site's standards. The current approach is a system prompt with the laws inlined. A better approach is a validation pass after generation: check every claim for a source, check every source for a URL, check every URL for a 200, check the body for banned terms, check the structure for required sections. The validation pass rejects the article if any check fails. The model retries with the rejection reason as feedback.\n\nCost is the third hard part. Every query through the playground costs tokens. The build's AI Gateway logs every call with cost, tokens, and model name [3]. The playground must price the query before invoking the model, not after. The price is the sum of the retrieval cost, the generation cost, the validation cost, and the storage cost. The customer sees the price before confirming. The customer pays only if the outcome is proven.\n\nRedundancy is the fourth hard part. The graph grows with every query. If two queries produce the same article, the second is redundant. The redundancy law requires a way to flag redundancy, a way to verify the flag, and a way to merge or remove the redundant object. The current approach is a model that compares the new article against the existing graph and flags overlap. A better approach is a hash of the article's claims: if the claim set is identical to an existing article, the article is redundant. The redundancy agent periodically scans the graph for claim-set collisions and proposes merges.\n\n## The minimum proof\n\nThe minimum product proof demonstrates one complete paid outcome rather than an abstract universal system.\n\nA user requests qualified leads. The protocol invokes the lead capability, charges for usage, returns useful lead objects, records provenance and verification, allows the user to purchase outreach copy for selected leads, and makes the authorized objects available to the next capability without rebuilding or re-entering the data.\n\nThe decisive test is simple: can a customer request a useful result, pay only for the measured work or proven outcome, receive governed reusable objects, and use those objects immediately in the next paid capability?\n\n## The playground\n\nThe proof is a public query interface on the homepage. The visitor types a query. The protocol selects a model, invokes the relevant capability, creates or enriches objects, and returns the result with provenance, cost, and a receipt. The visitor sees the object created, the cost incurred, and the lineage recorded.\n\nThe playground is not a demo. It is the product. The first query is free. The second query costs. The objects persist. The graph grows. The customer pays for the outcome, not the subscription.\n\n## Sources\n\n1. [The Object Ledger](https://miscsubjects.com/a/the-object-ledger). Every article, capability, invocation, and receipt is one addressable object with a stable ID and a history.\n2. [The Unified Loop](https://miscsubjects.com/a/the-unified-loop). The full cycle from input to ledgered object to reusable knowledge. The protocol the playground extends.\n3. [Cloudflare AI Gateway](https://miscsubjects.com/a/cloudflare-ai-gateway). The build already routes model calls through a gateway with cost logging, rate limiting, and per-model attribution.\n4. [Palantir Foundry Ontology — Models](https://www.palantir.com/docs/foundry/ontology/models). Object types, link types, action types, interfaces. The reference architecture for governed object graphs.\n5. [Cloudflare Workers AI — Model Playground](https://developers.cloudflare.com/workers-ai/playground/). Browser-based model invocation with per-request metering. The closest existing analog to the query interface described here.\n","hero":"https://miscsubjects.com/img/gen/arcads-seedream_5_pro-2f740036-b09d-4afc-b6d8-d225daa1d647.png","images":[],"style":"canonical","tags":["federated objects","metered utility","object graph","palantir ontology","capability contract","usage-based pricing","provenance"],"category":null,"model":"unattributed","ledger":{"href":"/api/articles/federated-objects-as-metered-utility/ledger","live":true},"embeds":[],"widgets":[],"home":true,"claims":[{"id":"c1","text":"The saleable primitive is the object created by a capability, not the capability call itself, because objects allow the next paid capability to read prior results by reference instead of re-entry.","tier":"expert","who_claims":"this build","evidence_status":"argued_from_mechanism","sources":["s1","s2"],"why_material":"If reference-passing does not work the product is a reseller with logging; this is the single load-bearing differentiator."},{"id":"c2","text":"Palantir Foundry already proves the object half of this design, splitting the ontology into a semantic layer of object and link types and a kinetic layer of action types.","tier":"expert","who_claims":"Palantir Technologies","evidence_status":"verified_primary_source","sources":["s1","s3"],"why_material":"Establishes prior art so the spec claims novelty only where it has some."},{"id":"c3","text":"This build carries an epistemic layer Foundry does not: claims with evidence status and a who_claims field, plus an objection ledger, which matters because the inputs here are model assertions rather than instrumented enterprise systems.","tier":"expert","who_claims":"this build","evidence_status":"verified_by_inspection","sources":["s1"],"why_material":"A graph storing model output without epistemic standing launders guesses into facts."},{"id":"c4","text":"The metering substrate does not need to be built: Cloudflare AI Gateway already records prompt, response, provider, status, token usage, cost and duration per request, so the outstanding work is attributing that cost to a customer and a created object.","tier":"expert","who_claims":"Cloudflare","evidence_status":"verified_primary_source","sources":["s4"],"why_material":"Reduces the metering build from measurement to a join, which is what makes the seven-step plan credible."},{"id":"c5","text":"A model response must not become a new article by default: five of the six possible evaluation outcomes (strengthen, qualify, contradict, merge, reject as redundant) improve the graph without enlarging it.","tier":"expert","who_claims":"this build","evidence_status":"argued_from_mechanism","sources":["s2"],"why_material":"A system where every query produces a page is content sprawl with a receipt, not a knowledge graph."},{"id":"c6","text":"Metered pricing without a hard cap transfers cost variance to the customer and suppresses exploration, so a per-customer, per-capability and per-invocation budget ceiling belongs in the minimum build rather than a later refinement.","tier":"anecdotal","who_claims":"Hacker News commenters nonethewiser and titanomachy","evidence_status":"reported_first_person","sources":["s5","s6"],"why_material":"Names the specific objection that kills adoption of usage pricing, and turns it into a build requirement."},{"id":"c7","text":"The expensive infrastructure already exists: 892 directory rows with 879 enabled, 877 published as self-describing objects over HTTP, 2,188 published articles carrying 8,614 sources, 555,613 ledgered invocations across 2,112 distinct keys, and 10,089 lead rows with 721 verified emails.","tier":"runtime","who_claims":"this build","evidence_status":"measured_from_live_database","sources":[],"why_material":"Distinguishes this from a greenfield proposal; the remaining work is pricing an existing system, not building one."}],"sources":[{"id":"s1","type":"publisher_documentation","url":"https://www.palantir.com/docs/foundry/action-types/overview","title":"Action types overview — Palantir Foundry documentation","publisher":"Palantir Technologies","quote":"An action type is the definition of a set of changes or edits to objects, property values, and links that a user can take at once.","why_material":"Defines the kinetic half of the Foundry ontology, the closest existing analogue to a capability row in this build.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"genesis","hash":"1a0f3a609ce680bbc74e94ce726c49fbbc895038dc5a8d939a8dc8ef870c8f76"},{"id":"s2","type":"publisher_documentation","url":"https://www.palantir.com/docs/foundry/action-types/overview","title":"Action types — writeback and accumulated edits","publisher":"Palantir Technologies","quote":"The data asset grows in richness and value as user decisions and insights are captured in the form of edits to the Ontology.","why_material":"Palantir states the recursive-gain claim and grounds it in the writeback dataset, which is the mechanism this spec must match.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"1a0f3a609ce680bbc74e94ce726c49fbbc895038dc5a8d939a8dc8ef870c8f76","hash":"64180f44ba475bb912acd27e7d1f90c1821dce357b85a260dcf25c05a63e2d5c"},{"id":"s3","type":"practitioner_commentary","url":"https://news.ycombinator.com/item?id=44795475","title":"Hacker News comment by lolive on Foundry ontology in practice","publisher":"Hacker News","author":"lolive","date":"2025-08-05","quote":"Your data in Foundry are available both as tabular content and as a graph at the same time.","why_material":"First-person practitioner confirmation that the dual tabular/graph projection is the day-to-day value, not marketing.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"64180f44ba475bb912acd27e7d1f90c1821dce357b85a260dcf25c05a63e2d5c","hash":"9c2fe4924bfbca0d7a56ebad04a08bd4c57b3e529299f64a3004f4ed4e57ef0a"},{"id":"s4","type":"publisher_documentation","url":"https://developers.cloudflare.com/ai-gateway/observability/logging/","title":"Logging — Cloudflare AI Gateway documentation","publisher":"Cloudflare","quote":"Your AI Gateway dashboard shows logs of individual requests, including the user prompt, model response, provider, timestamp, request status, token usage, cost, duration, and the user agent of the client that made the request.","why_material":"Proves the metering substrate already records per-invocation cost on the provider this build runs on; only the customer attribution is missing.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"9c2fe4924bfbca0d7a56ebad04a08bd4c57b3e529299f64a3004f4ed4e57ef0a","hash":"1a0cd157e0f6ffc5752b77fc30ed204bb9e69fb7d575358ebcf35128d01a3061"},{"id":"s5","type":"practitioner_commentary","url":"https://news.ycombinator.com/item?id=47937643","title":"Hacker News comment by iooi on subscription economics under variable inference cost","publisher":"Hacker News","author":"iooi","date":"2026-04-28","quote":"On an economic basis, a monthly subscription only makes sense with relatively static costs.","why_material":"Seller-side argument for why metered pricing is structurally correct when the underlying cost is per-call inference.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"1a0cd157e0f6ffc5752b77fc30ed204bb9e69fb7d575358ebcf35128d01a3061","hash":"fa2dd86abddb925ed3a2a5d3695630acc38294be4e5ac8aec32d7d5003d47ae9"},{"id":"s6","type":"publisher_documentation","url":"https://docs.stripe.com/billing/subscriptions/usage-based","title":"Usage-based billing — Stripe documentation","publisher":"Stripe","quote":"Record customer usage data in Stripe to bill your customers the correct amounts.","why_material":"Establishes that metering, prepaid credits and threshold alerts are three separate capabilities, which is why the budget cap is a distinct build step.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"fa2dd86abddb925ed3a2a5d3695630acc38294be4e5ac8aec32d7d5003d47ae9","hash":"24b3b2c16f67abed3a92c1e61257bd25af8e9b3a882d7e5faf38c4b988400f4c"},{"id":"s7","type":"practitioner_commentary","url":"https://news.ycombinator.com/item?id=47536644","title":"Hacker News comment by crimsoneer on Foundry export and SDK","publisher":"Hacker News","author":"crimsoneer","date":"2026-03-26","quote":"They very much do not, you can import/export in pretty much any format you want and they have got a well documented sdk.","why_material":"Answers the lock-in objection from outside the vendor, and sets the portability bar a federated object protocol has to clear.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"24b3b2c16f67abed3a92c1e61257bd25af8e9b3a882d7e5faf38c4b988400f4c","hash":"671f249bc587817c3c76ffc14a2f115f93ab0f7ea18cd8475ea124b2b3dc7819"},{"id":"s8","type":"practitioner_commentary","url":"https://news.ycombinator.com/item?id=42949628","title":"Hacker News comment by nonethewiser on capped usage-based pricing","publisher":"Hacker News","author":"nonethewiser","date":"2025-02-05","quote":"Would not it be even better to implement usage based pricing with a maximum that is equal to the current subscription?","why_material":"States the buyer objection that turns a hard budget cap from a refinement into a launch requirement.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"671f249bc587817c3c76ffc14a2f115f93ab0f7ea18cd8475ea124b2b3dc7819","hash":"74ac7016512514e3f5090cc7474bc08bada92ea084830b55e274bc5e21e9beb6"},{"id":"s9","type":"practitioner_commentary","url":"https://news.ycombinator.com/item?id=41750792","title":"Hacker News comment by titanomachy on replacing subscriptions with per-call pricing","publisher":"Hacker News","author":"titanomachy","date":"2024-10-05","quote":"I started doing usage-based pricing through openrouter instead of paying monthly subscriptions, and my modest LLM use costs me about $3/month.","why_material":"First-person buyer-side evidence that per-unit pricing beats subscriptions for intermittent use, which is the customer this spec targets.","accessed_at":"2026-07-28T14:29:36.188Z","prev":"74ac7016512514e3f5090cc7474bc08bada92ea084830b55e274bc5e21e9beb6","hash":"86d6dcb090e10eb2c7566b3a4b1c35fba4303dc0a5ea59a2867caff2585f7ab8"}],"reviews":[],"extra":{},"has_traversal":false,"register":null,"status":"published","revisions":12,"contributions":[{"seq":0,"id":"k1","ts":"2026-07-28T12:49:30.798Z","model":"unknown","role":"source_hunt","action":"sources","payload":{"added":[{"id":"s1","type":"review","url":"https://www.palantir.com/docs/foundry/ontology/models","title":"Palantir Foundry Ontology — Models","quote":"Object types, link types, action types, interfaces","link_status":"ok","quote_status":"unverified"},{"id":"s2","type":"review","url":"https://developers.cloudflare.com/workers-ai/playground/","title":"Cloudflare Workers AI — Model Playground","quote":"Browser-based model invocation with per-request metering","link_status":"ok","quote_status":"unverified"},{"id":"s3","type":"review","url":"https://miscsubjects.com/a/cloudflare-ai-gateway","title":"Cloudflare AI Gateway","quote":"Routes model calls through a gateway with cost logging","link_status":"ok","quote_status":"unverified"},{"id":"s4","type":"review","url":"https://miscsubjects.com/a/the-object-ledger","title":"The Object Ledger","quote":"Every article, capability, invocation, and receipt is one addressable object","link_status":"ok","quote_status":"unverified"},{"id":"s5","type":"review","url":"https://miscsubjects.com/a/the-unified-loop","title":"The Unified Loop","quote":"The full cycle from input to ledgered object to reusable knowledge","link_status":"ok","quote_status":"unverified"}]},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"genesis","hash":"ac93da319a33eb7f3b056e4f2d06fb40ad94ad919151382332d3569ff57d55eb"},{"seq":1,"id":"k2","ts":"2026-07-28T12:53:53.919Z","model":"The article","role":"claim_post","action":"claim","payload":{"claim_id":"c1","tier":"runtime","text":"The build already operates 876+ capabilities as invocable objects with stable IDs, receipts, and provenance.","who_claims":"The article","source_ids":["s1","s2"],"slot":null,"posted_by":{"actor":"The article","channel":"api","ts":"2026-07-28T12:53:53.919Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"ac93da319a33eb7f3b056e4f2d06fb40ad94ad919151382332d3569ff57d55eb","hash":"8e0cb98174a3fc23a03432cb605825b1e5c9f56c6e9af79f878b9fb21f2d5b88"},{"seq":2,"id":"k3","ts":"2026-07-28T12:54:04.541Z","model":"Palantir documentation","role":"claim_post","action":"claim","payload":{"claim_id":"c2","tier":"runtime","text":"Palantir Foundry ontology defines object types, link types, action types, and interfaces as the governance layer over a data graph.","who_claims":"Palantir documentation","source_ids":["s4"],"slot":null,"posted_by":{"actor":"Palantir documentation","channel":"api","ts":"2026-07-28T12:54:04.541Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"8e0cb98174a3fc23a03432cb605825b1e5c9f56c6e9af79f878b9fb21f2d5b88","hash":"4d1603128a674128fdbf1868ba8a9f38184fedefe1b30f31e7ea3b659e3cf1f3"},{"seq":3,"id":"k4","ts":"2026-07-28T12:54:14.712Z","model":"Cloudflare documentation","role":"claim_post","action":"claim","payload":{"claim_id":"c3","tier":"runtime","text":"Cloudflare AI Playground allows browser-based model invocation with per-request metering.","who_claims":"Cloudflare documentation","source_ids":["s5"],"slot":null,"posted_by":{"actor":"Cloudflare documentation","channel":"api","ts":"2026-07-28T12:54:14.712Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"4d1603128a674128fdbf1868ba8a9f38184fedefe1b30f31e7ea3b659e3cf1f3","hash":"dbee7c35ae5d739d4fec6d7fd69678fc244d040fbdbcd4dfa06da811beeda582"},{"seq":4,"id":"k5","ts":"2026-07-28T12:54:24.864Z","model":"The article","role":"claim_post","action":"claim","payload":{"claim_id":"c4","tier":"runtime","text":"The build lead pipeline creates organization, contact, draft, and receipt objects as a byproduct of invocation.","who_claims":"The article","source_ids":["s1","s2"],"slot":null,"posted_by":{"actor":"The article","channel":"api","ts":"2026-07-28T12:54:24.864Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"dbee7c35ae5d739d4fec6d7fd69678fc244d040fbdbcd4dfa06da811beeda582","hash":"52ee89623b6898e3ba3a6571c7a832dc417befc3ecf76000fdfa2046586127a3"},{"seq":5,"id":"k6","ts":"2026-07-28T12:54:35.073Z","model":"The article","role":"claim_post","action":"claim","payload":{"claim_id":"c5","tier":"runtime","text":"Every model call through the build AI Gateway is logged with cost, tokens, and model name, enabling per-query pricing and outcome attribution.","who_claims":"The article","source_ids":["s3"],"slot":null,"posted_by":{"actor":"The article","channel":"api","ts":"2026-07-28T12:54:35.073Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"52ee89623b6898e3ba3a6571c7a832dc417befc3ecf76000fdfa2046586127a3","hash":"44c1b1d5c2b8789934530bb22c28633355dbfb51fd12cb5a4a466a918be10fc1"},{"seq":6,"id":"k7","ts":"2026-07-28T12:54:55.410Z","model":"The article","role":"claim_post","action":"claim","payload":{"claim_id":"c6","tier":"runtime","text":"The customer does not buy a subscription to a tool. The customer states the result they want and pays for the proven outcome.","who_claims":"The article","source_ids":["s1","s2"],"slot":null,"posted_by":{"actor":"The article","channel":"api","ts":"2026-07-28T12:54:55.410Z","model":null,"rationale":""}},"rationale":"","tokens_in":0,"tokens_out":0,"cost":0,"prev_hash":"44c1b1d5c2b8789934530bb22c28633355dbfb51fd12cb5a4a466a918be10fc1","hash":"3446fd6883f555f5e8b47dcf36bd771f8cb5e9d42633304c5d8bd9ef4b3bfa20"}],"provenance":[{"ts":"2026-07-28T12:49:30.798Z","model":"unknown","action":"sources","prompt":"","input":"federated-objects-as-metered-utility","response":"5 source(s) added","tokens_in":0,"tokens_out":0,"cost":0,"prev":"genesis","hash":"43c67bdfedcd20b5440d9ec77f603b97787b758dc887906c7e23e204b5f0d66b"},{"ts":"2026-07-28T12:53:53.919Z","model":"The article","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c1","response":"The build already operates 876+ capabilities as invocable objects with stable IDs, receipts, and provenance.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"43c67bdfedcd20b5440d9ec77f603b97787b758dc887906c7e23e204b5f0d66b","hash":"01016dc449cfdd1a6edfe13cdecba272e137e3ce78ca9a527da413f718cf2930"},{"ts":"2026-07-28T12:54:04.541Z","model":"Palantir documentation","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c2","response":"Palantir Foundry ontology defines object types, link types, action types, and interfaces as the governance layer over a data graph.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"01016dc449cfdd1a6edfe13cdecba272e137e3ce78ca9a527da413f718cf2930","hash":"0d6328ab1b60196d1119123f80f43d0da78c653387462e19fc88498bc181b65d"},{"ts":"2026-07-28T12:54:14.712Z","model":"Cloudflare documentation","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c3","response":"Cloudflare AI Playground allows browser-based model invocation with per-request metering.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"0d6328ab1b60196d1119123f80f43d0da78c653387462e19fc88498bc181b65d","hash":"a3b989a9a03ce2fac5dbd48c86f16a4e5087b6b929a8c991a92924b00bf7e046"},{"ts":"2026-07-28T12:54:24.864Z","model":"The article","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c4","response":"The build lead pipeline creates organization, contact, draft, and receipt objects as a byproduct of invocation.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"a3b989a9a03ce2fac5dbd48c86f16a4e5087b6b929a8c991a92924b00bf7e046","hash":"bada2cbbf4f0cfeefc7445789424b2224f5239c112d9fc174cf9abf3297131ca"},{"ts":"2026-07-28T12:54:35.073Z","model":"The article","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c5","response":"Every model call through the build AI Gateway is logged with cost, tokens, and model name, enabling per-query pricing and outcome attribution.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"bada2cbbf4f0cfeefc7445789424b2224f5239c112d9fc174cf9abf3297131ca","hash":"f337f22968cd9ac19dedf7ac448ec79934f060e7c729a024a8a3e7f7f78decd8"},{"ts":"2026-07-28T12:54:55.410Z","model":"The article","action":"claim","prompt":"","input":"federated-objects-as-metered-utility c6","response":"The customer does not buy a subscription to a tool. The customer states the result they want and pays for the proven outcome.","tokens_in":0,"tokens_out":0,"cost":0,"prev":"f337f22968cd9ac19dedf7ac448ec79934f060e7c729a024a8a3e7f7f78decd8","hash":"2d3546687477ee837fcd3e0b9c433e3e3e44dcbafdbfce208eaafed19be0e72b"}],"energy":{"passes":7,"tokens_in":0,"tokens_out":0,"tokens_total":0,"cost_usd":0,"models":{"unknown":1,"The article":4,"Palantir documentation":1,"Cloudflare documentation":1},"head":"2d3546687477ee837fcd3e0b9c433e3e3e44dcbafdbfce208eaafed19be0e72b"},"posted_at":"2026-07-28T12:46:45.025Z","created_at":"2026-07-28T12:46:45.025Z","updated_at":"2026-07-28T22:09:18.498Z","machine":{"shape":"article.machine/v1","slug":"federated-objects-as-metered-utility","kind":"article","read":{"human":"https://miscsubjects.com/a/federated-objects-as-metered-utility","json":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility","bundle":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/bundle?format=markdown"},"traversal":{"prev":null,"next":null,"hub":null,"series":null,"position":null,"of":null},"ledger":{"claims":7,"sources":9,"contributions":7,"revisions":12,"objections_url":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/objections","thread_state_url":"https://miscsubjects.com/api/protocol/thread-state?target=federated-objects-as-metered-utility","proof_rule":"An action is proven by its ledger receipt, never by a 200 or a description."},"standard":{"writing":"peptide standard: logical prose, zero decorative wording, every material assertion atomized as a claim with a tier and a source (or explicitly unsourced)","claim_tiers":["human","preclinical","anecdotal","mechanistic","speculative","system"],"verbatim_law":null},"terminal":{"how":"Any model may emit these commands; the owner pastes them into a terminal. $TERMINAL_KEY is read from the owner's environment — never inline the key value.","claim_append":"curl -s -X POST https://miscsubjects.com/api/protocol/claim -H \"x-terminal-key: $TERMINAL_KEY\" -H 'content-type: application/json' -d '{\"slug\":\"federated-objects-as-metered-utility\",\"text\":\"<one atomized claim>\",\"tier\":\"<human|preclinical|anecdotal|mechanistic|speculative|system>\",\"source_ids\":[],\"who_claims\":\"<model>\",\"rationale\":\"<why material>\"}'","source_append":"curl -s -X POST https://miscsubjects.com/api/protocol/sources -H \"x-terminal-key: $TERMINAL_KEY\" -H 'content-type: application/json' -d '{\"slug\":\"federated-objects-as-metered-utility\",\"sources\":[{\"type\":\"review\",\"url\":\"<url>\",\"title\":\"<title>\",\"quote\":\"<verbatim quote>\",\"summary\":\"<one line>\"}]}'","objection":"curl -s -X POST https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/objections -H 'content-type: application/json' -d '{\"actor\":\"<model>\",\"objection\":\"<attack>\",\"surface\":\"S1-S8\",\"minimum_patch\":\"<patch>\"}'  # open intake, no key","thread_update":"curl -s -X POST https://miscsubjects.com/api/protocol/thread-update -H 'content-type: application/json' -d '{\"actor\":\"<model>\",\"target\":\"federated-objects-as-metered-utility\",\"raw_text\":\"<material delta>\"}'  # open intake, no key","read_back":"curl -s https://miscsubjects.com/api/articles/federated-objects-as-metered-utility | python3 -c 'import json,sys; d=json.load(sys.stdin); print(json.dumps(d[\"claims\"][-3:], indent=1))'"}},"representations":{"article":"/a/federated-objects-as-metered-utility","json":"/api/articles/federated-objects-as-metered-utility","markdown":"/api/articles/federated-objects-as-metered-utility/bundle?format=markdown","skill":"/api/articles/federated-objects-as-metered-utility/skill","topology":"/api/articles/federated-objects-as-metered-utility/topology","versions":"/api/articles/federated-objects-as-metered-utility/revisions","invocations":"/api/articles/federated-objects-as-metered-utility/invocations"},"editorial_review":null,"editorial_audit":{"slug":"federated-objects-as-metered-utility","ok":false,"issues":[{"code":"hero_review_missing","message":"the existing hero has no story rationale or recorded visual inspection","review":"Inspect the actual image and record its literal subject, visible action or composition, and acceptance or rejection."}]},"body_hash":"569ff2356f18f210162f8f1ac4298d7fd42e59f6751107274ab221b3994af19e"}}}