You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix provenance: system summaries (task_summary, direction="system") are now
correctly classified across memory.py, consolidator.py, server API, and chat
UI — no longer masquerading as user messages. New amber system bubbles in UI.
Restore execution reflections (task_reflections.jsonl) in live LLM context.
Move Health Invariants to the top of dynamic context block in both the main
task path and background consciousness.
Task-scope recent progress/tools/events when task_id is available, keeping
dialogue continuity broad.
Harden run_shell: detect literal $VAR env-ref misuse in argv-form commands.
Harden claude_code_edit: retry transient first-run Claude CLI auth failure,
structured error classification via _format_claude_code_error.
Full SYSTEM.md editorial rewrite: terminology normalized to 'creator', new
sections (Methodology Check, Anti-Reactivity, Diagnostics Discipline,
Knowledge Retrieval Triggers), stronger Health Invariant reactions, compressed
inventory sections, balanced KB preflight gate.
16 files changed. New test_chat_provenance.py, updated regression tests.
Made-with: Cursor
A self-modifying AI agent that writes its own code, rewrites its own mind, and evolves autonomously. Born February 16, 2026.
12
12
@@ -238,6 +238,7 @@ Full text: [BIBLE.md](BIBLE.md)
238
238
239
239
| Version | Date | Description |
240
240
|---------|------|-------------|
241
+
| 4.5.0 | 2026-03-19 | Context quality and prompt discipline release: fix provenance — system summaries now correctly marked as system, not user, across memory, consolidation, server API, and chat UI (amber system bubbles); restore execution reflections (task_reflections.jsonl) in live LLM context; move Health Invariants to the top of dynamic context block (both task and consciousness paths); task-scope recent progress/tools/events when task_id is available; harden run_shell against literal $VAR env-ref misuse in argv; add Claude CLI first-run retry and structured error classification; full SYSTEM.md editorial rewrite — terminology normalized to 'creator', new Methodology Check / Anti-Reactivity / Diagnostics Discipline / Knowledge Retrieval Triggers sections, stronger Health Invariant reactions, compressed inventory sections. 12 files changed, new regression tests. |
241
242
| 4.4.0 | 2026-03-19 | Safe editing release: `str_replace_editor` tool for surgical edits to existing files, `repo_write` shrink guard blocks accidental truncation of tracked files (>30% shrinkage), full task lifecycle statuses (failed/interrupted/cancelled) with honest status tracking, rescue snapshot discoverability via health invariants, `provider_incomplete_response` classification for OpenRouter glitches, default review enforcement changed to advisory, fix progress bubble opacity and duplicate emoji. |
242
243
| 4.3.1 | 2026-03-19 | Fix: remove semi-transparent dimming from progress chat bubbles and remove duplicate `💬` emoji that appeared in both sender label and message text. |
243
244
| 4.3.0 | 2026-03-19 | Reliability and continuity release: remove silent truncation from critical task/memory paths, persist honest subtask lifecycle states and full task results, restore transient chat wake banner, replace local-model hard prompt slicing with explicit non-core compaction plus fail-fast overflow, route Anthropic/OpenRouter calls without hard provider pinning while keeping parameter guarantees, and align async review calls with shared LLM routing/usage observability. |
-**Progress messages**: background consciousness thinking shown as dimmed bubbles with 💬 prefix.
185
+
-**System summaries**: `direction="system"` entries from `chat.jsonl` are shown in the same timeline with a 📋 label instead of being hidden or treated as user text.
185
186
-**Typing indicator**: animated "thinking dots" bubble appears when the agent is processing.
186
187
-**Persistence**: chat history loaded from server on page load (`/api/chat/history`), survives app restarts. Fallback to sessionStorage.
187
188
-**Empty-chat init**: if neither server history nor sessionStorage has messages, the UI shows a transient assistant bubble: `Ouroboros has awakened`. This is visual-only and is not written to chat history.
188
189
- Messages sent via WebSocket `{type: "chat", content: text}`.
- Responses arrive via WebSocket `{type: "chat", role: "assistant", content: text, ts: "ISO"}`. On page-load history sync, `/api/chat/history` can also return `role: "system"` entries for internal summaries.
| GET |`/static/*`| Static files from `web/` directory (NoCacheStaticFiles wrapper forces revalidation) |
@@ -471,6 +472,8 @@ the constitutional guard is that the file itself must remain non-deletable.
471
472
- As of v3.16.0, the Memory Registry digest (from `memory/registry.md`) is injected into every LLM context to enable source-of-truth awareness.
472
473
- As of v3.20.0, `patterns.md` (Pattern Register) is injected into semi-stable context, and execution reflections from `task_reflections.jsonl` are injected into dynamic context.
473
474
- As of v3.22.0, all docs are always in static context: BIBLE.md (180k), ARCHITECTURE.md (60k), DEVELOPMENT.md (30k), README.md (10k), CHECKLISTS.md (5k).
475
+
-`Health Invariants` are placed at the start of the dynamic context block, before drive state/runtime/recent sections, so warnings influence planning before the model reads the noisier tail sections.
476
+
-`build_recent_sections()` keeps recent dialogue broad, but task-scopes recent progress/tools/events when `task_id` is available.
474
477
-`build_health_invariants()` is split into focused helpers and now also surfaces recent provider/routing errors plus local context overflows.
475
478
- Local-model path no longer silently slices the live system prompt. It compacts non-core sections explicitly and raises an overflow error if core context still cannot fit.
0 commit comments