<!-- source: openspec/changes/surface-entity-identification/verification.md -->

# Verification — surface-entity-identification

> Companion to proposal.md / design.md / tasks.md. Acceptance assertions, corrected to this
> repo's actual conventions (see design.md § Verification-drift note).

## Spec alignment

"Done" means the studio's confirmed entity identity is publicly legible at two depths without
inventing any unconfirmed fact. Every rendered fact traces to the single `EntityIdentity` source;
every `to-verify` field renders an honest pending string rather than a fabricated value or a
misleading blank. `openspec/current/home/blocks.md` Footer block documents the entity micro-line
(amended at archive time).

## Must appear

- `apps/web/src/config/entity-identity.ts` exporting `EntityIdentity` + `ENTITY_IDENTITY`, with the
  literal IDNO `1026023043928` (the only non-test occurrence).
- A rewritten `apps/web/src/app/[locale]/(marketing)/legal/imprint/page.tsx` sourcing all facts from
  the module, in the D-SEI-4 order, with the controlling-language notice.
- A footer entity micro-line (`data-slot="entity-line"`) in `footer-grid.tsx` reading name + IDNO
  from the module.
- `web.legal.imprint.labels.*` + `web.legal.imprint.pending.*` + `web.legal.imprint.controllingLanguage`
  and `common.footer.entity.idno` in all three locales (en/ru/ro).

## Must NOT appear

- A `DraftWatermark` on the imprint page (fact, not draft contract).
- The IDNO literal anywhere outside `entity-identity.ts` and tests (not in i18n).
- Any invented registered-office address or VAT number while those fields are `to-verify`
  (in particular, the prior `"Republic of Moldova"` placeholder must be gone).
- Trust-badge / seal / certification imagery; a homepage-hero entity block.

## Acceptance

- Done when: `apps/web/src/config/entity-identity.ts` exists.
- Done when: `grep -c '1026023043928' apps/web/src/config/entity-identity.ts` returns `1`.
- Done when: `grep -rc '1026023043928' packages/i18n/messages` reports `0` in every locale file.
- Done when: `grep -c 'DraftWatermark' apps/web/src/app/[locale]/(marketing)/legal/imprint/page.tsx` returns `0`.
- Done when: `legalImprint` present in `packages/i18n/src/routes.ts` (already true; sitemap pickup automatic).
- Done when: `common.footer.entity.idno` present in en/ru/ro `common.json`; `web.legal.imprint.labels`/`pending` present in en/ru/ro `web.json`.
- Done when: `pnpm --filter @rapoport-studio/web test` green (imprint page + footer-composition + legal-column).
- Done when: `pnpm --filter @rapoport-studio/i18n test` green (top-level + leaf parity).
- Done when: `pnpm --filter @rapoport-studio/web typecheck` and `pnpm lint` clean.
- Reviewer confirms: the footer entity line reads from the module, and the IDNO appears in exactly one non-test source module.
- Reviewer confirms: every `to-verify` field renders an honest pending string and no fabricated value appears.
- Reviewer confirms (preview): the imprint carries the D-SEI-4 field set in order with the controlling-language notice, across en/ro/ru.
