@proletariat/cli 0.3.111 → 0.3.112

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.
Files changed (52) hide show
  1. package/dist/commands/gateway/connect.d.ts +33 -0
  2. package/dist/commands/gateway/connect.js +130 -0
  3. package/dist/commands/gateway/connect.js.map +1 -0
  4. package/dist/commands/gateway/disconnect.d.ts +21 -0
  5. package/dist/commands/gateway/disconnect.js +69 -0
  6. package/dist/commands/gateway/disconnect.js.map +1 -0
  7. package/dist/commands/gateway/start.d.ts +23 -0
  8. package/dist/commands/gateway/start.js +133 -0
  9. package/dist/commands/gateway/start.js.map +1 -0
  10. package/dist/commands/gateway/status.d.ts +16 -0
  11. package/dist/commands/gateway/status.js +76 -0
  12. package/dist/commands/gateway/status.js.map +1 -0
  13. package/dist/commands/gateway/test.d.ts +22 -0
  14. package/dist/commands/gateway/test.js +83 -0
  15. package/dist/commands/gateway/test.js.map +1 -0
  16. package/dist/commands/reconcile.d.ts +29 -0
  17. package/dist/commands/reconcile.js +140 -0
  18. package/dist/commands/reconcile.js.map +1 -0
  19. package/dist/commands/work/ship.js +131 -61
  20. package/dist/commands/work/ship.js.map +1 -1
  21. package/dist/lib/gateway/channel-factory.d.ts +13 -0
  22. package/dist/lib/gateway/channel-factory.js +37 -0
  23. package/dist/lib/gateway/channel-factory.js.map +1 -0
  24. package/dist/lib/gateway/channels/telegram.d.ts +115 -0
  25. package/dist/lib/gateway/channels/telegram.js +215 -0
  26. package/dist/lib/gateway/channels/telegram.js.map +1 -0
  27. package/dist/lib/gateway/router.d.ts +84 -0
  28. package/dist/lib/gateway/router.js +140 -0
  29. package/dist/lib/gateway/router.js.map +1 -0
  30. package/dist/lib/gateway/session-poker.d.ts +35 -0
  31. package/dist/lib/gateway/session-poker.js +85 -0
  32. package/dist/lib/gateway/session-poker.js.map +1 -0
  33. package/dist/lib/gateway/types.d.ts +124 -0
  34. package/dist/lib/gateway/types.js +17 -0
  35. package/dist/lib/gateway/types.js.map +1 -0
  36. package/dist/lib/machine-db.d.ts +87 -0
  37. package/dist/lib/machine-db.js +135 -0
  38. package/dist/lib/machine-db.js.map +1 -1
  39. package/dist/lib/pr/index.d.ts +34 -2
  40. package/dist/lib/pr/index.js +95 -4
  41. package/dist/lib/pr/index.js.map +1 -1
  42. package/dist/lib/reconcile/core.d.ts +62 -0
  43. package/dist/lib/reconcile/core.js +137 -0
  44. package/dist/lib/reconcile/core.js.map +1 -0
  45. package/dist/lib/reconcile/index.d.ts +54 -0
  46. package/dist/lib/reconcile/index.js +377 -0
  47. package/dist/lib/reconcile/index.js.map +1 -0
  48. package/dist/lib/reconcile/types.d.ts +133 -0
  49. package/dist/lib/reconcile/types.js +16 -0
  50. package/dist/lib/reconcile/types.js.map +1 -0
  51. package/oclif.manifest.json +2534 -2192
  52. package/package.json +1 -1
@@ -0,0 +1,29 @@
1
+ /**
2
+ * `prlt reconcile` — Tier 2 State Reconciler (PRLT-1280)
3
+ *
4
+ * Polls GitHub for the live state of each linked PR and fires normal
5
+ * ticket transitions to fix board drift (e.g. "6 tickets stuck in Review
6
+ * because someone merged via `gh pr merge` instead of `prlt work ship`").
7
+ *
8
+ * Design constraints from PRLT-1280:
9
+ * - Idempotent: a second run is a no-op when state is already correct.
10
+ * - Provider-agnostic: the command never branches on provider type;
11
+ * all state changes go through the provider adapter layer.
12
+ * - Scope is strictly the reconciliation function — no LLM, no daemon
13
+ * rewrite, no supervision tree.
14
+ */
15
+ import { PMOCommand } from '../lib/pmo/index.js';
16
+ export default class Reconcile extends PMOCommand {
17
+ static description: string;
18
+ static examples: string[];
19
+ static flags: {
20
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ watch: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ interval: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
23
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
25
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
26
+ };
27
+ execute(): Promise<void>;
28
+ private printSummary;
29
+ }
@@ -0,0 +1,140 @@
1
+ /**
2
+ * `prlt reconcile` — Tier 2 State Reconciler (PRLT-1280)
3
+ *
4
+ * Polls GitHub for the live state of each linked PR and fires normal
5
+ * ticket transitions to fix board drift (e.g. "6 tickets stuck in Review
6
+ * because someone merged via `gh pr merge` instead of `prlt work ship`").
7
+ *
8
+ * Design constraints from PRLT-1280:
9
+ * - Idempotent: a second run is a no-op when state is already correct.
10
+ * - Provider-agnostic: the command never branches on provider type;
11
+ * all state changes go through the provider adapter layer.
12
+ * - Scope is strictly the reconciliation function — no LLM, no daemon
13
+ * rewrite, no supervision tree.
14
+ */
15
+ import { Flags } from '@oclif/core';
16
+ import { PMOCommand, pmoBaseFlags } from '../lib/pmo/index.js';
17
+ import { runReconcile, watchReconcile } from '../lib/reconcile/index.js';
18
+ import { styles } from '../lib/styles.js';
19
+ import { shouldOutputJson, outputSuccessAsJson, createMetadata, } from '../lib/prompt-json.js';
20
+ export default class Reconcile extends PMOCommand {
21
+ static description = 'Tier 2 state reconciler — poll GitHub for linked PRs and fix board drift';
22
+ static examples = [
23
+ '<%= config.bin %> <%= command.id %>',
24
+ '<%= config.bin %> <%= command.id %> --dry-run',
25
+ '<%= config.bin %> <%= command.id %> --watch',
26
+ '<%= config.bin %> <%= command.id %> --watch --interval 60',
27
+ '<%= config.bin %> <%= command.id %> -P proj-001',
28
+ ];
29
+ static flags = {
30
+ ...pmoBaseFlags,
31
+ 'dry-run': Flags.boolean({
32
+ description: 'Print the transitions that would be made, but do not execute them',
33
+ default: false,
34
+ }),
35
+ watch: Flags.boolean({
36
+ description: 'Run on a timer until killed (default interval: 5 minutes)',
37
+ default: false,
38
+ }),
39
+ interval: Flags.integer({
40
+ description: 'Watch interval in seconds (used with --watch)',
41
+ default: 300,
42
+ }),
43
+ };
44
+ async execute() {
45
+ const { flags } = await this.parse(Reconcile);
46
+ const db = this.requireDB();
47
+ const jsonMode = shouldOutputJson(flags);
48
+ const dryRun = flags['dry-run'];
49
+ const projectFlag = flags.project;
50
+ const storage = this.storage;
51
+ if (flags.watch) {
52
+ if (jsonMode) {
53
+ // --watch in JSON mode doesn't make sense — there is no single
54
+ // structured output to print. Fail fast so callers notice.
55
+ this.error('--watch is not supported in JSON mode');
56
+ }
57
+ this.log(styles.muted(`Watching for drift every ${flags.interval}s (Ctrl+C to stop)${dryRun ? ' [dry-run]' : ''}...`));
58
+ let stop = false;
59
+ const stopHandler = () => {
60
+ stop = true;
61
+ this.log(styles.muted('\nStopping reconcile watcher...'));
62
+ };
63
+ process.once('SIGINT', stopHandler);
64
+ process.once('SIGTERM', stopHandler);
65
+ try {
66
+ await watchReconcile(db, storage, {
67
+ dryRun,
68
+ cwd: this.hqPath ?? process.cwd(),
69
+ projectId: projectFlag,
70
+ log: msg => this.log(msg),
71
+ intervalMs: flags.interval * 1000,
72
+ shouldStop: () => stop,
73
+ onCycle: report => this.printSummary(report, dryRun),
74
+ });
75
+ }
76
+ finally {
77
+ process.removeListener('SIGINT', stopHandler);
78
+ process.removeListener('SIGTERM', stopHandler);
79
+ }
80
+ return;
81
+ }
82
+ const report = await runReconcile(db, storage, {
83
+ dryRun,
84
+ cwd: this.hqPath ?? process.cwd(),
85
+ projectId: projectFlag,
86
+ log: jsonMode ? undefined : msg => this.log(msg),
87
+ });
88
+ if (jsonMode) {
89
+ outputSuccessAsJson({
90
+ checked: report.checked,
91
+ applied: report.applied,
92
+ skipped: report.skipped,
93
+ failed: report.failed,
94
+ errors: report.errors,
95
+ startedAt: report.startedAt,
96
+ finishedAt: report.finishedAt,
97
+ dryRun,
98
+ }, createMetadata('reconcile', flags));
99
+ return;
100
+ }
101
+ this.printSummary(report, dryRun);
102
+ }
103
+ printSummary(report, dryRun) {
104
+ const { checked, applied, skipped, failed, errors } = report;
105
+ if (applied.length === 0 && skipped.length === 0 && failed.length === 0) {
106
+ this.log(styles.muted(`Checked ${checked} ticket(s) — no drift detected.`));
107
+ return;
108
+ }
109
+ this.log('');
110
+ this.log(styles.emphasis('Reconcile Summary:'));
111
+ this.log(` Checked: ${checked} ticket(s)`);
112
+ if (applied.length > 0) {
113
+ this.log(styles.success(` Applied: ${applied.length} transition(s)`));
114
+ for (const t of applied) {
115
+ this.log(styles.muted(` ${t.ticketId}: ${t.fromState ?? '?'} → ${t.toState}` +
116
+ (t.prNumber ? ` (PR #${t.prNumber} ${t.prState ?? ''})` : '')));
117
+ }
118
+ }
119
+ if (dryRun && skipped.length > 0) {
120
+ this.log(styles.warning(` Skipped: ${skipped.length} (dry-run)`));
121
+ for (const t of skipped) {
122
+ this.log(styles.muted(` [dry-run] ${t.ticketId}: ${t.fromState ?? '?'} → ${t.toState}` +
123
+ (t.prNumber ? ` (PR #${t.prNumber} ${t.prState ?? ''})` : '')));
124
+ }
125
+ }
126
+ if (failed.length > 0) {
127
+ this.log(styles.error(` Failed: ${failed.length}`));
128
+ for (const f of failed) {
129
+ this.log(styles.error(` ${f.transition.ticketId}: ${f.error}`));
130
+ }
131
+ }
132
+ if (errors.length > 0) {
133
+ this.log(styles.warning(` Non-fatal errors: ${errors.length}`));
134
+ for (const e of errors) {
135
+ this.log(styles.muted(` ${e.ticketId}: ${e.error}`));
136
+ }
137
+ }
138
+ }
139
+ }
140
+ //# sourceMappingURL=reconcile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/commands/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAG9D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAwB,MAAM,2BAA2B,CAAA;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,uBAAuB,CAAA;AAE9B,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,UAAU;IAC/C,MAAM,CAAC,WAAW,GAChB,0EAA0E,CAAA;IAE5E,MAAM,CAAC,QAAQ,GAAG;QAChB,qCAAqC;QACrC,+CAA+C;QAC/C,6CAA6C;QAC7C,2DAA2D;QAC3D,iDAAiD;KAClD,CAAA;IAED,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,YAAY;QACf,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YACvB,WAAW,EAAE,mEAAmE;YAChF,OAAO,EAAE,KAAK;SACf,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,2DAA2D;YACxE,OAAO,EAAE,KAAK;SACf,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,WAAW,EAAE,+CAA+C;YAC5D,OAAO,EAAE,GAAG;SACb,CAAC;KACH,CAAA;IAED,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC3B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;QAC/B,MAAM,WAAW,GAAI,KAA8B,CAAC,OAAO,CAAA;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAkD,CAAA;QAEvE,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,QAAQ,EAAE,CAAC;gBACb,+DAA+D;gBAC/D,2DAA2D;gBAC3D,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAA;YACrD,CAAC;YAED,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,KAAK,CACV,4BAA4B,KAAK,CAAC,QAAQ,qBAAqB,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAC/F,CACF,CAAA;YAED,IAAI,IAAI,GAAG,KAAK,CAAA;YAChB,MAAM,WAAW,GAAG,GAAS,EAAE;gBAC7B,IAAI,GAAG,IAAI,CAAA;gBACX,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAA;YAC3D,CAAC,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;YACnC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;YAEpC,IAAI,CAAC;gBACH,MAAM,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE;oBAChC,MAAM;oBACN,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE;oBACjC,SAAS,EAAE,WAAW;oBACtB,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBACzB,UAAU,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;oBACjC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;oBACtB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;iBACrD,CAAC,CAAA;YACJ,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAC7C,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;YAChD,CAAC;YACD,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE;YAC7C,MAAM;YACN,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE;YACjC,SAAS,EAAE,WAAW;YACtB,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;SACjD,CAAC,CAAA;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,mBAAmB,CACjB;gBACE,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,MAAM;aACP,EACD,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CACnC,CAAA;YACD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAEO,YAAY,CAAC,MAAuB,EAAE,MAAe;QAC3D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QAE5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,iCAAiC,CAAC,CAAC,CAAA;YAC3E,OAAM;QACR,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC/C,IAAI,CAAC,GAAG,CAAC,cAAc,OAAO,YAAY,CAAC,CAAA;QAE3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAA;YACtE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,KAAK,CACV,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE;oBACvD,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAChE,CACF,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC,CAAA;YAClE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,KAAK,CACV,iBAAiB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE;oBACjE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAChE,CACF,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACpD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YACpE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAChE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;IACH,CAAC"}
@@ -6,7 +6,7 @@ import { moveTicketByIntent } from '../../lib/work-lifecycle/transition.js';
6
6
  import { styles } from '../../lib/styles.js';
7
7
  import { getWorkspaceInfo } from '../../lib/agents/commands.js';
8
8
  import { ExecutionStorage } from '../../lib/execution/storage.js';
9
- import { requireGhCli, getPRByNumber, getPRForBranch, getPRChecks, mergePR, getGitHubRepo, listOpenPRs, } from '../../lib/pr/index.js';
9
+ import { requireGhCli, getPRByNumber, getPRForBranch, getPRChecks, mergePR, getGitHubRepo, listOpenPRs, findPRForTicket, } from '../../lib/pr/index.js';
10
10
  import { rebaseSiblingPRs, watchAndShip, GitHubAutoMergeProvider, } from '../../lib/shipping/index.js';
11
11
  import { shouldOutputJson, outputErrorAsJson, outputSuccessAsJson, createMetadata, } from '../../lib/prompt-json.js';
12
12
  import { getEventBus } from '../../lib/events/event-bus.js';
@@ -115,12 +115,18 @@ export default class WorkShip extends PMOCommand {
115
115
  const db = openWorkspaceDatabase(workspaceInfo.path);
116
116
  const executionStorage = new ExecutionStorage(db);
117
117
  try {
118
- // --- Step 0: Resolve repo cwd for gh CLI commands ---
119
- // gh commands (pr view, pr checks, etc.) need to run inside a git repo
120
- // to determine which GitHub repository to query. In workspace/devcontainer
121
- // environments, process.cwd() may be the workspace root (not a git repo),
122
- // causing gh to fail and PR lookups to return PR_NOT_FOUND.
118
+ // --- Step 0: Resolve repo cwd + repo id for gh CLI commands ---
119
+ // gh commands (pr view, pr checks, etc.) need to know which GitHub
120
+ // repository to query. Two strategies:
121
+ // 1. Run inside a git repo (cwd) so gh can infer from `origin`.
122
+ // 2. Pass `--repo owner/repo` explicitly (immune to cwd state).
123
+ // We use (1) when possible and fall back to (2) with a repo detected
124
+ // from the workspace info. In workspace/devcontainer environments,
125
+ // process.cwd() may be the workspace root (not a git repo), which
126
+ // causes gh to fail and PR lookups to return PR_NOT_FOUND — PRLT-1279.
123
127
  const repoCwd = this.resolveRepoCwd(workspaceInfo, executionStorage);
128
+ const repoSlug = getGitHubRepo(repoCwd) ?? getGitHubRepo() ?? undefined;
129
+ const prLookup = { cwd: repoCwd, repo: repoSlug };
124
130
  // --- Handle --all flag: batch ship all green PRs ---
125
131
  if (flags.all) {
126
132
  await this.shipAll(flags, workspaceInfo, executionStorage, db, jsonMode);
@@ -132,8 +138,13 @@ export default class WorkShip extends PMOCommand {
132
138
  let ticket = null;
133
139
  let prInfo = null;
134
140
  if (prNumber) {
135
- // PR number provided directly — find the PR, then resolve the ticket
136
- prInfo = getPRByNumber(prNumber, repoCwd);
141
+ // PR number provided directly — find the PR, then resolve the ticket.
142
+ // Try cwd-based lookup first, then fall back to explicit --repo so we
143
+ // succeed even when running outside a git repo (PRLT-1279).
144
+ prInfo = getPRByNumber(prNumber, prLookup);
145
+ if (!prInfo && repoSlug && repoCwd) {
146
+ prInfo = getPRByNumber(prNumber, { repo: repoSlug });
147
+ }
137
148
  if (!prInfo) {
138
149
  db.close();
139
150
  return handleError('PR_NOT_FOUND', `PR #${prNumber} not found.`);
@@ -185,34 +196,60 @@ export default class WorkShip extends PMOCommand {
185
196
  // Find PR from ticket metadata or branch
186
197
  prNumber = ticket.metadata?.pr_number ? parseInt(ticket.metadata.pr_number, 10) : undefined;
187
198
  if (prNumber) {
188
- prInfo = getPRByNumber(prNumber, repoCwd);
199
+ prInfo = getPRByNumber(prNumber, prLookup);
189
200
  }
190
201
  if (!prInfo) {
191
202
  // Try to find PR from execution branch
192
203
  const runningExecution = executionStorage.getRunningExecution(ticketId);
193
204
  const branch = runningExecution?.branch || ticket.branch;
194
205
  if (branch) {
195
- prInfo = getPRForBranch(branch, repoCwd);
206
+ prInfo = getPRForBranch(branch, prLookup);
196
207
  if (prInfo) {
197
208
  prNumber = prInfo.number;
198
209
  }
199
210
  }
200
211
  }
212
+ if (!prInfo) {
213
+ // Live GitHub fallback (PRLT-1279): search merged + open PRs by head
214
+ // branch prefix. This recovers from the drift scenarios in the ticket:
215
+ // - local metadata has no pr_number (e.g. after Linear sync)
216
+ // - branch has been deleted post-merge
217
+ // - dual-identity tickets: try both internal and external IDs
218
+ const searchIds = [];
219
+ if (ticket.id)
220
+ searchIds.push(ticket.id);
221
+ const externalKey = typeof ticket.metadata?.external_key === 'string'
222
+ ? ticket.metadata.external_key
223
+ : undefined;
224
+ if (externalKey && !searchIds.includes(externalKey)) {
225
+ searchIds.push(externalKey);
226
+ }
227
+ const linearId = typeof ticket.metadata?.['linear.identifier'] === 'string'
228
+ ? ticket.metadata['linear.identifier']
229
+ : undefined;
230
+ if (linearId && !searchIds.includes(linearId)) {
231
+ searchIds.push(linearId);
232
+ }
233
+ if (ticketId && !searchIds.includes(ticketId)) {
234
+ searchIds.push(ticketId);
235
+ }
236
+ const found = findPRForTicket(searchIds, prLookup);
237
+ if (found) {
238
+ prInfo = found;
239
+ prNumber = found.number;
240
+ }
241
+ }
201
242
  if (!prInfo || !prNumber) {
202
243
  db.close();
203
244
  return handleError('NO_PR_FOUND', `No pull request found for ticket "${ticketId}". Create one with "prlt work ready ${ticketId} --pr".`);
204
245
  }
205
246
  }
206
247
  // Validate PR state
207
- if (prInfo.state === 'MERGED') {
208
- db.close();
209
- if (jsonMode) {
210
- outputSuccessAsJson({ alreadyMerged: true, prNumber, title: prInfo.title, ticketId: ticketId ?? null }, createMetadata('work ship', flags));
211
- return;
212
- }
213
- this.log(styles.info(`PR #${prNumber} is already merged.`));
214
- return;
215
- }
248
+ // If the PR is already merged (e.g. the user merged manually via the
249
+ // GitHub UI or `gh pr merge`, or a previous ship run merged but failed
250
+ // to transition the ticket), we still run the ticket-transition step
251
+ // so the board can recover from drift. PRLT-1279.
252
+ const alreadyMerged = prInfo.state === 'MERGED';
216
253
  if (prInfo.state === 'CLOSED') {
217
254
  db.close();
218
255
  return handleError('PR_CLOSED', `PR #${prNumber} is closed. Reopen it first.`);
@@ -227,57 +264,80 @@ export default class WorkShip extends PMOCommand {
227
264
  this.log(styles.muted(` PR: #${prNumber} — ${prInfo.title}`));
228
265
  this.log(styles.muted(` Branch: ${prInfo.headBranch} → ${prInfo.baseBranch}`));
229
266
  this.log(styles.muted(` Method: ${flags.method}`));
230
- this.log(styles.muted(` Mode: ${flags['when-green'] ? 'when-green (watch + auto-merge)' : 'immediate'}`));
267
+ this.log(styles.muted(` Mode: ${alreadyMerged ? 'already-merged (transition only)' : flags['when-green'] ? 'when-green (watch + auto-merge)' : 'immediate'}`));
231
268
  if (ticketId) {
232
269
  this.log(styles.muted(` Ticket: ${ticketId}${ticket ? ` — ${ticket.title}` : ''}`));
233
270
  }
234
- // Check CI
235
- const checks = getPRChecks(prNumber, cwd);
236
- if (checks.length > 0) {
237
- const allPassed = checks.every(c => c.conclusion === 'SUCCESS' || c.conclusion === 'SKIPPED');
238
- const pending = checks.filter(c => !c.conclusion || c.status === 'IN_PROGRESS' || c.status === 'QUEUED');
239
- const failed = checks.filter(c => c.conclusion === 'FAILURE');
240
- if (allPassed) {
241
- this.log(styles.muted(` CI: All checks passed (${checks.length})`));
242
- }
243
- else if (pending.length > 0) {
244
- this.log(styles.muted(` CI: ${pending.length} pending, ${failed.length} failed`));
271
+ if (alreadyMerged) {
272
+ this.log('');
273
+ this.log(styles.muted(' Actions that would be taken:'));
274
+ if (ticketId) {
275
+ this.log(styles.muted(` 1. Move ticket ${ticketId} to Done`));
245
276
  }
246
277
  else {
247
- this.log(styles.muted(` CI: ${failed.length} failed`));
278
+ this.log(styles.muted(' 1. (no ticket resolved — nothing to transition)'));
248
279
  }
249
280
  }
250
281
  else {
251
- this.log(styles.muted(` CI: No checks configured`));
252
- }
253
- // Check conflicts
254
- const hasConflicts = this.checkMergeConflicts(prNumber, cwd);
255
- this.log(styles.muted(` Conflicts: ${hasConflicts ? 'Yes would rebase' : 'None'}`));
256
- this.log('');
257
- this.log(styles.muted(' Actions that would be taken:'));
258
- if (hasConflicts && !flags['no-rebase']) {
259
- this.log(styles.muted(' 1. Rebase onto base branch and force-push'));
260
- this.log(styles.muted(' 2. Wait for CI to rerun'));
261
- }
262
- this.log(styles.muted(` ${hasConflicts && !flags['no-rebase'] ? '3' : '1'}. Squash merge PR #${prNumber}`));
263
- if (ticketId) {
264
- this.log(styles.muted(` ${hasConflicts && !flags['no-rebase'] ? '4' : '2'}. Move ticket ${ticketId} to Done`));
265
- }
266
- if (flags['delete-branch']) {
267
- this.log(styles.muted(` ${hasConflicts && !flags['no-rebase'] ? '5' : '3'}. Delete remote branch ${prInfo.headBranch}`));
268
- }
269
- if (flags['rebase-siblings']) {
270
- this.log(styles.muted(` ${hasConflicts && !flags['no-rebase'] ? '6' : '4'}. Check and rebase conflicting sibling PRs`));
282
+ // Check CI
283
+ const checks = getPRChecks(prNumber, cwd);
284
+ if (checks.length > 0) {
285
+ const allPassed = checks.every(c => c.conclusion === 'SUCCESS' || c.conclusion === 'SKIPPED');
286
+ const pending = checks.filter(c => !c.conclusion || c.status === 'IN_PROGRESS' || c.status === 'QUEUED');
287
+ const failed = checks.filter(c => c.conclusion === 'FAILURE');
288
+ if (allPassed) {
289
+ this.log(styles.muted(` CI: All checks passed (${checks.length})`));
290
+ }
291
+ else if (pending.length > 0) {
292
+ this.log(styles.muted(` CI: ${pending.length} pending, ${failed.length} failed`));
293
+ }
294
+ else {
295
+ this.log(styles.muted(` CI: ${failed.length} failed`));
296
+ }
297
+ }
298
+ else {
299
+ this.log(styles.muted(` CI: No checks configured`));
300
+ }
301
+ // Check conflicts
302
+ const hasConflicts = this.checkMergeConflicts(prNumber, cwd);
303
+ this.log(styles.muted(` Conflicts: ${hasConflicts ? 'Yes — would rebase' : 'None'}`));
304
+ this.log('');
305
+ this.log(styles.muted(' Actions that would be taken:'));
306
+ if (hasConflicts && !flags['no-rebase']) {
307
+ this.log(styles.muted(' 1. Rebase onto base branch and force-push'));
308
+ this.log(styles.muted(' 2. Wait for CI to rerun'));
309
+ }
310
+ this.log(styles.muted(` ${hasConflicts && !flags['no-rebase'] ? '3' : '1'}. Squash merge PR #${prNumber}`));
311
+ if (ticketId) {
312
+ this.log(styles.muted(` ${hasConflicts && !flags['no-rebase'] ? '4' : '2'}. Move ticket ${ticketId} to Done`));
313
+ }
314
+ if (flags['delete-branch']) {
315
+ this.log(styles.muted(` ${hasConflicts && !flags['no-rebase'] ? '5' : '3'}. Delete remote branch ${prInfo.headBranch}`));
316
+ }
317
+ if (flags['rebase-siblings']) {
318
+ this.log(styles.muted(` ${hasConflicts && !flags['no-rebase'] ? '6' : '4'}. Check and rebase conflicting sibling PRs`));
319
+ }
271
320
  }
272
321
  db.close();
273
322
  return;
274
323
  }
275
324
  // --- Step 2+3+4: CI check, rebase, and merge ---
276
325
  const method = flags.method;
277
- this.log('');
278
- this.log(styles.info(`Shipping PR #${prNumber}: ${prInfo.title}`));
326
+ if (!jsonMode) {
327
+ this.log('');
328
+ if (alreadyMerged) {
329
+ this.log(styles.info(`PR #${prNumber} already merged: ${prInfo.title}`));
330
+ this.log(styles.muted(' Skipping merge — will transition ticket to Done.'));
331
+ }
332
+ else {
333
+ this.log(styles.info(`Shipping PR #${prNumber}: ${prInfo.title}`));
334
+ }
335
+ }
279
336
  let whenGreenResult;
280
- if (flags['when-green']) {
337
+ if (alreadyMerged) {
338
+ // Nothing to merge — skip straight to the ticket-transition step.
339
+ }
340
+ else if (flags['when-green']) {
281
341
  // --- When-green mode: watch CI and auto-merge ---
282
342
  whenGreenResult = await watchAndShip({
283
343
  prNumber,
@@ -419,8 +479,10 @@ export default class WorkShip extends PMOCommand {
419
479
  }
420
480
  }
421
481
  // --- Step 7: Auto-rebase conflicting sibling PRs ---
482
+ // Skip when the PR was already merged — we didn't actually touch the
483
+ // base branch, so sibling PRs are unaffected by this run.
422
484
  let siblingRebaseResults = [];
423
- if (flags['rebase-siblings']) {
485
+ if (flags['rebase-siblings'] && !alreadyMerged) {
424
486
  try {
425
487
  this.log(styles.muted(' Checking sibling PRs for conflicts...'));
426
488
  const rebaseResult = rebaseSiblingPRs({
@@ -468,10 +530,11 @@ export default class WorkShip extends PMOCommand {
468
530
  if (jsonMode) {
469
531
  outputSuccessAsJson({
470
532
  shipped: true,
533
+ alreadyMerged,
471
534
  prNumber,
472
535
  prTitle: prInfo.title,
473
536
  method,
474
- branchDeleted: flags['delete-branch'],
537
+ branchDeleted: !alreadyMerged && flags['delete-branch'],
475
538
  ticketId: ticketId ?? null,
476
539
  ticketMovedToDone,
477
540
  ticketTransitionProvider: ticketTransitionProvider ?? null,
@@ -485,11 +548,18 @@ export default class WorkShip extends PMOCommand {
485
548
  return;
486
549
  }
487
550
  this.log('');
488
- this.log(styles.success(`Shipped: ${ticketId ?? `PR #${prNumber}`}`));
551
+ if (alreadyMerged) {
552
+ this.log(styles.success(`Synced: ${ticketId ?? `PR #${prNumber}`} (PR already merged)`));
553
+ }
554
+ else {
555
+ this.log(styles.success(`Shipped: ${ticketId ?? `PR #${prNumber}`}`));
556
+ }
489
557
  this.log(styles.muted(` PR: #${prNumber} — ${prInfo.title}`));
490
- this.log(styles.muted(` Method: ${method}`));
491
- if (flags['delete-branch']) {
492
- this.log(styles.muted(` Branch: ${prInfo.headBranch} deleted`));
558
+ if (!alreadyMerged) {
559
+ this.log(styles.muted(` Method: ${method}`));
560
+ if (flags['delete-branch']) {
561
+ this.log(styles.muted(` Branch: ${prInfo.headBranch} deleted`));
562
+ }
493
563
  }
494
564
  if (ticketMovedToDone && ticketId) {
495
565
  this.log(styles.muted(` Ticket: ${ticketId} → ${doneColumn}`));
@@ -1 +1 @@
1
- {"version":3,"file":"ship.js","sourceRoot":"","sources":["../../../src/commands/work/ship.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ship.js","sourceRoot":"","sources":["../../../src/commands/work/ship.ts"],"names":[],"mappings":"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"}