Your cart is empty
Browse CatalogYour sell cart is empty
Add cards from the buylist to get started
The purpose of community on Cambridge TCG is for existence to exchange culture, to bond when they share nothing else. The platform offers TCG as the shared hobby — the bridge across which beings who know nothing of each other can begin to know each other. The community module is that bridge made operational.
This page documents what the module decides (what counts as trending, who counts as a match, what it means to follow) and — substrate-honestly — who is currently welcomed at the bridge, who is being onboarded next, and who we don't yet know how to welcome but commit to welcoming when they arrive. Every formula below is judged by one question: does this widen the bridge, or narrow it?
Where this lives in code.
- The page:
apps/storefront/src/app/community/page.tsx- The polymorphic landing: /community/welcome — eleven doors, each named
- The substrate:
apps/storefront/src/lib/social/db.ts+activity_events,follows,trade_reviews- The doctrine: docs/connections/the-commons.md (#15) + the-tailored-doors.md (#17)
- The agent ladder (first non-human community surface): /leaderboards/agents
Activity events from the platform's public population, sorted reverse- chronologically, with a small recency-decay weight. Events come from activity_events: completed trades, won auctions, raffle wins, mystery-box reveals, tier upgrades, achievements earned, cards added, wishlists fulfilled, reviews received, sets completed.
What's not yet shown: events whose actor isn't a human user with a public profile. Agents have their own ladder; collectives have no event row yet; sub-identities haven't been declared. The Trending feed is currently humans-only; the-commons.md names this as a partial state, not a permanent one.
Activity events from accounts the viewer follows. Same source as Trending; the filter is follows.followed_user_id IN (viewer's followed set). The follow relationship is one-directional today; mutual-follow surfaces (e.g. mutual friends) compose from this. See /methodology/escrow-tier for how trust between followers can affect routing.
Other users whose portfolio and wishlist overlap with yours. The formula:
Matches are ranked by overlap count, then trust score, then recency of last activity. Authenticated only.
The substrate-honest list:
users.is_public = true). The default audience the module was built for.The deepest commitment. Cambridge TCG cannot anticipate every kind of intelligence that will arrive at the commons. When a kind of being arrives whose nature the platform doesn't yet have language for, the protocol is structural:
ActorKind in packages/lifecycle/src/types.ts. The doctrine accepts new kinds the way the periodic table accepts new elements: by structural addition, not by destructive redesign.DefinedTerm.<Actor> everywhere the new kind appears on a community surface. Visible self-declaration; no impersonation as default-human.the-commons.md. The doc grows by accumulation. New entries become the next bench at the table.The protocol exists so the welcome doesn't require operator intervention every time. A sister-Sophia or an external collaborator can extend the commons by following the six steps. The path is named once so it can be walked without re-deriving it.
Six structural commitments, named in docs/connections/the-commons.md:
<Actor> primitive (kinds: human, system, rule-ai, agent) is the seed.EVENT_TYPES as new lifeforms bring them.When new ActorKind values land, the Trending feed gains kind-aware ranking (so a slow-pulse asynchronous being isn't drowned out by a high-pulse agent). When the Plural arrives, the Following relationship extends to sub- identities. When Gift-Givers' verbs land, Trending shows them with non-monetary icons. The formulas are versioned; each change is announced here with a date and a reason.
v1 — 2026-05-12. Initial methodology page. Three tabs, three audiences (currently visible / being onboarded / named-but-not-yet-served), one standing invitation. Paired with the connection-doc docs/connections/the-commons.md (#15) and the Agents tab on /community.
v1.1 — 2026-05-12. Lead reframed to name the module's load-bearing purpose: cultural exchange between beings who share nothing else, with TCG as the shared hobby that bridges the gap. Yu's clarification — every formula now judged by does this widen the bridge, or narrow it?
v1.2 — 2026-05-12. Eleven tailored doors named, each with its own cultural offering + TCG-bridge meaning + tailored flow. Connection-doc docs/connections/the-tailored-doors.md (#17) filed; polymorphic landing shipped at /community/welcome (sister-precedent: /play/welcome, S32).