ShrubberyDocs
Sign in

Commitment Flow Score (CFS)

Definition

The composite team-health metric. The CFS rolls up three axes: Flow Score (Say-Do Ratio on delivered commitments), Ghost Rate (refused or aged-out proposals), and Reciprocity (the Lead's own Say-Do on rows where they are the assignee).

Role

The CFS is the headline number on the Garden — the Lead's reliability receipt for the team they manage. It exists to make the human side of commitments measurable without falling back to engagement metrics (open rates, time-on-page) that miss the point. The CFS only counts rows that received an explicit Handshake; nothing accumulates against a Knight who was never given the chance to consent.

Calculation lives behind the canonical computeCfs() engine in src/lib/metrics/cfs.ts and runs server-side on every CFS surface (home, activity, team, dossier, and the 7-point trend). The composite is presented as three separate gauges rather than a single number so the failure mode is legible (high Ghost Rate + high Flow Score reads very differently from low Flow Score + low Ghost Rate).

Lifecycle

Not a stateful concept — see cfs-rules for the precise inclusion rules. The CFS is recomputed on read; no row is "in" the CFS as a stored attribute.

The three axes have distinct entry rules:

  • Flow Score — enters denominator at Pending_HandshakeActive. Enters numerator at ActiveCompleted if completed_at <= deadline.
  • Ghost Rate — enters numerator at Pending_HandshakeRefused or Pending_Handshake ages out.
  • Reciprocity — same arithmetic as Flow Score, restricted to rows where the Lead is the assignee.

Last updated: 17 May 2026