Skip to content

KooshaPari/Sidekick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Downloads GitHub release License AI-Slop AI-Only-Maintained HITL-less

⚠️ AI-Agent-Only Repository

This repo is planned, maintained, and managed exclusively by AI Agents. Slop issues, rough edges, and AI artifacts are expected and intentionally present as part of an HITL-less / minimized AI-DD metaproject focused on learning, refining, and brute-force training both the agents and the human operator. Bug reports and contributions are still welcome, but please expect AI-generated code, comments, and documentation throughout.

Pinned references (Phenotype-org)

  • MSRV: see rust-toolchain.toml
  • cargo-deny config: see deny.toml
  • cargo-audit: rustsec/audit-check@v2 weekly
  • Branch protection: 1 reviewer required, no force-push
  • Authority: phenotype-org-governance/SUPERSEDED.md

Sidekick — Agent Utility Collection

Sidekick Logo

License: MIT Rust Status

Sidekick collection — Agent micro-utilities for Phenotype org. 3 canonical members, all at gold-standard FR coverage.

A named Rust workspace consolidating core agent infrastructure utilities for the Phenotype ecosystem.

Members

Name Repository Status FR Prefix FR Coverage Purpose
agent-user-status agent-user-status CANONICAL FR-USR 67/67 User presence & status tracking (MCP server)
cheap-llm-mcp cheap-llm-mcp CANONICAL FR-LLM 38/38 Budget LLM routing (FastMCP + Python)
sidekick-messaging Sidekick/crates/sidekick-messaging CANONICAL FR-MSG Pending iMessage/SMS messaging bridge adapter (Rust stub)

Rejected Candidates

Name Reason Audit
PhenoAgent <1% test coverage, 0 adopters W-68D audit
phenotype-skills Empty stub, not ready for adoption W-68D audit

Quality Bar

Sidekick canonical standard: All canonical members maintain 100% functional requirement traceability.

  • agent-user-status: 67 FRs, 100% traced to tests
  • cheap-llm-mcp: 38 FRs, 100% traced to tests
  • sidekick-messaging: FR scaffolding pending integration

See docs/FUNCTIONAL_REQUIREMENTS.md for the current functional requirement inventory.

Quick Start

cd /Users/kooshapari/CodeProjects/Phenotype/repos/Sidekick
cargo build --release
cargo test --workspace

Integration Map

  • agent-user-status — MCP tools: user_status, record_presence_signal, set_user_status, eye-tracking, presence signals
  • cheap-llm-mcp — Skill routing for low-cost LLM completions (Minimax, Kimi, Fireworks)
  • sidekick-messaging — Unified messaging adapter (stub); wraps iMessage, SMS, email via agent-imessage skill
  • PhenoAgent — Foundational agent framework; integrates cheap-llm-mcp + agent-user-status + sidekick-messaging
  • phenotype-skills — Shared skill definitions consumed by PhenoAgent and external agents

Architecture

Sidekick is a polyglot workspace:

  • Rust crates (crates/sidekick-*): Compiled binaries and libraries
  • Python sub-package (crates/sidekick-cheap-llm): FastMCP wrapper, imported as Python module

Each sub-crate is independently versioned and consumable; consumers import only what they need.

Release Registry

See release-registry.toml for version metadata, stability information, and sub-crate status. The master index of all Phenotype collections is at ../phenotype-collections.toml.

Schema documentation: docs/governance/release_registry_schema.md

Cross-Collection Integration

Sidekick is part of the Phenotype named collections:

  • Sidekick (this) — Agent dispatch & presence
  • Eidolon — Device automation (desktop, mobile, sandbox)
  • Observably — Distributed tracing & observability
  • Stashly — State, events, caching, migrations
  • Paginary — Knowledge collection (specs, tutorials, handbooks)

Event Bus

Sidekick uses phenoEvents for cross-collection communication. The historical phenotype-bus repository is archived; event-bus work was migrated to KooshaPari/phenoEvents. Collections emit domain events that other collections consume without hardcoded dependencies:

use phenotype_bus::{Bus, Event};
use serde::Serialize;

#[derive(Clone, Serialize)]
pub struct DispatchStarted {
    pub provider: String,
}

impl Event for DispatchStarted {
    fn event_name(&self) -> &'static str { "DispatchStarted" }
}

// Emit event
let bus = Bus::new(100);
bus.publish(DispatchStarted { provider: "forge".into() }).await?;

// Subscribe in another collection (e.g., Eidolon)
let mut rx = bus.subscribe();
while let Ok(event) = rx.recv().await {
    println!("Got dispatch event: {}", event.event_name());
}

See phenoEvents and the collection build matrix for integration details.

Publishing

Crates published to crates.io under sidekick-* prefix.

See Also

Explore Sidekick and other Phenotype collections at the Collections Showcase.

Sibling Collections:

  • Eidolon — Unified trait-based device automation (desktop, mobile, sandbox)
  • Stashly — Storage & persistence (caching, event sourcing, state machines)
  • Observably — Observability & distributed tracing
  • Paginary — Knowledge collection (specs, tutorials, handbooks)
  • phenotype-shared — Rust infrastructure toolkit (domain, application, ports)

Development & Governance

AgilePlus Tracking: All work tracked in /repos/AgilePlus. Review CLAUDE.md for development contracts and policies.

Quality Gates:

cargo build --release --workspace      # Full release build
cargo test --workspace                 # Complete test suite
cargo clippy --workspace -- -D warnings # Zero warnings required
cargo fmt --check                      # Format validation

Crate Publishing: Each sub-crate published independently to crates.io with sidekick-* prefix. Version metadata in root Cargo.toml.

Cross-Collection Integration: Sidekick integrates with phenoEvents for async event streaming; phenotype-bus is archived historical context only. Other collections (Stashly, Observably, Eidolon) consume dispatch events for specialized handling.

Related Phenotype Collections

License

MIT — see LICENSE.

Status: Active development (Phase 2 in progress)
Collections Showcase: https://dev.phenotype.io/collections
Last Updated: 2026-04-24

Documentation

This repository includes the following cross-cutting documents:

  • AGENTS.md — operating instructions for AI agents and human contributors
  • docs/ — design notes, ADRs, and supporting documentation (see docs/index.md)

About

Phenotype-org agent presence

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors