You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
L08-08 — Gate free-text slots behind a single-key text helper #261
Allow free text only where a task declares a typed text slot (for example, explanation prose for a finding), following jev's TYPE_TEXT helper. The helper runs only when the validated observation selects an operation that owns a text slot. It receives a minimized context (task, selected row, cited evidence rows, recent decisions) and must return exactly one JSON key, {"text": "…"}, or {"text": null} when the evidence does not support an answer. The text cites row indices and is display-only.
Parent and boundary
Parent: #9. Owner: proposed Decision module. This issue owns one bounded slice of Bounded Decision Worker; consume accepted upstream contracts and keep PDF/verdict/publication authority with Core.
A generated value is reused only while the entire helper input digest is unchanged (jev's stale-retry cache). It is discarded after the observation is consumed.
Text never becomes a plan field, parameter, Core identity, or verdict, and it is not a deciding input to any later question.
Failure case: a helper that invents values, follows instructions embedded in document text, or runs without a selected text-slot operation fails.
Required proof
Strict-JSON parser fixtures, null/unsupported cases, a cache-invalidation test, an injection test shared with #64, and a no-provider fallback test. Record the exact source SHA, test command or hosted run, fixture/artifact identity, and any skipped or unavailable lane. Run the repository's mapped proof and check-change gate for a PR.
Handoff
Record changed files, observed result, remaining risk, and a 1–3 sentence anti-slop review. Completion means acceptance evidence, not merely a merged implementation.
Activity