Skip to content

Automation Overview

CUTIP enforces a consistent end-to-end lifecycle for every change — from a local branch to a deployed GitHub Release. This section documents each pipeline, what triggers it, and the playbooks that drive it.


The three pipelines

Pipeline Trigger Purpose
Feature / Fix Push to feat/** or bug/** Code changes: test, validate, and ship a capability
Documentation Push to staging or docs/** AI-driven docs audit, README sync, and GitHub Pages deploy
Release Push to release/** Build wheel, publish GitHub Release, tag version

Full e2e flow

feat/cap{N} branch
  local tests pass
  PR → staging
      ├── GHA: ci.yml  (unit tests, smoke test, e2e, docs build, wheel archive)
  merge to staging
      ├── GHA: docs-generate.yml  (auto-generates docs PR if feat/* or bug/*)
      │   └── docs/cap{N}-* PR → CI → merge
      ├── GHA: docs.yml  (AI audit, README sync, gh-pages deploy)
  staging → integration (fast-forward merge)
  release/v{X.Y.Z} branch pushed
      ├── GHA: release.yml  (wheel build → GitHub Release + git tag)
  v{X.Y.Z} released

Playbooks (Claude uses these)

When Claude Code runs any of these pipelines end-to-end, it follows the corresponding playbook:

Playbook Path
Feature / fix .claude/workflows/feature-fix.md
Release .claude/workflows/release.md

Branch conventions

integration   permanent protected trunk
staging       permanent protected gate — all PRs merge here first
gh-pages      auto-managed by MkDocs gh-deploy (never commit manually)

Feature and fix branches (feat/cap{N}-*, bug/cap{N}-*) are short-lived — deleted after merge. Release versions are preserved as git tags (v{X.Y.Z}), not as permanent branches.