Skip to content

Article Object Intents

Purpose

This document defines intent for article objects managed through the marketing BFF and persisted into the CMS system behind it.

Role of Article Objects

Article objects support:

  • long-form editorial content
  • knowledge capture
  • site page population
  • collection membership
  • AI retrieval and summarization

Transitional Local Rule

Local markdown files under docs/articles/*.md are currently used as staging artifacts during cleanup and editorial refinement.

They must not be treated as the long-term authoritative system of record.

The intended final authority is:

  • BFF for retrieval and mutation
  • CMS for underlying persistence

Retrieval Intent

The current BFF retrieval endpoints for article objects are:

  • getArticle(slug)
  • getArticleById(articleKey)
  • getArticles(filters)

Mutation Intent

The current verified BFF article mutations are:

  • createArticle(input)
  • updateArticle(articleKey, input)
  • deleteArticle(articleKey)

Human Input Pattern

Article intent should support requests such as:

  • create an article about solar racking design
  • update the subtitle for article X
  • replace the hero image for article Y
  • publish the revised article into CMS

The assistant should:

  1. resolve the target article or confirm it is new
  2. validate the object against the current article contract
  3. execute the BFF mutation
  4. confirm the persisted article state after mutation

Object Contract Rule

Article objects should stay aligned with the active BFF article contract, including fields such as:

  • articleKey
  • slug
  • title
  • subtitle
  • publishedAt
  • author
  • heroImage
  • featureImage
  • categories
  • tags
  • body
  • excerpt

Local cleanup should converge toward this contract, not invent a separate local shape.