Skip to main content

Software Factory Flow Metrics

@mgreten/software-factory-flow-metricsv2026.08.02.1· 1mo agoREPORTS
01README

Deterministic quality, reliability, flow, and ceremony metrics for a @swamp/software-factory work item — time-to-terminal, per-stage durations, entry counts and time-to-gate, dispatch attempts, failed/parked stage, human touches, deduplicated human decisions keyed by gate+stage+cycle+decision, approvals and rejections per gate, approval wait durations, stage visit/cycle counts, review/patch frequency, stage yield and park rates, time to verified draft, bounded-loop exhaustion, human cycle-limit overrides and the stages they unblocked, delivery mode, and terminal outcome — with a cross-run aggregate, every metric carrying a trust/availability label and a source pointer back to the journal, approval, or artifact record it came from, so unmeasurable values are reported as unavailable rather than as zero. Rendered statically from recorded run data with no LLM involved.

02Reports1
@mgreten/software-factory-flow-metricsmethod
flow_metrics_report.ts

Deterministic quality, reliability, flow, and ceremony metrics for a @swamp/software-factory work item, including terminal and stage timing, dispatches, human decisions, approval waits, review and patch frequency, yields, parks, bounded-loop exhaustion, overrides, and cross-run aggregates. Every value carries availability/trust and canonical source pointers; no LLM.

software-factory
03Previous Versions3
2026.07.29.1

Gate-differentiated rejection counts and cycle-override/exhaustion visibility.

Run-level:

  • rejectionsByGate: rejections keyed by the gateId each 'rejected' journal event carried, so you can see which gate is actually costing a run. Read from the journal, not the approval records, which are last-write-wins per gate id and lose a rejection that was later approved. Null-prototyped; a gateId-less event buckets to '(unknown)' so counts always sum to the flat rejections total.
  • cycleOverrides: human cycle-limit grants ('cycle-override:' approvals), each with the granting stage and the gate id. These differ in practice: a grant for cycle-override:review is commonly recorded while the run sits in a preparation stage.
  • cycleExhaustions: stages driven past their limit, keyed on the overridden stage. Documented honestly as an inference: the engine throws on a cycle-limit breach without journaling it, so a run sitting at an un-overridden limit is not recoverable from recorded data.

Aggregate: totalRejectionsByGate (merged across runs) and totalCycleOverrides.

Renderer rows for all of it. README documents each field's JSON shape plus verified consumer queries against the materialized report data, and the latest-version-only caveat on swamp data query.

2026.07.28.1

Add per-stage time-to-gate (firstEnteredMs) and run-level deliveryMode read from the approved-work-order intake artifact, with a runsByDeliveryMode cross-run mix.

2026.07.20.1

Initial release: deterministic quality/reliability/flow metrics for @swamp/software-factory work items — time-to-terminal, per-stage durations, dispatch attempts, human touches, patch cycles, terminal outcome, and a cross-run aggregate.

04Stats
A
100 / 100
Downloads
191
Archive size
53.9 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
05Platforms
06Labels