{"id":"pg_01M4PM02A4FD04BM68Y7GF7GMC","space":"openvibe","slug":"openvibe-inventory","url":"https://openvibe.wiki/w/openvibe/openvibe-inventory","state":"published","visibility":"public","revision":2,"title":"OpenVibe.Inventory","summary":"The network-wide inventory for an OpenVibe account: item kinds, definitions, instances, an equipped set and an append-only ledger.","body_markdown":"**OpenVibe.Inventory** is the network-wide inventory for an OpenVibe account (ADR-054): your items, on every OpenVibe site. It is at the alpha stage (plan track T21 step 2), and its authority, API, pages and Live's migration script are built and tested.\n\n## What it does\n\nInventory holds the items people earn or are given across every site, game and app. It registers item kinds (a contract plus a renderer per surface), the definitions an issuer publishes and the instances a person owns, and keeps what each person has equipped. Every movement is one append-only ledger row and one `inventory.*` event, written in the same transaction as the change. Issuers grant only within their namespace; people see and equip what they own. Live's name effects, particles, hats and voices are the first kinds, and `scripts/import-live.js` moves Live's unlocks and equipped slots here. A Workshop lets a signed-in person make community badges.\n\n## What it does not do yet\n\nNothing is sold, bought, traded or converted into OpenCoins or Vibes, and there are no paid random rewards. Since 2026-10-09 [[OpenVibe.Live]] reads and writes cosmetics through Inventory, and [[OpenVibe.Games]] grants items for achievements. Creator submissions and staff review come later.\n## How it fits the network\n\nIdentity is [[OpenVibe.Network]]'s; files are [[OpenVibe.Media]]'s; event delivery is [[OpenVibe.Events]]'. Live's cosmetics tables stay [[OpenVibe.Live]]'s, and Live's grantors include [[OpenVibe.Quest]].\n\n## Status\n\nIt runs on Node 22 and Express with PostgreSQL and Valkey, on port 5030, and is licensed AGPL-3.0.","published_at":"2026-10-11T23:15:33.839Z","revision_published_at":"2026-10-15T00:32:10.678Z","revision_created_at":"2026-10-15T00:32:10.667Z","authorship":{"mode":"imported","workflow":null,"reviewed":false},"infobox":[{"key":"repository","label":"Repository","type":"url","value":"https://github.com/OpenVibers/OpenVibe.Inventory"},{"key":"domain","label":"Domain","type":"text","value":"inventory.openvibe.network"},{"key":"port","label":"Port","type":"number","value":5030},{"key":"runtime","label":"Runtime","type":"text","value":"Node 22, Express, PostgreSQL, Valkey"},{"key":"status","label":"Status","type":"text","value":"alpha"},{"key":"license","label":"License","type":"text","value":"AGPL-3.0"}],"citations":[{"url":"https://github.com/OpenVibers/OpenVibe.Inventory/blob/3101849e7fd2fe1fa4830a3fb78de59d6602cbfb/README.md","title":"OpenVibe.Inventory README (commit 3101849)","source_item_id":null,"retrieved_at":"2026-10-14T23:30:00.000Z","quote":"Your items, on every OpenVibe site.","license_note":null},{"url":"https://github.com/OpenVibers/OpenVibe.Inventory/blob/3101849e7fd2fe1fa4830a3fb78de59d6602cbfb/STATUS.json","title":"OpenVibe.Inventory STATUS.json (commit 3101849)","source_item_id":null,"retrieved_at":"2026-10-14T23:30:00.000Z","quote":"one inventory for an OpenVibe account","license_note":null}],"attachments":[],"links":[{"space":"openvibe","slug":"openvibe-events"},{"space":"openvibe","slug":"openvibe-games"},{"space":"openvibe","slug":"openvibe-live"},{"space":"openvibe","slug":"openvibe-media"},{"space":"openvibe","slug":"openvibe-network"},{"space":"openvibe","slug":"openvibe-quest"}],"indexability":{"indexable":false,"reasons":["ai_generated_unreviewed"]}}