Skip to main content

Turn messy repo intent into scoped AI Work Orders

Project description

Sembl

Turn messy repo intent into scoped AI Work Orders.

Sembl is not an AI coding agent. It is the layer that runs before one:

repo + task -> Work Order -> agent executes with tighter scope

A Work Order is an execution contract. It tells an agent:

  • what the goal is, and what it is not
  • which files it can touch
  • which files it should inspect but not modify
  • what must be true when it finishes
  • how to prove it succeeded
  • when to stop and ask a human

Website: https://sembl.vercel.app

Current Status

Sembl is early but usable for testing. The current CLI supports:

  • repo probing for language/framework/branch/dirty state
  • optional Graphify context
  • optional code-review-graph context
  • graph-required mode with --require-graph-context
  • OpenAI, Anthropic, Gemini, and NVIDIA NIM providers
  • work-order output as Markdown, JSON, executor prompt, and validation plan

The best current test path is graph-first:

uv pip install "sembl[graph-pipeline] @ git+https://github.com/speedvibecode/sembl.git"
sembl generate --repo C:\path\to\repo --task "fix the failing login redirect test" --provider nvidia --require-graph-context

Install From GitHub

For tester installs without cloning the repo:

uv pip install "sembl[graph-pipeline] @ git+https://github.com/speedvibecode/sembl.git"

For a CLI tool install without graph extras:

uv tool install git+https://github.com/speedvibecode/sembl.git

The future public package path is:

uv tool install sembl
pip install sembl

That requires publishing the package to PyPI first.

Install From Source

git clone https://github.com/speedvibecode/sembl
cd sembl
uv pip install -e ".[graph-pipeline]"

Plain pip also works:

pip install -e ".[graph-pipeline]"

Provider Keys

Set one provider key before generation:

$env:OPENAI_API_KEY="..."
$env:ANTHROPIC_API_KEY="..."
$env:GEMINI_API_KEY="..."
$env:NVIDIA_API_KEY="..."

Then choose the provider:

sembl generate --repo C:\path\to\repo --task "replace starter screen text" --provider nvidia

Optional Graph Context

Sembl can run without graph tools, but the strongest results come from Graphify plus code-review-graph.

graphify update C:\path\to\repo --no-cluster
code-review-graph build --repo C:\path\to\repo --data-dir C:\path\to\repo-specific-crg-data --skip-flows

$env:CRG_DATA_DIR="C:\path\to\repo-specific-crg-data"
sembl generate --repo C:\path\to\repo --task "fix the failing login redirect test" --provider nvidia --require-graph-context

Sembl guards against stale generic CRG_DATA_DIR values by deriving a repo-specific graph data directory when the env var does not look like it belongs to the target repo.

Usage

# Generate a Work Order for the current repo
sembl generate --task "add recurring expenses to this tracker" --provider nvidia

# Generate for an explicit repo
sembl generate --repo C:\path\to\repo --task "fix the login redirect bug" --provider nvidia

# Refuse direct-probe fallback
sembl generate --repo C:\path\to\repo --task "fix the login redirect bug" --provider nvidia --require-graph-context

# List Work Orders
sembl list

# Show latest Work Order
sembl show

# Show the executor prompt
sembl show --file executor-prompt

Output

.sembl/work-orders/wo-myproject-{timestamp}-{slug}/
  work-order.md       - read this
  executor-prompt.md  - paste into your agent
  validation-plan.md  - run this after
  work-order.json     - machine-readable

The 8 Locks

Lock Purpose
Intent Goal, outcome, task type
Boundary Non-goals, forbidden areas
Scope Editable paths, read-only context
Context Files to inspect, architecture notes
Success Acceptance criteria, regressions
Proof Validation commands, tests to add
Safety Stop conditions, risk level
Executor Agent-ready prompt, patch expectations

Local Test

python -m unittest discover -s tests -v
python -m compileall -q sembl tests

Testing Notes

If you test Sembl on a real repo, the best feedback is:

  • the exact command you ran
  • whether graph context was available
  • the generated work-order.md
  • whether the executor agent could complete the task without scope confusion
  • any hallucinated files, missing validation commands, or false stop conditions

Models write code. Sembl makes the work governable.

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

sembl-0.1.0.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

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

sembl-0.1.0-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sembl-0.1.0.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for sembl-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2fff38d8293396c6d71e785484bb0a882ec9d423bd79a9734784fef102d96a9d
MD5 547df6195c5807c041c16c5d81ddb62c
BLAKE2b-256 9b293a324c5c5cd7920784b23742ba94f1819160cb19ea57d5371b813f328a50

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sembl-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for sembl-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee9d8ed6b73ae228755088a1c059eebb90edf5477c172fb3965f233b7fabfde0
MD5 4ce36dbe208d0095f220c7b2f7360d6a
BLAKE2b-256 36caf83086602524958fe911df6143879f9ce8931bbacd96eaa30dbdd0827bd9

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