Files
ci/opencode/ci/workflows/status.md
T

2.5 KiB

description
description
Show CI project status — current phase, milestone, pipeline stage, decisions, escalations, and requirements coverage

CI Status

Display the current CI project status derived entirely from the git log and .ci/ files.

Usage: ci-status

Step 0: Confirm Active Project

Check ci listProjects() or read .ci/config.json to determine if multi-project mode is active.

If .ci/config.json has projects[] with length > 0:

  • Show project list with active project indicator
  • Confirm active_project is the project to show status for
  • If not, set it with ci setActiveProject(<slug>)
  • All commit messages must include project: <slug> in ---ci--- block

If single-project mode: proceed with existing conventions.

Step 1: Load Git Context

git log --max-count=30
git branch -a

Use GitContext.reconstructState() to get:

  • Current phase
  • Current milestone
  • Current pipeline stage
  • Completed phases

Step 2: Gather Details

Collect from git log:

  • GitContext.getDecisions() — all decisions
  • GitContext.getEscalations() — pending escalations
  • GitContext.getRequirementsCoverage() — covered/partial requirements
  • GitContext.getLessons() — learned lessons
  • GitContext.getCompounds() — compound learnings

Step 3: Read .ci/ Files

Read:

  • .ci/PROJECT.md — project name and vision
  • .ci/ROADMAP.md — phase list with status
  • .ci/config.json — autonomy level

Step 4: Display Status

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 CI ► STATUS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Project: [name]  [If multi-project: (active)]
[If multi-project: Other projects: [name1], [name2]]
Milestone: [current] [NFR|Feature]
Phase: [N] — [name]
Stage: [current_stage]
Autonomy: [level]

Phases:
  ✓ [N] [name] (complete)
  → [N] [name] (in progress)
  ○ [N] [name] (not started)

Decisions: [N] total
Escalations: [N] pending
Requirements: [N] covered, [N] partial

Recent commits:
  [hash] [subject]
  [hash] [subject]
  [hash] [subject]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

If no .ci/ directory exists: report "Project not initialized. Run ci-init first."