# AutoShorts Read-only Adapter Design

Phase 7A adds AutoShorts as the third JARVIS Dashboard domain. JARVIS remains a read-only command layer; AutoShortsBot and AutoShorts Dashboard remain the production systems.

## Structural inventory

Inspected code/docs only:
- `AutoShortsBot`: README, test names, module names, docs. The bot has approval-first candidates, review packages, render planning, preview package generation, manual posting packs, final approval boundaries, and explicit no-publish-without-approval rules.
- `AutoShorts_Dashboard`: README and API docs. It exposes a creator dashboard with `/api/dashboard/summary`, review queues, prepared package import, private upload approval skeletons, logs, topics/ideas, and agent production contract. Many mutation endpoints exist and are explicitly not used by JARVIS.
- `TrueTraceShorts_WebSite`: docs/package structure only where relevant to publish/link status. No content/media files were opened for this phase.

Not opened: videos, images, thumbnails, frames, audio, subtitles, full scripts, prompts, OAuth/token files, DB rows, logs with runtime content, or media folders.

## Adapter modes

- `mock`: default; synthetic status only.
- `disabled`: safe degraded snapshot; no AutoShorts access.
- `local_probe`: metadata-only local runtime probe via `AUTOSHORTS_RUNTIME_BASE`; no file content reads.
- `live_readonly`: localhost-only HTTP GET adapter via `AUTOSHORTS_API_BASE_URL`; approved endpoint is `/api/dashboard/summary` plus optional `/api/health`. Phase 7B validated this against a real local AutoShorts Dashboard backend; see `docs/integrations/autoshorts-live-contract-review.md`.

## Safe signals

Allowed status signals only:
- `candidate_count`
- `pending_review_count`
- `ready_preview_count`
- `failed_pipeline_count`
- `last_pipeline_status`
- `last_success_at`
- `last_attempt_at`
- `pipeline_freshness`
- `publishing_status_category`

These are sanitized into counts/categories only.

## Forbidden integration surfaces

No rendering, uploads, platform API calls, media reads, caption/script/prompt display, website publishing, Telegram commands, or mutations. No local paths or media filenames in API output.

## Verification

Fast verify requires no AutoShorts runtime. Optional smoke: `make smoke-autoshorts-readonly`.
