Summary
Memory curation workflows should be able to read rubrics that specifically apply to memory updates. Today they do not have a clean route identity for rubric selection.
Current behavior
The memory curation workflows call run-agent-task with memory prompts, but route identity is still answer:
.github/workflows/agent-memory-scan.yml
prompt: memory-scan
route: answer
.github/workflows/agent-memory-pr-closed.yml
prompt: memory-pr-closed
route: answer
run-agent-task can load rubrics read-only by default when agent/rubrics exists, but rubric selection is route-based. Because these memory jobs identify as answer, any memory-update rubric would need to be mislabeled as an answer rubric, which risks leaking memory-curation guidance into normal answer runs.
The rubric schema also does not currently allow dedicated memory routes in applies_to; supported routes exclude memory-scan and memory-pr-closed.
Desired behavior
Memory curation agents should be able to receive rubrics that apply only to memory update workflows, without affecting normal answer runs.
Proposed approach
- Add first-class route identities for memory curation:
memory-scan
memory-pr-closed
- optionally
memory-bootstrap if bootstrap curation should share memory-scan rubrics.
- Update runtime route validation and prompt mapping so these routes can still use existing prompts:
memory-scan -> .github/prompts/memory-scan.md
memory-pr-closed -> .github/prompts/memory-pr-closed.md
- Update memory workflows to pass route-specific identities instead of
answer:
route: memory-scan
route: memory-pr-closed
- Update rubric schema/selection to allow these routes in
applies_to.
- Add tests covering:
- envelope validation for memory routes
- workflow contracts for memory route names
- rubric validation/selection for
applies_to: [memory-scan, memory-pr-closed]
- Update docs to explain that memory is advisory continuity, while memory-update rubrics are normative guidance for how memory should be curated.
Example rubric
schema_version: 1
id: keep-memory-lean
title: Keep memory lean
description: Memory updates should preserve durable project context only and avoid copying transient issue or PR details.
type: generic
domain: coding_workflow
applies_to:
- memory-scan
- memory-pr-closed
severity: should
weight: 8
status: active
examples: []
Acceptance criteria
- Memory curation workflows no longer identify as
answer for rubric selection.
- Rubrics can target memory curation routes without being selected for normal answer runs.
- Existing memory prompts continue to render and run successfully.
- Tests and docs are updated.
Summary
Memory curation workflows should be able to read rubrics that specifically apply to memory updates. Today they do not have a clean route identity for rubric selection.
Current behavior
The memory curation workflows call
run-agent-taskwith memory prompts, but route identity is stillanswer:.github/workflows/agent-memory-scan.ymlprompt: memory-scanroute: answer.github/workflows/agent-memory-pr-closed.ymlprompt: memory-pr-closedroute: answerrun-agent-taskcan load rubrics read-only by default whenagent/rubricsexists, but rubric selection is route-based. Because these memory jobs identify asanswer, any memory-update rubric would need to be mislabeled as ananswerrubric, which risks leaking memory-curation guidance into normal answer runs.The rubric schema also does not currently allow dedicated memory routes in
applies_to; supported routes excludememory-scanandmemory-pr-closed.Desired behavior
Memory curation agents should be able to receive rubrics that apply only to memory update workflows, without affecting normal
answerruns.Proposed approach
memory-scanmemory-pr-closedmemory-bootstrapif bootstrap curation should share memory-scan rubrics.memory-scan->.github/prompts/memory-scan.mdmemory-pr-closed->.github/prompts/memory-pr-closed.mdanswer:route: memory-scanroute: memory-pr-closedapplies_to.applies_to: [memory-scan, memory-pr-closed]Example rubric
Acceptance criteria
answerfor rubric selection.