Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Cemnect

An Android prototype for visualizing task-agent execution as a live flow graph.

Kotlin Android Jetpack Compose Material 3 Status

Model task flows · Track node state · Visualize progress · Propagate execution failures

Overview · Features · Architecture · Development · Roadmap

Overview

Cemnect is an early Android task-agent interface prototype. Its current focus is the execution-state layer: representing a task as connected nodes, tracking transitions through the graph, displaying live progress, and surfacing failures that block downstream work.

The repository is named osx01agent, while the Android project and package are currently branded Cemnect. The app source is located in the cemnect/ subdirectory.

Implemented Foundation

  • Kotlin domain models for tasks, flow nodes, edges, and executions.
  • A StateFlow-based graph state engine.
  • Node lifecycle states: pending, running, completed, failed, blocked, and skipped.
  • Downstream failure propagation through graph edges.
  • Execution controls for start, pause, resume, complete, cancel, and reset.
  • Jetpack Compose home and task-execution screens.
  • A live graph panel with reusable node cards.
  • Compose Navigation and Material 3 theming.
  • A simulated automation flow for demonstrating state changes.

Current Demo Flow

The bundled demo moves through a representative Android automation sequence:

Start
  └── Check Permission
       └── Open App
            └── Wait for Load
                 └── Find Element
                      └── Click Element
                           └── Verify Result
                                └── End

This sequence is simulated in the UI. The repository does not yet contain a production AccessibilityService or a real device-automation executor.

Architecture

cemnect/
├── app/src/main/java/com/cemnect/android/
│   ├── domain/
│   │   ├── model/       # Task, execution, node, and edge models
│   │   └── engine/      # StateFlow-powered graph state engine
│   ├── navigation/      # Compose navigation graph
│   └── ui/
│       ├── components/  # Flow graph and node visualization
│       ├── screens/     # Home and execution screens
│       └── theme/       # Material 3 theme
├── app/build.gradle.kts
├── build.gradle.kts
└── settings.gradle.kts

The prototype follows a single-activity Compose architecture. Domain state is kept separate from rendering, allowing a future automation executor, persistence layer, and dependency-injection setup to feed the same UI model.

Technology

Layer Technology
Language Kotlin, Java 17 target
UI Jetpack Compose, Material 3
State Kotlin Coroutines and StateFlow
Navigation Navigation Compose
Dependency injection Hilt dependencies prepared
Minimum Android version API 26
Compile / target SDK 35

Development

Requirements

  • Android Studio with JDK 17
  • Android SDK 35
  • An emulator or device running Android 8.0 / API 26 or newer

Open the project

git clone https://github.com/levomm/osx01agent.git
cd osx01agent

Open the cemnect directory as the Android Studio project.

Important Build Note

The repository currently does not include a Gradle wrapper, and the manifest references launcher icon resources that are not present in the committed tree. A clean clone may therefore require Android Studio to provision Gradle and the missing launcher assets to be restored before the app builds successfully.

This limitation is documented rather than hidden: the codebase is an architecture prototype, not a packaged release.

Project Status

Cemnect currently provides a functional domain/UI skeleton and simulated execution flow. It is not yet a complete autonomous Android agent.

Not implemented yet:

  • real AccessibilityService integration;
  • device action execution;
  • persistent task storage with Room;
  • production Hilt modules and injected state holders;
  • automated unit and UI test coverage;
  • release signing and distributable APK artifacts;
  • screenshots captured from a verified build.

Roadmap

  1. Restore a reproducible Gradle wrapper and launcher resources.
  2. Add tests for graph transitions and downstream blocking.
  3. Move execution state into an injected ViewModel.
  4. Introduce Room-backed task and run history.
  5. Add a permission-aware AccessibilityService layer.
  6. Capture real UI screenshots from a verified build.
  7. Add explicit approval boundaries for sensitive device actions.

License

No license file is currently included. The source is publicly visible, but reuse, redistribution, and modification rights are not granted until a license is explicitly added.

About

Cemnect — an Android task-agent prototype with live flow-graph execution visualization.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages