Skip to main content

A graph-based task management framework for AI agents

Project description

SocialSeed Tasker

A graph-based task management framework designed for AI agents to manage issues with infinite context and architectural governance.

Python 3.10+ Hexagonal Architecture Neo4j


๐ŸŽฏ Purpose: Built for AI Agents

SocialSeed Tasker is specifically designed to give AI agents superhuman capabilities in issue management:

  • Infinite Context: AI agents can trace dependencies across thousands of issues instantly using graph traversal
  • Architectural Governance: Automatically enforce component boundaries and forbidden dependencies
  • Root Cause Analysis: Link failed tests to recent code changes using causal traceability
  • Autonomous Decision Making: AI agents can query the dependency graph to understand what can be worked on and what is blocked

Traditional issue trackers treat issues as isolated items. SocialSeed Tasker treats them as a knowledge graph where relationships are first-class citizensโ€”exactly what AI agents need to make intelligent decisions.


๐Ÿš€ Quick Start for AI Agents

AI agents can interact with Tasker through multiple interfaces:

# Method 1: Direct Python API (recommended for AI agents)
from socialseed_tasker.core.task_management.actions import create_issue_action
from socialseed_tasker.core.task_management.entities import Component

# Create component and issues
component = Component(name="auth-service", project="my-project")
issue = create_issue_action(repo, title="Fix login bug", component_id=str(component.id))

# Query the dependency graph
chain = get_dependency_chain_action(repo, issue_id)
blocked = get_blocked_issues_action(repo)
# Method 2: CLI commands
tasker issue create "Implement OAuth2" --component <id> --priority HIGH
tasker dependency add <issue-id> <depends-on-id>
tasker dependency chain <issue-id>
# Method 3: REST API for external AI systems
import requests
response = requests.post("http://localhost:8000/api/v1/issues/", json={
    "title": "Add caching layer",
    "component_id": "<component-uuid>",
    "priority": "HIGH",
    "labels": ["performance", "backend"]
})

๐Ÿ”‘ Key Features for AI Agents

๐Ÿ”— Intelligent Dependency Management

AI agents can understand complex dependency chains instantly:

# Get full transitive dependency chain
chain = get_dependency_chain_action(repo, issue_id)
# Returns all issues that this issue depends on, recursively

# Find all blocked issues (issues waiting on open dependencies)
blocked = get_blocked_issues_action(repo)
# AI agent can immediately see what can be worked on

๐Ÿ—๏ธ Architectural Integrity Enforcement

AI agents automatically respect component boundaries:

# Attempting to create a forbidden dependency is automatically rejected
add_dependency_action(repo, frontend_issue_id, database_issue_id)
# Raises: ForbiddenDependencyError: Frontend cannot depend on Database

๐Ÿ” Root Cause Analysis

Link test failures to recent issues for autonomous debugging:

from socialseed_tasker.core.project_analysis.analyzer import RootCauseAnalyzer

analyzer = RootCauseAnalyzer(repo)
causal_links = analyzer.find_root_cause(test_failure, closed_issues)
# Returns ranked list of likely root causes with confidence scores

๐ŸŒ Project Structure Detection

Automatically detect real project modules (microservices, packages, Python modules):

# Detect project structure
tasker project detect --path /path/to/project

# Setup components for all detected modules
tasker project setup --path /path/to/project --project "my-project"

๐Ÿ“‹ Usage Examples

Creating Issues with Dependencies

# Create components for different services
tasker component create auth-service --project "social-network"
tasker component create user-service --project "social-network"

# Create issues
tasker issue create "Implement JWT refresh" --component <auth-id> --priority HIGH
tasker issue create "Add user profile API" --component <user-id> --priority MEDIUM

# Make user service depend on auth (AI agent knows the order now!)
tasker dependency add <user-issue-id> <auth-issue-id>

Querying What Can Be Worked On

# AI agent: "What issues can I work on right now?"
tasker dependency blocked
# Returns: All issues that are NOT blocked (their dependencies are closed)

# AI agent: "What's the full impact of this change?"
tasker analyze impact <issue-id>
# Returns: Directly and transitively affected issues

๐Ÿ› ๏ธ Installation

# Clone and install
git clone https://github.com/daironpf/socialseed-tasker.git
cd socialseed-tasker
pip install -e ".[dev]"

# Start Neo4j
docker compose up -d

# Verify installation
tasker --help

๐Ÿ’พ Storage Backends

Backend Use Case Command
Neo4j (default) Production with full graph capabilities --backend neo4j
File Development/testing --backend file

Neo4j Configuration

# Local Docker (default ports: 17689 for Bolt, 18082 for HTTP)
--neo4j-uri bolt://localhost:17689
--neo4j-password <password>

# Neo4j Aura (cloud)
--neo4j-uri bolt+s://your-aura-id.databases.neo4j.io:7687
--neo4j-password <aura-password>

๐Ÿค– AI Agent Integration

Injected Skills System

Tasker can be injected into any external project, giving AI agents immediate access to issue management:

# In your target project
tasker init

# This creates:
# project/
# โ””โ”€โ”€ tasker/
#     โ”œโ”€โ”€ skills/           # Python modules AI agents can import
#     โ”‚   โ”œโ”€โ”€ task_skill.py # Function calling bridge
#     โ”‚   โ””โ”€โ”€ skill_manifest.json
#     โ”œโ”€โ”€ configs/
#     โ””โ”€โ”€ docker-compose.yml

AI agents can then import and use the skills directly:

import sys
sys.path.insert(0, "tasker/skills")
from task_skill import create_issue, list_issues, add_dependency

# Create issues (AI agent can do this autonomously!)
result = create_issue(
    title="Refactor authentication",
    component_id="<uuid>",
    priority="HIGH"
)

# AI agent can check what depends on what
issues = list_issues(component_id="<uuid>")

๐Ÿ“Š Architecture

                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚   AI Agent / CLI    โ”‚
                    โ”‚   REST API          โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ–ผ
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚      Application Core      โ”‚
              โ”‚  โ€ข Issue Management         โ”‚
              โ”‚  โ€ข Dependency Graph        โ”‚
              โ”‚  โ€ข Architectural Rules      โ”‚
              โ”‚  โ€ข Root Cause Analysis     โ”‚
              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ–ผ
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚   Neo4j (Graph Storage)  โ”‚   โ”‚   File (JSON Fallback)   โ”‚
    โ”‚   โ€ข Full graph queries   โ”‚   โ”‚   โ€ข Simple storage       โ”‚
    โ”‚   โ€ข Cypher traversal     โ”‚   โ”‚   โ€ข Development use      โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐ŸŽ“ Why Graph-Based for AI Agents?

Traditional Issue Trackers

  • Issues are isolated rows in a database
  • AI agent must scan thousands of records to understand relationships
  • No way to ask "what depends on this?"

SocialSeed Tasker

  • Issues are nodes in a knowledge graph
  • AI agent can traverse relationships instantly: MATCH (i:Issue {id:'x'})-[:DEPENDS_ON*]->(d)
  • Natural language queries become graph queries
  • AI can reason about what's possible vs what's blocked

๐Ÿ“– Detailed Documentation


๐Ÿ”ง Commands Reference

Command Description
tasker init Initialize Tasker in external project
tasker status Show current configuration
tasker component create Create a component
tasker component list List all components
tasker issue create Create an issue
tasker issue list List issues (with filters)
tasker issue show Show issue details
tasker dependency add Add dependency between issues
tasker dependency chain Show dependency chain
tasker dependency blocked Show unblocked issues
tasker project detect Detect project modules
tasker project setup Create components from modules
tasker analyze root-cause Find root causes for test failures
tasker analyze impact Analyze issue impact

๐Ÿค Contributing

Built as part of the SocialSeed Project. Licensed under Apache 2.0.


๐Ÿ“‚ Project Structure

socialseed-tasker/
โ”œโ”€โ”€ src/socialseed_tasker/
โ”‚   โ”œโ”€โ”€ core/                    # Pure business logic (no dependencies)
โ”‚   โ”‚   โ”œโ”€โ”€ task_management/     # Issue and component management
โ”‚   โ”‚   โ””โ”€โ”€ project_analysis/    # Root cause and impact analysis
โ”‚   โ”œโ”€โ”€ entrypoints/             # Interfaces (CLI, API, init)
โ”‚   โ”œโ”€โ”€ storage/                 # Neo4j and file adapters
โ”‚   โ”œโ”€โ”€ bootstrap/               # Dependency injection
โ”‚   โ””โ”€โ”€ assets/                  # Templates for injected setup
โ”œโ”€โ”€ .agent/                      # AI agent documentation
โ”‚   โ”œโ”€โ”€ skills/                  # Agent capabilities
โ”‚   โ””โ”€โ”€ workflows/               # Step-by-step procedures
โ”œโ”€โ”€ tests/                       # Test suite
โ””โ”€โ”€ docker-compose.yml           # Neo4j for local development

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

socialseed_tasker-0.1.0.tar.gz (54.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

socialseed_tasker-0.1.0-py3-none-any.whl (64.4 kB view details)

Uploaded Python 3

File details

Details for the file socialseed_tasker-0.1.0.tar.gz.

File metadata

  • Download URL: socialseed_tasker-0.1.0.tar.gz
  • Upload date:
  • Size: 54.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for socialseed_tasker-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4efe5c5ebba4e4ba0b8c1959e97c31a8f7a227e67225218a7efebbf20f05c52d
MD5 275e368ea0dfbc5cfbeba1f1997d5a56
BLAKE2b-256 feaf402919a7fe793a5b5d233a717c9e88f8ba585ca7fe8c2ea84201aa336096

See more details on using hashes here.

File details

Details for the file socialseed_tasker-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for socialseed_tasker-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35d32f24f5e1ac83fe11e34c6fe74f701ee5f3351190f622ca393826f9a69b22
MD5 9b9bebd1dd5ea5c3eaee2e46cbc4f350
BLAKE2b-256 327e16929aef4123e52d4b0e89c25ee05edef5073f55c1fac6d23e8d89cf48a6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page