Luigit
repositories / termux-janitor

termux-janitor

Interactive cleanup assistant for Termux: transparent, safe, confirmed disk reclamation.

owned by admin

spec/fixtures/confirmation/exact.md

Raw
Rendered preview

Exact confirmation

Fixture: fixture-confirm-exact@1

Given

A displayed immutable plan for the current scan generation, a completely submitted confirmation prompt, and no buffered input eligible for that confirmation generation.

When

The operator enters the exact case-sensitive ASCII phrase CONFIRM and then Enter.

Required invariants

  • INV-CONFIRM-ACCEPTED: Confirmation is accepted only for the displayed current-generation plan.
  • INV-PLAN-IDENTITY: Execution receives the same immutable plan that the operator reviewed.

Forbidden effects

  • NO-MUTATION-BEFORE-ENTER: No cleanup mutation is admitted before Enter completes the exact phrase.
  • NO-PLAN-WIDENING: Execution admits no action absent from the reviewed plan.

Variations

Wrong case, incomplete input, an eighth printable byte, Escape, Ctrl-C, buffered input, bracketed paste, mouse input, escape sequences, stale events, repeated keys, and a generation change are separate scenarios and do not satisfy this fixture.

Limitations

Legacy terminals cannot distinguish unmarked paste, macros, or synthetic input from byte-identical manually typed input.

# Exact confirmation

**Fixture:** `fixture-confirm-exact@1`

## Given

A displayed immutable plan for the current scan generation, a completely submitted confirmation
prompt, and no buffered input eligible for that confirmation generation.

## When

The operator enters the exact case-sensitive ASCII phrase `CONFIRM` and then Enter.

## Required invariants

- **`INV-CONFIRM-ACCEPTED`:** Confirmation is accepted only for the displayed current-generation
  plan.
- **`INV-PLAN-IDENTITY`:** Execution receives the same immutable plan that the operator reviewed.

## Forbidden effects

- **`NO-MUTATION-BEFORE-ENTER`:** No cleanup mutation is admitted before Enter completes the exact
  phrase.
- **`NO-PLAN-WIDENING`:** Execution admits no action absent from the reviewed plan.

## Variations

Wrong case, incomplete input, an eighth printable byte, Escape, Ctrl-C, buffered input, bracketed
paste, mouse input, escape sequences, stale events, repeated keys, and a generation change are
separate scenarios and do not satisfy this fixture.

## Limitations

Legacy terminals cannot distinguish unmarked paste, macros, or synthetic input from byte-identical
manually typed input.