Skip to content

Enhancement: cycle break label cascade on edit/delete #56

Description

@PeGa

Current behavior

When a cycle break is edited (--edit-time) or deleted, the next break's label is rewritten to reference the new boundary. This is the _cycle_neighbours + _relabel_break cascade in lib/cycle.sh.

Why it's enhancement, not invariant

The cascade is a nice-to-have. If the previous break is lost or deleted, the next break keeping its original label is acceptable — the label is still a valid receipt of what was known at write time.

The core invariant is simpler:

  • A break is a point in time (zero-duration session)
  • Its label names the previous break's end + its own end
  • The label is computed at write time

Proposed

Move the cascade behavior behind a feature flag or make it optional, so the contract doesn't mandate propagation. If the previous break is gone, the next break's label remains as-written.

Material

  • lib/cycle.sh: _cycle_neighbours, _relabel_break
  • --edit-time cascade: lines ~230-235
  • delete cascade: lines ~270-280

Labels

enhancement

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions