Run Omega index jobs
Omega index jobs update an authorized semantic index without loading one unbounded snapshot into a client request. Jobs report durable progress, estimated and actual credit use, warnings, and a terminal state.
The public API exposes estimation, start, inspection, cancellation, dimension-migration activation, and dimension-migration rollback. It does not expose a general resume operation in the current live contract.
Choose a mode
| Mode | Use |
|---|---|
estimate | Calculate expected scope and credits without starting an indexing run. |
full | Rebuild the authorized index scope. |
incremental | Add or refresh changed entries. |
cleanup | Remove stale index state. |
tombstone | Process deleted-source markers. |
dimension_migration | Stage a change to a supported embedding dimension for separate activation. |
Estimate or start a job
POST /v1/graymatter/omega/index-jobs
Estimate first:
{
"mode": "estimate",
"targetTypes": ["MemoryEntry"]
}
Start an incremental job with an idempotency key:
{
"mode": "incremental",
"idempotencyKey": "memory-entry-incremental-2026-07-18-v1",
"targetTypes": ["MemoryEntry"]
}
Identity and tenant scope are server-derived. Do not send owner, tenant, audit, provider, model, or credit values.
Inspect or cancel a job
GET /v1/graymatter/omega/index-jobs/{jobId}
POST /v1/graymatter/omega/index-jobs/{jobId}/cancel
Job states are estimated, queued, running, awaiting_activation, completed, failed, canceled, and rolled_back.
Use entriesProcessed, entriesIndexed, entriesFailed, estimatedCredits, actualCredits, and warnings to report progress. A queued or running response is not proof that indexing completed.
Change embedding dimensions
Dimension migration is a staged operation. Include a supported target dimension in the start request:
{
"mode": "dimension_migration",
"idempotencyKey": "memory-dimensions-1536-v1",
"targetEmbeddingDimensions": "1536",
"expectedSourceEmbeddingDimensions": ["384"]
}
When the job reaches awaiting_activation, activate it with the exact server-issued profile hash:
POST /v1/graymatter/omega/index-jobs/{jobId}/activate
{
"expectedProfileHash": "<server-issued SHA-256 profile hash>"
}
Use the same optimistic binding to roll back a staged migration:
POST /v1/graymatter/omega/index-jobs/{jobId}/rollback
Do not activate or roll back when the profile hash has changed. Reinspect the job and resolve the configuration drift first.
Operational guidance
- Estimate credit use before a large rebuild.
- Use one idempotency key per logical start request.
- Poll with bounded backoff; do not treat an accepted job as completed work.
- Surface
failed,canceled, warnings, and nonzero failure counts to an operator. - Keep production activation and rollback behind the normal human approval process.