Tell ON runners how a recon answer survives

Task 5492 · Done · Coder · created · updated

Defect: the epic asks that "a settled task's recon findings are searchable by a later task", but the capture gate silently drops the most common recon answer shapes, and ON runners are never told. Reproduction (Task 5426, live on dev): T1 (task 4804) settled a locator-only recon answer ("where is X" → path + function) → rejected `locator_only`; T1b (4808) an answer containing "this session" → rejected `session_summary`. Only a re-phrased answer carrying a relation word (T1e, 4813 → mem-318) was stored. Cause: - `apps/api/app/project_memory/gates.py:84-99` `exclusion_reason`: a `qa` answer needs ≥ `LOCATOR_MIN_WORDS` (6) non-locator words and one `RELATION_TERMS` word (`apps/api/app/project_memory/vocabulary.py:45-48`: because, must, only, never, when, if, …); `_SESSION_SUMMARY` (`gates.py:25`) drops "this session"/"in this task" phrasing. This is deliberate (amendment 1, exclusion at capture) — keep it. - `apps/api/app/dispatch_compose.py:4726-4732` `_PROJECT_MEMORY_GUIDANCE`, the trusted ON-only paragraph, says nothing about it. Fix: extend `_PROJECT_MEMORY_GUIDANCE` (ON arm only) with one short sentence: a `recon_map.recon[]` answer becomes shared memory only when it says WHY or WHEN (e.g. "because", "must", "only", "never", "when") beyond a bare location, and never narrates the session. Keep wording within the ui-copy standard (few words). Update the ON prompt test/golden that pins this paragraph. Done means: - An ON dispatch prompt carries the new sentence; oracle: the existing ON-arm compose test asserts it. - The OFF prompt is byte-identical to before (the OFF golden test, `apps/api/tests/memory_off_fixture.py` path, still passes unchanged). - `./dc check full` green; PR merged with the `gate` check green and its Jaah Deploy watched to success. Required checks: gate Out of scope: relaxing or changing the capture gate itself (`gates.py`, `vocabulary.py`); the charter's "Gathering evidence" recon text (shared with OFF prompts); any other prompt section; console.

Outcome

Added the ON-only memory guidance sentence (a recon answer is kept only if it says WHY/WHEN, never narrates the session); test asserts it, OFF unchanged. PR #4776 merged, CI gate green, live on dev (deploy 37967567549). Local full gate red only on unrelated token_billing tests.

Pull request

Artifacts

Activity

  • Ready
  • Runner started
  • Runner ended (done)