From 5ee759d0fdcb18b2300c27c0a108f3ab935d8ad3 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Wed, 6 May 2026 17:58:18 +0200 Subject: [PATCH] clear dart doc validate-links warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Eight unresolved doc references and broken README-rewritten links that surfaced under `dart doc --validate-links`: - Library-scope refs `[spawn]`, `[openProject]` qualified to `[Backend.spawn]` / `[Backend.openProject]`; same treatment for `[resolvePaths]` / `[applyResolved]` on Toolchain. - `[D-41]` was a decision ID, not a Dart symbol — drop the brackets. - `[from]` from I18n.interpolated qualified to `[I18nReplacer.from]`. - `[DefaultSurfaceMap]` was a stale name (private `_defaultSurfaceMap` in resolver.dart); switch to backticked path reference since dartdoc can't link private members. - `[icons/]` was a directory, not a symbol; backticked path. - README links to `legacy/`, `docs/initial-plan.md`, `decisions/`, `LICENSE` rewritten as absolute github.com/postmeridiem/clide URLs so dartdoc stops re-rooting them into the doc tree. Co-Authored-By: Claude --- .pql/pql-plan.json | 2 +- README.md | 6 +++--- lib/builtin/claude/src/claude_session_host.dart | 2 +- lib/kernel/src/backend.dart | 6 +++--- lib/kernel/src/i18n/i18n.dart | 3 ++- lib/kernel/src/theme/tokens.dart | 4 ++-- lib/kernel/src/toolchain.dart | 6 +++--- lib/widgets/src/clide_icon.dart | 4 ++-- 8 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.pql/pql-plan.json b/.pql/pql-plan.json index 6dc0f720..5509e599 100644 --- a/.pql/pql-plan.json +++ b/.pql/pql-plan.json @@ -1,5 +1,5 @@ { - "exported_at": "2026-05-06T15:58:06Z", + "exported_at": "2026-05-06T15:58:18Z", "decisions": [ { "id": "D-1", diff --git a/README.md b/README.md index fcd1359b..6ab439ff 100644 --- a/README.md +++ b/README.md @@ -39,10 +39,10 @@ make push-check # pre-push gate: decisions + core + fast tests ## Status -Pre-v2.0 (`2.0.0-dev`). Interaction model and panel system landed. The Python Textual v1.2.0 predecessor is archived under [`legacy/`](legacy/). +Pre-v2.0 (`2.0.0-dev`). Interaction model and panel system landed. The Python Textual v1.2.0 predecessor is archived under [`legacy/`](https://github.com/postmeridiem/clide/tree/main/legacy). -Design doc: [`docs/initial-plan.md`](docs/initial-plan.md). Architectural decisions: [`decisions/`](decisions/). +Design doc: [`docs/initial-plan.md`](https://github.com/postmeridiem/clide/blob/main/docs/initial-plan.md). Architectural decisions: [`decisions/`](https://github.com/postmeridiem/clide/tree/main/decisions). ## License -MIT. See [`LICENSE`](LICENSE). +MIT. See [`LICENSE`](https://github.com/postmeridiem/clide/blob/main/LICENSE). diff --git a/lib/builtin/claude/src/claude_session_host.dart b/lib/builtin/claude/src/claude_session_host.dart index dffb9b54..9d2d294c 100644 --- a/lib/builtin/claude/src/claude_session_host.dart +++ b/lib/builtin/claude/src/claude_session_host.dart @@ -4,7 +4,7 @@ import 'package:flutter/widgets.dart'; import 'claude_pane.dart'; /// Hosts the primary Claude pane plus N user-spawned secondary -/// sessions per [D-41]. Uses [MultitabPane] for the tab strip +/// sessions per D-41. Uses [MultitabPane] for the tab strip /// (drag-reorder, close ×, + button) and [IndexedStack]-mode /// keep-alive so switching tabs doesn't tear down the underlying /// PTY-backed terminal. diff --git a/lib/kernel/src/backend.dart b/lib/kernel/src/backend.dart index cfee46ad..6d040ffe 100644 --- a/lib/kernel/src/backend.dart +++ b/lib/kernel/src/backend.dart @@ -1,8 +1,8 @@ /// Manages the backend isolate lifecycle. /// /// Two-phase boot: -/// 1. [spawn] — starts the isolate, resolves toolchain (binary checks only). -/// 2. [openWorkspace] — initializes services for a specific project root. +/// 1. [Backend.spawn] — starts the isolate, resolves toolchain (binary checks only). +/// 2. [Backend.openProject] — initializes services for a specific project root. library; import 'dart:async'; @@ -34,7 +34,7 @@ class Backend { int _validateId = 0; /// Spawn the backend isolate. Returns when the toolchain is resolved. - /// No services are active yet — call [openWorkspace] to activate. + /// No services are active yet — call [openProject] to activate. static Future spawn({ required IsolateClient Function(SendPort backendPort) clientFactory, String? hintRoot, diff --git a/lib/kernel/src/i18n/i18n.dart b/lib/kernel/src/i18n/i18n.dart index e438e818..b124383a 100644 --- a/lib/kernel/src/i18n/i18n.dart +++ b/lib/kernel/src/i18n/i18n.dart @@ -136,7 +136,8 @@ class I18n extends ChangeNotifier { } /// [string] + naive `replaceAll` interpolation per replacer. - /// Matches fframe: replacers whose [from] isn't present are silent no-ops. + /// Matches fframe: replacers whose [I18nReplacer.from] isn't present + /// are silent no-ops. String interpolated( String key, { required String namespace, diff --git a/lib/kernel/src/theme/tokens.dart b/lib/kernel/src/theme/tokens.dart index 346beaa4..9779e9e2 100644 --- a/lib/kernel/src/theme/tokens.dart +++ b/lib/kernel/src/theme/tokens.dart @@ -6,8 +6,8 @@ import 'package:flutter/foundation.dart'; /// /// The token surface grows as features need more of it. Every token /// declared here must have a default resolution in -/// [DefaultSurfaceMap] so legacy palette-only themes produce a complete -/// SurfaceTokens without declaring the full surface. +/// `_defaultSurfaceMap` (resolver.dart) so legacy palette-only themes +/// produce a complete SurfaceTokens without declaring the full surface. @immutable class SurfaceTokens { const SurfaceTokens({ diff --git a/lib/kernel/src/toolchain.dart b/lib/kernel/src/toolchain.dart index 6afc42c3..76074f33 100644 --- a/lib/kernel/src/toolchain.dart +++ b/lib/kernel/src/toolchain.dart @@ -1,8 +1,8 @@ /// Centralized binary resolution for external tools. /// -/// Resolution runs in a background isolate via [resolvePaths] to avoid -/// blocking the merged UI/platform thread on macOS. The result is -/// applied on the main thread via [applyResolved]. +/// Resolution runs in a background isolate via [Toolchain.resolvePaths] +/// to avoid blocking the merged UI/platform thread on macOS. The result +/// is applied on the main thread via [Toolchain.applyResolved]. library; import 'dart:async'; diff --git a/lib/widgets/src/clide_icon.dart b/lib/widgets/src/clide_icon.dart index 9a52ca2b..4c560c9f 100644 --- a/lib/widgets/src/clide_icon.dart +++ b/lib/widgets/src/clide_icon.dart @@ -2,8 +2,8 @@ import 'package:clide/kernel/src/theme/controller.dart'; import 'package:flutter/widgets.dart'; /// Stateless painter producing a single-color icon. Every icon in -/// [icons/] subclasses this; widgets wrap with [ClideIcon] for size + -/// color-from-theme. +/// `widgets/src/icons/` subclasses this; widgets wrap with [ClideIcon] +/// for size + color-from-theme. abstract class ClideIconPainter { const ClideIconPainter();