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
Commit 873cff0
Browse filesBrowse the repository at this point in the historyBrowse files
fix(learn): scope recurrence to the named store and harden snapshot reads
- `learn status --name` and reflection attribute only that store.
- Compaction replays (text metadata `learnOriginalMessage`) have unknown
turn starts; attachment-only and agent-mention turns stay request
boundaries even though their text companions are synthetic.
- Snapshot reads fail closed on unsafe paths and skip a file whose name does
not match its session.
- The `r` prompt line asks for an EDIT only when the wording is unclear and
to keep a correct rule the agent did not follow.
- Tests: assert the analyzer really fails in the reflection fallback test,
check status text with learning disabled, assert a real unmatched-topic line.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Copy file name to clipboardExpand all lines: docs/docs/configure/learn.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -236,7 +236,7 @@ Shows whether learning is on, whether automatic promotion is on with its last pr
236
236
237
237
A correction matches a lesson when it names one of the lesson's backtick identifiers plus another word from the lesson, or contains most of the lesson's words. The text output lists only lessons with a matching correction and summarizes the rest as "no observed correction". That is not proof the agent followed them. Corrections are recorded only while capture is on. Status also lists up to 5 identifiers that were corrected in 2 or more sessions with no matching current lesson. They are taken from your local corrections and never leave the project. If the analysis fails, status shows `Recurrence unavailable` (`recurrence_error` in JSON), and the rest of the status still prints.
238
238
239
-
When the current text of a lesson has `recurred` in 2 or more sessions, reflection marks it `r:N` in the playbook it sends the model. The model is asked to make the lesson clearer or more specific, never weaker. The result is a candidate like any other and goes through the same review or automatic-promotion gates.
239
+
When the current text of a lesson has `recurred` in 2 or more sessions, reflection marks it `r:N` in the playbook it sends the model. The model is asked to make the lesson clearer or more specific when the feedback shows the wording is unclear, and to keep it when the agent simply did not follow a correct rule. The result is a candidate like any other and goes through the same review or automatic-promotion gates.
Copy file name to clipboardExpand all lines: packages/opencode/src/altimate/learn/prompt.txt
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -36,4 +36,4 @@ Bullet text rules (deterministic checks reject unsafe content and flag verificat
36
36
Output: a JSON object {"deltas": [...]}. Each delta is {"op": "ADD"|"EDIT"|"REMOVE"|"HELPFUL"|"HARMFUL", "id": "<bullet id, for every op except ADD>", "text": "<bullet text, for ADD and EDIT>", "reason": "<one short sentence citing the feedback>"}.
37
37
Optional fields: "supersedes": "<existing bullet id>" for ADD, and "coexists": ["<existing bullet id>", ...] for ADD or EDIT. Omit these fields when they do not apply.
38
38
39
-
r = sessions where this rule was shown and the user still corrected the same topic; consider making it more specific or clearer (EDIT), never weaker
39
+
r = sessions where this rule was shown and the user still corrected the same topic. If the feedback shows the wording is unclear or incomplete, EDIT it to be clearer or more specific. If the agent simply did not follow a correct rule, keep it. Narrow a rule only when the feedback shows it is too broad; never drop the behavior it requires.
0 commit comments