# Activix — internal documentation

Use this folder when moving **`@x12i/activix`** into its **own Git repository**.

| Document | Purpose |
|----------|---------|
| [extract-to-new-repo.md](./extract-to-new-repo.md) | Step-by-step: create repo, move files, fix `package.json`, env, CI |
| [github-packages.md](./github-packages.md) | npm auth (`.npmrc`), installing private `@x12i/*` dependencies |
| [build-and-test.md](./build-and-test.md) | Why `.tests-out/` + ESM tests, scripts, local workflow |
| [troubleshooting.md](./troubleshooting.md) | Common failures (`createXronox`, Mongo, ESM/CJS) |
| [api-and-types.md](./api-and-types.md) | Short API recap (normative detail is in the spec) |
| [integration-checklist.md](./integration-checklist.md) | Practical best-practices checklist for correct integration and operations |
| [runtime-observability-querying.md](./runtime-observability-querying.md) | Official `getJobActivities()` query client, cache semantics, and runtime-object exposure guidance |
| [session-id-usage.md](./session-id-usage.md) | `sessionId` happy path, nested vs entry callers, uniqueness guidance (not runtime-enforced) |
| [activity-structure.md](./activity-structure.md) | v6 root **`outer`** / optional **`inner`** (no `structure` wrapper); inner uses `request`/`response` |
| [MIGRATION-v6.md](./MIGRATION-v6.md) | v5 → v6: drop nested `structure`, new `inner` keys |
| [MIGRATION-v4.md](./MIGRATION-v4.md) | Upgrading from pre-v4 flat activity documents |
| [before-you-publish.md](./before-you-publish.md) | `files`, `publishConfig`, version, tags |
| [activitix.spec.md](./activitix.spec.md) | **Full package specification** (copy of monorepo spec; §8 links may still point at old paths) |
| [`.github/workflows/ci.yml`](../.github/workflows/ci.yml) | Default CI after extract (build; wire `NODE_AUTH_TOKEN` + tests when ready) |
| [ci.github-actions.example.yml](./ci.github-actions.example.yml) | Pointer only (superseded by the workflow above) |
| [gap-analysis.md](./gap-analysis.md) | Spec vs implementation; what is automated vs intentionally manual |
| [bug-report-xronox-store-update-must-not-send-_id.md](./bug-report-xronox-store-update-must-not-send-_id.md) | **Downstream:** xronox-store `update` must not send Mongo `_id` (immutable field / dup-key noise) |

Start with **extract-to-new-repo.md**, then **github-packages.md** if installs fail.
