Files
stack/packages/forge/src/index.ts
Mos (Agent) 10689a30d2
Some checks failed
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/pr/ci Pipeline failed
feat: monorepo consolidation — forge pipeline, MACP protocol, framework plugin, profiles/guides/skills
Work packages completed:
- WP1: packages/forge — pipeline runner, stage adapter, board tasks, brief classifier,
  persona loader with project-level overrides. 89 tests, 95.62% coverage.
- WP2: packages/macp — credential resolver, gate runner, event emitter, protocol types.
  65 tests, 96.24% coverage. Full Python-to-TS port preserving all behavior.
- WP3: plugins/mosaic-framework — OC rails injection plugin (before_agent_start +
  subagent_spawning hooks for Mosaic contract enforcement).
- WP4: profiles/ (domains, tech-stacks, workflows), guides/ (17 docs),
  skills/ (5 universal skills), forge pipeline assets (48 markdown files).

Board deliberation: docs/reviews/consolidation-board-memo.md
Brief: briefs/monorepo-consolidation.md

Consolidates mosaic/stack (forge, MACP, bootstrap framework) into mosaic/mosaic-stack.
154 new tests total. Zero Python — all TypeScript/ESM.
2026-03-30 19:43:24 +00:00

83 lines
1.3 KiB
TypeScript

// Types
export type {
StageDispatch,
StageType,
StageSpec,
BriefClass,
ClassSource,
StageStatus,
RunManifest,
ForgeTaskStatus,
ForgeTask,
TaskExecutor,
BoardPersona,
PersonaReview,
BoardSynthesis,
ForgeConfig,
PipelineOptions,
PipelineResult,
} from './types.js';
// Constants
export {
PACKAGE_ROOT,
PIPELINE_DIR,
STAGE_SPECS,
STAGE_SEQUENCE,
STAGE_TIMEOUTS,
STAGE_LABELS,
STRATEGIC_KEYWORDS,
TECHNICAL_KEYWORDS,
} from './constants.js';
// Brief classifier
export {
classifyBrief,
parseBriefFrontmatter,
determineBriefClass,
stagesForClass,
} from './brief-classifier.js';
// Persona loader
export {
slugify,
personaNameFromMarkdown,
loadBoardPersonas,
loadPersonaOverrides,
loadForgeConfig,
getEffectivePersonas,
} from './persona-loader.js';
// Stage adapter
export {
stageTaskId,
stageDir,
stageBriefPath,
stageResultPath,
loadStagePrompt,
buildStageBrief,
writeStageBrief,
mapStageToTask,
} from './stage-adapter.js';
// Board tasks
export {
buildPersonaBrief,
writePersonaBrief,
personaResultPath,
synthesisResultPath,
generateBoardTasks,
synthesizeReviews,
} from './board-tasks.js';
// Pipeline runner
export {
generateRunId,
saveManifest,
loadManifest,
selectStages,
runPipeline,
resumePipeline,
getPipelineStatus,
} from './pipeline-runner.js';