refactor(learnings): externalize per-repo learnings to separate GitHub repo#2
Open
sixty4bit wants to merge 3 commits intoworkos:mainfrom
Open
refactor(learnings): externalize per-repo learnings to separate GitHub repo#2sixty4bit wants to merge 3 commits intoworkos:mainfrom
sixty4bit wants to merge 3 commits intoworkos:mainfrom
Conversation
All references to /Users/nicknisi/Developer/case have been replaced
with dynamic resolution so the harness works for any user/fork.
Shell scripts and hooks now derive CASE_REPO from their own location
using the SCRIPT_DIR pattern (matching bootstrap.sh). SKILL.md and
agent prompts use ${CASE_REPO} as a variable resolved by the
orchestrator at invocation time. Each agent's Input contract now
includes CASE_REPO as an explicit parameter.
upload-screenshot.sh now requires the CASE_ASSETS_REPO env var
instead of defaulting to a specific user's repo, with clear setup
instructions on failure.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix(harness): remove hardcoded filesystem paths for portability
…b repo
Per-repo tactical knowledge no longer lives in docs/learnings/{repo}.md
inside the case repo. Instead, learnings are stored in an external GitHub
repo configured via the CASE_LEARNINGS_REPO env var, matching the
CASE_ASSETS_REPO pattern.
New scripts:
- scripts/read-learning.sh: reads learnings via gh api (stdout)
- scripts/write-learning.sh: appends entries and commits via gh api
The implementer agent now calls read-learning.sh before coding, and the
retrospective agent calls write-learning.sh to persist tactical knowledge.
Harness-level escalations (3+ similar learnings → convention) still write
to the local case repo.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
nicknisi
added a commit
that referenced
this pull request
Mar 17, 2026
- Remove double-written metrics: drop legacy log-run.sh call from pipeline.ts, writer.ts is the single path (#1) - Await retrospective instead of fire-and-forget so process.exit doesn't kill it (#3) - Fix README claiming retrospective applies changes directly — it proposes amendments, only learnings are applied directly (#6) - Document attended-mode retry semantics: maxRetries is per-attempt, human can re-enter implement indefinitely (#2) - Reconcile --worktree docs: removed from flag list, branch isolation is handled by skill layer before orchestrator dispatch (#4)
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.
Summary
docs/learnings/{repo}.md) no longer lives inside the case repo. Instead, learnings are stored in an external GitHub repo configured via theCASE_LEARNINGS_REPOenv var, matching theCASE_ASSETS_REPOpattern from fix(harness): remove hardcoded filesystem paths for portability #1.read-learning.shandwrite-learning.shhandle all interaction with the external repo viagh api(no clone needed).read-learning.shbefore coding; the retrospective agent callswrite-learning.shto persist tactical knowledge. Harness-level escalations (3+ similar learnings promoting to conventions) still write to the local case repo.docs/learnings/README.mdto setup instructions for the external repo.Why
Codebase-specific learnings don't belong in an open-source harness repo. Each fork accumulates different knowledge, and user-specific data pollutes the shared repo. Externalizing them means each user/fork has their own learnings repo, and the harness itself stays generic.
Test plan
bash -nsyntax validationread-learning.sh cliwithoutCASE_LEARNINGS_REPOset — should fail with setup instructionsread-learning.sh cliwith env var pointing to a repo with nocli.md— should exit 0 with stderr notewrite-learning.sh cli "- **2026-03-17** — test entry"— should create file and commitread-learning.sh cliagain — should output the entry🤖 Generated with Claude Code