@oss-autopilot/core 3.14.0 → 3.14.2

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.
@@ -8,6 +8,7 @@ import type { FetchedPR, DailyDigest, AgentState, RepoGroup, CommentedIssue, She
8
8
  import type { ContributionStats } from '../core/stats.js';
9
9
  import type { PRCheckFailure } from '../core/pr-monitor.js';
10
10
  import type { CIFormatterDiagnosis, FormatterDetectionResult } from '../core/formatter-detection.js';
11
+ import type { IssueAvailabilityVerdict, IssueVerification, VerifiedLinkedPR } from '../core/issue-verification.js';
11
12
  export type { CapacityAssessment, ActionableIssue, ActionableIssueType, CompactActionableIssue, ActionMenuItem, ActionMenu, };
12
13
  export type ErrorCode = 'AUTH_REQUIRED' | 'RATE_LIMITED' | 'VALIDATION' | 'CONFIGURATION' | 'NETWORK' | 'NOT_FOUND' | 'STATE_CORRUPTED' | 'CONCURRENCY' | 'UNKNOWN';
13
14
  export interface JsonOutput<T = unknown> {
@@ -1436,18 +1437,47 @@ export interface CheckIntegrationOutput {
1436
1437
  unreferencedCount: number;
1437
1438
  }
1438
1439
  /**
1439
- * Status of a re-vetted issue from the curated list (#764).
1440
+ * Status of a re-vetted issue from the curated list (#764, #1494).
1440
1441
  *
1441
- * `has_stalled_pr` (scout 0.9.0 #97) distinguishes open-but-stalled linked
1442
- * PRs from cleanly-claimed `has_pr` issues the issue is still actionable
1443
- * as a revive opportunity rather than something to drop.
1442
+ * As of #1494 the status is driven by the deterministic verify-issue verdict
1443
+ * (closing-vs-mention aware) rather than scout's substring heuristic:
1444
+ * - `at_risk` verify found an open *mention* (cross-reference, not a closing
1445
+ * PR) or a merged closing PR awaiting issue close. Previously collapsed into
1446
+ * `claimed`/`has_pr`; the point of #1353.
1447
+ * - `own_open_pr` — the authenticated user already has an open closing PR.
1448
+ *
1449
+ * `has_pr` / `has_stalled_pr` (scout 0.9.0 #97) now only arise on the fallback
1450
+ * path when verify itself errored and we drop back to scout's heuristic; they
1451
+ * are kept for back-compat.
1444
1452
  */
1445
- export type VetListItemStatus = 'still_available' | 'claimed' | 'closed' | 'has_pr' | 'has_stalled_pr' | 'error';
1453
+ export type VetListItemStatus = 'still_available' | 'claimed' | 'closed' | 'has_pr' | 'has_stalled_pr' | 'at_risk' | 'own_open_pr' | 'error';
1446
1454
  /** Output of the vet-list command (#764). */
1447
1455
  export interface VetListOutput {
1448
1456
  results: Array<VetOutput & {
1449
1457
  listStatus: VetListItemStatus;
1450
1458
  errorMessage?: string;
1459
+ /**
1460
+ * Set when the deterministic verify-issue check itself failed for this
1461
+ * entry (#1494). Its presence is the explicit signal that `listStatus`
1462
+ * is NOT authoritative — it came from the scout heuristic fallback (or is
1463
+ * `error`), and the row should be re-verified before acting on it. Pairs
1464
+ * with an absent `verification`; never set when `verification` is present.
1465
+ */
1466
+ verifyError?: string;
1467
+ /**
1468
+ * The deterministic verify-issue facts behind `listStatus` (#1494).
1469
+ * Present whenever verification succeeded for the entry; absent only when
1470
+ * verify itself errored (then `listStatus` comes from the scout fallback
1471
+ * and `verifyError` records why).
1472
+ */
1473
+ verification?: {
1474
+ verdict: IssueAvailabilityVerdict;
1475
+ verdictReason: string;
1476
+ state: IssueVerification['state'];
1477
+ stateReason: IssueVerification['stateReason'];
1478
+ assignees: string[];
1479
+ linkedPRs: VerifiedLinkedPR[];
1480
+ };
1451
1481
  }>;
1452
1482
  summary: {
1453
1483
  total: number;
@@ -1457,6 +1487,10 @@ export interface VetListOutput {
1457
1487
  hasPR: number;
1458
1488
  /** Open linked PRs that haven't been touched in 30+ days (scout 0.9.0 #97). Surfaced as revive opportunities, not auto-dropped. */
1459
1489
  hasStalledPR: number;
1490
+ /** Open mention-only cross-references or a merged closing PR awaiting issue close (#1494 / #1353). */
1491
+ atRisk: number;
1492
+ /** The authenticated user already has an open closing PR (#1494 / #1354). */
1493
+ ownOpenPr: number;
1460
1494
  errors: number;
1461
1495
  };
1462
1496
  pruneResult?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oss-autopilot/core",
3
- "version": "3.14.0",
3
+ "version": "3.14.2",
4
4
  "description": "CLI and core library for managing open source contributions",
5
5
  "type": "module",
6
6
  "bin": {
@@ -54,7 +54,7 @@
54
54
  "dependencies": {
55
55
  "@octokit/plugin-throttling": "^11.0.3",
56
56
  "@octokit/rest": "^22.0.1",
57
- "@oss-scout/core": "^1.1.0",
57
+ "@oss-scout/core": "^1.2.0",
58
58
  "commander": "^15.0.0",
59
59
  "zod": "^4.4.3"
60
60
  },