TryGhost / TryGhost/algolia

Release dormant Ghost content identity primitives

Open
#224 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ready-for-agent
Dominant language
TypeScript
Stars
22
Forks
19
Avg merge
18h 31m
Merged PRs (30d)
50

Description

Parent

What to build

Add and release the library primitives required for pages without activating any CLI or webhook behavior. The fragmenter produces explicit type-tagged Ghost content identity through its deep API, and the indexer can browse, replace, delete, and reconcile package-managed records by that identity while old slug APIs and defaults remain available.

Acceptance criteria

  • The deep fragmenter API accepts explicit Ghost content type and stable Ghost content ID from a trusted adapter and repeats protected contentId and contentType in every derived record.
  • Ghost content type is exactly post or page; it is never inferred from an incomplete reduced object.
  • Physical fragment object IDs remain deterministic Algolia upsert identities while content ID becomes the logical grouping/replacement/deletion identity.
  • The indexer exposes public content-identity browse, replace, delete, and reconciliation operations that preserve unrelated index records.
  • Existing slug operations, posts-only defaults, and current adapter behavior remain usable and unchanged.
  • Public tests cover same-slug/different-type records, multi-fragment identity, replacement after shrink, deletion, pagination/classification inputs, escaping, error mapping, and unrelated-record preservation.
  • The new identity fields remain subject to the complete 9,999-byte record ceiling.
  • Fragmenter and indexer minors are selected together in a scoped dry run; dependent application patches are documented as dependency-only.
  • Published artifacts are clean-install verified and release notes clearly state that the APIs are dormant: installing them does not enable pages or change source selection.

Blocked by

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the fragmenter and indexer public APIs and read PRD #213 alongside the acceptance criteria. Review how existing slug operations, posts-only defaults, and adapter behavior are preserved; done means the dormant identity APIs, public tests, release coordination, clean-install verification, and release notes all satisfy the stated criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.