/**
 * Workers package — Child-process worker runtime
 *
 * Workers communicate with the parent via NDJSON IPC (contracts §10).
 * INV-3: Workers ONLY access fs/shell/network/SQLite via parent-mediated tool IPC.
 * Workers import ONLY contracts + WorkerRuntime IPC surface.
 *
 * @module packages/workers
 */

export { WorkerRuntime } from './WorkerRuntime.js'
export type { WorkerRuntimeConfig, ToolCallRequest, ToolCallResult } from './WorkerRuntime.js'

export { ExecutorRole } from './roles/ExecutorRole.js'
export type { ExecutorResult } from './roles/ExecutorRole.js'

export { ReviewerRole } from './roles/ReviewerRole.js'
export type { ReviewerResult } from './roles/ReviewerRole.js'

export { DebuggerRole } from './roles/DebuggerRole.js'
export type { DebuggerResult } from './roles/DebuggerRole.js'

export { CompactorRole } from './roles/CompactorRole.js'
export type { CompactorResult } from './roles/CompactorRole.js'

export { ExperienceMinerRole } from './roles/ExperienceMinerRole.js'
export type { ExperienceMinerResult } from './roles/ExperienceMinerRole.js'
