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
The v5.0.0+ port plan (Plans/v5-0-0-plus-port.md, item #10 in the MED
list) flags the Learning standalone pack (~/.pai/skills/Learning/) as
"closes the /learn loop … v5 has nothing equivalent" and parks it for
later port work. A separate read-only investigation has now produced a
detailed contrast.
v5 has a substantial automated capture pipeline (5 capture hooks, 5
readback functions injected per session, weekly LearningPatternSynthesis
CLI, WisdomFrames with [CRYSTAL: %] confidence) but no human
curation loop: no /learn, no AISTEERINGRULES.md, no PENDING/
ACCEPTED/APPLIED proposal lifecycle, no force-loaded steering file.
v5's system prompt actively counter-recommends writing behavioural
rules to harness auto-memory ("infrastructure is the memory"). The
fork's /learn apply writes "DO MORE" patterns there. Doctrinal
conflict that needs deliberate resolution at port time.
The fork's runtime learning-readback.ts is one function behind v5
— missing loadSynthesisPatterns(). Adopting v5's hook code wholesale
picks this up free.
v5 chose CLAUDE.md @imports over loadAtStartup. Fork must decide
whether to overlay loadStartupFiles() back in or migrate
AISTEERINGRULES to an @import.
v5's WisdomFrames is a different primitive the fork could adopt
instead of (or alongside) AISTEERINGRULES.
Neither side has runtime↔release drift detection for steering files;
the fork accepts forward drift by design.
Scope of this issue
A. Port-side integration design
Decide how (and whether) to integrate the fork's curation layer on top of
v5's automated capture, given the constraint "don't change v5 if I can
help it":
Resolve the doctrinal conflict on harness auto-memory — adopt v5's
stance, retain fork's stance, or carve a documented exception
Decide load-back primitive: overlay loadStartupFiles() / loadAtStartup or migrate to CLAUDE.md @imports
Decide whether to adopt v5's WisdomFrames (with confidence gating)
as the new write target instead of AISTEERINGRULES.md
Pull v5's loadSynthesisPatterns() readback into runtime (free win
regardless of larger decisions)
B. Community / ecosystem research (NEW — added per user direction)
The Learning Loop is the most-debated PAI subsystem (see closed cluster #50, #73, #109, #141 + open #80, #86, #97). v5 is now public; investigate what others are doing with v5's learning subsystem:
Survey known forks of danielmiessler/Personal_AI_Infrastructure
for Learning Loop modifications (GitHub fork list + recent commits)
Search GitHub issues/discussions/PRs on upstream and notable forks
for Learning, WisdomFrames, LearningPatternSynthesis, AISTEERING
Check Daniel Miessler's blog / videos / Twitter for v5
Learning-subsystem commentary post-release; capture the design intent
Identify any third-party tooling that wires LearningPatternSynthesis.ts to a scheduler (cron, GitHub Action,
CI) — v5 ships it without a trigger
Note any community resolutions of the same doctrinal conflict
(curation layer over auto-capture)
Report findings inline on this issue or in a follow-up reports/v5-learning-community-survey.md.
Open questions from the report (§6)
These remain unresolved with file evidence alone and should be answered as
part of A/B above:
Has anyone ever run LearningPatternSynthesis.ts on v5? No
cron/hook trigger ships in the baseline.
What writes ~/.pai/MEMORY/STATE/learning-cache.sh? The reader exists
in both trees; the writer is invisible in the v5 distribution.
What does v5's install.sh actually deploy for skills/PAI/AISTEERINGRULES.md? config-gen.ts:34-35 references the
path; the baseline tree has no such file.
Does v5's WorkCompletion-driven MEMORY/LEARNING/{ALGORITHM,SYSTEM}/
feed back beyond loadLearningDigest()? If not, captures accumulate
indefinitely as dead weight.
Is fork's RatingCapture.hook.ts a verbatim ancestor of v5's SatisfactionCapture.hook.ts? Line-by-line confirmation needed.
Out of scope
Implementing any of the decisions above. This issue is **investigation
design**, not implementation. Implementation gets follow-up issues
on virtualian/pai-v5 per the port plan's branch-as-feature workflow.
Context
The v5.0.0+ port plan (
Plans/v5-0-0-plus-port.md, item #10 in the MEDlist) flags the Learning standalone pack (
~/.pai/skills/Learning/) as"closes the
/learnloop … v5 has nothing equivalent" and parks it forlater port work. A separate read-only investigation has now produced a
detailed contrast.
Report:
reports/v5-learning-loop-vs-pack.md(generated 2026-05-10; ~310 lines, citation-heavy).
Headline findings
readback functions injected per session, weekly
LearningPatternSynthesisCLI,
WisdomFrameswith[CRYSTAL: %]confidence) but no humancuration loop: no
/learn, noAISTEERINGRULES.md, no PENDING/ACCEPTED/APPLIED proposal lifecycle, no force-loaded steering file.
rules to harness auto-memory ("infrastructure is the memory"). The
fork's
/learn applywrites "DO MORE" patterns there. Doctrinalconflict that needs deliberate resolution at port time.
learning-readback.tsis one function behind v5— missing
loadSynthesisPatterns(). Adopting v5's hook code wholesalepicks this up free.
@importsoverloadAtStartup. Fork must decidewhether to overlay
loadStartupFiles()back in or migrateAISTEERINGRULES to an
@import.WisdomFramesis a different primitive the fork could adoptinstead of (or alongside) AISTEERINGRULES.
the fork accepts forward drift by design.
Scope of this issue
A. Port-side integration design
Decide how (and whether) to integrate the fork's curation layer on top of
v5's automated capture, given the constraint "don't change v5 if I can
help it":
stance, retain fork's stance, or carve a documented exception
loadStartupFiles()/loadAtStartupor migrate to CLAUDE.md@importsWisdomFrames(with confidence gating)as the new write target instead of
AISTEERINGRULES.mdloadSynthesisPatterns()readback into runtime (free winregardless of larger decisions)
RatingCapture↔ v5'sSatisfactionCapture/SessionAnalysisconsolidation; confirm pipeline inputs survivethe swap
B. Community / ecosystem research (NEW — added per user direction)
The Learning Loop is the most-debated PAI subsystem (see closed cluster
#50, #73, #109, #141 + open #80, #86, #97). v5 is now public; investigate
what others are doing with v5's learning subsystem:
danielmiessler/Personal_AI_Infrastructurefor Learning Loop modifications (GitHub fork list + recent commits)
for Learning,
WisdomFrames,LearningPatternSynthesis, AISTEERINGLearning-subsystem commentary post-release; capture the design intent
LearningPatternSynthesis.tsto a scheduler (cron, GitHub Action,CI) — v5 ships it without a trigger
(curation layer over auto-capture)
Report findings inline on this issue or in a follow-up
reports/v5-learning-community-survey.md.Open questions from the report (§6)
These remain unresolved with file evidence alone and should be answered as
part of A/B above:
LearningPatternSynthesis.tson v5? Nocron/hook trigger ships in the baseline.
~/.pai/MEMORY/STATE/learning-cache.sh? The reader existsin both trees; the writer is invisible in the v5 distribution.
install.shactually deploy forskills/PAI/AISTEERINGRULES.md?config-gen.ts:34-35references thepath; the baseline tree has no such file.
WorkCompletion-drivenMEMORY/LEARNING/{ALGORITHM,SYSTEM}/feed back beyond
loadLearningDigest()? If not, captures accumulateindefinitely as dead weight.
RatingCapture.hook.tsa verbatim ancestor of v5'sSatisfactionCapture.hook.ts? Line-by-line confirmation needed.Out of scope
on
virtualian/pai-v5per the port plan's branch-as-feature workflow./learnextending to ingest CC per-cwd auto-memory. That's Extend /learn to ingest and curate CC per-cwd auto-memories (augment-over-override) #147.Refs
reports/v5-learning-loop-vs-pack.md/learningest CCper-cwd memory), Promote interceptor skill from repo-local to ~/.pai/skills/ with PAI-flavoured triggers #155 (interceptor skill), feat: Scheduled synthesis — automated learning pipeline runs #80 (scheduled synthesis),
feat: HITL approve/reject back-propagation of learnings #86 (HITL approve/reject backprop), System prompt memory instructions override PAI's own memory system #97 (system prompt memory
override), Investigate: Claude Code harness auto-memory directive still routes agent writes to per-cwd ~/.claude/projects/.../memory/, independent of Learning skill (plus runtime-drift on #109 Part 2) #140 (Claude Code auto-memory routing)
Plans/v5-0-0-plus-port.md(item fix: rebuild SKILL.md with Algorithm v0.2.25 #10 MED, Learningstandalone pack)