Skip to content

Fix burn overhead deltas filtering and unsupported flags #454

Description

@willwashburn

Problem

burn overhead deltas is exposed under burn overhead, so it inherits --project, --kind, and the shared --since help text. In the current implementation, project and kind are dropped when dispatching to deltas, and --since only accepts relative ranges. ISO timestamps or invalid values silently become None.

A session-specific deltas query also ignores since at the SDK layer because ContextDeltaOpts::session bypasses the seed query. The SDK currently uses since only to select sessions, not to filter returned deltas within a session.

Relevant files

  • crates/relayburn-cli/src/commands/overhead.rs
  • crates/relayburn-cli/src/cli.rs
  • crates/relayburn-sdk/src/query_verbs.rs
  • crates/relayburn-sdk/src/analyze/context_delta.rs

Suggested scope

Keep this small and choose one clear contract:

  • Either make overhead deltas support the shared --since contract, including ISO timestamps, and reject invalid input.
  • Or remove/override inherited flags and help text so only supported options are advertised.

Also decide whether --project and --kind should be real filters for deltas. If not, they should not be accepted on this subcommand.

Definition of done

  • burn overhead deltas --help only advertises supported flags.
  • Invalid --since values do not silently widen the query.
  • --since behavior is identical for all-session and --session <id> modes, or the difference is explicitly rejected and documented.
  • Add CLI and SDK regression tests around relative range, ISO timestamp or rejection, and session-specific filtering.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions