Skip to content

infra: content lifecycle strategy #120

@marc0olo

Description

@marc0olo

Context

Define how docs stay fresh as upstream sources evolve. This covers change detection, sync automation, and freshness ownership.

Current state

Automated:

  • Motoko pages: sync-motoko.yml — weekly, detects new caffeinelabs/motoko releases and opens a PR with synced content already committed
  • Motoko + Candid grammars (Shiki): update-syntax-grammars.yml — weekly, tracks dfinity/vscode-motoko releases and opens a PR with updated TextMate grammars

Established conventions:

  • Every content page carries an <!-- Upstream: hand-written | sync from | informed by --> comment (decision: 2026-03-12)
  • Every submodule bump PR must follow the checklist in CLAUDE.md (per-submodule diff review, affected page updates, bump notice comments on open PRs)
  • .sources/VERSIONS tracks current pinned versions for release-pinned submodules

Not yet in place:

  • No automated change detection for the remaining 13+ submodules (icp-cli, cdk-rs, motoko-core, icskills, examples, icp-js-sdk-docs, candid, response-verification, chain-fusion-signer, papi, ic-pub-key, internetidentity, icp-cli-recipes, icp-cli-templates)
  • No CODEOWNERS file — no defined ownership per section
  • No documented review cadence or staleness policy

Remaining questions

  1. Submodule change detection: Build a workflow similar to sync-motoko.yml for release-pinned submodules — check latest tag against .sources/VERSIONS, open a bump PR or issue when behind. Main/master-pinned submodules are harder (no release signal); a weekly diff summary issue may be more practical.
  2. CODEOWNERS: Define section-level ownership (e.g. chain-fusion guides → chain-fusion team, Rust CDK pages → SDK team).
  3. Review cadence: Document a spot-check schedule for hand-written pages that are informed by upstream sources.

Output

  • Automated bump detection workflow(s) for release-pinned submodules
  • CODEOWNERS file
  • Staleness / review cadence documented in .docs-plan/decisions.md or CONTRIBUTING.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions