Repository navigation
Conversation
Contributor
Author
|
Keeping this experimental learner local for now; not opening an upstream PR. Will re-submit if it earns one. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Useful know-how produced during a run currently dies with the transcript. This adds an opt-in, draft-only learner: when a task finishes, a bounded background job distills the run's tool evidence into experience drafts. Nothing is promoted automatically — there is no activation endpoint, drafts are never installed into the skills directory, and no skill, role or tool is enabled by this change. A human reads them in the console.
Boundaries:
learning.enableddefaults tofalse, is captured at startup and requires a restart, matching the documented hot-apply boundaries.tool_result; fragments marked truncated may not be reasoned about. Drafts containing protected configuration values are rejected before storage, and the candidate manifest goes throughskillpackage.ValidateSkillMDPackage.learning_jobstable plus two queue/conversation indexes. API: one protected read-only route,GET /api/conversations/:id/learning. UI: a chat toolbar entry gated onchat:read, with 11 keys in each ofzh-CN/en-US/ru-RU.AgentTaskManagergainsSetRunPersistenceHooksso the learner reads from the existing finalization path instead of adding a second write site; the hooks only do bounded persistence and never call a model.Validation:
go build ./...go test ./...across the repository, no failuresgo test -count=1 ./internal/learning/... ./internal/config/... ./internal/database/... ./internal/handler/...node --test web/static/js/*.test.cjs-> 320/320 passmainafter fix: serialize SQLite asset writes without multiplying busy waits #362; theweb/templates/index.htmlchange is purely additive and leaves existing?v=asset versions untouched.Deliberately excluded: no standalone guide or research note, since 63955c4 just removed internal process journals from
docs/. The single documentation edit is a## 任务经验草稿section indocs/zh-CN/configuration.mddescribing the new keys, written to match the existingproject.context_checkpointsentry.