diff --git a/docs/index.md b/docs/index.md index 44c5bc36ca..767cfc1b3f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -33,6 +33,7 @@ This index helps both humans and LLMs navigate the documentation efficiently. | [Integration-Test Trust Boundary](architecture/integration-test-trust-boundary.md) | Test execution contexts (in-sandbox-agent / trusted-CI-runner / human-operator) and fixture tiers; authoritative reference for plan-phase Trust-Boundary Audit (#2594) | | [BRC Memory Artifact](architecture/brc-memory.md) | Per-role-per-pipeline distilled memory file written by `brc_ack`/`brc_nack`; schema, three `EGG_BRC_MEMORY` modes, atomic-write contract, fail-closed path constructor, distill-on-write cap at 20, and role-allowlist coverage ([#2908](https://github.com/jwbron/egg/issues/2908) slice-1) | | [BRC Event-Pump Wrapper](architecture/orchestrator.md#brc-event-pump-wrapper-slice-2-behind-egg_brc_event_pump) | Deterministic wrapper loop (gated by `EGG_BRC_EVENT_PUMP`, default off until slice-4); wrapper-side heartbeat + gateway-session keep-alive migration; idle/no-progress safety budget replacing the 3-restart FAIL cap. Wait-side companion: [agent-wait-patterns §10](reference/agent-wait-patterns.md#10-brc-event-pump-wrapper-slice-2-behind-egg_brc_event_pump) ([#2908](https://github.com/jwbron/egg/issues/2908) slice-2) | +| [BRC Per-Event Prompt Composer + Preamble Collapse](architecture/orchestrator.md#brc-per-event-prompt-composer--preamble-collapse-slice-3) | Per-event prompt assembled by `compose_event_prompt` (10 KB envelope, full git-log delta for adversarial re-review, tail-position memory excerpt per od-6 Option B); `_build_brc_preamble` collapse; `EGG_BRC_MEMORY` mode matrix. Wait-side companion: [agent-wait-patterns §10.9](reference/agent-wait-patterns.md#109-brc-per-event-prompt-composer--preamble-collapse-slice-3) ([#2908](https://github.com/jwbron/egg/issues/2908) slice-3) | ### Development @@ -82,7 +83,7 @@ This index helps both humans and LLMs navigate the documentation efficiently. | [SDLC Contract](reference/sdlc-contract.md) | Full `egg-contract` command reference for tracking tasks, commits, decisions | | [MCP Deployment Tools](reference/mcp-deployment-tools.md) | Six k8s-facing MCP tools: `get_deployment_context`, `validate_deployment_manifests`, `prune_stale_worktrees`, `validate_network_isolation`, `rebuild_and_rollout`, `get_service_logs` | | [Agent MCP Tools](reference/agent-tools.md) | In-process SDK MCP tools sandbox agents call on the `tool_use` stream (29 verbs across 6 namespaces: `mcp__sdlc__*`, `mcp__brc__*`, `mcp__phase__*`, `mcp__progress__*`, `mcp__task__*`, `mcp__checkpoint__*`); on by default — set `EGG_MCP_TOOLS=false` to opt out | -| [Agent Wait Patterns](reference/agent-wait-patterns.md) | Canonical `egg-orch message wait-loop` idiom for BRC STAY ALIVE, the five anti-patterns to avoid, the `egg-orch message wait` exit-code contract, the `HEARTBEAT` metadata schema, the `EGG_MESSAGE_POLL_MAX_WAIT` / `EGG_ORCH_WAITRESS_THREADS` env-var couplings, §7 host-side `egg-orch pipeline wait-status` for event-driven pipeline monitoring, and §10 BRC event-pump wrapper wait surface (conditional filter construction, heartbeat ownership migration, `slice_id` propagation invariant, and idle-budget escalation path) | +| [Agent Wait Patterns](reference/agent-wait-patterns.md) | Canonical `egg-orch message wait-loop` idiom for BRC STAY ALIVE, the five anti-patterns to avoid, the `egg-orch message wait` exit-code contract, the `HEARTBEAT` metadata schema, the `EGG_MESSAGE_POLL_MAX_WAIT` / `EGG_ORCH_WAITRESS_THREADS` env-var couplings, §7 host-side `egg-orch pipeline wait-status` for event-driven pipeline monitoring, §10 BRC event-pump wrapper wait surface (conditional filter construction, heartbeat ownership migration, `slice_id` propagation invariant, and idle-budget escalation path), and §10.9 per-event prompt composer + preamble collapse (prompt shape, full git-log delta, `EGG_BRC_MEMORY` matrix) | | [Jira Wrapper](reference/jira-wrapper.md) | `/api/v1/jira/*` gateway endpoints — read verbs (ticket read, JQL search with static project-scope extraction, ticket comments, GET-only execute passthrough) plus the bounded write extension (`ticket/create`, `ticket/edit`, `ticket/comment/add`, `issue-link/create`); private-mode only; project allowlist via `config/context-filters.yaml`; per-verb body schema with size caps; ADF wrapping for plain-text `description` / `comment` bodies (`gateway/jira_adf.py`); caller-supplied idempotency key with 5-minute in-process cache (`gateway/jira_idempotency.py`); operator-configurable `jira.link_types` / `jira.epic_link_field` knobs; audit redaction never logs body content; `not_found` envelope on read 404s | | [Confluence Wrapper](reference/confluence-wrapper.md) | `/api/v1/confluence/*` read-only gateway endpoints (page read, descendants, footer/inline comments with v1 fallback, space list/pages, CQL search with static space-scope extraction, GET-only execute passthrough); private-mode only; space allowlist via `config/context-filters.yaml`; `not_found` envelope; response redaction (`accountId` / `emailAddress` / user-profile `_links.webui` / user-profile `_links.self`); future write-verb extension points | | [Conditional ACK](reference/conditional-ack.md) | Reviewer verdict variant: ACK + `--pre-merge-condition "..."` attaches a merge-time human obligation (e.g. `git mv`) that surfaces in `egg-orch consensus status` and in a "Pre-merge Obligations" section on the auto-created PR body |