Skip to content

feat(cli): wave consolidate <pipeline> — multi-run delta report #1554

@nextlevelshit

Description

@nextlevelshit

Context

Wave already has typed pipeline_outputs declared in every pipeline YAML — every pipeline (audit-, ops-, impl-, inception-, plan-, wave-) emits structured artifacts at known paths. Today consolidating those across multiple runs of the same pipeline requires manual grep + read.

Proposal

New CLI: wave consolidate <pipeline-name> [--since <duration>] [--limit N] [--output <md|json>].

Generic — works for ANY pipeline with declared pipeline_outputs, not just wave-*. Walks runs of that pipeline, gathers each run's typed output artifacts, feeds to a summarizer persona, emits a multi-run delta report:

  • Recurring: findings/themes consistent across runs
  • Drifting: findings that appear/disappear over time
  • Latest-only: unique to most recent run
  • Aggregate metrics: total tokens, avg duration, pass-rate, token-burn-rate trend

Use cases (cross-pipeline-family)

  • wave consolidate audit-architecture --since 90d — architecture drift over a quarter
  • wave consolidate audit-security --since 30d — cumulative security posture
  • wave consolidate wave-test-hardening — recurring coverage gaps (signal that real gaps remain unfixed)
  • wave consolidate ops-pr-review --since 14d — review-finding patterns across recent PRs
  • wave consolidate plan-research — research themes accumulated for a project area
  • wave consolidate impl-issue --since 7d — implementation effort patterns / common rework triggers

How it works

  1. Looks up pipeline declared pipeline_outputs: block (each typed output: step, artifact, type)
  2. Globs .agents/workspaces/<pipeline-name>-*/<step>/.agents/output/<artifact>.<ext> (or queries state DB pipeline_run table joined to artifacts table)
  3. Filters by --since / --limit
  4. Feeds the corpus to summarizer with a per-pipeline-type prompt template (markdown reports, JSON findings, code diffs each rendered appropriately)
  5. Emits single delta report

Dependencies

Strong recommendation: visible-outcome PR (in flight) lands first so wave-* pipelines also produce consistent reports. Without it the wave-* family is excluded from consolidation. Other families (audit-/ops-/plan-/impl-) already qualify today.

Out of scope

  • Cross-pipeline-family consolidation (e.g. wave consolidate audit-* --since 30d aggregating ALL audit reports) — single-pipeline first, multi-pipeline later
  • Web UI surface — CLI first; UI page (/consolidate/<pipeline>) is a follow-up

Severity

Enhancement. Unlocks meta-analysis across run history. Especially valuable for long-running audit families and self-evolution pipelines.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions