# Inter-repo contracts. Festipod is a CONSUMER only: it publishes no interface of its own, # and what it lists under `publish:` is its own consumer-side DECLARATIONS — the channel a # provider pulls to learn what this app calls, what it needs, and what blocks it. # # Festipod's persistence sits behind interchangeable Refine backends (the backend contract # itself is in-code: `src/shared/refine/providers/types.ts`). Each candidate backend is a # separate interface, with its own folder inside `data-layer` — the concept that owns how # Festipod uses an external data surface. # # `@activitypods/refine-providers` publishes NO engagement: no contract document, no stated # change policy, not even a git tag. So its entry is `type: reconstruct` — the one bounded # crossing this protocol allows, made once at adoption time: the leaf under `into:` is OUR # observation of that package, authored here and pinned to the commit it was read at. It is # not a promise anyone made us, and every upgrade has to re-observe it. # # Once reconstructed, that leaf IS the specification this app codes against. Reading the # package's sources again at work time is not how a question gets answered — the leaf is # fixed or the gap goes into our declaration's `## Needs`. publish: # Key qualified by interface: a second declaration is coming for the NextGraph+polyfill # backend, and publish keys must stay unique. activitypods-providers--festipod: concepts/data-layer/activitypods-providers/usage_festipod.md consume: - contract: activitypods-providers into: concepts/data-layer/activitypods-providers/ type: reconstruct # Canonical identity: the package's git remote plus the repo-relative folder the # observation was made from. Per-developer access to a checkout of it lives in # `.project/contracts.local.yaml`, which is never committed. reconstructFrom: https://github.com/activitypods/refine-providers.git/src # The branch the observation was read from. A tag would be the better pin, but this # repository publishes none — the resolver turns this into the commit actually read, # which is what `built_version` records. ref: master