Features
- Agent evidence regions in responses: Each analysis returns the final app display regions in agent_meta.boxes and the original evidence regions before selection, margins, or full-frame substitution in agent_meta.original_boxes. Coordinates refer to the last original frame, while scenario_analysis keeps its alert, details, and response fields.
- Stepwise BBOX evidence: The 3.3.0 configuration defaults to raw_generated_boxes, allowing the VLM to generate evidence regions directly from the original image. The configurable masked_candidate_boxes mode also supports selecting evidence from numbered candidate regions.
- PPE and Thinking display regions: PPE preserves the person regions actually used for detection and applies the same 5% margin as the crop to candidates missing required equipment. Thinking displays focus regions for True incidents with a 20% margin, while preserving original evidence regions for both True and False incidents.
- Simple request regions: Validated object BBOX coordinates are passed through to Agent results so the app can display the regions used in the request.
Validation & Reliability
- Request BBOX validation: Coordinates must follow [x_min, y_min, x_max, y_max] order and define a positive area. Reversed coordinates and zero-width or zero-height inputs are rejected during request validation.
- Frame and pixel boundary consistency: Response regions are converted using the size of the last original frame. The lower-right display coordinates are clamped to the last pixel, W−1 and H−1.
- Alerts without valid evidence: Stepwise displays the full frame when a True result has no valid evidence region. PPE and Thinking suppress the affected scenario's alert when its evidence is invalid, and isolate coordinate or image processing failures from other scenarios.
- Shared original-image descriptions: When a request has analyses to store, the original full image is described once and the description is shared across every scenario's details. Description model failures are recorded once and return an empty description; deterministic state or configuration errors are surfaced.
Internal Improvements
- Preserved feedback metadata: Feedback retrieval results now extend the existing agent_meta, retaining original and final BBOX coordinates in responses and Qdrant storage.
- Removed scenario embeddings: The camera_id and prompt_case exact-match filter limits feedback retrieval candidates. The original image and shared description are each embedded once, and new points store image and details vectors. Existing collections containing a scenario vector are retained.
- Unified detection postprocessing: After all detection subgraphs finish, the graph runs common BBOX postprocessing, alert messages, image descriptions, and final response assembly in order. Stepwise validates structured evidence IDs and coordinates and removes invalid IDs or out-of-range regions.
- Scenario guidance cleanup: Removed the previous manual and blog links from PPE, Thinking, and Stepwise guidance.
Deployment & Compatibility
- Aligned 3.3.0 deployment versions: The eva-agent image and the eva-agent and eva-agent-vllm Helm charts use version 3.3.0. The default image repository is now 211722900905.dkr.ecr.ap-northeast-2.amazonaws.com/spectrabrain/eva-agent; review image pull permissions and ECR refresh settings.
- Agent model-cache deployment changes: Removed the eva-agent chart's previous persistence and sharedPvcStorage settings, associated PV/PVC creation and mounts, and S3 model preload. Deployments that depend on these settings should review their values and cache configuration before upgrading.
- Configurable vLLM S3 cache source: The vLLM shared HF cache preload remains available, with its source set through initContainer.s3Uri. The default is s3://spectrabrain-eva-agent/vllm/hf; review the AWS region and bucket access permissions.
- Automated publishing from tags: GitHub Actions validates release versions, builds the CPU image, publishes to ECR using OIDC, and packages Helm charts and updates the chart repository index for release tags. Existing stable image and chart packages are preserved, while prereleases can be republished.