Issue class
Normalized issue record used by orchestration, prompt rendering, and observability output.
This shape matches the Symphony spec's Issue entity (Section 4.1.1) and is
the only issue representation seen by the scheduler, runner, and dashboard.
Constructors
-
Issue({required String id, required String identifier, required String title, required String state, String? description, int? priority, String? branchName, String? url, List<
String> labels = const <String>[], List<IssueBlocker> blockedBy = const <IssueBlocker>[], DateTime? createdAt, DateTime? updatedAt}) -
Creates a normalized issue.
const
-
Issue.fromJson(Map<
String, dynamic> json) -
Builds an issue from a JSON-style map (used by the local plan adapter).
factory
Properties
-
blockedBy
→ List<
IssueBlocker> -
Issues that block this one.
final
- branchName → String?
-
Optional tracker-provided branch name.
final
- createdAt → DateTime?
-
Optional creation timestamp.
final
- description → String?
-
Optional descriptive body.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String
-
Stable tracker-internal identifier.
final
- identifier → String
-
Human-readable ticket key (for example
SPEC-123).final -
labels
→ List<
String> -
Lowercased label list.
final
- normalizedState → String
-
Returns the lowercased state for case-insensitive comparison.
no setter
- priority → int?
-
Optional priority. Lower numbers are higher priority for sorting.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → String
-
Current tracker state name.
final
- title → String
-
Issue title.
final
- updatedAt → DateTime?
-
Optional last-update timestamp.
final
- url → String?
-
Optional URL to view the issue.
final
Methods
-
blockersAreTerminal(
Set< String> terminalLowercased) → bool - Returns true when every blocker is in a recognized terminal state.
-
copyWith(
{String? state, String? title, String? description, int? priority, List< String> ? labels, List<IssueBlocker> ? blockedBy, DateTime? updatedAt}) → Issue - Returns a copy of this issue with the provided overrides.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Map< String, dynamic> - Serializes the issue. Used by prompt rendering and observability.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited