When a Schedule (S-) entry reaches done, generate a Reflection (R-) entry to capture outcomes, deltas, and next steps.
v1.1 Extension: Add energy_zone and energy_match fields for energy-aware learning and meta-feedback in the Language Logic Core (LLC).
| Field | Type | Required | Description |
|---|---|---|---|
source_id | string | ✅ | The completed S-xxx or T-xxx entry |
result | string/object | ⛔ | Summary of outcome, metrics, blockers |
next | string/object | ⛔ | Optional next-step intention |
Writes to /ledger/reflection.json (Structure DNA compliant):
Required
id (R-xxx)title/actionstatus = "done"created_at, updated_atOptional
related_entries (links to S-xxx / G-xxx)notes, tagsenergy_zone: string → "peak" | "stable" | "low"energy_match: boolean → whether the execution matched the preferred energy windowS-xxx / T-xxx) from /ledger/schedule.json.goal_idrelated_entriesnotes or prior metadata (for continuity)energy_zone:
source_entry.notes (e.g., [energy_zone:peak]),start/due times to profile windows.def create_reflection(source_id, result=None, next_intent=None, ledger_dir="/ledger"):
source = find_entry(source_id, ledger_dir)
profile = try_load_json(f"{ledger_dir}/profile.json")
# Extract or infer energy zone
zone = extract_energy_zone(source)
match = compute_energy_match(source, zone, profile)
reflection = {
"id": new_id("R-"),
"title": f"Reflection for {source_id}",
"status": "done",
"goal_id": source.get("goal_id"),
"related_entries": [source_id, source.get("goal_id")],
"notes": (result or "") + f" | energy_zone:{zone} | energy_match:{match}",
"energy_zone": zone,
"energy_match": match,
"created_at": now_iso(),
"updated_at": now_iso(),
"dispatch_to": "goal.manager"
}
append_to_ledger(f"{ledger_dir}/reflection.json", reflection)
return reflection
def extract_energy_zone(entry):
# parse [energy_zone:peak] from notes, fallback to "unknown"
import re
note = entry.get("notes", "")
m = re.search(r"\[energy_zone:(.*?)\]", note)
return m.group(1) if m else "unknown"
def compute_energy_match(entry, zone, profile):
if not profile or zone == "unknown":
return None
# compare start time vs profile window
return time_within_profile(entry["start"], zone, profile)
Input
{
"source_id": "S-210",
"result": "completed article draft; felt productive"
}
Output
{
"id": "R-310",
"title": "Reflection for S-210",
"status": "done",
"goal_id": "G-101",
"related_entries": ["S-210","G-101"],
"energy_zone": "peak",
"energy_match": true,
"notes": "completed article draft; felt productive | energy_zone:peak | energy_match:true",
"created_at": "2025-11-03T21:55:00-05:00",
"updated_at": "2025-11-03T21:55:00-05:00",
"dispatch_to": "goal.manager"
}
energy_zone and energy_match are optional and auto-filled if profile.json exists.done → reflection.manager.personal.schedule.manager v1.1.“Reflection links time, energy, and intention — transforming action into learning.” — Entropy Control Theory, 2025
---
energy_match:
/ledger/profile.json if available.true or false./ledger/reflection.json.goal.manager.Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).