catalog-info.yaml 0.8.0

Released: 2026-09-29

Adds spec.seo — registers nextjs/static services with iec-webmaster on prod deploy and injects SEO_PROPERTY_ID / SEO_ENTITY_ID / INDEXNOW_KEY. Requires catalog-version annotation. Ships behind the builder flag SEO_INTEGRATION_ENABLED (default off).

Breaking Changes

🟠 ERROR — catalog-0-8-0-seo-missing-version-annotation

If spec.seo is declared but the catalog-version annotation is missing or below 0.8.0, the builder ignores the block. The service deploys, but it is never registered with iec-webmaster, no Property is created for its custom domains, and SEO_PROPERTY_ID / SEO_ENTITY_ID / INDEXNOW_KEY are not injected. The build log carries one warning line and nothing else.

catalog-info.yaml 0.8.0: spec.seo requires the catalog-version annotation.

ADD to metadata.annotations:
  insureco.io/catalog-version: "0.8.0"

Without this annotation spec.seo is ignored: the service is never
registered with iec-webmaster and no SEO env is injected.

Notes

spec.seo is frontend-only, the same rule as spec.analytics: an express, hono, fastify or worker service that declares it gets a build warning and no wiring.

Unlike spec.analytics, a malformed spec.seo block fails the build: enabled must be a boolean, entity a slug ([a-z0-9-]), pages either "sitemap" or a non-empty list of absolute paths, topic a short non-empty string. The block names an Entity and a Topic that iec-webmaster acts on against a live domain, so a typo there would silently register the wrong thing.

The wiring ships behind the builder flag SEO_INTEGRATION_ENABLED, which defaults OFF until the iec-webmaster service exists. While off, every call the builder would have made is written to the build log with its exact payload ("SEO (dry run, SEO_INTEGRATION_ENABLED=false): would POST ...") and nothing is sent or injected. Declaring spec.seo today is safe and lets a service check its payloads in the build log ahead of the switch-on. WEBMASTER_URL defaults to https://iec-webmaster.tawa.pro.

Every SEO step is non-blocking: a missing service token, an unreachable or erroring iec-webmaster, or an unexpected response shape is a [warn] line and no injection. iec-webmaster's hourly service-sync job is the safety net for a deploy the hook missed. Catalogs without spec.seo are completely unaffected, and the spec.analytics path is unchanged.

The reference page tawa-platform/reference/seo (linked from every builder warning) is written with the iec-webmaster service, not with this bump.

Last updated: October 6, 2026