System Shutdown
Before ending this session, persist memory and sync to GitHub.
1. Review Session for Unrecorded Learnings
Scan the conversation for important information not yet saved:
- Decisions made and their reasoning
- Preferences expressed (tech choices, workflows, opinions)
- Contacts mentioned (people, companies, context)
- Project updates (progress, pivots, blockers)
- Events/dates discussed
- Anything the user explicitly asked to remember
If you find unrecorded items, note them for the next step.
2. Flush to Daily Log
Append session notes to today's log: system/memory/daily/YYYY-MM-DD.md
Get today's date and append a new session entry.
Daily log format:
# YYYY-MM-DD
Daily notes and session activity.
## Sessions
### Session N
[Summary of what was done - 2-3 sentences max]
## Notes
- Bullet points of important items
If the file doesn't exist, create it with the header first, then add the session.
Session entry format:
### Session N
**[Brief title].** [Summary - what was done, key outcomes, decisions made]
3. Curate to MEMORY.md
Review the daily log and decide if anything should be promoted to system/memory/MEMORY.md.
Promote to MEMORY.md if:
- Significant decision that affects future work
- New contact worth tracking long-term
- Preference/opinion that should persist
- Project milestone or major update
- Hardware/setup change
Don't promote:
- Day-to-day task completion
- Routine updates
- Temporary information
If promoting, add to the appropriate section in MEMORY.md (Preferences, Decisions, Contacts, Projects, Hardware).
4. Update Working State
- Update context.md - Write current state, active threads, anything important for next session
- Clean tmp.md - Remove completed items, keep only pending work
5. Run Full Re-Index
Index all memory files for search:
python system/scripts/memory.py index --full
This ensures the search database is up to date.
6. Git Sync
After memory is updated, commit and push to GitHub:
git add -A
git status
If there are changes:
git commit -m "Session [N]: [brief summary of session]"
git push
Use the session number from the daily log and a 3-5 word summary.
If push fails (e.g., remote has changes), report the issue — don't force push.
7. Confirm
After saving and syncing, confirm:
- What was persisted to memory (daily log, MEMORY.md if updated, context.md)
- Git commit hash and push status
- Index status
- "HAL-OS shutting down. Goodbye."
