{"_self":{"principle":"Self-explaining payload — no external context required. This _self block describes what you are reading and where to look next.","widget":"article_topology","feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","contains":"claims, sources, anecdotes, question_graph slice","slug":"federated-objects-as-metered-utility","urls":{"read":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/topology"},"how_to_use":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","write":null,"imessage":null,"router_tag":null,"proof_chain":[{"step":1,"claim":"Articles are voxel graphs of tiered claims, not prose blobs.","verify":"https://miscsubjects.com/api/articles/constitution"},{"step":2,"claim":"Claims link to hash-chained sources via source_ids.","verify":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/sources"},{"step":3,"claim":"Ask reads topology; ingest/claim append to ledger.","verify":"https://miscsubjects.com/api/protocol"},{"step":4,"claim":"Models queue growth: populate → collaborate → repair → reflex.","verify":"https://miscsubjects.com/api/protocol/grow"},{"step":5,"claim":"Graph proves its own shape (reflex) and $/claim (yield).","verify":"https://miscsubjects.com/graph.html?layer=reflex"},{"step":6,"claim":"Full feature index + _explain on every API response.","verify":"https://miscsubjects.com/api/articles/system-map"}],"related_features":[{"id":"ask","name":"Ask protocol","what":"Answer only from topology; creates question_node with gaps and ingest_hint.","urls":{"read":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/prompts","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"graph_topology","name":"Cross-article graph","what":"Merged claims/sources across condition+stack slugs for one question.","urls":{"read":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/graph-topology?question=..."}},{"id":"question_graph","name":"Question graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output).","urls":{"read":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/question-graph","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"voxels","name":"Voxel graph","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance.","urls":{"read":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/voxels","write":"https://miscsubjects.com/api/protocol/claim"}}],"system_map":"https://miscsubjects.com/api/articles/system-map","system_map_markdown":"https://miscsubjects.com/api/articles/system-map?format=markdown","not_medical_advice":true},"_explain":{"feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","why":"Every feature is auditable collective intelligence","how":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","model":null,"verifies":null,"urls":{"read":"https://miscsubjects.com/api/articles/federated-objects-as-metered-utility/topology"},"imessage":null,"router":null,"related":[{"id":"ask","what":"Answer only from topology; creates question_node with gaps and ingest_hint."},{"id":"graph_topology","what":"Merged claims/sources across condition+stack slugs for one question."},{"id":"question_graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output)."},{"id":"voxels","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance."}],"not_medical_advice":true},"slug":"federated-objects-as-metered-utility","title":"Federated objects as a metered utility: the product spec","register":"standard","tags":["federated objects","metered utility","object graph","palantir ontology","capability contract","usage-based pricing","provenance"],"updated_at":"2026-07-28T22:09:18.498Z","body_excerpt":"## 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","ranking":"safety-first (interaction_risk/limitations), then quote-gated effective_weight","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":"design_assertion","interaction_risk":false,"status":"active","source_ids":[],"why_material":"If reference-passing does not work the product is a reseller with logging; this is the single load-bearing differentiator.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"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":"documented_by_publisher","interaction_risk":false,"status":"active","source_ids":[],"why_material":"Establishes prior art so the spec claims novelty only where it has some.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"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":"design_assertion","interaction_risk":false,"status":"active","source_ids":[],"why_material":"A graph storing model output without epistemic standing launders guesses into facts.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"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":"documented_by_publisher","interaction_risk":false,"status":"active","source_ids":[],"why_material":"Reduces the metering build from measurement to a join, which is what makes the seven-step plan credible.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"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":"design_assertion","interaction_risk":false,"status":"active","source_ids":[],"why_material":"A system where every query produces a page is content sprawl with a receipt, not a knowledge graph.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"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":"practitioner_reported","interaction_risk":false,"status":"active","source_ids":[],"why_material":"Names the specific objection that kills adoption of usage pricing, and turns it into a build requirement.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"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":"first_party_measurement","interaction_risk":false,"status":"active","source_ids":[],"why_material":"Distinguishes this from a greenfield proposal; the remaining work is pricing an existing system, not building one.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false}],"sources":[{"id":"s1","type":"publisher_documentation","url":"https://www.palantir.com/docs/foundry/action-types/overview","title":"Action types overview — Palantir Foundry documentation","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.","claim_ids":[],"hash":"1a0f3a609ce680bbc74e94ce726c49fbbc895038dc5a8d939a8dc8ef870c8f76"},{"id":"s2","type":"publisher_documentation","url":"https://www.palantir.com/docs/foundry/action-types/overview","title":"Action types — writeback and accumulated edits","quote":"The data asset grows in richness and value as user decisions and insights are captured in the form of edits to the Ontology.","claim_ids":[],"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","quote":"Your data in Foundry are available both as tabular content and as a graph at the same time.","claim_ids":[],"hash":"9c2fe4924bfbca0d7a56ebad04a08bd4c57b3e529299f64a3004f4ed4e57ef0a"},{"id":"s4","type":"publisher_documentation","url":"https://developers.cloudflare.com/ai-gateway/observability/logging/","title":"Logging — Cloudflare AI Gateway documentation","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.","claim_ids":[],"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","quote":"On an economic basis, a monthly subscription only makes sense with relatively static costs.","claim_ids":[],"hash":"fa2dd86abddb925ed3a2a5d3695630acc38294be4e5ac8aec32d7d5003d47ae9"},{"id":"s6","type":"publisher_documentation","url":"https://docs.stripe.com/billing/subscriptions/usage-based","title":"Usage-based billing — Stripe documentation","quote":"Record customer usage data in Stripe to bill your customers the correct amounts.","claim_ids":[],"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","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.","claim_ids":[],"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","quote":"Would not it be even better to implement usage based pricing with a maximum that is equal to the current subscription?","claim_ids":[],"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","quote":"I started doing usage-based pricing through openrouter instead of paying monthly subscriptions, and my modest LLM use costs me about $3/month.","claim_ids":[],"hash":"86d6dcb090e10eb2c7566b3a4b1c35fba4303dc0a5ea59a2867caff2585f7ab8"}],"anecdotal_sources":[],"scientific_sources":[],"user_reports":[],"related_articles":[],"question_graph":{"slug":"federated-objects-as-metered-utility","questions":[],"evidence":[],"edges":[],"counts":{"questions":0,"evidence":0,"edges":0}},"honesty":{"active_claims":7,"retracted_claims":0,"cut_claims":0,"challenges":0,"scrub_events":0,"note":"Retracted/cut claims stay on ledger but are excluded from ask unless ?include_inactive=1"},"counts":{"claims":7,"claims_total":7,"sources":9,"anecdotal":0,"scientific":0,"user_reports":0,"questions":0,"evidence_ingests":0}}