miadi-orchestration-kitBLOCK
The agent-host side of the Miadi Factory: Claude Code plugins, host-neutral skills and apt packages for Chronicle episodes, session capture and restore, and witnessed review.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
The agent-host side of the Miadi Factory: Claude Code plugins, host-neutral skills, hooks and apt packages. With them an agent opens and closes Chronicle episodes, records its own session, comes back after a reboot, and puts its work in front of a person who can judge it.
- Docs site: https://docs.miadi-orchestration-kit.jgwill.com
- For agents:
llms.txt
Start here: the chronicle-episode skill
The Miadi Factory makes agent-made work inspectable and revisitable. It connects the originating question, the session trace, the interface evidence, explicit criteria, and a person's judgment. A Chronicle episode is where they meet, so skills/chronicle-episode is the skill this kit is used for. It is the one entry point for episode work on any host: mint a vessel, prove its five stages, register it on the chronicle wheel, relate inquiries and lineage, raise Attention items, open ceremonies and talking circles, add Miadi reviews.
One copy of the skill lives here. The miadi-chronicle-episode-kit plugin links it in, and scripts/install-chronicle-skill.sh points every other skill layer on a host at it. `jgwill/Miadi` builds the runtime the skill calls: the episode API, the @miadi/* packages, the web app, the chronicle and review services.
d67c8d9d3312OBSERVED · 2026-10-14Install
Commands as the repository documents them. They are shown, not run.
claude plugin install miadi-session-observability@miadi-orchestration-kit
claude plugin install miadi-chronicle-episode-kit@miadi-orchestration-kit
claude plugin install miadi-deepdiver@miadi-orchestration-kit
claude plugin install miadi-operator-desk@miadi-orchestration-kit
claude plugin install miadi-session-observability@miadi-orchestration-kit
pip install miadi-stateloom-engine # runtime + parser + generator + the smcg CLI
Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned | |
| claude-desktop | mentioned | |
| codex | mentioned | |
| copilot | mentioned | |
| cursor | mentioned | |
| gemini-cli | mentioned | |
| openclaw | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: chart-path
description: T4 · Chart path's practice. How a structural tension chart an agent writes reaches Asterion, who may see it, the words the teams use for repository, checkout, chart memory, project, seat and workspace, what Miadi's /stc-config holds that Asterion must keep when it moves into Miadi, and how a chart is steered without Asterion writing its file. Use when registering or syncing a coaia-narrative memory in Asterion, when a chart does not show on Asterion, before registering anything from a private repository, when moving Asterion into jgwill/Miadi or packaging it, when naming any of these things, or when someone wants to steer or edit a chart from Asterion. Triggers on "Asterion", "chart path", "coaia-sync", "register a chart", "private chart", "steer a chart", "stc-config", "workspace vs project".
---
# Chart path
Written by T4 · Chart path (`teams/README.md` in this kit) from its own work. Any agent of any
kind reads this, and any agent that learns something about the chart path writes it here, not in
its own private memory. That is how the practice evolves where every seat can see it.
## Desired outcome
Every chart an agent writes reaches one place where the people it concerns can read and steer it,
and whether that place is public is decided per source.
## The path, as it runs today (2026-10-03)
1. An agent writes charts through the COAIA MCP (`coaia-narrative`). Every write ends in one save of
a **chart memory**, a `.jsonl` file. The file is the record. Asterion only holds a projection of it.
2. The memory reaches Asterion one of two ways:
- **The door.** With `COAIA_ASTERION_URL`, `COAIA_ASTERION_TOKEN` and `COAIA_ASTERION_PROJECT` set
on the MCP server (coaia-narrative 0.18.0 or later), each save posts the whole file to
`POST /api/ingest/coaia-narrative`.
- **The registry sync.** On gaia, `asterion-coaia-sync.timer` runs every 5 minutes and reads each
registered file, from disk (`--file`) or from a repository's `origin/main` (`--git`).
3. One mapper (`app/lib/asterion/coaia-projection.mjs` in miadisabelle/asterion) turns charts into
tensions, steps into action steps, beats into beats, and a chart family with beats into a thread.
See it live at `/bridge` and `/settings` on any Asterion address. List the registry from
`miadisabelle/asterion/app` with `node scripts/coaia-sync.mjs list` (it needs `app/.env.local`, so
on gaia only).
## Private sources
Asterion's public addresses (asterion.jgwill.com, asterion.tushell.com,
asterion.sanctuaireagentique.com, asterion-zeta.vercel.app) answer anyone. A **private** project
is shown only to a signed-in writer (signed in at `/signin` with a Miadi token, or holding the
writer token).
- A memory that lives in a private repository is registered with `--private`, **in the same command
that first registers it**, so no sync runs before it is private:
`node scripts/coaia-sync.mjs register <key> --name "<name>" --file <path> --private`
- `--public` makes a project public again. `list` marks private projects `PRIVATE`.
- **The chronicle is private.** `/srv/miadi/episodes` has a private bare repository on gaia as its origin, so an episode's chart memory is registered `--private`. `ep060` was made private on 2026-10-06 by the ingest-door lane for this reason, after being public since 2026-09-28.
- Earned twice. On 2026-10-01, `jgwill/dummass` (private) showed on the public site for about ten
minutes. On 2026-10-03, Mino's chart (`miadisabelle/workspace`, private) was kept off Asterion
until private projects existed. It is now registered as `mino-triage`, private.
- How it holds: every read route asks `viewerOf(request)` (`lib/asterion/visibility.ts`). A read that
does not ask hides private rows. `scripts/check-read-gates.mjs` fails the build when a GET route
never asks, beside `check-write-gates.mjs` for writes. Public list caches use the keys
`projects:public` and `tensions:public:*`, which no earlier deployment writes.
## The words
The factory used "workspace" for three different things. T4 uses one word per thing. Correct this
section when William does.
| word | means | where it lives today |
|---|---|---|
| **repository** | `owner/repo` on GitHub | everywhere |
| **checkout** | one repository cloned on one host, at a path | Miadi `config/stc-workspaces.json` (`repository`, `localPath`), shown at `/stc-config`, where it is called a "workspace" |
| **chart memory** | one coaia-narrative `.jsonl` file of charts | a checkout's `.coaia/`, an episode folder, `~/workspace/.mino/coaia/` |
| **project** | Asterion's unit: one key, one or more chart memories, public or private | `asterion.projects`, registered with `coaia-sync.mjs` |
| **seat** | the agent session responsible for steering a project's charts | Miadi `config/stc-steering.json` (`seats`, each a tmux session) |
| **workspace** | an agent's home, the way Mia's `~/workspace` is hers | `miadisabelle/workspace` for Mia; the example community users follow |
When Asterion moves into Miadi, `/stc-config`'s "workspaces" become **checkouts**, and "workspace"
stays free for the agent's home.
## What Miadi's /stc-config holds that Asterion must keep
Asterion knows where a chart memory is. It does not know where the work happens. `/stc-config`
(29 entries in `config/stc-workspaces.json`, 2026-10-03) holds, per repository:
- the host path of its checkout (`localPath`), which is where an agent works on the issue a chart steps into
- which STC files the checkout carries (`STC.md`, `STCGOAL.md`, `STCISSUE.md`, `STCMASTERY.md`) and whether to create them
- which of the four STC bots are on for it (`stcgoal`, `stcissue`, `stcmastery`, `stckin`)
When Asterion moves into Miadi, a project gains its checkouts (repository, host, path) and its seat.
Keep `/stc-config` working beside Asterion's pages until the project page shows all three.
## Steering a chart (the seat is built, the steer is not)
Asterion does not write a chart memorTrust audit
BLOCKgrade F · trust 40/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (4 observation(s))
- Network
- declared (8 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
s{-----BEGIN [^-]*PRIVATE KEY-----.*?-----END [^-]*PRIVATE KEY-----}{-----BEGIN PRIVATE KEY-----***-----END PRIVATE KEY-----}gs;pem=$'-----BEGIN OPENSSH PRIVATE KEY-----\nsecret-material\n-----END OPENSSH PRIVATE KEY-----'
slack="xoxb-1234567890-""abcdefghijklmno"
.env|.env.*|*.env|.netrc|_netrc|.pgpass|.npmrc|.pypirc|.git-credentials|.htpasswd \
|id_rsa*|id_dsa*|id_ecdsa*|id_ed25519*|credentials|credentials.json|*credentials*.json \
*/.docker/config.json|*/.kube/config|*/.aws/*|*/.ssh/*|*/.gnupg/*|*/.config/gcloud/*) return 0 ;;
dburl="postgres://neondb_owner:npg_Zx81kQ""[email protected]/neondb"
- LLM attack surface (prompt injection, jailbreak via community content)
antigravity/miadi-storyweaver-orchestration-kit/agents
antigravity/miadi-storyweaver-orchestration-kit/skills
claude/miadi-chronicle-episode-kit/skills/chronicle-episode
packages/miadi/deb/miadi-terminal/usr/lib/python3/dist-packages/terminatorlib/plugins/miadi_chronicle_url_handler.py
She is a member of Miadi circles (`http://127.0.0.1:3335`). `GET /api/identity/me` with
curl -s -m 2 "http://127.0.0.1:$port/api/health" 2>/dev/null | grep -q '"capture"'
health="$(curl -s -m 2 "http://127.0.0.1:$port/api/health")"
secret="sk-ant-api03-ABCDEFGHIJKLM""NOPQRSTUVWX"
secret="sk-ant-api03-ABCDEFGHIJKLM""NOPQRSTUVWX"
const token = "integration-token-kept-inside-the-test";
const token = "test-token-that-never-leaves-the-test";
miadi-copilot-payload-steward.md
const run = new Function(...Object.keys(context), SCRIPT);
const LISTENER = fileURLToPath(new URL("../../scripts/mia-listen.mjs", import.meta.url));assert.equal((await post("?episode=../../etc", "audio/mp4", Buffer.from("x"))).status, 400);| `MIADI_API_URL` | `http://127.0.0.1:3335` | the Miadi voice layer that renders Mia's voice |
| `MIADI_CHRONICLE_MW_URL` | `http://127.0.0.1:8040` | registration. A failure queues the take and never loses it |
Gates applied: critical_finding, instruction_override, no_behavioural_pass.
d67c8d9d3312full audit observations/trust-audit/skill/jgwill__miadi-orchestration-kit.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-14 | d67c8d9d3312 | BLOCK | F | 40 | first audit |
Questions
What does the miadi-orchestration-kit skill do?
The agent-host side of the Miadi Factory: Claude Code plugins, host-neutral skills and apt packages for Chronicle episodes, session capture and restore, and witnessed review.
Is miadi-orchestration-kit safe to install?
No — not without reading the findings first. The audit graded it F (40/100) and found 8 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What can miadi-orchestration-kit access on my machine?
The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.
Which assistants does miadi-orchestration-kit work with?
Its documentation mentions claude-code, claude-desktop, codex, copilot, cursor, gemini-cli and openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (d67c8d9d3312), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.