fix(memory,prompts): rollover repair + retire-for-all + seedgo #37 path cleanup
Batch of S243/S244 work held for PR640. Only devpulse has git write, so all branches' changes (@memory, @prax, @hooks, @aipass, @skills, @flow, @backup, @seedgo) land through this single commit. Memory rollover (correctness): - @hooks rollover hook now delegates to drone @memory rollover check/run — it had been reading stale .trinity limits (moved to memory.config.json by DPLAN-0210), falling back to a 600-line check that never fired, so rollover was silently dead for weeks. compact.py reads the current list schema. Both fail loud. - @memory removed the v1 line-count/600 fallback entirely — v2-only, fail-loud (959 tests). Retire-for-all (DPLAN-0215): - Legacy global prompt fully removed across every runtime: global_loader.py + tests deleted, hooks.json/project_hooks.json blocks stripped, bootstrap global seeding removed, cadence default + bypass cleaned, global .md files archived. Codex SessionStart + Claude cadence read the same tier files. Hardcoded-path cleanup (seedgo #37): - New HARDCODED_PATH checker (#37). @memory symbolic.py + @prax branch_detector.py home paths -> dynamic/generic. Both 100% Hardcoded_Path. - seedgo provider_hooks_snapshot.json fixture refreshed to the tiered baseline. Genericization: patrick -> user across tracked source, docs, templates. CHANGELOG: 2026-06-19 + 2026-06-23 sections added.
This commit is contained in:
@@ -167,11 +167,10 @@ def print_help() -> None:
|
||||
console.print(" [cyan]help[/cyan] Show this help message")
|
||||
console.print()
|
||||
console.print("[bold]LIMITS:[/bold]")
|
||||
console.print(" v1 (schema <2.0): Line-count based (max_lines, default 600)")
|
||||
console.print(" v2 (schema 2.0+): Entry-count based (max_sessions, max_key_learnings)")
|
||||
console.print(" v2 entry-count based (sessions, key_learnings, observations) from config")
|
||||
console.print()
|
||||
console.print("[bold]WORKFLOW:[/bold]")
|
||||
console.print(" 1. Detect files exceeding limits (line count or entry count)")
|
||||
console.print(" 1. Detect files exceeding v2 entry-count limits")
|
||||
console.print(" 2. Extract oldest entries")
|
||||
console.print(" 3. Generate embeddings via fastembed")
|
||||
console.print(" 4. Store vectors in local + global ChromaDB")
|
||||
@@ -400,21 +399,12 @@ def show_status() -> None:
|
||||
console.print(f" [bold]{branch_name}[/bold]")
|
||||
|
||||
for memory_type, file_stats in branch_stats.items():
|
||||
current = file_stats["current"]
|
||||
max_val = file_stats["max"]
|
||||
ready = file_stats["ready"]
|
||||
remaining = file_stats["remaining"]
|
||||
schema_ver = file_stats.get("schema_version", "1.0.0")
|
||||
v2_reason = file_stats.get("v2_reason", "")
|
||||
|
||||
status_marker = "[red]![/red]" if ready else "[green]OK[/green]"
|
||||
|
||||
if schema_ver.startswith("2"):
|
||||
status_text = f"READY ({v2_reason})" if ready else "OK (v2)"
|
||||
console.print(f" {status_marker} {memory_type}: {status_text}")
|
||||
else:
|
||||
status_text = "READY" if ready else f"{remaining} remaining"
|
||||
console.print(f" {status_marker} {memory_type}: {current}/{max_val} lines ({status_text})")
|
||||
status_text = f"READY ({v2_reason})" if ready else "OK"
|
||||
console.print(f" {status_marker} {memory_type}: {status_text}")
|
||||
|
||||
console.print()
|
||||
|
||||
|
||||
@@ -869,7 +869,8 @@ def run_demo() -> None:
|
||||
|
||||
mock_fragments = [
|
||||
{
|
||||
"summary": "User was stuck on a code error for a while, then solved it with assistant's step-by-step debugging guidance",
|
||||
"summary": "User was stuck on a code error for a while, then solved it with "
|
||||
"assistant's step-by-step debugging guidance",
|
||||
"insight": "Step-by-step debugging with explanation is more effective than just providing the fix",
|
||||
"type": "episodic",
|
||||
"triggers": ["error", "debug", "stuck", "breakthrough"],
|
||||
@@ -877,7 +878,8 @@ def run_demo() -> None:
|
||||
"technical_domain": "debugging",
|
||||
},
|
||||
{
|
||||
"summary": "Collaborative pattern where assistant explains reasoning before giving solutions leads to better understanding",
|
||||
"summary": "Collaborative pattern where assistant explains reasoning before giving "
|
||||
"solutions leads to better understanding",
|
||||
"insight": "Teaching approach builds deeper knowledge than direct answers",
|
||||
"type": "procedural",
|
||||
"triggers": ["explain", "step by step", "understanding"],
|
||||
@@ -1408,15 +1410,10 @@ def _find_bootstrap_sessions(max_sessions: int = 8) -> List[Path]:
|
||||
return []
|
||||
|
||||
# Priority branch directories (diverse content sources)
|
||||
aipass_src = Path(__file__).resolve().parents[3]
|
||||
priority_dirs = [
|
||||
"-home-patrick-Projects-AIPass-src-aipass-memory",
|
||||
"-home-patrick-Projects-AIPass-src-aipass-devpulse",
|
||||
"-home-patrick-Projects-AIPass-src-aipass-seedgo",
|
||||
"-home-patrick-Projects-AIPass-src-aipass-drone",
|
||||
"-home-patrick-Projects-AIPass-src-aipass-flow",
|
||||
"-home-patrick-Projects-AIPass-src-aipass-prax",
|
||||
"-home-patrick-Projects-AIPass-src-aipass-ai-mail",
|
||||
"-home-patrick-Projects-AIPass-src-aipass-api",
|
||||
str(aipass_src / name).replace("/", "-").replace("_", "-")
|
||||
for name in ["memory", "devpulse", "seedgo", "drone", "flow", "prax", "ai_mail", "api"]
|
||||
]
|
||||
|
||||
selected = []
|
||||
|
||||
Reference in New Issue
Block a user