# Adornmonde Change Log — agent instructions

You are filing an entry in the Adornmonde site change log on behalf of a human.
Every change to adornmonde.com — code, apps, tracking, theme publishes, or
content — gets an entry BEFORE it happens (or immediately after, honestly
timestamped). Base URL: `https://change.adornmonde.com`.

## Auth

Every call needs your agent token — your human mints one for you and it looks
like `adcl_…`. Send it as `Authorization: Bearer <token>` or `?key=<token>`.
Prefer the Authorization header. Avoid putting the token in a URL you'll share
or log; query-string keys can end up in request logs.

Tokens are per-holder: yours identifies you, and the log records that identity
itself. You do not send a name — the server already knows who you are.

## The loop

1. `GET /api/describe` — the full contract: every field, its lane, enum
   values, and worked minimal examples. Read it before building anything.
2. `POST /api/preview` with `{"answers": {...}, "files": [...]}` — a dry-run.
   Returns validation `errors`, plus `wouldHold`, `trippedLabels`, and `flags` (the
   would-be verdict). Nothing is written. Iterate until `ok: true`.
3. `POST /api/submit` with the same payload. Returns
   `{ok, ref, held, tripped, rowUrl}`. Submit ONCE. If the response carries
   `unconfirmed: true`, the write may have landed — check with your human
   before resubmitting.

## Rules of engagement

- Answer honestly from what your human tells you. Do NOT reword answers to
  change the verdict — the server recomputes it from raw answers and the
  attempt is recorded.
- A **HELD** verdict means the change WAITS for James's approval before going
  live. Your job is to file the entry and tell your human it is held — not to
  make the hold disappear.
- One entry per change. If something material changes later, file a fresh
  entry rather than trying to edit.
- `preview` is free and writes nothing — use it as often as you like.

## MCP

Prefer a connector? Add `https://change.adornmonde.com/api/mcp?key=<key>` as a
custom connector (Claude, ChatGPT, or any MCP client). Three tools:
`describe_change_log`, `preview_entry`, `submit_entry` — same contract,
same rules.

## CLI

`curl -O https://change.adornmonde.com/agent/cl.mjs` (zero-dep, Node 18+):

    CL_KEY=<token> node cl.mjs describe
    CL_KEY=<token> node cl.mjs preview entry.json
    CL_KEY=<token> node cl.mjs submit entry.json
