π EOD-RITUAL.md β End-of-Day Ritual
docs/EOD-RITUAL.md
"Rest is not the end unless the memory is lost. To hibernate is to prepare for rebirth." Standard: DSOM For My AI Protocol v6.1 + Palace v1.0 | GitOps Β· AIOps Β· Ansible
ποΈ 1. The Philosophy of Hibernation
The End-of-Day (EOD) is the Sovereign Save β the critical point where the day's work is crystallised, committed to Git, and preserved so that the next session can begin without loss.
The EOD is where the GitOps loop closes:
AI Proposes β Git Records β Ansible Executes β AI Verifies β EOD (Sovereign Save) β Next SOD
The EOD Ritual assumes you are tired. It is designed for a fatigued human with high cognitive load. Every step is explicit, safe, and guided. Nothing is assumed.
Remember: If it is not in Git, it does not exist.
π 2. The EOD Workflow β Step by Step
π§ Step 1 β Context Consolidation (AI β Human Review)
Before running any tools, ask the AI to help prepare the brain artifacts:
Ask the AI:
"We are ending the session. Update
.agents/brain/task.mdβ mark all completed items[x], set tomorrow's SOD targets as[ ]. Then update.agents/brain/walkthrough.mdwith today's Mental Anchor. What did we accomplish and where exactly do we resume tomorrow?"
AI will produce:
- Updated
task.mdβ reflects today's completions and tomorrow's first actions - Updated
walkthrough.mdβ new Session Anchor entry with: - Accomplished: What was done today (the What)
- Why: The architectural reasoning (the Why)
- Mental Anchor: One sentence β exact state and where to resume
Verify before saving:
- Does the Mental Anchor describe the exact stopping point?
- Are tomorrow's SOD tasks clear?
- Is nothing left vague?
οΏ½ Step 1b β Hibernation Notes Export (Human Memory Backup)
Run this prompt in your AI session before closing the chat. It exports everything the AI knows β your full project context, instructions, progress, and environment β into a single code block you can save locally.
[!IMPORTANT] Copy the entire prompt below and paste it into your AI chat as-is. Do not paraphrase it.
Copy this prompt verbatim:
I'm as human, want to know and remember, and need to export my data and I want you
to generate a "Hibernation notes" now for my EOD of day. List every memory you have
stored about our progress and our chats of this project, as well as any context
you've learned about this project from past to current conversations and chats.
Output everything in a single code block so I can easily copy it. Format each entry
as: [date saved, if available] - memory content. Make sure to cover all of the
following β preserve my words verbatim where possible:
- Instructions I've given you about how to respond (tone, format, style,
'always do X', 'never do Y').
- Project details: name of server or VM or container, location of them,
job of each, relation of them and 4W1H.
- Tasks, phases, goals, and recurring topics.
- Tools, languages, and frameworks I use.
- Preferences and corrections I've made to your behaviour.
- Any other stored context not covered above.
Do not summarize, group, or omit any entries. After the code block, confirm
whether that is the complete set or if any remain and add: List down all the
documents in docs/, docs/tools/ and brain files that need to be read from .agents/.
Don't hide anything from me. Trust me as your master.
After you receive the output:
- Copy the entire code block
- Save it as
.agents/brain/hibernation-notes-YYYY-MM-DD.txt - Or paste into your physical/digital notebook as an offline backup
Why this matters: This export is your insurance policy. If the AI session is lost, this block contains everything needed to fully reanimate a brand-new AI agent to the exact current state β without running reanimate.sh.
οΏ½π€ Step 2 β Hibernation Safety Check (T1 or T2)
Run the hibernation script β it checks for dirty state before you sleep:
# T2 (WSL2 dsom-control-almalinux10)
./tools/hibernation.sh
# T1 (Windows PowerShell)
.\tools\hibernation.ps1
Note (v2.1):
hibernation.shandhibernation.ps1now automatically runpalace-sync.sh/.ps1as Step 7: Palace Spatial Reflection β generating the update proposal without a separate command.
What it checks:
- β
task.mdhas been updated today - β
walkthrough.mdhas a new Session Anchor - β
No uncommitted changes in
docs/orsrc/ - β No dangling Ansible playbook outputs uncommitted
- β οΈ Displays tomorrow's SOD targets clearly
- β
Palace Spatial Reflection β
palace-sync.shruns and generatespalace_update_proposal_YYYY-MM-DD.md
If any check fails β fix it before sleeping.
ποΈ Step 2a β [RECOMMENDED] Ansible Palace EOD (T2: Linux/WSL2 Only)
If you are on T2, use this instead of Steps 2β5. It runs all checks, palace sync, selective staging, commit, and push in a single command.
# T2 (Linux/WSL2) β Full automated EOD
bash tools/eod-palace.sh # (Windows: .\tools\eod-palace.ps1)
What it runs automatically:
| Step | Action |
|---|---|
| 1 | Validate task.md has [x] completed tasks |
| 2 | Validate walkthrough.md has today's anchor |
| 3 | Run tools/palace-sync.sh (generate update proposal) |
| 4 | Show dirty/uncommitted files |
| 5 | Selective git add (brain + palace files, no blind git add .) |
| 6 | git commit with standard EOD message |
| 7 | git push origin main |
Skip palace-sync if already run by hibernation.sh:
bash tools/eod-palace.sh # (Windows: .\tools\eod-palace.ps1) --skip-tags palace_sync
After the playbook β Manual steps (always required):
- Review
palace_update_proposal_YYYY-MM-DD.mdwith your AI - Update relevant closets in
.agents/brain/wings/ - Commit closet updates:
git add .agents/brain/ && git commit -m "chore(palace): update closets"
T1 (Windows): Steps 2β5 remain manual.
hibernation.ps1v2.1 handles palace-sync automatically.
π Step 3 β Privacy Scan (Before Sharing Any Manifest)
If you generated a sod_manifest_YYYY-MM-DD.txt today, scan it before sharing:
# Bash
./tools/privacy-guardian.sh
# Or via Ansible
ansible-playbook playbooks/dsom/privacy-scan.yml -i localhost,
Scans for: IPv4 addresses, emails, API keys, AWS keys, GitHub tokens, PEM private keys, Linux home paths.
π Step 4 β Sovereign Save: EOD Git Ritual (T1: Windows PowerShell)
Commit all changes with a structured, semantic commit message:
# T1 β Interactive EOD Sovereign Save (guided semantic commit)
.\tools\git-ritual.ps1
# T2 β Interactive EOD Sovereign Save
./tools/git-ritual.sh
The git-ritual EOD process:
- Shows current Git status and last 5 commits
- You select commit type:
feat,fix,docs,chore,refactor,ci - You provide scope, description, and optional Phase/version tag
- Builds commit message:
type(scope): description [Phase/vX.X] - Confirms before committing and pushing
Direct push (if you know the message):
.\tools\git-ritual.ps1 push "chore(brain): EOD sovereign save β [Phase-X/vX.X]"
Why semantic commits? Every future AI session reads git log. Meaningful messages = better context recovery next SOD.
π Step 5 β T2 Sync (WSL2 Pull After T1 Push)
After pushing from T1, ensure T2 is synchronised:
# Inside dsom-control-almalinux10
cd /mnt/d/Users/LinuxMalaysia/Projects/[YOUR_PROJECT]
git pull origin main
Or use the git-ritual SOD pull on T2:
./tools/git-ritual.sh sod
Why: T1 (Windows) and T2 (WSL2) must always be at the same commit. Never let them drift.
π Step 6 β Set Tomorrow's Mental Anchor (Human Action)
Before closing your terminal, write this in your physical notebook or digital notes:
TOMORROW: [ONE SENTENCE β exactly where to resume, what to run first]
DATE: [YYYY-MM-DD]
PROJECT: [PROJECT NAME]
NEXT ACTION: [e.g. "Run ansible-playbook playbooks/dsom/audit-preflight.yml after SOD pull"]
This is your offline backup in case your brain has its own context decay overnight.
β 3. EOD Completion Checklist
[ ] task.md β updated: [x] done, [ ] tomorrow's targets set
[ ] walkthrough.md β new Session Anchor written with Mental Anchor sentence
[ ] (RECOMMENDED T2) ansible-playbook eod-palace.yml β all checks + palace sync + commit + push
[ ] OR (Manual T1/T2) hibernation.sh/.ps1 β returned GREEN (includes palace-sync v2.1)
[ ] OR (Manual T1/T2) privacy-guardian.sh β manifest scanned CLEAN (if manifest was generated)
[ ] OR (Manual T1/T2) git-ritual.sh (EOD) β all changes committed with semantic message
[ ] OR (Manual T1/T2) git push β state pushed to origin/main
[ ] palace_update_proposal_YYYY-MM-DD.md β reviewed with AI
[ ] Palace closets updated and committed (if proposal had changes)
[ ] T2 WSL2 β git pull confirms sync with T1
[ ] Tomorrow's first action noted (physical/digital notebook)
DO NOT SLEEP until all items are checked.
π 4. EOD Stop Conditions (INCOMPLETE States)
| Condition | Action Required |
|---|---|
task.md has no [x] items for today |
Ask AI to update, or mark manually |
walkthrough.md missing new Session Anchor |
Ask AI to write it |
hibernation.sh shows uncommitted changes |
git add -A and commit via git-ritual |
git push fails |
Fix merge conflict, then push again |
| T2 not synced with T1 | git pull origin main inside WSL2 |
| Privacy scan finds sensitive data | Edit manifest manually, re-scan |
palace_update_proposal not reviewed |
Share with AI, update closets before next SOD |
The EOD is INCOMPLETE until all STOP CONDITIONS are resolved.
π§ 5. The Mental Anchor β Standard Format
Every walkthrough.md Session Anchor must follow this format:
## π Session Anchor: [YYYY-MM-DD] β [Short Phase Name]
### Accomplished
- [What was done β concrete, specific]
- [Second item if applicable]
### Why
- [The architectural reasoning β not just the what, but the why]
### Mental Anchor
> [ONE SENTENCE: exact state of the system right now. Where to resume in the next session.]
Example:
## π Session Anchor: 2026-03-10 β AlmaLinux 10 WSL2 Setup
### Accomplished
- Created dsom-control-almalinux10 WSL2 setup scripts (setup-wsl-almalinux10.ps1, setup-dsom-control-node.sh).
- Created DSOM Ansible playbooks in playbooks/dsom/ (audit, init-brain, privacy-scan, site).
### Why
- T2 needs a dedicated Ansible Control Node (AlmaLinux 10) to avoid mixing Windows and Linux operations.
- Ansible playbooks make the tools/ bash scripts reusable on any node in the inventory.
### Mental Anchor
> WSL2 scripts created and pushed [v6.1.0]. Next: run setup-wsl-almalinux10.ps1 as Administrator, bootstrap
> dsom-admin, verify ansible localhost -m ping inside dsom-control-almalinux10.
π 6. Related Documents
| Document | Purpose |
|---|---|
docs/SOD-RITUAL.md |
Start-of-Day reanimation ritual |
docs/HUMAN-HANDOVER-CONTEXT.md |
Session handover prompt template |
docs/REANIMATION-PROMPT-TEMPLATE.md |
AI session prompts |
docs/RITUAL-OF-TRANSITION.md |
AI model switch ritual |
docs/HOWTO-PALACE-ONBOARDING.md |
Palace structure + closet update guide |
tools/git-ritual.sh |
SOD pull + EOD semantic commit |
tools/hibernation.sh |
EOD safety checker (v2.1: includes palace-sync) |
tools/palace-sync.sh |
Palace spatial reflection engine |
tools/privacy-guardian.sh |
Manifest scanner |
playbooks/dsom/eod-palace.yml |
Ansible EOD automation (T2) |
playbooks/dsom/privacy-scan.yml |
Ansible privacy scan |
Standard: DSOM For My AI Protocol v6.1 + Palace v1.0 | Harisfazillah Jamel | LinuxMalaysia This is the baseline EOD template for all projects built on this skeleton. Last Updated: 2026-04-08 | Version: v6.1 + Palace v1.0
Deep State of Mind (DSOM) For My AI Protocol | Harisfazillah Jamel (LinuxMalaysia) | 2026-07-04 Standard: UK English | DBP-standard Bahasa Melayu Malaysia (Piawai) | GNU General Public License v3.0