Skip to main content

Migration

A pending, in-progress, or applied transition between two upstream processkit versions. Migrations are generated by aibox sync and represent the delta an agent must apply to bring the project's context/ up to date.

ID prefixMIG
State machinemigration
MCP servermigration-management
Skillmigration-management (Layer 3)

State machine

pending → in-progress → applied
↘ rejected

applied and rejected are terminal.

Fields

Required

FieldTypeDescription
sourcestringUpstream source identifier (processkit, processkit-acme, …)
from_versionstringVersion migrating FROM (semver tag)
to_versionstringVersion migrating TO (semver tag)
statestringCurrent state

Optional

FieldTypeDescription
source_urlstringGit URL of upstream (for re-fetch if needed)
generated_bystringWhat generated this (aibox sync, user, …)
generated_atdatetimeWhen the migration document was written
summarystringOne-line summary for listings
affected_filesobject[]Files touched — each with path, classification, and optional group
affected_groupsstring[]Logical groups affected (unit of auto-update)
planstringProject-specific migration plan drafted by agent
progress_notesobject[]Append-only notes: {timestamp, note, actor}
applied_atdatetimeWhen migration reached applied
applied_bystringActor ID that finalised the migration
rejected_reasonstringIf rejected, why
source_api_versionstringAPI version before a v2 conversion
target_api_versionstringAPI version after a v2 conversion
source_processkit_versionstringprocesskit version before conversion
target_processkit_versionstringprocesskit version after conversion
apply_modestringMigration apply mode (one-shot, etc.)

The migration-management MCP server manages migration state transitions and provides migrate_context_to_v2(dry_run=true) for the breaking v2 API conversion path.

affected_files classification values

ValueMeaning
changed-upstream-onlyUpstream changed it; project did not — safe to auto-apply
changed-locally-onlyProject customised it; upstream did not — no action needed
conflictBoth sides changed it — requires manual resolution
new-upstreamNew file added upstream — agent should install it
removed-upstreamFile removed upstream — agent should confirm removal

Example

---
apiVersion: processkit.projectious.work/v1
kind: Migration
metadata:
id: MIG-20260411_0913-BrightHaven-v0-11-1-to-v0-12-0
created: '2026-04-11T09:13:00Z'
spec:
source: processkit
from_version: v0.11.1
to_version: v0.12.0
state: applied
summary: Add artifact-management skill and MCP server
applied_at: '2026-04-11T06:40:00Z'
applied_by: ACTOR-claude
---

Notes

  • Migrations live under context/migrations/pending/ until applied, then move to context/migrations/applied/.
  • aibox sync generates migrations automatically by diffing PROVENANCE.toml across versions.
  • conflict files require human review — the agent drafts options in the plan field but should not apply them unilaterally.
  • See Reference → Migration for the full migration model.