substrate-ai 0.19.19 → 0.19.20

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.
package/dist/cli/index.js CHANGED
@@ -4,7 +4,7 @@ import { createLogger } from "../logger-KeHncl-f.js";
4
4
  import { createEventBus } from "../helpers-CElYrONe.js";
5
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, getSessionCostSummary, getSessionCostSummaryFiltered, getStoryMetricsForRun, getTokenUsageSummary, incrementRunRestarts, initSchema, initializeDolt, listRunMetrics, loadParentRunDecisions, supersedeDecision, tagRunAsBaseline, updatePipelineRun } from "../dist-CtFYOaeA.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-v7BddUfv.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-MGg8SzDA.js";
8
8
  import "../errors-CWSATPPa.js";
9
9
  import "../routing-CcBOCuC9.js";
10
10
  import "../decisions-C0pz9Clx.js";
@@ -4558,7 +4558,7 @@ async function runSupervisorAction(options, deps = {}) {
4558
4558
  await initSchema(expAdapter);
4559
4559
  const { runRunAction: runPipeline } = await import(
4560
4560
  /* @vite-ignore */
4561
- "../run-D4ujU2Jw.js"
4561
+ "../run-DVwQH8Ea.js"
4562
4562
  );
4563
4563
  const runStoryFn = async (opts) => {
4564
4564
  const exitCode = await runPipeline({
package/dist/index.d.ts CHANGED
@@ -147,6 +147,28 @@ interface StoryDoneEvent {
147
147
  /** Number of review cycles completed */
148
148
  review_cycles: number;
149
149
  }
150
+ /**
151
+ * Emitted when the orchestrator auto-approves a story after exhausting
152
+ * review cycles with only minor issues remaining. Provides transparency
153
+ * about why a NEEDS_MINOR_FIXES verdict resulted in COMPLETE status.
154
+ */
155
+ interface StoryAutoApprovedEvent {
156
+ type: 'story:auto-approved';
157
+ /** ISO-8601 timestamp generated at emit time */
158
+ ts: string;
159
+ /** Story key (e.g., "10-1") */
160
+ key: string;
161
+ /** Final review verdict (always NEEDS_MINOR_FIXES for auto-approve) */
162
+ verdict: string;
163
+ /** Number of review cycles completed */
164
+ review_cycles: number;
165
+ /** Maximum review cycles configured */
166
+ max_review_cycles: number;
167
+ /** Number of remaining issues at auto-approve time */
168
+ issue_count: number;
169
+ /** Human-readable reason for auto-approval */
170
+ reason: string;
171
+ }
150
172
  /**
151
173
  * An individual issue from a code review, included in escalation events.
152
174
  */
@@ -620,7 +642,7 @@ interface PipelinePhaseCompleteEvent {
620
642
  * }
621
643
  * ```
622
644
  */
623
- type PipelineEvent = PipelineStartEvent | PipelineCompleteEvent | PipelinePreFlightFailureEvent | PipelineProfileStaleEvent | PipelineContractMismatchEvent | PipelineContractVerificationSummaryEvent | StoryPhaseEvent | StoryDoneEvent | StoryEscalationEvent | StoryWarnEvent | StoryLogEvent | PipelineHeartbeatEvent | StoryStallEvent | StoryZeroDiffEscalationEvent | StoryBuildVerificationFailedEvent | StoryBuildVerificationPassedEvent | StoryInterfaceChangeWarningEvent | StoryMetricsEvent | SupervisorPollEvent | SupervisorKillEvent | SupervisorRestartEvent | SupervisorAbortEvent | SupervisorSummaryEvent | SupervisorAnalysisCompleteEvent | SupervisorAnalysisErrorEvent | SupervisorExperimentStartEvent | SupervisorExperimentSkipEvent | SupervisorExperimentRecommendationsEvent | SupervisorExperimentCompleteEvent | SupervisorExperimentErrorEvent | RoutingModelSelectedEvent | PipelinePhaseStartEvent | PipelinePhaseCompleteEvent; //#endregion
645
+ type PipelineEvent = PipelineStartEvent | PipelineCompleteEvent | PipelinePreFlightFailureEvent | PipelineProfileStaleEvent | PipelineContractMismatchEvent | PipelineContractVerificationSummaryEvent | StoryPhaseEvent | StoryDoneEvent | StoryEscalationEvent | StoryWarnEvent | StoryLogEvent | PipelineHeartbeatEvent | StoryStallEvent | StoryZeroDiffEscalationEvent | StoryBuildVerificationFailedEvent | StoryBuildVerificationPassedEvent | StoryInterfaceChangeWarningEvent | StoryMetricsEvent | SupervisorPollEvent | SupervisorKillEvent | SupervisorRestartEvent | SupervisorAbortEvent | SupervisorSummaryEvent | SupervisorAnalysisCompleteEvent | SupervisorAnalysisErrorEvent | SupervisorExperimentStartEvent | SupervisorExperimentSkipEvent | SupervisorExperimentRecommendationsEvent | SupervisorExperimentCompleteEvent | SupervisorExperimentErrorEvent | RoutingModelSelectedEvent | PipelinePhaseStartEvent | PipelinePhaseCompleteEvent | StoryAutoApprovedEvent; //#endregion
624
646
  //#region packages/core/dist/types.d.ts
625
647
 
626
648
  /**
@@ -1951,6 +1973,15 @@ interface OrchestratorEvents {
1951
1973
  rationale: string;
1952
1974
  };
1953
1975
  };
1976
+ /** Story auto-approved after exhausting review cycles with only minor issues */
1977
+ 'story:auto-approved': {
1978
+ storyKey: string;
1979
+ verdict: string;
1980
+ reviewCycles: number;
1981
+ maxReviewCycles: number;
1982
+ issueCount: number;
1983
+ reason: string;
1984
+ };
1954
1985
  /** A non-fatal warning occurred during story processing */
1955
1986
  'orchestrator:story-warn': {
1956
1987
  storyKey: string;
@@ -2,7 +2,7 @@ import "./health-CkQncTB5.js";
2
2
  import "./logger-KeHncl-f.js";
3
3
  import "./helpers-CElYrONe.js";
4
4
  import "./dist-CtFYOaeA.js";
5
- import { normalizeGraphSummaryToStatus, registerRunCommand, runRunAction } from "./run-v7BddUfv.js";
5
+ import { normalizeGraphSummaryToStatus, registerRunCommand, runRunAction } from "./run-MGg8SzDA.js";
6
6
  import "./routing-CcBOCuC9.js";
7
7
  import "./decisions-C0pz9Clx.js";
8
8
 
@@ -1247,6 +1247,48 @@ const PIPELINE_EVENT_METADATA = [
1247
1247
  }
1248
1248
  ]
1249
1249
  },
1250
+ {
1251
+ type: "story:auto-approved",
1252
+ description: "Story auto-approved after exhausting review cycles with only minor issues.",
1253
+ when: "When review cycles reach the maximum and the final verdict is NEEDS_MINOR_FIXES (not MAJOR_REWORK).",
1254
+ fields: [
1255
+ {
1256
+ name: "ts",
1257
+ type: "string",
1258
+ description: "Timestamp."
1259
+ },
1260
+ {
1261
+ name: "key",
1262
+ type: "string",
1263
+ description: "Story key."
1264
+ },
1265
+ {
1266
+ name: "verdict",
1267
+ type: "string",
1268
+ description: "Final review verdict (NEEDS_MINOR_FIXES)."
1269
+ },
1270
+ {
1271
+ name: "review_cycles",
1272
+ type: "number",
1273
+ description: "Review cycles completed."
1274
+ },
1275
+ {
1276
+ name: "max_review_cycles",
1277
+ type: "number",
1278
+ description: "Maximum review cycles configured."
1279
+ },
1280
+ {
1281
+ name: "issue_count",
1282
+ type: "number",
1283
+ description: "Remaining issues at auto-approve time."
1284
+ },
1285
+ {
1286
+ name: "reason",
1287
+ type: "string",
1288
+ description: "Human-readable reason for auto-approval."
1289
+ }
1290
+ ]
1291
+ },
1250
1292
  {
1251
1293
  type: "routing:model-selected",
1252
1294
  description: "Model routing resolver selected a model for a dispatch.",
@@ -41777,4 +41819,4 @@ function registerRunCommand(program, _version = "0.0.0", projectRoot = process.c
41777
41819
 
41778
41820
  //#endregion
41779
41821
  export { 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, normalizeGraphSummaryToStatus, registerExportCommand, registerFactoryCommand, registerRunCommand, registerScenariosCommand, resolveStoryKeys, runAnalysisPhase, runPlanningPhase, runRunAction, runSolutioningPhase, validateStopAfterFromConflict };
41780
- //# sourceMappingURL=run-v7BddUfv.js.map
41822
+ //# sourceMappingURL=run-MGg8SzDA.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "substrate-ai",
3
- "version": "0.19.19",
3
+ "version": "0.19.20",
4
4
  "description": "Substrate — multi-agent orchestration daemon for AI coding agents",
5
5
  "type": "module",
6
6
  "license": "MIT",