chore: adopt Dart 3.9 toolchain — honest floor + tall-style reformat (T-353)

Raise the declared minimums in pubspec.yaml to what our deps already
require: Flutter >=3.35.0 / Dart >=3.9.0 (was 3.19.0 / 3.5.0). alchemist
0.12 needs Flutter 3.32; Dart 3.9 first ships in Flutter 3.35, so 3.35 is
the binding floor. Pin the exact build toolchain in .fvmrc (Flutter
3.44.1).

Moving to the Dart 3.9 language level switches `dart format` to the new
"tall" style and enables two new lints. This commit is the resulting
mechanical churn, isolated from any behaviour change:
  - whole-tree `dart format` reformat (tall style)
  - `dart fix` for unnecessary_underscores + use_null_aware_elements

No runtime behaviour change; `make test` green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-11 12:11:53 +02:00
co-authored by Claude Opus 4.8
parent bcea5f15b7
commit 6d0ebab721
444 changed files with 7587 additions and 12849 deletions
+3 -20
View File
@@ -48,12 +48,7 @@ void main() {
test('DaemonEvent merges ts into payload', () {
final ts = DateTime.utc(2026, 5, 11, 12, 0, 0);
final e = DaemonEvent(
subsystem: 'pty',
kind: 'output',
data: {'bytes': 'aGVsbG8='},
ts: ts,
);
final e = DaemonEvent(subsystem: 'pty', kind: 'output', data: {'bytes': 'aGVsbG8='}, ts: ts);
expect(e.subsystem, 'pty');
expect(e.kind, 'output');
expect(e.payload()['ts'], ts.toIso8601String());
@@ -63,22 +58,10 @@ void main() {
group('Team events', () {
test('TeamMemberJoined includes only the set optional fields in payload', () {
const minimal = TeamMemberJoined(
team: 'alpha',
agentId: 'bob@alpha',
name: 'bob',
agentType: 'reviewer',
paneId: '%3',
);
const minimal = TeamMemberJoined(team: 'alpha', agentId: 'bob@alpha', name: 'bob', agentType: 'reviewer', paneId: '%3');
expect(minimal.subsystem, 'team');
expect(minimal.kind, 'member-joined');
expect(minimal.payload(), {
'team': 'alpha',
'agentId': 'bob@alpha',
'name': 'bob',
'agentType': 'reviewer',
'paneId': '%3',
});
expect(minimal.payload(), {'team': 'alpha', 'agentId': 'bob@alpha', 'name': 'bob', 'agentType': 'reviewer', 'paneId': '%3'});
const full = TeamMemberJoined(
team: 'alpha',