Final stable quality checkpoint helpers.
The checkpoint runs fast/full gate command sets, captures timing metrics, and verifies traceability closure between story matrix rows and story commits.
Summary
Functions
Canonical fast gate command set.
Canonical full gate command set.
Sums command timings into fast/full gate totals.
Returns missing story IDs from traceability after accounting for commit IDs and allowed gaps.
Validates story ID format and returns normalized IDs.
Reads and parses story IDs from local git commit subjects.
Reads and parses story IDs from a traceability matrix file.
Runs a single command and captures elapsed milliseconds.
Runs each command in order and returns timing records.
Parses story IDs from git subject lines matching feat(story): ST-....
Parses story IDs from traceability matrix markdown content.
Verifies traceability closure and returns result details.
Types
@type command_failure() :: %{ gate: gate(), label: String.t(), cmd: String.t(), args: [String.t()], status: non_neg_integer(), elapsed_ms: non_neg_integer() }
@type command_timing() :: %{ gate: gate(), label: String.t(), elapsed_ms: non_neg_integer() }
@type gate() :: :fast | :full
Functions
@spec fast_gate_commands() :: [command_spec()]
Canonical fast gate command set.
@spec full_gate_commands() :: [command_spec()]
Canonical full gate command set.
@spec gate_totals([command_timing()]) :: %{ fast: non_neg_integer(), full: non_neg_integer() }
Sums command timings into fast/full gate totals.
Returns missing story IDs from traceability after accounting for commit IDs and allowed gaps.
Validates story ID format and returns normalized IDs.
Reads and parses story IDs from local git commit subjects.
Reads and parses story IDs from a traceability matrix file.
@spec run_command( command_spec(), keyword() ) :: {:ok, command_timing()} | {:error, command_failure()}
Runs a single command and captures elapsed milliseconds.
@spec run_commands( [command_spec()], keyword() ) :: {:ok, [command_timing()]} | {:error, command_failure()}
Runs each command in order and returns timing records.
Parses story IDs from git subject lines matching feat(story): ST-....
Parses story IDs from traceability matrix markdown content.
@spec verify_traceability([String.t()], [String.t()], keyword()) :: {:ok, traceability_result()} | {:error, traceability_result()}
Verifies traceability closure and returns result details.