Table of Contents

Enum IssueReferenceRole

Namespace
Quilt4Net.Toolkit.Features.Issue
Assembly
Quilt4Net.Toolkit.dll

What a reference is for. Two jobs hide inside "where did this issue come from", and they have opposite tolerances for going stale, so the field says which one is meant rather than leaving every reader to guess from the Kind.

[JsonConverter(typeof(JsonStringEnumConverter))]
public enum IssueReferenceRole

Fields

Identity = 1

This issue is that ticket: a GitHub issue, a Jira key, a Trello card. A key, not a hint.

The server refuses to let two issues claim the same identity, and that refusal is the whole point of the role: it is what lets a repeated import recognise a candidate it has already tracked and update it, instead of creating a duplicate.

Provenance = 0

A human hint about where the issue came from — a backlog row, a code comment, a conversation. Allowed to go stale and never load-bearing: LanguageController.cs:52 is wrong after the next edit, and that is tolerable.

Provenance references are deliberately not unique. Many issues legitimately share one origin — 68 of this tracker's first 78 issues came off the same backlog file — so requiring uniqueness would reject the very data the field exists to hold.

Remarks

Closed, unlike Kind. The set of source systems is an extensibility point and must stay open; the set of jobs a reference can do is not — there are exactly two, and a third would be a different feature rather than a new tracker.