Class BowireGitWorkspaceMigrator

Namespace
Kuestenlogik.Bowire.Workspace.Git
Assembly
Kuestenlogik.Bowire.Workspace.Git.dll

One-shot migration from the legacy per-user bundle layout — one <entityKind>.json file per kind, each carrying an array of entities — to the per-entity file layout the git-backed runtime reads through (#196 Phase 2.2).

Used by the bowire workspace migrate-format CLI subcommand and exposed publicly so embedded hosts can run the migration from their own admin tooling. The migrator never deletes the legacy bundle outright — it renames each migrated file to <entityKind>.json.legacy so an operator can verify the per-entity files look right before binning the original.

public static class BowireGitWorkspaceMigrator
Inheritance
BowireGitWorkspaceMigrator
Inherited Members

Methods

MigrateAsync(string, CancellationToken)

Migrate the legacy bundle layout under workspaceRoot to the per-entity file layout. Idempotent — re-running on an already-migrated workspace is a no-op.

public static Task<BowireGitWorkspaceMigrationReport> MigrateAsync(string workspaceRoot, CancellationToken ct = default)

Parameters

workspaceRoot string

Absolute path to a workspace directory. The same directory both the legacy <entityKind>.json bundles live under AND where the new per-entity layout will land.

ct CancellationToken

Cancellation token.

Returns

Task<BowireGitWorkspaceMigrationReport>

A per-kind report the caller renders to stdout. Order matches Kuestenlogik.Bowire.Workspace.Git.BowireGitWorkspaceMigrator.MigratableKinds.