# AChA Content Engine — Manifest

This is the front door of the AChA agent container. Read this first to know what it is and
how to use it. The live inventory at the bottom (and at `GET /manifest`) is generated from the
fleet that is actually loaded, so it never drifts.

## What this is

A headless Claude Agent SDK service loaded with Australian Christian Arts' full Claude Code
fleet (every skill, agent, and plugin), sourced live from the `acha-claude-config` GitHub repo.
You give it a task; it uses the right AChA skill and returns on-brand output. Inference runs on
AWS Bedrock (Sonnet 4.6, AU inference profile, so data stays in Australia).

## How to use it

Every endpoint except `/health`, `/`, and `/manifest` needs:
`Authorization: Bearer <SDK_SERVICE_BEARER>`

| Method | Path | Auth | Purpose |
|---|---|---|---|
| POST | `/run` | Bearer | Run a task. Body `{ task, context?, skill_hint? }`. |
| GET | `/health` | none | Readiness, fleet, and inference status. |
| GET | `/` | none | This manifest, human-readable. |
| GET | `/manifest` | none | This manifest as JSON. |
| GET | `/audit` | Bearer | Recent tool/skill audit entries. |
| POST | `/refresh` | Bearer | Re-pull the fleet from GitHub (no redeploy). |

### POST /run

- `task` (string, required): what you want, in plain English.
- `context` (object or string, optional): data the task needs.
- `skill_hint` (string, optional): a coordinator or skill name to steer it (see Toolkit below).

Returns `{ ok, result, runId, num_turns, total_cost_usd, audit }`. `result` is the on-brand
text; if `ok` is false, `error` explains why.

### Example

```
curl -s -X POST "$URL/run" \
  -H "Authorization: Bearer $SDK_SERVICE_BEARER" \
  -H "Content-Type: application/json" \
  -d '{"task":"Write an Instagram caption for our youth choir rehearsal","skill_hint":"write-caption"}'
```

## Rules the engine always follows

- Australian and UK spelling. Never em dashes or double hyphens as dashes.
- Reactive or sensitive topics pass the governance gate (statement of faith plus comment
  policy) before anything is produced. When in doubt, it declines.
- Read-only: it reasons and writes text. It does not run shells or edit files.

## Toolkit

The engine loads AChA's full fleet and prefers coordinator skills as entry points. Pass a
coordinator or a specific skill name as `skill_hint`. The live inventory follows.

**Live inventory** (fleet 0dacd08, refreshed 2026-06-28T06:31:20.418Z):

- Plugins (1): flowbuilder
- Coordinators / entry points (0): none
- Skills: 72  |  Agents: 41
