substrate-ai 0.20.99 → 0.20.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ import { AdapterRegistry } from "./dist-BWwy_6uv.js";
2
+ import "./adapter-registry-DIcrxjH8.js";
3
+
4
+ export { AdapterRegistry };
package/dist/cli/index.js CHANGED
@@ -1,20 +1,20 @@
1
1
  #!/usr/bin/env node
2
- import { FileStateStore, SUBSTRATE_OWNED_SETTINGS_KEYS, VALID_PHASES, buildPipelineStatusOutput, createDatabaseAdapter, createDoltOperatorReader, createStateStore, findPackageRoot, formatOutput, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getAllDescendantPids, getAutoHealthData, getSubstrateDefaultSettings, inspectProcessTree, parseDbTimestampAsUtc, registerHealthCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion } from "../health-KJ62gMft.js";
2
+ import { FileStateStore, SUBSTRATE_OWNED_SETTINGS_KEYS, VALID_PHASES, buildPipelineStatusOutput, createDatabaseAdapter, createDoltOperatorReader, createStateStore, findPackageRoot, formatOutput, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getAllDescendantPids, getAutoHealthData, getSubstrateDefaultSettings, inspectProcessTree, parseDbTimestampAsUtc, registerHealthCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion } from "../health-BUfapi3C.js";
3
3
  import { createLogger } from "../logger-KeHncl-f.js";
4
4
  import { createEventBus } from "../helpers-CElYrONe.js";
5
- import { AdapterRegistry, BudgetConfigSchema, CURRENT_CONFIG_FORMAT_VERSION, CURRENT_TASK_GRAPH_VERSION, ConfigError, CostTrackerConfigSchema, DEFAULT_CONFIG, DoltClient, DoltNotInstalled, GlobalSettingsSchema, InMemoryDatabaseAdapter, IngestionServer, MonitorDatabaseImpl, OPERATIONAL_FINDING, PartialGlobalSettingsSchema, PartialProviderConfigSchema, ProvidersSchema, RoutingRecommender, STORY_METRICS, TelemetryConfigSchema, addTokenUsage, aggregateTokenUsageForRun, checkDoltInstalled, compareRunMetrics, createAmendmentRun, createConfigSystem, createDecision, createDoltClient, createPipelineRun, getActiveDecisions, getAllCostEntriesFiltered, getBaselineRunMetrics, getDecisionsByCategory, getDecisionsByPhaseForRun, getLatestCompletedRun, getLatestRun, getPipelineRunById, getPlanningCostTotal, getRetryableEscalations, getRunMetrics, getRunningPipelineRuns, getSessionCostSummary, getSessionCostSummaryFiltered, getStoryMetricsForRun, getTokenUsageSummary, incrementRunRestarts, initSchema, initializeDolt, listRunMetrics, loadParentRunDecisions, supersedeDecision, swallowDebug, tagRunAsBaseline, updatePipelineRun } from "../dist-Dy27RUJl.js";
6
- import { AdapterTelemetryPersistence, AppError, DoltRepoMapMetaRepository, DoltSymbolRepository, ERR_REPO_MAP_STORAGE_WRITE, EpicIngester, GLOBSTAR, GitClient, GrammarLoader, Minimatch, Minipass, RepoMapInjector, RepoMapModule, RepoMapQueryEngine, RepoMapStorage, SymbolParser, createContextCompiler, createDispatcher, createEventEmitter, createGitWorktreeManager, createImplementationOrchestrator, createPackLoader, createPhaseOrchestrator, createStopAfterGate, createTelemetryAdvisor, escape, formatPhaseCompletionSummary, getFactoryRunSummaries, getScenarioResultsForRun, getTwinRunsForRun, listGraphRuns, registerExportCommand, registerFactoryCommand, registerRunCommand, registerScenariosCommand, resolveStoryKeys, runAnalysisPhase, runPlanningPhase, runProbeAuthor, runSolutioningPhase, unescape, validateStopAfterFromConflict } from "../run-DM7ZJ1g9.js";
5
+ import { AdapterRegistry, BudgetConfigSchema, CURRENT_CONFIG_FORMAT_VERSION, CURRENT_TASK_GRAPH_VERSION, ConfigError, CostTrackerConfigSchema, DEFAULT_CONFIG, DoltClient, DoltNotInstalled, GlobalSettingsSchema, InMemoryDatabaseAdapter, IngestionServer, MonitorDatabaseImpl, OPERATIONAL_FINDING, PartialGlobalSettingsSchema, PartialProviderConfigSchema, ProvidersSchema, RoutingRecommender, STORY_METRICS, TelemetryConfigSchema, addTokenUsage, aggregateTokenUsageForRun, checkDoltInstalled, compareRunMetrics, createAmendmentRun, createConfigSystem, createDecision, createDoltClient, createPipelineRun, getActiveDecisions, getAllCostEntriesFiltered, getBaselineRunMetrics, getDecisionsByCategory, getDecisionsByPhaseForRun, getLatestCompletedRun, getLatestRun, getPipelineRunById, getPlanningCostTotal, getRetryableEscalations, getRunMetrics, getRunningPipelineRuns, getSessionCostSummary, getSessionCostSummaryFiltered, getStoryMetricsForRun, getTokenUsageSummary, incrementRunRestarts, initSchema, initWorkGraphSchema, initializeDolt, listRunMetrics, loadParentRunDecisions, supersedeDecision, swallowDebug, tagRunAsBaseline, updatePipelineRun } from "../dist-BWwy_6uv.js";
6
+ import { AdapterTelemetryPersistence, AppError, DoltRepoMapMetaRepository, DoltSymbolRepository, ERR_REPO_MAP_STORAGE_WRITE, EpicIngester, GLOBSTAR, GitClient, GrammarLoader, Minimatch, Minipass, RepoMapInjector, RepoMapModule, RepoMapQueryEngine, RepoMapStorage, SymbolParser, createContextCompiler, createDispatcher, createEventEmitter, createGitWorktreeManager, createImplementationOrchestrator, createPackLoader, createPhaseOrchestrator, createStopAfterGate, createTelemetryAdvisor, escape, formatPhaseCompletionSummary, getFactoryRunSummaries, getScenarioResultsForRun, getTwinRunsForRun, listGraphRuns, registerExportCommand, registerFactoryCommand, registerRunCommand, registerScenariosCommand, resolveStoryKeys, runAnalysisPhase, runPlanningPhase, runProbeAuthor, runSolutioningPhase, unescape, validateStopAfterFromConflict } from "../run-BHDVWJVt.js";
7
7
  import "../adapter-registry-DIcrxjH8.js";
8
- import { RunManifest, SupervisorLock, ZERO_FINDINGS_BY_AUTHOR, ZERO_FINDING_COUNTS, ZERO_PROBE_AUTHOR_METRICS, aggregateProbeAuthorMetrics, parseRuntimeProbes, readCurrentRunId, resolveMainRepoRoot, resolveRunManifest, rollupFindingCounts, rollupFindingsByAuthor, rollupProbeAuthorByClass, rollupProbeAuthorMetrics, runAcTraceabilityCheck } from "../manifest-read-Pk6vQ-2e.js";
9
- import "../errors-B6IWIdxG.js";
8
+ import { RunManifest, SupervisorLock, ZERO_FINDINGS_BY_AUTHOR, ZERO_FINDING_COUNTS, ZERO_PROBE_AUTHOR_METRICS, aggregateProbeAuthorMetrics, parseRuntimeProbes, readCurrentRunId, resolveMainRepoRoot, resolveRunManifest, rollupFindingCounts, rollupFindingsByAuthor, rollupProbeAuthorByClass, rollupProbeAuthorMetrics, runAcTraceabilityCheck } from "../manifest-read-C1IQ75EP.js";
9
+ import "../errors-u3LnOLzz.js";
10
10
  import "../routing-DFxoKHDt.js";
11
11
  import { WorkGraphRepository } from "../work-graph-repository-DZyJv5pV.js";
12
12
  import "../decisions-CzSIEeGP.js";
13
13
  import "../decision-router-DblHY8se.js";
14
- import "../interactive-prompt-C3qr42Ed.js";
14
+ import "../interactive-prompt-BUDDSIRy.js";
15
15
  import "../recovery-engine-BKGBeBnW.js";
16
16
  import "../version-manager-impl-qFBiO4Eh.js";
17
- import { registerUpgradeCommand } from "../upgrade-Cwzu8GX8.js";
17
+ import { registerUpgradeCommand } from "../upgrade-BEZi9_nw.js";
18
18
  import { Command } from "commander";
19
19
  import { fileURLToPath } from "url";
20
20
  import { dirname, join, resolve } from "path";
@@ -6887,7 +6887,7 @@ async function runStatusAction(options) {
6887
6887
  logger$15.debug({ err }, "Work graph query failed, continuing without work graph data");
6888
6888
  }
6889
6889
  if (run === void 0) {
6890
- const { inspectProcessTree: inspectProcessTree$1 } = await import("../health-CQMl6YP3.js");
6890
+ const { inspectProcessTree: inspectProcessTree$1 } = await import("../health-CMHssIjh.js");
6891
6891
  const substrateDirPath = join(projectRoot, ".substrate");
6892
6892
  const processInfo = inspectProcessTree$1({
6893
6893
  projectRoot,
@@ -7835,7 +7835,7 @@ function defaultSupervisorDeps() {
7835
7835
  if (cached === null) {
7836
7836
  const { AdapterRegistry: AR } = await import(
7837
7837
  /* @vite-ignore */
7838
- "../adapter-registry-BBJO3LkW.js"
7838
+ "../adapter-registry-CW-0HEBL.js"
7839
7839
  );
7840
7840
  cached = new AR();
7841
7841
  await cached.discoverAndRegister();
@@ -8402,11 +8402,11 @@ async function runSupervisorAction(options, deps = {}) {
8402
8402
  try {
8403
8403
  const { createExperimenter } = await import(
8404
8404
  /* @vite-ignore */
8405
- "../experimenter-C1IdVatx.js"
8405
+ "../experimenter-47l2ssez.js"
8406
8406
  );
8407
8407
  const { getLatestRun: getLatest } = await import(
8408
8408
  /* @vite-ignore */
8409
- "../decisions-7Bv5uob4.js"
8409
+ "../decisions-DfMQDPz3.js"
8410
8410
  );
8411
8411
  const expAdapter = createDatabaseAdapter({
8412
8412
  backend: "auto",
@@ -8416,7 +8416,7 @@ async function runSupervisorAction(options, deps = {}) {
8416
8416
  await initSchema(expAdapter);
8417
8417
  const { runRunAction: runPipeline } = await import(
8418
8418
  /* @vite-ignore */
8419
- "../run-BpIMRmZ9.js"
8419
+ "../run-BGWWSefD.js"
8420
8420
  );
8421
8421
  const runStoryFn = async (opts) => {
8422
8422
  const exitCode = await runPipeline({
@@ -8944,7 +8944,7 @@ async function runMetricsAction(options) {
8944
8944
  const routingConfigPath = join(dbDir, "routing.yml");
8945
8945
  let routingConfig = null;
8946
8946
  if (existsSync$1(routingConfigPath)) try {
8947
- const { loadModelRoutingConfig } = await import("../routing-IyC_c-r2.js");
8947
+ const { loadModelRoutingConfig } = await import("../routing-DiUnQeFC.js");
8948
8948
  routingConfig = loadModelRoutingConfig(routingConfigPath);
8949
8949
  } catch {}
8950
8950
  if (routingConfig === null) routingConfig = {
@@ -11956,59 +11956,6 @@ function registerRoutingCommand(program) {
11956
11956
  });
11957
11957
  }
11958
11958
 
11959
- //#endregion
11960
- //#region src/modules/work-graph/schema.ts
11961
- /**
11962
- * Work-graph schema — legacy DDL constant exports.
11963
- *
11964
- * The canonical DDL lives in packages/core/src/persistence/work-graph-schema.ts
11965
- * as `initWorkGraphSchema(adapter)`. This file is preserved as a thin shim
11966
- * so the existing callers in `ingest-epic.ts` and `epic-status.ts` keep
11967
- * working — they `await adapter.exec(CREATE_STORIES_TABLE)` directly rather
11968
- * than invoking the function form.
11969
- *
11970
- * Post-Ship-5 (2026-05): the legacy constants here MUST stay in sync with
11971
- * the function form in @substrate-ai/core. Future ports should consider
11972
- * migrating callers to `initWorkGraphSchema(adapter)` and deleting this file
11973
- * entirely.
11974
- */
11975
- const CREATE_STORIES_TABLE = `
11976
- CREATE TABLE IF NOT EXISTS wg_stories (
11977
- story_key VARCHAR(20) NOT NULL,
11978
- epic VARCHAR(20) NOT NULL,
11979
- title VARCHAR(255),
11980
- status VARCHAR(30) NOT NULL DEFAULT 'planned',
11981
- spec_path VARCHAR(500),
11982
- created_at DATETIME,
11983
- updated_at DATETIME,
11984
- completed_at DATETIME,
11985
- PRIMARY KEY (story_key)
11986
- )
11987
- `.trim();
11988
- const CREATE_STORY_DEPENDENCIES_TABLE = `
11989
- CREATE TABLE IF NOT EXISTS story_dependencies (
11990
- story_key VARCHAR(50) NOT NULL,
11991
- depends_on VARCHAR(50) NOT NULL,
11992
- dependency_type VARCHAR(50) NOT NULL DEFAULT 'blocks',
11993
- source VARCHAR(50) NOT NULL DEFAULT 'explicit',
11994
- created_at DATETIME,
11995
- PRIMARY KEY (story_key, depends_on)
11996
- )
11997
- `.trim();
11998
- const CREATE_READY_STORIES_VIEW = `
11999
- CREATE VIEW IF NOT EXISTS ready_stories AS
12000
- SELECT s.*
12001
- FROM wg_stories s
12002
- WHERE s.status IN ('planned', 'ready')
12003
- AND NOT EXISTS (
12004
- SELECT 1 FROM story_dependencies sd
12005
- JOIN wg_stories blocking ON sd.depends_on = blocking.story_key
12006
- WHERE sd.story_key = s.story_key
12007
- AND sd.dependency_type = 'blocks'
12008
- AND blocking.status <> 'complete'
12009
- )
12010
- `.trim();
12011
-
12012
11959
  //#endregion
12013
11960
  //#region src/modules/work-graph/epic-parser.ts
12014
11961
  /** Regex for sprint header lines: `**Sprint 1 —` or `Sprint 1 —` (with or without bold markers) */
@@ -12143,8 +12090,7 @@ function registerIngestEpicCommand(program) {
12143
12090
  basePath: process.cwd()
12144
12091
  });
12145
12092
  try {
12146
- await adapter.exec(CREATE_STORIES_TABLE);
12147
- await adapter.exec(CREATE_STORY_DEPENDENCIES_TABLE);
12093
+ await initWorkGraphSchema(adapter);
12148
12094
  const ingester = new EpicIngester(adapter);
12149
12095
  const result = await ingester.ingest(stories, dependencies);
12150
12096
  const epicNum = stories[0].epic_num;
@@ -12188,8 +12134,7 @@ async function runEpicStatusAction(epicNum, opts) {
12188
12134
  basePath: process.cwd()
12189
12135
  });
12190
12136
  try {
12191
- await adapter.exec(CREATE_STORIES_TABLE);
12192
- await adapter.exec(CREATE_STORY_DEPENDENCIES_TABLE);
12137
+ await initWorkGraphSchema(adapter);
12193
12138
  const repo = new WorkGraphRepository(adapter);
12194
12139
  const rawStories = await repo.listStories({ epic: epicNum });
12195
12140
  if (rawStories.length === 0) {
@@ -13326,8 +13271,8 @@ async function createProgram() {
13326
13271
  /** Fire-and-forget startup version check (story 8.3, AC3/AC5) */
13327
13272
  function checkForUpdatesInBackground(currentVersion) {
13328
13273
  if (process.env.SUBSTRATE_NO_UPDATE_CHECK === "1") return;
13329
- import("../upgrade-DY_oXnjI.js").then(async () => {
13330
- const { createVersionManager } = await import("../version-manager-impl-DnnXTOS7.js");
13274
+ import("../upgrade-CR13HV7X.js").then(async () => {
13275
+ const { createVersionManager } = await import("../version-manager-impl-DxNTLWOT.js");
13331
13276
  const vm = createVersionManager();
13332
13277
  const result = await vm.checkForUpdates();
13333
13278
  if (result.updateAvailable) {
@@ -1,4 +1,4 @@
1
- import { addTokenUsage, createDecision, createPipelineRun, createRequirement, getArtifactByTypeForRun, getArtifactsByRun, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestRun, getPipelineRunById, getRunningPipelineRuns, getTokenUsageSummary, listRequirements, registerArtifact, updateDecision, updatePipelineRun, updatePipelineRunConfig, upsertDecision } from "./dist-Dy27RUJl.js";
1
+ import { addTokenUsage, createDecision, createPipelineRun, createRequirement, getArtifactByTypeForRun, getArtifactsByRun, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestRun, getPipelineRunById, getRunningPipelineRuns, getTokenUsageSummary, listRequirements, registerArtifact, updateDecision, updatePipelineRun, updatePipelineRunConfig, upsertDecision } from "./dist-BWwy_6uv.js";
2
2
  import "./decisions-CzSIEeGP.js";
3
3
 
4
4
  export { getLatestRun };
@@ -11252,5 +11252,5 @@ async function callLLM(params) {
11252
11252
  }
11253
11253
 
11254
11254
  //#endregion
11255
- export { ADVISORY_NOTES, AdapterRegistry, AdtError, BudgetConfigSchema, CURRENT_CONFIG_FORMAT_VERSION, CURRENT_TASK_GRAPH_VERSION, Categorizer, ClaudeCodeAdapter, CodexCLIAdapter, ConfigError, ConfigIncompatibleFormatError, ConsumerAnalyzer, CostTrackerConfigSchema, DEFAULT_CONFIG, DEFAULT_GLOBAL_SETTINGS, DispatcherImpl, DoltClient, DoltNotInstalled, DoltQueryError, ESCALATION_DIAGNOSIS, EXPERIMENT_RESULT, EfficiencyScorer, GeminiCLIAdapter, GlobalSettingsSchema, InMemoryDatabaseAdapter, IngestionServer, LEARNING_FINDING, LogTurnAnalyzer, ModelRoutingConfigSchema, MonitorDatabaseImpl, OPERATIONAL_FINDING, PartialGlobalSettingsSchema, PartialProviderConfigSchema, ProviderPolicySchema, ProvidersSchema, Recommender, RoutingConfigError, RoutingRecommender, RoutingResolver, RoutingTelemetry, RoutingTokenAccumulator, RoutingTuner, STORY_METRICS, STORY_OUTCOME, SubstrateConfigSchema, TASK_TYPE_PHASE_MAP, TEST_EXPANSION_FINDING, TEST_PLAN, TelemetryConfigSchema, TelemetryNormalizer, TelemetryPipeline, TurnAnalyzer, VersionManagerImpl, addTokenUsage, aggregateTokenUsageForRun, aggregateTokenUsageForStory, buildAuditLogEntry, buildBranchName, buildModificationDirective, buildPRBody, buildWorktreePath, callLLM, checkDoltInstalled, classifyVersionGap, compareRunMetrics, createAmendmentRun, createConfigSystem, createDatabaseAdapter as createDatabaseAdapter$1, createDecision, createDoltClient, createExperimenter, createPipelineRun, createRequirement, createVersionManager, detectInterfaceChanges, determineVerdict, getActiveDecisions, getAllCostEntriesFiltered, getArtifactByTypeForRun, getArtifactsByRun, getBaselineRunMetrics, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestCompletedRun, getLatestRun, getModelTier, getPipelineRunById, getPlanningCostTotal, getRetryableEscalations, getRunMetrics, getRunningPipelineRuns, getSessionCostSummary, getSessionCostSummaryFiltered, getStoryMetricsForRun, getTokenUsageSummary, incrementRunRestarts, initSchema, initializeDolt, listRequirements, listRunMetrics, loadModelRoutingConfig, loadParentRunDecisions, registerArtifact, resolvePromptFile, supersedeDecision, swallowDebug, tagRunAsBaseline, updateDecision, updatePipelineRun, updatePipelineRunConfig, upsertDecision, writeRunMetrics, writeStoryMetrics };
11256
- //# sourceMappingURL=dist-Dy27RUJl.js.map
11255
+ export { ADVISORY_NOTES, AdapterRegistry, AdtError, BudgetConfigSchema, CURRENT_CONFIG_FORMAT_VERSION, CURRENT_TASK_GRAPH_VERSION, Categorizer, ClaudeCodeAdapter, CodexCLIAdapter, ConfigError, ConfigIncompatibleFormatError, ConsumerAnalyzer, CostTrackerConfigSchema, DEFAULT_CONFIG, DEFAULT_GLOBAL_SETTINGS, DispatcherImpl, DoltClient, DoltNotInstalled, DoltQueryError, ESCALATION_DIAGNOSIS, EXPERIMENT_RESULT, EfficiencyScorer, GeminiCLIAdapter, GlobalSettingsSchema, InMemoryDatabaseAdapter, IngestionServer, LEARNING_FINDING, LogTurnAnalyzer, ModelRoutingConfigSchema, MonitorDatabaseImpl, OPERATIONAL_FINDING, PartialGlobalSettingsSchema, PartialProviderConfigSchema, ProviderPolicySchema, ProvidersSchema, Recommender, RoutingConfigError, RoutingRecommender, RoutingResolver, RoutingTelemetry, RoutingTokenAccumulator, RoutingTuner, STORY_METRICS, STORY_OUTCOME, SubstrateConfigSchema, TASK_TYPE_PHASE_MAP, TEST_EXPANSION_FINDING, TEST_PLAN, TelemetryConfigSchema, TelemetryNormalizer, TelemetryPipeline, TurnAnalyzer, VersionManagerImpl, addTokenUsage, aggregateTokenUsageForRun, aggregateTokenUsageForStory, buildAuditLogEntry, buildBranchName, buildModificationDirective, buildPRBody, buildWorktreePath, callLLM, checkDoltInstalled, classifyVersionGap, compareRunMetrics, createAmendmentRun, createConfigSystem, createDatabaseAdapter as createDatabaseAdapter$1, createDecision, createDoltClient, createExperimenter, createPipelineRun, createRequirement, createVersionManager, detectInterfaceChanges, determineVerdict, getActiveDecisions, getAllCostEntriesFiltered, getArtifactByTypeForRun, getArtifactsByRun, getBaselineRunMetrics, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestCompletedRun, getLatestRun, getModelTier, getPipelineRunById, getPlanningCostTotal, getRetryableEscalations, getRunMetrics, getRunningPipelineRuns, getSessionCostSummary, getSessionCostSummaryFiltered, getStoryMetricsForRun, getTokenUsageSummary, incrementRunRestarts, initSchema, initWorkGraphSchema, initializeDolt, listRequirements, listRunMetrics, loadModelRoutingConfig, loadParentRunDecisions, registerArtifact, resolvePromptFile, supersedeDecision, swallowDebug, tagRunAsBaseline, updateDecision, updatePipelineRun, updatePipelineRunConfig, upsertDecision, writeRunMetrics, writeStoryMetrics };
11256
+ //# sourceMappingURL=dist-BWwy_6uv.js.map
@@ -1,4 +1,4 @@
1
- import { AdtError } from "./dist-Dy27RUJl.js";
1
+ import { AdtError } from "./dist-BWwy_6uv.js";
2
2
 
3
3
  //#region src/core/errors.ts
4
4
  /** Error thrown when task configuration is invalid */
@@ -71,4 +71,4 @@ var TaskGraphIncompatibleFormatError = class extends AdtError {
71
71
 
72
72
  //#endregion
73
73
  export { BudgetExceededError, GitError, RecoveryError, TaskConfigError, TaskGraphCycleError, TaskGraphError, TaskGraphIncompatibleFormatError, WorkerError, WorkerNotFoundError };
74
- //# sourceMappingURL=errors-B6IWIdxG.js.map
74
+ //# sourceMappingURL=errors-u3LnOLzz.js.map
@@ -1,3 +1,3 @@
1
- import { buildAuditLogEntry, buildBranchName, buildModificationDirective, buildPRBody, buildWorktreePath, createExperimenter, determineVerdict, resolvePromptFile } from "./dist-Dy27RUJl.js";
1
+ import { buildAuditLogEntry, buildBranchName, buildModificationDirective, buildPRBody, buildWorktreePath, createExperimenter, determineVerdict, resolvePromptFile } from "./dist-BWwy_6uv.js";
2
2
 
3
3
  export { createExperimenter };
@@ -1,6 +1,6 @@
1
1
  import { createLogger } from "./logger-KeHncl-f.js";
2
- import { DoltClient, DoltQueryError, createDatabaseAdapter$1 as createDatabaseAdapter, getLatestRun, getPipelineRunById, initSchema } from "./dist-Dy27RUJl.js";
3
- import { resolveMainRepoRoot, resolveRunManifest } from "./manifest-read-Pk6vQ-2e.js";
2
+ import { DoltClient, DoltQueryError, createDatabaseAdapter$1 as createDatabaseAdapter, getLatestRun, getPipelineRunById, initSchema } from "./dist-BWwy_6uv.js";
3
+ import { resolveMainRepoRoot, resolveRunManifest } from "./manifest-read-C1IQ75EP.js";
4
4
  import { createRequire } from "module";
5
5
  import { dirname, join } from "path";
6
6
  import { existsSync, readFileSync } from "node:fs";
@@ -137,7 +137,7 @@ const BMAD_BASELINE_TOKENS_FULL = 56800;
137
137
  /** BMAD baseline token total for create+dev+review comparison */
138
138
  const BMAD_BASELINE_TOKENS = 23800;
139
139
  /** Story key pattern: e.g. "10-1", "1-1a", "NEW-26", "E6" */
140
- const STORY_KEY_PATTERN$1 = /^[A-Za-z0-9]+(-[A-Za-z0-9]+)?$/;
140
+ const STORY_KEY_PATTERN = /^[A-Za-z0-9]+(-[A-Za-z0-9]+)?$/;
141
141
  /**
142
142
  * Top-level keys in .claude/settings.json that substrate owns.
143
143
  * On init, these are set/updated unconditionally.
@@ -197,7 +197,7 @@ function formatTokenTelemetry(summary, baselineTokens = BMAD_BASELINE_TOKENS) {
197
197
  * Validate a story key has the expected format: <epic>-<story> (e.g., "10-1").
198
198
  */
199
199
  function validateStoryKey(key) {
200
- return STORY_KEY_PATTERN$1.test(key);
200
+ return STORY_KEY_PATTERN.test(key);
201
201
  }
202
202
  /**
203
203
  * Build the AC5 JSON status schema for a pipeline run.
@@ -491,63 +491,17 @@ var FileStateStore = class {
491
491
  await writeFile(filePath, JSON.stringify(serialized, null, 2), "utf-8");
492
492
  }
493
493
  }
494
- async branchForStory(_storyKey) {}
495
- async mergeStory(_storyKey) {}
496
- async rollbackStory(_storyKey) {}
497
494
  async getHistory(_limit) {
498
495
  return [];
499
496
  }
500
497
  };
501
498
 
502
- //#endregion
503
- //#region src/modules/state/errors.ts
504
- /**
505
- * Typed error classes for the Dolt state store.
506
- */
507
- var StateStoreError = class extends Error {
508
- code;
509
- constructor(code, message) {
510
- super(message);
511
- this.name = "StateStoreError";
512
- this.code = code;
513
- }
514
- };
515
- var DoltMergeConflictError = class extends StateStoreError {
516
- table;
517
- conflictingKeys;
518
- rowKey;
519
- ourValue;
520
- theirValue;
521
- constructor(table, conflictingKeys, options) {
522
- super("DOLT_MERGE_CONFLICT", `Merge conflict in table '${table}' on keys: ${conflictingKeys.join(", ")}`);
523
- this.name = "DoltMergeConflictError";
524
- this.table = table;
525
- this.conflictingKeys = conflictingKeys;
526
- if (options) {
527
- this.rowKey = options.rowKey;
528
- this.ourValue = options.ourValue;
529
- this.theirValue = options.theirValue;
530
- }
531
- }
532
- };
533
- /** Alias for DoltMergeConflictError — used by orchestrator branch lifecycle. */
534
- const DoltMergeConflict = DoltMergeConflictError;
535
-
536
499
  //#endregion
537
500
  //#region src/modules/state/dolt-store.ts
538
501
  const log = createLogger("modules:state:dolt");
539
- /**
540
- * Validate that a story key matches the expected pattern (e.g. "26-7", "1-1a", "NEW-26", "E6").
541
- * Prevents SQL injection via string-interpolated identifiers.
542
- */
543
- const STORY_KEY_PATTERN = /^[A-Za-z0-9]+(-[A-Za-z0-9]+)?$/;
544
- function assertValidStoryKey(storyKey) {
545
- if (!STORY_KEY_PATTERN.test(storyKey)) throw new DoltQueryError("assertValidStoryKey", `Invalid story key: '${storyKey}'. Must match pattern <key> or <epic>-<story> (e.g. "E6", "10-1", "1-1a", "NEW-26").`);
546
- }
547
502
  var DoltStateStore = class {
548
503
  _repoPath;
549
504
  _client;
550
- _storyBranches = new Map();
551
505
  /** In-memory KV store for per-run arbitrary metrics. Not persisted to Dolt. */
552
506
  _kvMetrics = new Map();
553
507
  constructor(options) {
@@ -561,106 +515,6 @@ var DoltStateStore = class {
561
515
  async close() {
562
516
  await this._client.close();
563
517
  }
564
- /**
565
- * Commit pending Dolt changes on the current branch.
566
- * Callers can invoke this after a batch of writes for explicit durability.
567
- */
568
- async flush(message = "substrate: auto-commit") {
569
- try {
570
- await this._client.execArgs(["add", "."]);
571
- await this._client.execArgs([
572
- "commit",
573
- "--allow-empty",
574
- "-m",
575
- message
576
- ]);
577
- log.debug("Dolt flush committed: %s", message);
578
- } catch (err) {
579
- const detail = err instanceof Error ? err.message : String(err);
580
- log.warn({ detail }, "Dolt flush failed (non-fatal)");
581
- }
582
- }
583
- async branchForStory(storyKey) {
584
- assertValidStoryKey(storyKey);
585
- const branchName = `story/${storyKey}`;
586
- try {
587
- await this._client.query(`CALL DOLT_BRANCH('${branchName}')`, [], "main");
588
- this._storyBranches.set(storyKey, branchName);
589
- log.debug("Created Dolt branch %s for story %s", branchName, storyKey);
590
- } catch (err) {
591
- const detail = err instanceof Error ? err.message : String(err);
592
- throw new DoltQueryError(`CALL DOLT_BRANCH('${branchName}')`, detail);
593
- }
594
- }
595
- async mergeStory(storyKey) {
596
- assertValidStoryKey(storyKey);
597
- const branchName = this._storyBranches.get(storyKey);
598
- if (branchName === void 0) {
599
- log.warn({ storyKey }, "mergeStory called but no branch registered — no-op");
600
- return;
601
- }
602
- try {
603
- try {
604
- await this._client.query(`CALL DOLT_ADD('-A')`, [], branchName);
605
- await this._client.query(`CALL DOLT_COMMIT('-m', 'Story ${storyKey}: pre-merge commit', '--allow-empty')`, [], branchName);
606
- } catch {}
607
- try {
608
- await this._client.query(`CALL DOLT_ADD('-A')`, [], "main");
609
- await this._client.query(`CALL DOLT_COMMIT('-m', 'substrate: pre-merge auto-commit', '--allow-empty')`, [], "main");
610
- } catch {}
611
- const mergeRows = await this._client.query(`CALL DOLT_MERGE('${branchName}')`, [], "main");
612
- const mergeResult = mergeRows[0];
613
- if (mergeResult && (mergeResult.conflicts ?? 0) > 0) {
614
- let table = "unknown";
615
- let rowKey = "unknown";
616
- let ourValue;
617
- let theirValue;
618
- try {
619
- const conflictRows = await this._client.query(`SELECT table_name FROM dolt_conflicts LIMIT 1`, [], "main");
620
- if (conflictRows.length > 0) table = String(conflictRows[0]["table_name"] ?? "unknown");
621
- } catch {}
622
- this._storyBranches.delete(storyKey);
623
- throw new DoltMergeConflictError(table, [rowKey], {
624
- rowKey,
625
- ourValue,
626
- theirValue
627
- });
628
- }
629
- try {
630
- await this._client.query(`CALL DOLT_COMMIT('-m', 'Merge story ${storyKey}: COMPLETE')`, [], "main");
631
- } catch (commitErr) {
632
- const msg = commitErr instanceof Error ? commitErr.message : String(commitErr);
633
- if (!msg.includes("nothing to commit")) throw commitErr;
634
- }
635
- this._storyBranches.delete(storyKey);
636
- log.debug("Merged branch %s into main for story %s", branchName, storyKey);
637
- } catch (err) {
638
- if (err instanceof DoltMergeConflictError) throw err;
639
- const detail = err instanceof Error ? err.message : String(err);
640
- throw new DoltQueryError(`CALL DOLT_MERGE('${branchName}')`, detail);
641
- }
642
- }
643
- async rollbackStory(storyKey) {
644
- assertValidStoryKey(storyKey);
645
- const branchName = this._storyBranches.get(storyKey);
646
- if (branchName === void 0) {
647
- log.warn({ storyKey }, "rollbackStory called but no branch registered — no-op");
648
- return;
649
- }
650
- try {
651
- await this._client.query(`CALL DOLT_BRANCH('-D', '${branchName}')`, [], "main");
652
- this._storyBranches.delete(storyKey);
653
- log.debug("Rolled back (deleted) branch %s for story %s", branchName, storyKey);
654
- } catch (err) {
655
- const detail = err instanceof Error ? err.message : String(err);
656
- log.warn({
657
- detail,
658
- storyKey,
659
- branchName
660
- }, "rollbackStory failed (non-fatal)");
661
- this._storyBranches.delete(storyKey);
662
- }
663
- }
664
518
  async setMetric(runId, key, value) {
665
519
  let runMap = this._kvMetrics.get(runId);
666
520
  if (runMap === void 0) {
@@ -1206,5 +1060,5 @@ function registerHealthCommand(program, _version = "0.0.0", projectRoot = proces
1206
1060
  }
1207
1061
 
1208
1062
  //#endregion
1209
- export { BMAD_BASELINE_TOKENS_FULL, DEFAULT_STALL_THRESHOLD_SECONDS, DoltMergeConflict, FileStateStore, STOP_AFTER_VALID_PHASES, STORY_KEY_PATTERN$1 as STORY_KEY_PATTERN, SUBSTRATE_OWNED_SETTINGS_KEYS, VALID_PHASES, __commonJS, __require, __toESM, buildPipelineStatusOutput, createDatabaseAdapter$1 as createDatabaseAdapter, createDoltOperatorReader, createStateStore, findPackageRoot, formatOutput, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getAllDescendantPids, getAutoHealthData, getSubstrateDefaultSettings, inspectProcessTree, isOrchestratorProcessLine, parseDbTimestampAsUtc, registerHealthCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion, runHealthAction, validateStoryKey };
1210
- //# sourceMappingURL=health-KJ62gMft.js.map
1063
+ export { BMAD_BASELINE_TOKENS_FULL, DEFAULT_STALL_THRESHOLD_SECONDS, FileStateStore, STOP_AFTER_VALID_PHASES, STORY_KEY_PATTERN, SUBSTRATE_OWNED_SETTINGS_KEYS, VALID_PHASES, __commonJS, __require, __toESM, buildPipelineStatusOutput, createDatabaseAdapter$1 as createDatabaseAdapter, createDoltOperatorReader, createStateStore, findPackageRoot, formatOutput, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getAllDescendantPids, getAutoHealthData, getSubstrateDefaultSettings, inspectProcessTree, isOrchestratorProcessLine, parseDbTimestampAsUtc, registerHealthCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion, runHealthAction, validateStoryKey };
1064
+ //# sourceMappingURL=health-BUfapi3C.js.map
@@ -1,7 +1,7 @@
1
- import { DEFAULT_STALL_THRESHOLD_SECONDS, getAllDescendantPids, getAutoHealthData, inspectProcessTree, isOrchestratorProcessLine, registerHealthCommand, runHealthAction } from "./health-KJ62gMft.js";
1
+ import { DEFAULT_STALL_THRESHOLD_SECONDS, getAllDescendantPids, getAutoHealthData, inspectProcessTree, isOrchestratorProcessLine, registerHealthCommand, runHealthAction } from "./health-BUfapi3C.js";
2
2
  import "./logger-KeHncl-f.js";
3
- import "./dist-Dy27RUJl.js";
4
- import "./manifest-read-Pk6vQ-2e.js";
3
+ import "./dist-BWwy_6uv.js";
4
+ import "./manifest-read-C1IQ75EP.js";
5
5
  import "./work-graph-repository-DZyJv5pV.js";
6
6
  import "./decisions-CzSIEeGP.js";
7
7
 
package/dist/index.d.ts CHANGED
@@ -1697,11 +1697,6 @@ interface OrchestratorEvents {
1697
1697
  modifiedInterfaces: string[];
1698
1698
  potentiallyAffectedTests: string[];
1699
1699
  };
1700
- /** Dolt merge conflict detected when merging a story branch into main */
1701
- 'pipeline:state-conflict': {
1702
- storyKey: string;
1703
- conflict: unknown;
1704
- };
1705
1700
  /**
1706
1701
  * Emitted at pipeline startup when the repo-map symbol index is detected as
1707
1702
  * stale (HEAD SHA has changed since the last index update). Non-blocking —
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { childLogger, createLogger, logger } from "./logger-KeHncl-f.js";
2
2
  import { assertDefined, createEventBus, createTuiApp, deepClone, formatDuration, generateId, isPlainObject, isTuiCapable, printNonTtyWarning, sleep, withRetry } from "./helpers-CElYrONe.js";
3
- import { AdapterRegistry, AdtError, ClaudeCodeAdapter, CodexCLIAdapter, ConfigError, ConfigIncompatibleFormatError, GeminiCLIAdapter } from "./dist-Dy27RUJl.js";
3
+ import { AdapterRegistry, AdtError, ClaudeCodeAdapter, CodexCLIAdapter, ConfigError, ConfigIncompatibleFormatError, GeminiCLIAdapter } from "./dist-BWwy_6uv.js";
4
4
  import "./adapter-registry-DIcrxjH8.js";
5
- import { BudgetExceededError, GitError, RecoveryError, TaskConfigError, TaskGraphCycleError, TaskGraphError, TaskGraphIncompatibleFormatError, WorkerError, WorkerNotFoundError } from "./errors-B6IWIdxG.js";
5
+ import { BudgetExceededError, GitError, RecoveryError, TaskConfigError, TaskGraphCycleError, TaskGraphError, TaskGraphIncompatibleFormatError, WorkerError, WorkerNotFoundError } from "./errors-u3LnOLzz.js";
6
6
 
7
7
  //#region src/core/di.ts
8
8
  /**
@@ -1,5 +1,5 @@
1
1
  import { createLogger } from "./logger-KeHncl-f.js";
2
- import { readCurrentRunId, resolveMainRepoRoot } from "./manifest-read-Pk6vQ-2e.js";
2
+ import { readCurrentRunId, resolveMainRepoRoot } from "./manifest-read-C1IQ75EP.js";
3
3
  import { join } from "node:path";
4
4
  import { mkdir, readFile, writeFile } from "node:fs/promises";
5
5
  import * as readline from "node:readline";
@@ -180,4 +180,4 @@ async function runInteractivePrompt(decisionContext) {
180
180
 
181
181
  //#endregion
182
182
  export { runInteractivePrompt };
183
- //# sourceMappingURL=interactive-prompt-C3qr42Ed.js.map
183
+ //# sourceMappingURL=interactive-prompt-BUDDSIRy.js.map
@@ -1,5 +1,5 @@
1
1
  import { createLogger } from "./logger-KeHncl-f.js";
2
- import { LEARNING_FINDING, createDecision, getDecisionsByCategory } from "./dist-Dy27RUJl.js";
2
+ import { LEARNING_FINDING, createDecision, getDecisionsByCategory } from "./dist-BWwy_6uv.js";
3
3
  import * as path$1 from "path";
4
4
  import { join } from "path";
5
5
  import { readFile } from "fs/promises";
@@ -5845,4 +5845,4 @@ async function resolveRunManifest(dbRoot, runId) {
5845
5845
 
5846
5846
  //#endregion
5847
5847
  export { FindingsInjector, RunManifest, RuntimeProbeListSchema, SupervisorLock, ZERO_FINDINGS_BY_AUTHOR, ZERO_FINDING_COUNTS, ZERO_PROBE_AUTHOR_METRICS, aggregateProbeAuthorMetrics, applyConfigToGraph, createDefaultVerificationPipeline, createGraphOrchestrator, createSdlcCodeReviewHandler, createSdlcCreateStoryHandler, createSdlcDevStoryHandler, createSdlcPhaseHandler, detectsEventDrivenAC, detectsStateIntegratingAC, extractTargetFilesFromStoryContent, parseRuntimeProbes, readCurrentRunId, renderFindings, resolveGraphPath, resolveMainRepoRoot, resolveRunManifest, rollupFindingCounts, rollupFindingsByAuthor, rollupProbeAuthorByClass, rollupProbeAuthorMetrics, runAcTraceabilityCheck, runStaleVerificationRecovery };
5848
- //# sourceMappingURL=manifest-read-Pk6vQ-2e.js.map
5848
+ //# sourceMappingURL=manifest-read-C1IQ75EP.js.map
@@ -1,6 +1,6 @@
1
1
  import "../../logger-KeHncl-f.js";
2
- import "../../dist-Dy27RUJl.js";
3
- import "../../manifest-read-Pk6vQ-2e.js";
4
- import { runInteractivePrompt } from "../../interactive-prompt-C3qr42Ed.js";
2
+ import "../../dist-BWwy_6uv.js";
3
+ import "../../manifest-read-C1IQ75EP.js";
4
+ import { runInteractivePrompt } from "../../interactive-prompt-BUDDSIRy.js";
5
5
 
6
6
  export { runInteractivePrompt };
@@ -1,4 +1,4 @@
1
- import { ModelRoutingConfigSchema, ProviderPolicySchema, RoutingConfigError, RoutingRecommender, RoutingResolver, RoutingTelemetry, RoutingTokenAccumulator, RoutingTuner, TASK_TYPE_PHASE_MAP, getModelTier, loadModelRoutingConfig } from "./dist-Dy27RUJl.js";
1
+ import { ModelRoutingConfigSchema, ProviderPolicySchema, RoutingConfigError, RoutingRecommender, RoutingResolver, RoutingTelemetry, RoutingTokenAccumulator, RoutingTuner, TASK_TYPE_PHASE_MAP, getModelTier, loadModelRoutingConfig } from "./dist-BWwy_6uv.js";
2
2
  import "./routing-DFxoKHDt.js";
3
3
 
4
4
  export { loadModelRoutingConfig };
@@ -1,14 +1,14 @@
1
- import "./health-KJ62gMft.js";
1
+ import "./health-BUfapi3C.js";
2
2
  import "./logger-KeHncl-f.js";
3
3
  import "./helpers-CElYrONe.js";
4
- import "./dist-Dy27RUJl.js";
5
- import { normalizeGraphSummaryToStatus, registerRunCommand, resolveMaxReviewCycles, resolveProbeAuthorStateIntegrating, runRunAction, wireNdjsonEmitter } from "./run-DM7ZJ1g9.js";
6
- import "./manifest-read-Pk6vQ-2e.js";
4
+ import "./dist-BWwy_6uv.js";
5
+ import { normalizeGraphSummaryToStatus, registerRunCommand, resolveMaxReviewCycles, resolveProbeAuthorStateIntegrating, runRunAction, wireNdjsonEmitter } from "./run-BHDVWJVt.js";
6
+ import "./manifest-read-C1IQ75EP.js";
7
7
  import "./routing-DFxoKHDt.js";
8
8
  import "./work-graph-repository-DZyJv5pV.js";
9
9
  import "./decisions-CzSIEeGP.js";
10
10
  import "./decision-router-DblHY8se.js";
11
- import "./interactive-prompt-C3qr42Ed.js";
11
+ import "./interactive-prompt-BUDDSIRy.js";
12
12
  import "./recovery-engine-BKGBeBnW.js";
13
13
 
14
14
  export { runRunAction };
@@ -1,11 +1,11 @@
1
- import { BMAD_BASELINE_TOKENS_FULL, DoltMergeConflict, FileStateStore, STOP_AFTER_VALID_PHASES, STORY_KEY_PATTERN, VALID_PHASES, __commonJS, __require, __toESM, buildPipelineStatusOutput, createDatabaseAdapter, formatOutput, formatPipelineSummary, formatTokenTelemetry, inspectProcessTree, parseDbTimestampAsUtc, validateStoryKey } from "./health-KJ62gMft.js";
1
+ import { BMAD_BASELINE_TOKENS_FULL, FileStateStore, STOP_AFTER_VALID_PHASES, STORY_KEY_PATTERN, VALID_PHASES, __commonJS, __require, __toESM, buildPipelineStatusOutput, createDatabaseAdapter, formatOutput, formatPipelineSummary, formatTokenTelemetry, inspectProcessTree, parseDbTimestampAsUtc, validateStoryKey } from "./health-BUfapi3C.js";
2
2
  import { createLogger } from "./logger-KeHncl-f.js";
3
3
  import { TypedEventBusImpl, createEventBus, createTuiApp, isTuiCapable, printNonTtyWarning, sleep } from "./helpers-CElYrONe.js";
4
- import { ADVISORY_NOTES, Categorizer, ConsumerAnalyzer, DEFAULT_GLOBAL_SETTINGS, DispatcherImpl, DoltClient, ESCALATION_DIAGNOSIS, EXPERIMENT_RESULT, EfficiencyScorer, IngestionServer, LogTurnAnalyzer, OPERATIONAL_FINDING, Recommender, RoutingRecommender, RoutingResolver, RoutingTelemetry, RoutingTokenAccumulator, RoutingTuner, STORY_METRICS, STORY_OUTCOME, SubstrateConfigSchema, TEST_EXPANSION_FINDING, TEST_PLAN, TelemetryNormalizer, TelemetryPipeline, TurnAnalyzer, addTokenUsage, aggregateTokenUsageForRun, aggregateTokenUsageForStory, callLLM, classifyVersionGap, createConfigSystem, createDatabaseAdapter$1, createDecision, createPipelineRun, createRequirement, detectInterfaceChanges, getArtifactByTypeForRun, getArtifactsByRun, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestRun, getPipelineRunById, getRunMetrics, getRunningPipelineRuns, getStoryMetricsForRun, getTokenUsageSummary, initSchema, listRequirements, loadModelRoutingConfig, registerArtifact, swallowDebug, updatePipelineRun, updatePipelineRunConfig, upsertDecision, writeRunMetrics, writeStoryMetrics } from "./dist-Dy27RUJl.js";
5
- import { FindingsInjector, RunManifest, RuntimeProbeListSchema, applyConfigToGraph, createDefaultVerificationPipeline, createGraphOrchestrator, createSdlcCodeReviewHandler, createSdlcCreateStoryHandler, createSdlcDevStoryHandler, createSdlcPhaseHandler, detectsEventDrivenAC, detectsStateIntegratingAC, extractTargetFilesFromStoryContent, renderFindings, resolveGraphPath, resolveMainRepoRoot, runAcTraceabilityCheck, runStaleVerificationRecovery } from "./manifest-read-Pk6vQ-2e.js";
4
+ import { ADVISORY_NOTES, Categorizer, ConsumerAnalyzer, DEFAULT_GLOBAL_SETTINGS, DispatcherImpl, DoltClient, ESCALATION_DIAGNOSIS, EXPERIMENT_RESULT, EfficiencyScorer, IngestionServer, LogTurnAnalyzer, OPERATIONAL_FINDING, Recommender, RoutingRecommender, RoutingResolver, RoutingTelemetry, RoutingTokenAccumulator, RoutingTuner, STORY_METRICS, STORY_OUTCOME, SubstrateConfigSchema, TEST_EXPANSION_FINDING, TEST_PLAN, TelemetryNormalizer, TelemetryPipeline, TurnAnalyzer, addTokenUsage, aggregateTokenUsageForRun, aggregateTokenUsageForStory, callLLM, classifyVersionGap, createConfigSystem, createDatabaseAdapter$1, createDecision, createPipelineRun, createRequirement, detectInterfaceChanges, getArtifactByTypeForRun, getArtifactsByRun, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestRun, getPipelineRunById, getRunMetrics, getRunningPipelineRuns, getStoryMetricsForRun, getTokenUsageSummary, initSchema, listRequirements, loadModelRoutingConfig, registerArtifact, swallowDebug, updatePipelineRun, updatePipelineRunConfig, upsertDecision, writeRunMetrics, writeStoryMetrics } from "./dist-BWwy_6uv.js";
5
+ import { FindingsInjector, RunManifest, RuntimeProbeListSchema, applyConfigToGraph, createDefaultVerificationPipeline, createGraphOrchestrator, createSdlcCodeReviewHandler, createSdlcCreateStoryHandler, createSdlcDevStoryHandler, createSdlcPhaseHandler, detectsEventDrivenAC, detectsStateIntegratingAC, extractTargetFilesFromStoryContent, renderFindings, resolveGraphPath, resolveMainRepoRoot, runAcTraceabilityCheck, runStaleVerificationRecovery } from "./manifest-read-C1IQ75EP.js";
6
6
  import { WorkGraphRepository, detectCycles } from "./work-graph-repository-DZyJv5pV.js";
7
7
  import { deriveExitCode, routeDecision } from "./decision-router-DblHY8se.js";
8
- import { runInteractivePrompt } from "./interactive-prompt-C3qr42Ed.js";
8
+ import { runInteractivePrompt } from "./interactive-prompt-BUDDSIRy.js";
9
9
  import { runRecoveryEngine } from "./recovery-engine-BKGBeBnW.js";
10
10
  import { basename, dirname, extname, join } from "path";
11
11
  import { access, readFile, readdir, stat } from "fs/promises";
@@ -13699,20 +13699,6 @@ function createImplementationOrchestrator(deps) {
13699
13699
  err,
13700
13700
  storyKey
13701
13701
  }, "StateStore write failed after updateStory"));
13702
- if (updates.phase === "COMPLETE") stateStore?.mergeStory(storyKey).catch((err) => {
13703
- if (err instanceof DoltMergeConflict) eventBus.emit("pipeline:state-conflict", {
13704
- storyKey,
13705
- conflict: err
13706
- });
13707
- else logger$27.warn({
13708
- err,
13709
- storyKey
13710
- }, "mergeStory failed");
13711
- });
13712
- else if (updates.phase === "ESCALATED" || updates.phase === "VERIFICATION_FAILED") stateStore?.rollbackStory(storyKey).catch((err) => logger$27.warn({
13713
- err,
13714
- storyKey
13715
- }, "rollbackStory failed — branch may persist"));
13716
13702
  if (updates.phase !== void 0) {
13717
13703
  const targetStatus = wgStatusForPhase(updates.phase);
13718
13704
  if (targetStatus !== null) if (targetStatus === "in_progress" && _wgInProgressWritten.has(storyKey)) {} else {
@@ -13983,10 +13969,6 @@ function createImplementationOrchestrator(deps) {
13983
13969
  let _capturedStoryTitle;
13984
13970
  await waitIfPaused();
13985
13971
  if (_state !== "RUNNING") return;
13986
- stateStore?.branchForStory(storyKey).catch((err) => logger$27.warn({
13987
- err,
13988
- storyKey
13989
- }, "branchForStory failed — continuing without branch isolation"));
13990
13972
  startPhase(storyKey, "create-story");
13991
13973
  updateStory(storyKey, {
13992
13974
  phase: "IN_STORY_CREATION",
@@ -47137,7 +47119,7 @@ async function runFullPipeline(options) {
47137
47119
  */
47138
47120
  async function emitPreDispatchVersionAdvisory(currentVersion) {
47139
47121
  if (process.env["SUBSTRATE_NO_UPDATE_CHECK"] === "1") return;
47140
- const { createVersionManager } = await import("./version-manager-impl-DnnXTOS7.js");
47122
+ const { createVersionManager } = await import("./version-manager-impl-DxNTLWOT.js");
47141
47123
  const vm = createVersionManager();
47142
47124
  const result = await vm.checkForUpdates(true);
47143
47125
  const gap = classifyVersionGap(currentVersion, result.latestVersion);
@@ -47234,4 +47216,4 @@ function registerRunCommand(program, version = "0.0.0", projectRoot = process.cw
47234
47216
 
47235
47217
  //#endregion
47236
47218
  export { AdapterTelemetryPersistence, AppError, DoltRepoMapMetaRepository, DoltSymbolRepository, ERR_REPO_MAP_STORAGE_WRITE, EpicIngester, GLOBSTAR$1 as GLOBSTAR, GitClient, GrammarLoader, Minimatch$1 as Minimatch, Minipass, RepoMapInjector, RepoMapModule, RepoMapQueryEngine, RepoMapStorage, SymbolParser, createContextCompiler, createDispatcher, createEventEmitter, createGitWorktreeManager, createImplementationOrchestrator, createPackLoader, createPhaseOrchestrator, createStopAfterGate, createTelemetryAdvisor, escape$1 as escape, formatPhaseCompletionSummary, getFactoryRunSummaries, getScenarioResultsForRun, getTwinRunsForRun, listGraphRuns, normalizeGraphSummaryToStatus, registerExportCommand, registerFactoryCommand, registerRunCommand, registerScenariosCommand, resolveMaxReviewCycles, resolveProbeAuthorStateIntegrating, resolveStoryKeys, runAnalysisPhase, runPlanningPhase, runProbeAuthor, runRunAction, runSolutioningPhase, unescape$1 as unescape, validateStopAfterFromConflict, wireNdjsonEmitter };
47237
- //# sourceMappingURL=run-DM7ZJ1g9.js.map
47219
+ //# sourceMappingURL=run-BHDVWJVt.js.map
@@ -404,11 +404,6 @@ type SdlcEvents = CoreEvents & {
404
404
  /** 'pass' if zero mismatches, 'fail' otherwise */
405
405
  verdict: 'pass' | 'fail';
406
406
  };
407
- /** Dolt merge conflict detected when merging a story branch into main */
408
- 'pipeline:state-conflict': {
409
- storyKey: string;
410
- conflict: unknown;
411
- };
412
407
  /**
413
408
  * Emitted at pipeline startup when the repo-map symbol index is detected as stale.
414
409
  */
@@ -1,4 +1,4 @@
1
- import { createVersionManager } from "./dist-Dy27RUJl.js";
1
+ import { createVersionManager } from "./dist-BWwy_6uv.js";
2
2
  import { execSync, spawn } from "child_process";
3
3
  import * as readline from "readline";
4
4
 
@@ -123,4 +123,4 @@ function registerUpgradeCommand(program) {
123
123
 
124
124
  //#endregion
125
125
  export { isGlobalInstall, registerUpgradeCommand, runUpgradeCommand };
126
- //# sourceMappingURL=upgrade-Cwzu8GX8.js.map
126
+ //# sourceMappingURL=upgrade-BEZi9_nw.js.map
@@ -1,5 +1,5 @@
1
- import "./dist-Dy27RUJl.js";
1
+ import "./dist-BWwy_6uv.js";
2
2
  import "./version-manager-impl-qFBiO4Eh.js";
3
- import { isGlobalInstall, registerUpgradeCommand, runUpgradeCommand } from "./upgrade-Cwzu8GX8.js";
3
+ import { isGlobalInstall, registerUpgradeCommand, runUpgradeCommand } from "./upgrade-BEZi9_nw.js";
4
4
 
5
5
  export { isGlobalInstall, registerUpgradeCommand, runUpgradeCommand };
@@ -1,4 +1,4 @@
1
- import { VersionManagerImpl, createVersionManager } from "./dist-Dy27RUJl.js";
1
+ import { VersionManagerImpl, createVersionManager } from "./dist-BWwy_6uv.js";
2
2
  import "./version-manager-impl-qFBiO4Eh.js";
3
3
 
4
4
  export { createVersionManager };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "substrate-ai",
3
- "version": "0.20.99",
3
+ "version": "0.20.100",
4
4
  "description": "Substrate — multi-agent orchestration daemon for AI coding agents",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,4 +0,0 @@
1
- import { AdapterRegistry } from "./dist-Dy27RUJl.js";
2
- import "./adapter-registry-DIcrxjH8.js";
3
-
4
- export { AdapterRegistry };