Files
Sylvain Duchesne aeb8c7d157 docs: l'engagement de la couche d'indexation, et ses deux déclarations
Le dépôt gagne sa doctrine et ses contrats, dans le régime bidirectionnel.

Il publie son engagement — ce qu'un consommateur peut attendre de l'indexation —
et déclare ce qu'il consomme lui-même, du polyfill et de ng-e2e-helpers. Les
deux déclarations sont écrites depuis les appels réels, pas depuis ce que la
surface offre : un usage non déclaré est la faute du consommateur en cas de
rupture, et une surface offerte mais non déclarée reste librement modifiable.

Version 1.0.0, pas 0.1.0 : sous semver, 0.x ne promet rien du tout, donc le
majeur ne porte son signal qu'à partir de 1. Ce dépôt étant sur main, c'est une
version pleine et non une pré-version.
2026-08-17 10:10:23 +02:00

36 lines
1.8 KiB
YAML

# Inter-repo contracts. `publish:` is this project's engagement toward its consumers —
# listing a leaf here IS the act of publishing it; an unlisted `contract_` leaf is a draft.
#
# This project is BOTH a provider and a consumer, and the two faces are isolated at document
# level: `indexing-layer` never mentions what we consume, and our `usage_` leaves never
# mention what we promise. What backs a published guarantee is internal doctrine.
#
# PROVIDES indexing-layer (concepts/indexing/indexing-layer/)
# consumer: the Festipod application, in its own repo. It has not declared a
# usage leaf, and we do not author one on its behalf — an interface with no
# declared consumer simply runs in the one-document mode.
#
# CONSUMES polyfill-surface and ng-e2e-helpers, both published by `ng-eventually-js`.
# We pull each engagement and author the `usage_ng-helpers.md` beside it.
#
# `pullFrom:` values are CANONICAL remote identities, because this file travels with the
# branch. Per-developer local access lives in `.project/contracts.local.yaml`, which is
# gitignored and must never be committed.
publish:
# paths are relative to `.project/`
indexing-layer: concepts/indexing/indexing-layer/contract_indexing-layer.md
consume:
- contract: polyfill-surface
type: git
pullFrom: git@gitea.reconnexion.apps.gueraud.net:Reconnexion/ng-eventually.git/.project/concepts/app-contract/polyfill-surface/contract_polyfill-surface.md
ref: caps-p1a-and-virtual-user-boundary
into: concepts/indexing/polyfill-surface/
- contract: ng-e2e-helpers
type: git
pullFrom: git@gitea.reconnexion.apps.gueraud.net:Reconnexion/ng-eventually.git/.project/concepts/e2e-harness/ng-e2e-helpers/contract_ng-e2e-helpers.md
ref: caps-p1a-and-virtual-user-boundary
into: concepts/indexing/ng-e2e-helpers/