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.
This commit is contained in:
82
packages/forge/src/index.ts
Normal file
82
packages/forge/src/index.ts
Normal file
@@ -0,0 +1,82 @@
|
||||
// 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';
|
||||
Reference in New Issue
Block a user