Architecture

One distribution, twelve bundles

The suite is a DeepSeek Harness profile over twelve independently installable bundles. The profile decides which packages compose, which services connect them, and which tools each preset can see.

01

Why a distribution

DSH installs bundles; only a profile can compose them and set policy.

01 · BUNDLE

Bundle = capability

Each plugin is a normal DSH bundle with its own cordis.patch.yml. It can be installed on its own; the release publishes one tarball per package.

02 · PROFILE

Profile = composition

A profile is the only layer that can declare bundles, presets and policy. It is not a bundle: dsh plugin add rejects it as not-a-bundle.

03 · RELEASE

Release = a tested combination

The GitHub release ships the blueprint, per-package tarball URLs and an installer. It pins the combination that was verified together — not a mega-package.

The packages stay independent; the profile is what makes them one product.

02

Principles

Four rules that decide how the pieces are assembled.

01

Compose, don't absorb

One capability per bundle. The distribution is a profile over packages, not a single plugin that swallows them.

02

Services are the cross-plugin API

Plugins never import each other. They meet through host services: engineeringAccess, knowledgeGraph, gitContext. A missing service is reported, not guessed.

03

Visibility is a preset decision

Host rows own processes and services. Tool rows are mounted by a preset, so the same package can expose different surfaces to leader, auditor and expert.

04

Policy is configuration

Personae, the default preset, disabled built-ins and subagent limits live in the profile. Changing them does not rebuild a plugin.

03

Components

Twelve bundles. “Work with” names the other bundles each one collaborates with; “Version” is the package version.

The profile blueprint is not a component: it is the assembly layer above these packages. Package versions are independent of the suite release.

04

Preset surfaces

The package is not the unit of visibility; the row is.

leader gets the working surface; auditor owns the version workflow; expert gets read-only drill-down. A subagent cannot inherit a tool its preset did not mount.

05

How it runs

One process boundary, because Openness demands it.

Openness can only be called from a 64-bit .NET Framework process, so the TIA plugin owns a C# controller subprocess and speaks one JSON object per line over stdio. Requests are serialized; a timeout terminates and restarts the controller.

TiaOpennessV17Min.Controller.exe · x64 · .NET Framework 4.8

Can I use it now?