zara-coding: reject malformed task-state executable configuration before spawn #126

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

Problem

TaskStateSession only checks if not executable, so truthy non-text values, whitespace-only strings, and embedded-NUL executable values can survive construction and fail later in subprocess.Popen with raw type/OS errors. That weakens the task-state protocol's deterministic startup boundary.

Required behavior

  • task-state executable must be non-empty non-whitespace text;
  • reject embedded NUL/newline/carriage-return before process creation;
  • malformed configuration fails deterministically at construction with ValueError;
  • no process is spawned for invalid configuration;
  • existing SWI-Prolog startup/failure behavior remains unchanged;
  • full compatibility/registry/plugin/Nix package gates stay green.

Tracks bounded Prolog-RLM session configuration under #1.

## Problem `TaskStateSession` only checks `if not executable`, so truthy non-text values, whitespace-only strings, and embedded-NUL executable values can survive construction and fail later in `subprocess.Popen` with raw type/OS errors. That weakens the task-state protocol's deterministic startup boundary. ## Required behavior - task-state executable must be non-empty non-whitespace text; - reject embedded NUL/newline/carriage-return before process creation; - malformed configuration fails deterministically at construction with `ValueError`; - no process is spawned for invalid configuration; - existing SWI-Prolog startup/failure behavior remains unchanged; - full compatibility/registry/plugin/Nix package gates stay green. Tracks bounded Prolog-RLM session configuration under #1.
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#126
No description provided.