zara-coding: bound persistent task-state cardinality and protocol reads #173

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

Problem

The persistent Prolog-owned task-state slice introduced by #238 is intentionally long-lived. Per-command field sizes are bounded, but a service lifetime can still accumulate unbounded task/evidence records, and the Python protocol adapter currently checks response size only after readline() returns.

Slice

Harden the local zara-coding task-state boundary without adding new planning/runtime authority:

  • cap active task records in the persistent Prolog session;
  • cap verification evidence records per task and reject overflow deterministically;
  • bound stdout line reads before allocating an arbitrarily large response;
  • retain the closed fixed-operation JSON-line protocol;
  • deterministic RED tests first, including real SWI-Prolog coverage when available;
  • keep missing Prolog behavior honestly degraded;
  • registry/plugin/Nix/package gates must remain green.

This remains local #1 work and does not bypass Zara Core #400 cross-plugin composition.

## Problem The persistent Prolog-owned task-state slice introduced by #238 is intentionally long-lived. Per-command field sizes are bounded, but a service lifetime can still accumulate unbounded task/evidence records, and the Python protocol adapter currently checks response size only after `readline()` returns. ## Slice Harden the local `zara-coding` task-state boundary without adding new planning/runtime authority: - cap active task records in the persistent Prolog session; - cap verification evidence records per task and reject overflow deterministically; - bound stdout line reads before allocating an arbitrarily large response; - retain the closed fixed-operation JSON-line protocol; - deterministic RED tests first, including real SWI-Prolog coverage when available; - keep missing Prolog behavior honestly degraded; - registry/plugin/Nix/package gates must remain green. This remains local #1 work and does not bypass Zara Core #400 cross-plugin composition.
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#173
No description provided.