{"record":{"id":"ff0eaf45382540dd","repo":"deepseek-ai/deepseek-harness","slug":"typert-invocation-descriptor-id-repeats-wire-ff0eaf","errorCode":null,"errorMessage":"typert: invocation \"${descriptor.id}\" repeats wire field \"${descriptor.invocation.wire}\"","messagePattern":"typert: invocation \"(.+?)\" repeats wire field \"(.+?)\"","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/typert/registry/src/service.ts","lineNumber":691,"sourceCode":"    if (descriptor.invocation.kind !== 'direct') {\n      throw new Error(`typert: invocation \"${descriptor.id}\" Context receiver cannot declare a direct scope projection`)\n    }\n    validateSegment('scope Context key', descriptor.scope.context)\n    validateWireName('scope wire field', descriptor.scope.wire)\n    const lookups = descriptor.parameters.filter(candidate => candidate.source === 'lookup')\n    const parameter = lookups.length === 1 ? lookups[0] : undefined\n    if (parameter === undefined || parameter.wire !== descriptor.scope.wire\n      || parameter.lookup !== descriptor.scope.context) {\n      throw new Error(\n        `typert: invocation \"${descriptor.id}\" scope wire \"${descriptor.scope.wire}\" must select its only lookup parameter`,\n      )\n    }\n  }\n  if (descriptor.invocation.kind === 'context') {\n    validateSegment('Context key', descriptor.invocation.context)\n    validateWireName('Context wire field', descriptor.invocation.wire)\n    if (wires.has(descriptor.invocation.wire)) {\n      throw new Error(`typert: invocation \"${descriptor.id}\" repeats wire field \"${descriptor.invocation.wire}\"`)\n    }\n    validateCodec(descriptor.invocation.codec, `${descriptor.id} Context`)\n  }\n}\n\nfunction validateCodec(codec: InvocationDescriptor['result'], subject: string): void {\n  if (codec.mode === 'src-json') return\n  validateNonempty(`${subject} type symbol`, codec.typeSymbol)\n  if (typeof codec.schema.parse !== 'function') {\n    throw new Error(`typert: ${subject} strict codec has no parse() method`)\n  }\n}\n\nfunction validateWireName(subject: string, value: string): void {\n  if (value === '.' || value === '..' || !/^[A-Za-z0-9_$.-]+$/.test(value)) {\n    throw new Error(`typert: invalid ${subject} \"${value}\" — must contain only RPC endpoint segment characters`)\n  }\n}","sourceCodeStart":673,"sourceCodeEnd":709,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/typert/registry/src/service.ts#L673-L709","documentation":"Error \"typert: invocation \"${descriptor.id}\" repeats wire field \"${descriptor.invocation.wire}\"\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/typert/registry/src/service.ts:691 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Give the invocation wire field a unique name distinct from parameter wire fields."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}