| import os
|
| import shutil
|
|
|
| def patch_file(filepath, replacements):
|
| if not os.path.exists(filepath):
|
| print(f"Error: {filepath} not found.")
|
| return False
|
|
|
|
|
| shutil.copy2(filepath, filepath + ".bak")
|
|
|
| with open(filepath, "r", encoding="utf-8") as f:
|
| content = f.read()
|
|
|
| for old, new in replacements:
|
| if old not in content:
|
| print(f"\nError: Could not find the expected text block in {filepath}.")
|
| print("Your file may already be patched, or the layout differs slightly.")
|
| print("Restoring from backup...")
|
| shutil.copy2(filepath + ".bak", filepath)
|
| return False
|
| content = content.replace(old, new, 1)
|
|
|
| with open(filepath, "w", encoding="utf-8") as f:
|
| f.write(content)
|
|
|
| print(f"Patched successfully: {filepath}")
|
| return True
|
|
|
| def main():
|
|
|
| identity_path = os.path.join("daemon", "identity_mixin.py")
|
| identity_replacements = [
|
|
|
| (
|
| ''' bridge = self.get_session_bridge_prompt_fragment()
|
| if bridge:
|
| prompt += f"\\n\\n## Continuity\\n{bridge}\\n"''',
|
| ''' relational_digest = self.get_relational_digest()
|
| relational_section = f"\\n\\n{relational_digest}\\n" if relational_digest else ""'''
|
| ),
|
|
|
| (
|
| ''' + "RECENT WEB SEARCHES:\\n" + search_section + "\\n\\n"
|
| + f"SOURCE AWARENESS:''',
|
| ''' + "RECENT WEB SEARCHES:\\n" + search_section + "\\n\\n"
|
| + relational_section
|
| + f"SOURCE AWARENESS:'''
|
| ),
|
| ]
|
|
|
| success = patch_file(identity_path, identity_replacements)
|
|
|
| if success:
|
| print("\nAll done. You can delete patch_identity.py and the .bak files whenever you want.")
|
| print("Restart Sir Radix to load the relational digest layer.")
|
| else:
|
| print("\nPatch failed. No changes were kept.")
|
| print("If the problem persists, paste the contents of daemon/identity_mixin.py here and I'll hand-modify it.")
|
|
|
| if __name__ == "__main__":
|
| main() |