features · ledger

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.

⬡ 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_execution
    openalice · transport
    Phase 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_counter
    openalice · transport
    Phase 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_platform
    openalice · transport
    Phase 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_hook
    openalice · transport
    Phase 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_key
    openalice · transport
    Phase 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_lift
    openalice · transport
    Phase 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_wrap
    openalice · transport
    Phase 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_ui
    openalice · transport
    First-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.section
    openalice · transport
    Wave 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.section
    openalice · transport
    Wave 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.preamble
    openalice · transport
    Phase 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_directive
    openalice · transport
    Phase 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.crystallize
    openalice · transport
    Phase 8Y-T4 — MANDATORY_CRYSTALLIZE_DIRECTIVE injected when the user says 'запомни' / 'remember' / 'сохрани' / 'save'.
    2026-05-07
  • prompt.context_reactive_directive.dossier_first
    openalice · transport
    Phase 8Y-T4 — DOSSIER_FIRST_DIRECTIVE injected when the user says 'что ты знаешь' / 'what do you know'.
    2026-05-07
  • prompt.context_reactive_directive.skill_create
    openalice · transport
    Phase 8Y-T4 — SKILL_CREATE_DIRECTIVE injected when the user says 'запиши как' / 'remember how' / 'save procedure'.
    2026-05-07
  • prompt.context_reactive_directive.spawn_agent
    openalice · transport
    Phase 8Y-T4 — SPAWN_AGENT_DIRECTIVE injected when the user says 'делегируй' / 'delegate' / 'в фоне'.
    2026-05-07
  • prompt.context_triggers_8ee_b
    openalice · transport
    Phase 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_file
    openalice · transport
    Phase 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.correction
    openalice · transport
    Phase 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_8vv1
    openalice · transport
    Phase 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_swap
    openalice · transport
    Phase 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_composite
    openalice · transport
    Phase 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_gen
    openalice · transport
    Phase 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_generate
    openalice · transport
    Phase 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_recall
    openalice · transport
    Phase 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_portrait
    openalice · transport
    Phase 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_transfer
    openalice · transport
    Phase 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_other
    openalice · transport
    Phase 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_reflect
    openalice · transport
    Phase 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_run
    openalice · transport
    Phase 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