From 78ce788e2f11fc730840d02fc5c76a40df2f8928 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Mon, 13 Jul 2026 20:39:27 +0800 Subject: [PATCH] chore(openspec): archive android-driver Archives the completed android-driver change (16/16 tasks). Promotes the driver_type="uiautomator2" scenario into the canonical driver-registry spec and moves the change artifacts to openspec/changes/archive/2026-07-13-android-driver/. --- .../2026-07-13-android-driver}/.openspec.yaml | 0 .../2026-07-13-android-driver}/design.md | 0 .../2026-07-13-android-driver}/proposal.md | 0 .../specs/driver-registry/spec.md | 0 .../2026-07-13-android-driver}/tasks.md | 0 openspec/specs/driver-registry/spec.md | 6 +++++- 6 files changed, 5 insertions(+), 1 deletion(-) rename openspec/changes/{android-driver => archive/2026-07-13-android-driver}/.openspec.yaml (100%) rename openspec/changes/{android-driver => archive/2026-07-13-android-driver}/design.md (100%) rename openspec/changes/{android-driver => archive/2026-07-13-android-driver}/proposal.md (100%) rename openspec/changes/{android-driver => archive/2026-07-13-android-driver}/specs/driver-registry/spec.md (100%) rename openspec/changes/{android-driver => archive/2026-07-13-android-driver}/tasks.md (100%) diff --git a/openspec/changes/android-driver/.openspec.yaml b/openspec/changes/archive/2026-07-13-android-driver/.openspec.yaml similarity index 100% rename from openspec/changes/android-driver/.openspec.yaml rename to openspec/changes/archive/2026-07-13-android-driver/.openspec.yaml diff --git a/openspec/changes/android-driver/design.md b/openspec/changes/archive/2026-07-13-android-driver/design.md similarity index 100% rename from openspec/changes/android-driver/design.md rename to openspec/changes/archive/2026-07-13-android-driver/design.md diff --git a/openspec/changes/android-driver/proposal.md b/openspec/changes/archive/2026-07-13-android-driver/proposal.md similarity index 100% rename from openspec/changes/android-driver/proposal.md rename to openspec/changes/archive/2026-07-13-android-driver/proposal.md diff --git a/openspec/changes/android-driver/specs/driver-registry/spec.md b/openspec/changes/archive/2026-07-13-android-driver/specs/driver-registry/spec.md similarity index 100% rename from openspec/changes/android-driver/specs/driver-registry/spec.md rename to openspec/changes/archive/2026-07-13-android-driver/specs/driver-registry/spec.md diff --git a/openspec/changes/android-driver/tasks.md b/openspec/changes/archive/2026-07-13-android-driver/tasks.md similarity index 100% rename from openspec/changes/android-driver/tasks.md rename to openspec/changes/archive/2026-07-13-android-driver/tasks.md diff --git a/openspec/specs/driver-registry/spec.md b/openspec/specs/driver-registry/spec.md index 04d553f..117647a 100644 --- a/openspec/specs/driver-registry/spec.md +++ b/openspec/specs/driver-registry/spec.md @@ -4,12 +4,16 @@ TBD - created by archiving change device-agent-runtime-foundation. Update Purpose after archive. ## Requirements ### Requirement: Driver type registry lives in the driver layer -The system SHALL provide a registry, owned by the `driver` package, that maps a `driver_type` string (e.g. `"wda"`) to a builder function producing a `DriverFactory` for that type, so that any caller needing to construct a driver for a device does so without importing a concrete driver class directly. +The system SHALL provide a registry, owned by the `driver` package, that maps a `driver_type` string (e.g. `"wda"`, `"uiautomator2"`) to a builder function producing a `DriverFactory` for that type, so that any caller needing to construct a driver for a device does so without importing a concrete driver class directly. #### Scenario: Building a factory for a known driver type - **WHEN** a caller requests a driver factory for `driver_type="wda"` with connection info (e.g. `server_url`, `udid`) - **THEN** the registry returns a `DriverFactory` that, when invoked, constructs a working `WDADriver` configured with that connection info +#### Scenario: Building a factory for the Android driver type +- **WHEN** a caller requests a driver factory for `driver_type="uiautomator2"` with connection info (e.g. `server_url`, `udid`) +- **THEN** the registry returns a `DriverFactory` that, when invoked, constructs a working `AndroidDriver` configured with that connection info + #### Scenario: Building a factory for an unknown driver type - **WHEN** a caller requests a driver factory for a `driver_type` that is not registered - **THEN** the registry raises a clear error naming the unsupported `driver_type`, instead of returning `None` or a factory that fails later at connect time