feat(ws5): memory/handbook injection seams (context-provider pattern) #43
No reviewers
Labels
No labels
app
bug
ci
compliance
content
dependencies
docs
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
infra
invalid
javascript
needs-triage
python
question
tests
wontfix
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set.
Reference: adam/orchestrator#43
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/ws5-memory-handbook-seams"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
retriever.py: addssave_memory(name, content, *, memory_dir=None) -> Paththat writes to a_box-drafts/review-queue subdirectory (never visible toload_memories); addsmemory_dirparam toretrieve()for isolated routing in tests and production injectionagent_team/nodes/handbook.py(new):load_handbook_conventions(path=None) -> strreads*.mdfiles from the Sea Haven engineering-handbook directory (envSEA_HAVEN_HANDBOOK_DIRor~/.sea-haven/engineering-handbook); safe no-op contract — returns""and never raises when dir absent, empty, or unreadableclarifier_llm.py: addscontext_provider: ContextProvider | None = Noneseam toClaudeClarifier.__init__andbuild_claude_clarifier_callables(); provider failure is silently swallowedplanner.py: addscontext_providerseam tobuild_plan_prompt()andplan_node(); identical behavior whenNonecoordinator.py: threadscontext_providerthroughdefault_plan_node_factory(); kwarg is only forwarded when non-Noneto preserve monkeypatched stub signatures in existing teststests/test_ws5_memory_handbook.py(new): 19 tests covering all five seamsCI status
ruff checkclean ·pytest -q— 1063 passedSecurity notes
save_memoryrejects names containing/,\\,\x00, or..(path-traversal guard)load_handbook_conventionshard-caps file count (_MAX_FILES=20) and bytes per file (_MAX_FILE_BYTES=4096) to avoid prompt-stuffing from an oversized handbook direxcept Exception— no untrusted content reaches the exception pathOUTSTANDING (attended — do NOT merge until done)
/sh-security-review— formal security sign-off on the newsave_memorypath-traversal guard and the handbook file-read caps~/.sea-haven/engineering-handbook/from Mac to R720 box (or confirm handbook dir already present)orchestratorsystemd unit to pick up new codeload_handbook_conventions()returns non-empty string on the boxsave_memory→_box-drafts/round-trip worksGenerated by Claude Code