Skip to content

Step 7: skills + memory priming (#10)#10

Merged
rockfordlhotka merged 1 commit intomainfrom
step-7-skills-memory-priming
Apr 23, 2026
Merged

Step 7: skills + memory priming (#10)#10
rockfordlhotka merged 1 commit intomainfrom
step-7-skills-memory-priming

Conversation

@rockfordlhotka
Copy link
Copy Markdown
Member

Summary

  • Wire ISkillStore + ILongTermMemory via WithSkills / WithLongTermMemory; browser-task primes the planner with retrieved content and writes a learned skill at sites/{host}/learned/{slug} on success.
  • Seed sites/bsky.app/login via idempotent BskySeedSkillService — reseed-safe across volume recreation, leaves operator edits intact.
  • Separate ForagentEmbeddings config section (Endpoint/ModelId/ApiKey) so embeddings can live on a different subscription than the chat model; missing config downgrades retrieval to BM25-only with a single startup warning.
  • Remove post-to-site wholesale — capability, poster, tests, seed-file entries, env vars. browser-task + learned bsky skill cover the use case.

Test plan

  • dotnet test — 51 agent + 10 browser unit tests green, including new coverage of priming injection, learned-skill write with multi-navigation gate, learned-skill skip on single-nav tasks, and seed idempotency (write once / leave existing / no-op on second start).
  • Step-6 unaided benchmark re-run end-to-end — 3/3 pass on first attempt with priming wired in (empty stores → no regression).
  • docker compose up --build smoke: confirm agent card no longer advertises post-to-site, ForagentEmbeddings not configured warning appears when env vars are unset, /data/foragent/skills/sites/bsky.app/login exists on first boot of a fresh volume.

Framework feedback captured

docs/framework-feedback.md gains a Step 7 section — notably that Skill has no tags / metadata / importance field (agent-learned vs human-authored lives in the name prefix) and ISkillStore.SearchAsync takes an explicit float[]? queryEmbedding.

🤖 Generated with Claude Code

Wire ISkillStore + ILongTermMemory via WithSkills + WithLongTermMemory
on AgentHostBuilder. Each browser-task invocation now primes the planner
with retrieved skill and memory content (BrowserTaskPriming); on success
the capability synthesizes a learned skill at sites/{host}/learned/{slug}.
Ships an idempotent BskySeedSkillService that seeds sites/bsky.app/login
on first start. Embeddings wire through a separate ForagentEmbeddings
config section so they can live on a different subscription; missing
config downgrades retrieval to BM25-only with a single startup warning.

post-to-site removed wholesale (greenfield, no deprecation path needed):
capability, poster, tests, seed-file entries, env vars. browser-task plus
the seeded bsky skill covers the bluesky use case.

Step-6 unaided benchmark (3/3) re-verified; no regression from priming
wiring when stores are empty. Framework observations captured in
docs/framework-feedback.md — notably Skill has no tags/metadata/importance
field, so agent-learned vs human-authored distinction lives in the name.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@rockfordlhotka rockfordlhotka merged commit e334e46 into main Apr 23, 2026
1 check passed
@rockfordlhotka rockfordlhotka deleted the step-7-skills-memory-priming branch April 23, 2026 02:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant