zara-shell: stop coercing malformed runtime-bound config #143

Closed
opened 2026-09-08 02:03:04 +00:00 by nsaspy · 0 comments
Owner

Problem

ZaraShellPlugin.start() coerces runtime bounds with float(...) and int(...) before constructing CommandPolicy. That bypasses the domain's strict type checks: for example max_output_bytes = true becomes integer 1, 1.5 truncates to 1, and boolean runtime values become numeric deadlines.

The plugin therefore accepts malformed operator policy instead of failing closed.

Scope

  • deterministic RED proving boolean/fractional byte limits are rejected at plugin config load;
  • reject boolean runtime deadlines and require finite positive numeric values;
  • require byte limits to already be positive integers, with no string/fractional/bool coercion;
  • preserve valid integer/float configuration and current defaults;
  • focused shell config tests plus full compatibility/registry/Nix package gates.

No cancellation implementation; Zara Core #388 remains the cancellation boundary.

## Problem `ZaraShellPlugin.start()` coerces runtime bounds with `float(...)` and `int(...)` before constructing `CommandPolicy`. That bypasses the domain's strict type checks: for example `max_output_bytes = true` becomes integer `1`, `1.5` truncates to `1`, and boolean runtime values become numeric deadlines. The plugin therefore accepts malformed operator policy instead of failing closed. ## Scope - deterministic RED proving boolean/fractional byte limits are rejected at plugin config load; - reject boolean runtime deadlines and require finite positive numeric values; - require byte limits to already be positive integers, with no string/fractional/bool coercion; - preserve valid integer/float configuration and current defaults; - focused shell config tests plus full compatibility/registry/Nix package gates. No cancellation implementation; Zara Core #388 remains the cancellation boundary.
nsaspy 2026-09-08 02:03:04 +00:00
  • closed this issue
  • added the
    bug
    label
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/zara-plugins#143
No description provided.