Skip to content

Adopt Ghost content projection in the CLI #221

Description

@aileen

Parent

What to build

Activate the released deep fragmenter contract in the CLI for the existing posts-only batch path. Carry one validated Ghost content projection from configuration through Content API fetching, complete-batch record construction, stale-record replacement, indexing, documentation, and a verified CLI minor release.

Acceptance criteria

  • The CLI accepts the approved top-level contentProjection shape and validates it before any Ghost or Algolia network request.
  • Omitting projection enables the approved default fields including excerpt; explicit projection, aliases, custom ranking siblings, values, and errors match the fragmenter contract.
  • The Content API request sends no fields parameter and includes tags and/or authors only when those relations are enabled.
  • This slice retains posts-only enumeration, current pagination behavior, and all existing CLI flag contracts.
  • The complete batch is transformed and preflighted before Algolia mutation; deterministic policy/content/size failures make no request.
  • For every affected legacy slug, all previous package-managed records are replaced before the validated new set is saved so shrinking content leaves no continuation.
  • Projection never changes index settings implicitly and user-owned search/retrieval/facet/snippet/ranking settings remain untouched.
  • Process-level acceptance uses the offline Ghost replay and external requester replacement to prove configuration, request ordering, projection, replacement, no-partial-validation, and stable outcomes.
  • A scoped CLI minor release is published and verified with notes covering defaults, optional fields, aliases, display-only excerpt, size/errors, migration guidance, compatible fragmenter floor, and rollback.

Blocked by

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions