substrate-ai 0.19.31 → 0.19.33

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-6ETBV23_.js";
2
+ import "./adapter-registry-DXLMTmfD.js";
3
+
4
+ export { AdapterRegistry };
package/dist/cli/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
- import { FileStateStore, RunManifest, SUBSTRATE_OWNED_SETTINGS_KEYS, SupervisorLock, VALID_PHASES, WorkGraphRepository, buildPipelineStatusOutput, createDatabaseAdapter, createStateStore, findPackageRoot, formatOutput, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getAllDescendantPids, getAutoHealthData, getSubstrateDefaultSettings, inspectProcessTree, parseDbTimestampAsUtc, registerHealthCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion, resolveMainRepoRoot, resolveRunManifest } from "../health-DUgvybiN.js";
2
+ import { FileStateStore, RunManifest, SUBSTRATE_OWNED_SETTINGS_KEYS, SupervisorLock, VALID_PHASES, WorkGraphRepository, buildPipelineStatusOutput, createDatabaseAdapter, createStateStore, findPackageRoot, formatOutput, formatPipelineStatusHuman, formatPipelineSummary, formatTokenTelemetry, getAllDescendantPids, getAutoHealthData, getSubstrateDefaultSettings, inspectProcessTree, parseDbTimestampAsUtc, registerHealthCommand, resolveBmadMethodSrcPath, resolveBmadMethodVersion, resolveMainRepoRoot, resolveRunManifest } from "../health-q4LAKfYz.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, 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, tagRunAsBaseline, updatePipelineRun } from "../dist-DYcDRyoS.js";
5
+ import { AdapterRegistry, BudgetConfigSchema, CURRENT_CONFIG_FORMAT_VERSION, CURRENT_TASK_GRAPH_VERSION, ConfigError, CostTrackerConfigSchema, DEFAULT_CONFIG, DoltClient, DoltNotInstalled, GlobalSettingsSchema, 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, tagRunAsBaseline, updatePipelineRun } from "../dist-6ETBV23_.js";
6
6
  import "../adapter-registry-DXLMTmfD.js";
7
- import { AdapterTelemetryPersistence, AppError, DoltRepoMapMetaRepository, DoltSymbolRepository, ERR_REPO_MAP_STORAGE_WRITE, EpicIngester, GitClient, GrammarLoader, RepoMapInjector, RepoMapModule, RepoMapQueryEngine, RepoMapStorage, SymbolParser, createContextCompiler, createDispatcher, createEventEmitter, createImplementationOrchestrator, createPackLoader, createPhaseOrchestrator, createStopAfterGate, createTelemetryAdvisor, formatPhaseCompletionSummary, getFactoryRunSummaries, getScenarioResultsForRun, getTwinRunsForRun, listGraphRuns, registerExportCommand, registerFactoryCommand, registerRunCommand, registerScenariosCommand, resolveStoryKeys, runAnalysisPhase, runPlanningPhase, runSolutioningPhase, validateStopAfterFromConflict } from "../run-CFmp4-qj.js";
8
- import "../errors-wOhMgaAU.js";
7
+ import { AdapterTelemetryPersistence, AppError, DoltRepoMapMetaRepository, DoltSymbolRepository, ERR_REPO_MAP_STORAGE_WRITE, EpicIngester, GitClient, GrammarLoader, RepoMapInjector, RepoMapModule, RepoMapQueryEngine, RepoMapStorage, SymbolParser, createContextCompiler, createDispatcher, createEventEmitter, createImplementationOrchestrator, createPackLoader, createPhaseOrchestrator, createStopAfterGate, createTelemetryAdvisor, formatPhaseCompletionSummary, getFactoryRunSummaries, getScenarioResultsForRun, getTwinRunsForRun, listGraphRuns, registerExportCommand, registerFactoryCommand, registerRunCommand, registerScenariosCommand, resolveStoryKeys, runAnalysisPhase, runPlanningPhase, runSolutioningPhase, validateStopAfterFromConflict } from "../run-nz9xWO1t.js";
8
+ import "../errors-QZ2_FzOB.js";
9
9
  import "../routing-CcBOCuC9.js";
10
10
  import "../decisions-C0pz9Clx.js";
11
11
  import "../version-manager-impl-BmOWu8ml.js";
12
- import { registerUpgradeCommand } from "../upgrade-Djv-r4rl.js";
12
+ import { registerUpgradeCommand } from "../upgrade-CUs8N7Sc.js";
13
13
  import { Command } from "commander";
14
14
  import { fileURLToPath } from "url";
15
15
  import { dirname, join, resolve } from "path";
@@ -1158,7 +1158,8 @@ const SubstrateConfigSchema = z.object({
1158
1158
  dispatch_timeouts: DispatchTimeoutsSchema.optional(),
1159
1159
  telemetry: TelemetryConfigSchema.optional(),
1160
1160
  default_agent: z.string().optional(),
1161
- supervisor_poll_interval_seconds: z.number().int().positive().optional()
1161
+ supervisor_poll_interval_seconds: z.number().int().positive().optional(),
1162
+ retry_budget: z.number().int().positive().optional()
1162
1163
  }).strict();
1163
1164
  const PartialSubstrateConfigSchema = z.object({
1164
1165
  config_format_version: z.enum(["1"]).optional(),
@@ -1175,7 +1176,8 @@ const PartialSubstrateConfigSchema = z.object({
1175
1176
  dispatch_timeouts: DispatchTimeoutsSchema.optional(),
1176
1177
  telemetry: TelemetryConfigSchema.partial().optional(),
1177
1178
  default_agent: z.string().optional(),
1178
- supervisor_poll_interval_seconds: z.number().int().positive().optional()
1179
+ supervisor_poll_interval_seconds: z.number().int().positive().optional(),
1180
+ retry_budget: z.number().int().positive().optional()
1179
1181
  }).strict();
1180
1182
 
1181
1183
  //#endregion
@@ -3305,7 +3307,7 @@ async function runStatusAction(options) {
3305
3307
  logger$12.debug({ err }, "Work graph query failed, continuing without work graph data");
3306
3308
  }
3307
3309
  if (run === void 0) {
3308
- const { inspectProcessTree: inspectProcessTree$1 } = await import("../health-C96NMCJX.js");
3310
+ const { inspectProcessTree: inspectProcessTree$1 } = await import("../health-BMz_Vxme.js");
3309
3311
  const substrateDirPath = join(projectRoot, ".substrate");
3310
3312
  const processInfo = inspectProcessTree$1({
3311
3313
  projectRoot,
@@ -4250,7 +4252,7 @@ function defaultSupervisorDeps() {
4250
4252
  if (cached === null) {
4251
4253
  const { AdapterRegistry: AR } = await import(
4252
4254
  /* @vite-ignore */
4253
- "../adapter-registry-CAN7nZQ7.js"
4255
+ "../adapter-registry-TGAj9NRP.js"
4254
4256
  );
4255
4257
  cached = new AR();
4256
4258
  await cached.discoverAndRegister();
@@ -4817,11 +4819,11 @@ async function runSupervisorAction(options, deps = {}) {
4817
4819
  try {
4818
4820
  const { createExperimenter } = await import(
4819
4821
  /* @vite-ignore */
4820
- "../experimenter-ll3qdoo1.js"
4822
+ "../experimenter-BuEVrH4r.js"
4821
4823
  );
4822
4824
  const { getLatestRun: getLatest } = await import(
4823
4825
  /* @vite-ignore */
4824
- "../decisions-DIMNco6x.js"
4826
+ "../decisions-8djApJK3.js"
4825
4827
  );
4826
4828
  const expAdapter = createDatabaseAdapter({
4827
4829
  backend: "auto",
@@ -4831,7 +4833,7 @@ async function runSupervisorAction(options, deps = {}) {
4831
4833
  await initSchema(expAdapter);
4832
4834
  const { runRunAction: runPipeline } = await import(
4833
4835
  /* @vite-ignore */
4834
- "../run-Bb51aPNw.js"
4836
+ "../run-Cv8E1iib.js"
4835
4837
  );
4836
4838
  const runStoryFn = async (opts) => {
4837
4839
  const exitCode = await runPipeline({
@@ -5363,7 +5365,7 @@ async function runMetricsAction(options) {
5363
5365
  const routingConfigPath = join(dbDir, "routing.yml");
5364
5366
  let routingConfig = null;
5365
5367
  if (existsSync$1(routingConfigPath)) try {
5366
- const { loadModelRoutingConfig } = await import("../routing-CBjZdPqf.js");
5368
+ const { loadModelRoutingConfig } = await import("../routing-CvFTGTH-.js");
5367
5369
  routingConfig = loadModelRoutingConfig(routingConfigPath);
5368
5370
  } catch {}
5369
5371
  if (routingConfig === null) routingConfig = {
@@ -8618,8 +8620,8 @@ async function createProgram() {
8618
8620
  /** Fire-and-forget startup version check (story 8.3, AC3/AC5) */
8619
8621
  function checkForUpdatesInBackground(currentVersion) {
8620
8622
  if (process.env.SUBSTRATE_NO_UPDATE_CHECK === "1") return;
8621
- import("../upgrade-Cex3qbdI.js").then(async () => {
8622
- const { createVersionManager } = await import("../version-manager-impl-D0JrUpB-.js");
8623
+ import("../upgrade-Bid6Q1G2.js").then(async () => {
8624
+ const { createVersionManager } = await import("../version-manager-impl-BdRRhlI6.js");
8623
8625
  const vm = createVersionManager();
8624
8626
  const result = await vm.checkForUpdates();
8625
8627
  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-DYcDRyoS.js";
1
+ import { addTokenUsage, createDecision, createPipelineRun, createRequirement, getArtifactByTypeForRun, getArtifactsByRun, getDecisionsByCategory, getDecisionsByPhase, getDecisionsByPhaseForRun, getLatestRun, getPipelineRunById, getRunningPipelineRuns, getTokenUsageSummary, listRequirements, registerArtifact, updateDecision, updatePipelineRun, updatePipelineRunConfig, upsertDecision } from "./dist-6ETBV23_.js";
2
2
  import "./decisions-C0pz9Clx.js";
3
3
 
4
4
  export { getLatestRun };
@@ -3242,6 +3242,27 @@ const TEST_PLAN = "test-plan";
3242
3242
  * ```
3243
3243
  */
3244
3244
  const ADVISORY_NOTES = "advisory-notes";
3245
+ /**
3246
+ * Category for root cause taxonomy findings persisted by the learning loop.
3247
+ *
3248
+ * Key schema: "{storyKey}:{runId}"
3249
+ *
3250
+ * Value shape: JSON-serialized `Finding` object from the learning loop, e.g.:
3251
+ * ```json
3252
+ * {
3253
+ * "id": "uuid",
3254
+ * "run_id": "run-abc",
3255
+ * "story_key": "53-5",
3256
+ * "root_cause": "build-failure",
3257
+ * "affected_files": ["src/foo.ts"],
3258
+ * "description": "Build failed after story dispatch",
3259
+ * "confidence": "high",
3260
+ * "created_at": "2026-04-06T00:00:00.000Z",
3261
+ * "expires_after_runs": 5
3262
+ * }
3263
+ * ```
3264
+ */
3265
+ const LEARNING_FINDING = "finding";
3245
3266
 
3246
3267
  //#endregion
3247
3268
  //#region packages/core/dist/persistence/queries/amendments.js
@@ -10772,5 +10793,5 @@ async function callLLM(params) {
10772
10793
  }
10773
10794
 
10774
10795
  //#endregion
10775
- 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, IngestionServer, 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, 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, tagRunAsBaseline, updateDecision, updatePipelineRun, updatePipelineRunConfig, upsertDecision, writeRunMetrics, writeStoryMetrics };
10776
- //# sourceMappingURL=dist-DYcDRyoS.js.map
10796
+ 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, 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, 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, tagRunAsBaseline, updateDecision, updatePipelineRun, updatePipelineRunConfig, upsertDecision, writeRunMetrics, writeStoryMetrics };
10797
+ //# sourceMappingURL=dist-6ETBV23_.js.map
@@ -1,4 +1,4 @@
1
- import { AdtError } from "./dist-DYcDRyoS.js";
1
+ import { AdtError } from "./dist-6ETBV23_.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-wOhMgaAU.js.map
74
+ //# sourceMappingURL=errors-QZ2_FzOB.js.map
@@ -1,3 +1,3 @@
1
- import { buildAuditLogEntry, buildBranchName, buildModificationDirective, buildPRBody, buildWorktreePath, createExperimenter, determineVerdict, resolvePromptFile } from "./dist-DYcDRyoS.js";
1
+ import { buildAuditLogEntry, buildBranchName, buildModificationDirective, buildPRBody, buildWorktreePath, createExperimenter, determineVerdict, resolvePromptFile } from "./dist-6ETBV23_.js";
2
2
 
3
3
  export { createExperimenter };
@@ -1,6 +1,6 @@
1
- import { DEFAULT_STALL_THRESHOLD_SECONDS, getAllDescendantPids, getAutoHealthData, inspectProcessTree, isOrchestratorProcessLine, registerHealthCommand, runHealthAction } from "./health-DUgvybiN.js";
1
+ import { DEFAULT_STALL_THRESHOLD_SECONDS, getAllDescendantPids, getAutoHealthData, inspectProcessTree, isOrchestratorProcessLine, registerHealthCommand, runHealthAction } from "./health-q4LAKfYz.js";
2
2
  import "./logger-KeHncl-f.js";
3
- import "./dist-DYcDRyoS.js";
3
+ import "./dist-6ETBV23_.js";
4
4
  import "./decisions-C0pz9Clx.js";
5
5
 
6
6
  export { inspectProcessTree };