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