ralph-hero-mcp-server 2.5.168 → 2.5.181

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.
@@ -575,8 +575,14 @@ export function rankDirections(items, openPRs, config) {
575
575
  const merged = [];
576
576
  for (const c of candidates)
577
577
  merged.push({ kind: "issueRow", payload: c });
578
- for (const p of prScored)
578
+ // Filter unlinkable PRs (no linked issue) so they don't appear in next_actions.
579
+ // These are handled by the pr-drain Routine (out of band of Director).
580
+ // See: thoughts/shared/research/2026-05-22-pr-drain-routine-design.md
581
+ for (const p of prScored) {
582
+ if (p.linkedIssueNumber === null)
583
+ continue;
579
584
  merged.push({ kind: "prRow", payload: p });
585
+ }
580
586
  merged.sort((a, b) => {
581
587
  const scoreA = a.kind === "issueRow" ? a.payload.score : a.payload.score;
582
588
  const scoreB = b.kind === "issueRow" ? b.payload.score : b.payload.score;
@@ -132,16 +132,16 @@ export async function initTelemetry() {
132
132
  // is unset, none of these modules are loaded into memory.
133
133
  const { NodeSDK } = await import("@opentelemetry/sdk-node");
134
134
  const { OTLPTraceExporter } = await import("@opentelemetry/exporter-trace-otlp-http");
135
- const { Resource } = await import("@opentelemetry/resources");
136
- const { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION, } = await import("@opentelemetry/semantic-conventions");
135
+ const { resourceFromAttributes } = await import("@opentelemetry/resources");
136
+ const { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, } = await import("@opentelemetry/semantic-conventions");
137
137
  const { BatchSpanProcessor } = await import("@opentelemetry/sdk-trace-base");
138
138
  const endpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT ??
139
139
  "http://localhost:3100/api/public/otel/v1/traces";
140
140
  const exporter = new OTLPTraceExporter({ url: endpoint });
141
141
  const sdk = new NodeSDK({
142
- resource: new Resource({
143
- [SEMRESATTRS_SERVICE_NAME]: "ralph-hero",
144
- [SEMRESATTRS_SERVICE_VERSION]: resolveServiceVersion(),
142
+ resource: resourceFromAttributes({
143
+ [ATTR_SERVICE_NAME]: "ralph-hero",
144
+ [ATTR_SERVICE_VERSION]: resolveServiceVersion(),
145
145
  }),
146
146
  spanProcessors: [
147
147
  new TokenScrubbingSpanProcessor(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ralph-hero-mcp-server",
3
- "version": "2.5.168",
3
+ "version": "2.5.181",
4
4
  "description": "MCP server for GitHub Projects V2 - Ralph workflow automation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -21,11 +21,11 @@
21
21
  "@octokit/graphql": "^9.0.3",
22
22
  "@octokit/plugin-paginate-graphql": "^6.0.0",
23
23
  "@opentelemetry/api": "^1.9.0",
24
- "@opentelemetry/exporter-trace-otlp-http": "^0.57.0",
25
- "@opentelemetry/resources": "^1.30.0",
26
- "@opentelemetry/sdk-node": "^0.57.0",
27
- "@opentelemetry/sdk-trace-base": "^1.30.0",
28
- "@opentelemetry/semantic-conventions": "^1.28.0",
24
+ "@opentelemetry/exporter-trace-otlp-http": "^0.218.0",
25
+ "@opentelemetry/resources": "^2.7.1",
26
+ "@opentelemetry/sdk-node": "^0.218.0",
27
+ "@opentelemetry/sdk-trace-base": "^2.7.1",
28
+ "@opentelemetry/semantic-conventions": "^1.41.1",
29
29
  "yaml": "^2.7.0",
30
30
  "zod": "^3.25.0"
31
31
  },