SpielOS — the company harness
One durable loop for operating AI work as a company system:
GOAL -> OBSERVE -> DECIDE -> ACT -> EVALUATE
^ |
+----------------------------+
The runtime owns every Goal, Run, approval, evidence record, and notification. Departments are Lego packages: self-contained folders that supply business behavior and never create another loop. Codex, OpenCode, and humans are all clients of the same persisted state.
Install (one line)
pipx install spielos && spielos init
spielos init scaffolds a verified, self-contained harness home into your
current folder — with OpenCode-style progress, a setup picker (full harness or
minimal appliance), host detection, and a runtime verification before it
reports success.
Update (one line)
pipx upgrade spielos && spielos refresh
pipx upgrade fetches the newest release; spielos refresh re-vendors the
runtime spine and host adapters into every home on this machine while keeping
your strategy, assets, departments, installed agents, and .spielos/ state.
No pipx yet? The bootstrap installer sets everything up (Python check, pipx, spielos) and runs init in an empty folder automatically:
curl -fsSL https://raw.githubusercontent.com/ShayanSpiel/SpielOS/main/install.sh | sh
spielos init vendors a complete, self-contained harness home into the current
directory — .agents/company/ spine, .spielos/ private state, OpenCode/Codex
host adapters, opencode.json, AGENTS.md, gitignore — with zero runtime
dependency on the installed package afterward. It verifies the new home runs
before it reports success, and detects which host (OpenCode / Codex) you have.
Interactive on a terminal: pick full harness (everything) or a
minimal appliance (spine + one department). Scripted and CI runs stay
deterministic: add -y/--yes to skip prompts, --json for a machine-readable
receipt; exit code 0 means verified, 1 means failed with an actionable message.
Departments as products
Every department is one extractable folder: behavior (department.py),
workflows, evals, skills, templates, and tooling live together.
spielos department export outbound --out ./dist # portable .sdep bundle
spielos add ./outbound.sdep # install into a home
spielos add ./outbound.sdep --force # upgrade in place
spielos init --minimal --department outbound # single-department appliance
Bundles carry a checksummed manifest plus the department's skills. They never carry strategy, assets, credentials, or run state.
First-class workers
Any workflow compiles into a bounded agent worker (no Director, no routing):
spielos agent compile outbound --workflow social-lead-research --name lead-researcher
Emits the OpenCode agent, Codex TOML, and roster entry from one WorkflowSpec. The worker runs only that workflow, produces only its declared evidence kinds, never edits files; approvals still park in the runtime.
Updating
pipx upgrade spielos # new CLI
spielos refresh # re-vendor spine + hosts into an existing home;
# preserves strategy/, assets/, departments/, .spielos/
Layout
company/ Python package: runtime spine, evals, connections, CLI
skills/ operator methods (director, department-runner, …)
departments/ LEGO SHELF — each folder is an extractable product
_shared/ cross-department contract + shared methods
<id>/skills/ department-owned methods
design/tools/ render/TTS tooling · design/tokens/ brand tokens
hosts/ adapter sources vendored into homes by init
tests/ → company/tests/ (in-package)
docs/ architecture notes
.spielos/ private runtime state (gitignored; exists only when this
checkout itself operates as a live company home)
Authority for architecture, vocabulary, pursuit semantics, safety rules, and
the owner doctrine: company/README.md.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spielos-6.2.5.tar.gz.
File metadata
- Download URL: spielos-6.2.5.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2fe83a52b0c7dd5f8d8065458675592992d15846c0be4451f4b27d8f37de91f
|
|
| MD5 |
8e2ab772196ea0bc12798eaa5f87f637
|
|
| BLAKE2b-256 |
9114b64003077678f4a69ba4f3af90de4b02164be29de73a4c99637898ea3037
|
Provenance
The following attestation bundles were made for spielos-6.2.5.tar.gz:
Publisher:
publish.yml on ShayanSpiel/SpielOS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spielos-6.2.5.tar.gz -
Subject digest:
b2fe83a52b0c7dd5f8d8065458675592992d15846c0be4451f4b27d8f37de91f - Sigstore transparency entry: 2591099417
- Sigstore integration time:
-
Permalink:
ShayanSpiel/SpielOS@819667d1bebd502f42b79588778d368ad6b94268 -
Branch / Tag:
refs/tags/v6.2.5 - Owner: https://github.com/ShayanSpiel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@819667d1bebd502f42b79588778d368ad6b94268 -
Trigger Event:
push
-
Statement type:
File details
Details for the file spielos-6.2.5-py3-none-any.whl.
File metadata
- Download URL: spielos-6.2.5-py3-none-any.whl
- Upload date:
- Size: 1.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ebe67e3345bd77f34695af96a5a28aa77add9e44d59d764d1da19486a123a4a
|
|
| MD5 |
be44d66c55597501b3e9f85df9318075
|
|
| BLAKE2b-256 |
ea40df405d3b92f4a631422c713561f9c84ccbf48f37b80f6d3aa3cea6309bb8
|
Provenance
The following attestation bundles were made for spielos-6.2.5-py3-none-any.whl:
Publisher:
publish.yml on ShayanSpiel/SpielOS
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spielos-6.2.5-py3-none-any.whl -
Subject digest:
9ebe67e3345bd77f34695af96a5a28aa77add9e44d59d764d1da19486a123a4a - Sigstore transparency entry: 2591099736
- Sigstore integration time:
-
Permalink:
ShayanSpiel/SpielOS@819667d1bebd502f42b79588778d368ad6b94268 -
Branch / Tag:
refs/tags/v6.2.5 - Owner: https://github.com/ShayanSpiel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@819667d1bebd502f42b79588778d368ad6b94268 -
Trigger Event:
push
-
Statement type: