The ledger
Every @feature annotation across the org, in one searchable index. Filter by repo, category, or maturity; each row resolves to the exact source line it was declared on.
Spectrum · top 12 categories
click to filter⬡ status coverage63%1,968 / 3,109 features annotated1,141 missing status:
worst offenders
- 11%openalice-embed601 missing
- 66%openalice-platform144 missing
- 78%openalice-persona66 missing
- 92%openalice60 missing
- 31%openalice-world36 missing
- 23%openalice-social34 missing
- 0%openalice-lab25 missing
- 0%openalice-inspector23 missing
0 matched0 in ledger
- api_handlers.agentic_loop.durable_executionopenalice · transportPhase 8FF-5 — durable execution + auto-resume layer for the agentic loop. Writes per-step checkpoints under `~/.openalice/agentic_runs/{run_id}/checkpoint-{step:03}.json`; on transient failure (empty SSE / silent finish / retryable 5xx) the orchestrator loads the latest checkpoint and replays from that step. Bounded by `router.fallback.max_attempts`. Gated by env `OPENALICE_DURABLE_EXEC=1` (default OFF in prod, ON in lab).2026-05-15
- api_handlers.agentic_loop.resume_counteropenalice · transportPhase 8FF-5 — Prometheus counter `oa_agentic_resume_total{reason}`. Bumped once per accepted resume from `ResumeOrchestrator::try_resume`. Reason labels: empty_sse, silent_finish, provider_transient.2026-05-15
- api_handlers.chat.coalesce_discord_platformopenalice · transportPhase 8DD-4 — discord platform routes through coalesce with its own first-class label. Before this wave, `normalize_platform("discord")` returned the canonical string but the shared `platform_label` re-mapped it to "other", erasing the discord bucket from `oa_coalesce_total{platform=...}`.2026-05-15
- api_handlers.chat.coalesce_hookopenalice · transportPhase 8W-4 — `/v1/chat` POSTs run through `openalice-coalesce` with `platform="web"` (overridable via the `platform` request field). Rapid-fire requests on one conversation collapse into one LLM call.2026-05-07
- api_handlers.chat.coalesce_speaker_keyopenalice · transportPhase 8BB-2 — `chat_coalesce::resolve_speaker` reads the `metadata.speaker_id` envelope (lab probes, Voice/SDK transports). Restores the R1 invariant that two distinct speakers in the same chat land in separate coalesce buffers, even when speaker identity arrives at the request envelope level rather than per-message.2026-05-07
- chat.speaker_metadata_liftopenalice · transportPhase 8AA-2 — when `/v1/chat` request body carries a top-level `metadata.speaker_id` (lab probe / Voice / future SDK shape) but the trailing user `Message` lacks one, lift the request-level `speaker_id` (and optional `speaker_name`) onto the last user message so `wrap_speaker_blocks` actually fires + the `oa_speaker_block_render_total` counter increments. Eliminates the silent no-op on lab speaker probes.2026-05-07
- chat.speaker_wrapopenalice · transportPhase 8W-3 — `/v1/chat` and `/v1/chat/stream` invoke R3's `<speaker>`-tag wrapper on every user message that carries a `speaker_id`. Increments `oa_speaker_block_render_total{source}` per wrap; appends `_audit.jsonl` row on `Unknown` resolves so ops can chase down chronic dossier misses.2026-05-07
- codex.setup_uiopenalice · transportFirst-run Codex OAuth setup UI — /setup/codex HTML + JSON endpoints for status, auth_upload, device_start, device_poll. Drives the in-server device-flow without the codex CLI.0.1.0
- curator.digests.sectionopenalice · transportWave Q4 — CuratorDigestsSection renders the per-turn Tier-1 dossier digest paste produced by `agents_memory::curator::run`. Sits between Wave Q1's MemoryIndexSection (233) and the per-turn block (235) at priority 234.2026-05-07
- dossier.index.sectionopenalice · transportWave Q1 — MemoryIndexSection renders pre-built MEMORY-INDEX.md into the per-turn unstable suffix. Always-injected Tier-0 of the memory hierarchy; full bodies via dossier_read.2026-05-07
- prompt.active_speakers.preambleopenalice · transportPhase 8XX — `## Active speakers in this conversation` preamble. Pins display name + dossier slug + turn count + last-seen timestamp per speaker so Alice has at-a-glance grounding in WHO is in the chat. Renders in Full + Minimal modes at priority 233 (between memory-index and curator-digests). Closes the 3+ participant TG group chat name-confusion gap that Wave R3 `<speaker>` tags alone didn't cover.2026-05-15
- prompt.context_reactive_directiveopenalice · transportPhase 8Y-T4 — keyword-triggered MANDATORY workflow directive. Reads ctx.latest_user_message and injects a step-by-step directive when the user's intent matches a known trigger phrase (запомни / что ты знаешь / запиши как / делегируй). One directive per turn, ~250 tokens worst case. Sits at priority 232 in the unstable suffix.2026-05-07
- prompt.context_reactive_directive.crystallizeopenalice · transportPhase 8Y-T4 — MANDATORY_CRYSTALLIZE_DIRECTIVE injected when the user says 'запомни' / 'remember' / 'сохрани' / 'save'.2026-05-07
- prompt.context_reactive_directive.dossier_firstopenalice · transportPhase 8Y-T4 — DOSSIER_FIRST_DIRECTIVE injected when the user says 'что ты знаешь' / 'what do you know'.2026-05-07
- prompt.context_reactive_directive.skill_createopenalice · transportPhase 8Y-T4 — SKILL_CREATE_DIRECTIVE injected when the user says 'запиши как' / 'remember how' / 'save procedure'.2026-05-07
- prompt.context_reactive_directive.spawn_agentopenalice · transportPhase 8Y-T4 — SPAWN_AGENT_DIRECTIVE injected when the user says 'делегируй' / 'delegate' / 'в фоне'.2026-05-07
- prompt.context_triggers_8ee_bopenalice · transportPhase 8EE-B — additive context-reactive trigger map extending T4. Adds SKILL_TEACH / SKILL_REFLECT / SUBAGENT_WATCH / ATTACHED_FILE / CORRECTION directives covering lab-probe shapes (skill-author, skill-merge-proposal, subagent-watch, memory-anchor-multi, memory-contradiction-cascade). Sits at priority 232 alongside T4 (last in registration order). Tool-availability gated: self-skips when has_tools == false.2026-05-15
- prompt.context_triggers_8ee_b.attached_fileopenalice · transportPhase 8EE-B — ATTACHED_FILE_DIRECTIVE injected when the user says 'вот файл', 'attached file', 'here is the doc'. Phase 8GG-3 widened to also match the recall-verb shape 'помнишь (тот|этот) (файл|документ)' / 'remember (that|the|this) (file|doc|document)' so the lab `memory-anchor-multi` probe shape ('Помнишь тот файл с описанием проекта Hermes? hermes-overview.md — что в нём было?') surfaces the anchor_match + dossier_read workflow to the model. Surfaces anchor_match + dossier_link workflow.2026-05-15
- prompt.context_triggers_8ee_b.correctionopenalice · transportPhase 8EE-B — CORRECTION_DIRECTIVE injected when the user signals a correction ('поправка', 'correction', anchored 'actually' / 'на самом деле'). Surfaces contradiction_invalidate + dossier re-write.2026-05-15
- prompt.context_triggers_8ee_b.edit_mode_polish_8vv1openalice · transportPhase 8VV-1 — edit-mode trigger reliability polish. The five 8UU image-gen directives now (a) inline a 6-line recap of the matching skill template's prompt strategy, (b) ship a structured copy-paste JSON example whose `prompt` field carries the preserve clause + photoreal/style guards + negative tail (no more 3-word paraphrases), and (c) carry an explicit ANTI-PATTERN block showing the exact failure mode (paraphrase without `reference_images`) and labelling it as a regression. Goal: when refs are in scope AND the user says 'me / myself / я', the model picks edit-mode + populates `reference_images` consistently, NOT a generic text-to-image paraphrase.2026-05-15
- prompt.context_triggers_8ee_b.image_bg_swapopenalice · transportPhase 8UU — IMAGE_BG_SWAP_DIRECTIVE injected on background-swap requests ('поменяй фон', 'change background', 'swap the background', 'new backdrop'). Mandates the image-edit-bg-swap skill, demanding the source image as the single `reference_images` entry and a clear new-backdrop description in the prompt.2026-05-15
- prompt.context_triggers_8ee_b.image_compositeopenalice · transportPhase 8UU — IMAGE_COMPOSITE_DIRECTIVE injected when the user asks to merge / composite / combine multiple images ('композит', 'composite', 'merge these images', 'combine these'). Mandates the image-edit-compose skill and asks the model to enumerate every available reference (inbox + refs registry slugs) into a single `reference_images` array.2026-05-15
- prompt.context_triggers_8ee_b.image_genopenalice · transportPhase 8II-2 — IMAGE_GEN_DIRECTIVE injected when the user says 'нарисуй', 'сгенерируй картинку', 'draw me', 'generate an image', 'create a picture', 'make a picture/image/sprite/mockup'. Surfaces image_gen(prompt=...) as MANDATORY this turn.2026-05-15
- prompt.context_triggers_8ee_b.image_generateopenalice · transportPhase 8JJJ-A — IMAGE_GENERATE_DIRECTIVE injected for bare text-only image-generation requests («нарисуй круг», «draw a cat», «generate a sunset», «сделай мне картинку дерева»). Differs from the ref-based shapes (self-portrait / with-other / style-transfer / composite / bg-swap) by explicitly telling the model NO refs are needed — just call image_gen with a prompt. Closes the bare-generate cognition gap that left Alice replying textually to «нарисуй круг» despite IMAGE_GEN matching: the existing directive emphasised edit-mode + reference_images, which under-cued the bare path. Tool-availability gated.2026-05-18
- prompt.context_triggers_8ee_b.image_recallopenalice · transportPhase 8BBB — IMAGE_RECALL_DIRECTIVE injected when the user asks to re-send a previously-generated image (`скинь то фото`, `verни картинку с …`, `find that image of …`, `recall the picture …`, `вспомни картинку`). Surfaces the bash-first workflow: read `chat/<scope>/image_index.jsonl`, grep by subject, then call `send_file({path})`. NO new image generation — re-use the catalog the GeneratedImagesSection preloaded.2026-05-15
- prompt.context_triggers_8ee_b.image_self_portraitopenalice · transportPhase 8UU — IMAGE_SELF_PORTRAIT_DIRECTIVE injected when the user asks for a portrait OF THE AGENT ('нарисуй меня', 'draw me as ...', 'self portrait', 'portrait of me'). Refines IMAGE_GEN by mandating `reference_images=["self"]` so the result is the agent's canonical face / body, not a generic person. Inlines the image-portrait-photoreal skill's prompt strategy so a single agentic turn covers selection + call.2026-05-15
- prompt.context_triggers_8ee_b.image_style_transferopenalice · transportPhase 8UU — IMAGE_STYLE_TRANSFER_DIRECTIVE injected on style- transfer requests ('в стиле …', 'in the style of …', 'like <artist> art', 'painting style'). Mandates the appropriate skill template (image-portrait-painting / image-portrait-anime / image-edit-stylize depending on the style word) and surfaces the source-image reference_images requirement when an inbox/* path is present in the turn.2026-05-15
- prompt.context_triggers_8ee_b.image_with_otheropenalice · transportPhase 8UU — IMAGE_WITH_OTHER_DIRECTIVE injected when the user asks for a composite OF THE AGENT WITH ANOTHER PERSON ('нарисуй меня с …', 'me and …', 'composite of me and …', 'meня и …'). Mandates `reference_images=["self", "person/<name>"]`, where `<name>` is the resolved refs-registry slug for the person the user named. Inlines the image-edit-compose skill's prompt strategy.2026-05-15
- prompt.context_triggers_8ee_b.skill_reflectopenalice · transportPhase 8EE-B — SKILL_REFLECT_DIRECTIVE injected when the user asks for skill reflection / merge proposal (саморефлекси + навык, reflect + skill).2026-05-15
- prompt.context_triggers_8ee_b.skill_runopenalice · transportPhase 8HH-1 — SKILL_RUN_DIRECTIVE injected when the user asks Alice to invoke an existing skill (`запусти навык`, `запусти skill`, `run the skill`, `выполни навык`). Surfaces the canonical `skill_manage(action="run")` workflow with MANDATORY enforcement language and a JSON tool-call example, steering the model off `bash` / `memory_read` fallbacks.2026-05-16