<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>processkit</title><link>https://projectious-work.github.io/processkit/v1.x/</link><description>Recent content on processkit</description><generator>Hugo</generator><language>en</language><atom:link href="https://projectious-work.github.io/processkit/v1.x/index.xml" rel="self" type="application/rss+xml"/><item><title>apiVersion Policy</title><link>https://projectious-work.github.io/processkit/v1.x/docs/reference/apiversion-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/reference/apiversion-policy/</guid><description>&lt;p&gt;processkit uses a Kubernetes-style &lt;code&gt;apiVersion&lt;/code&gt; field on every entity:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v2&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="the-group"&gt;The group&lt;/h2&gt;
&lt;p&gt;The group &lt;code&gt;processkit.projectious.work&lt;/code&gt; is a reverse-DNS name anchored on
the owning organization (&lt;code&gt;projectious.work&lt;/code&gt;) with &lt;code&gt;processkit&lt;/code&gt; as a
subcomponent. This prevents name collisions if other organizations fork
or publish compatible primitives under their own domains.&lt;/p&gt;
&lt;p&gt;The form &lt;code&gt;&amp;lt;reverse-dns-group&amp;gt;/&amp;lt;version&amp;gt;&lt;/code&gt; is the Kubernetes-idiomatic
shape — exactly one slash. Tools that split on &lt;code&gt;/&lt;/code&gt; expect exactly two
parts.&lt;/p&gt;
&lt;h2 id="evolution-rules"&gt;Evolution rules&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;apiVersion&lt;/th&gt;
 &lt;th&gt;Status&lt;/th&gt;
 &lt;th&gt;Meaning&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;apiVersion&lt;/td&gt;
 &lt;td&gt;Product line&lt;/td&gt;
 &lt;td&gt;Status&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;mdash;&lt;/td&gt;
 &lt;td&gt;&amp;mdash;&lt;/td&gt;
 &lt;td&gt;&amp;mdash;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;processkit.projectious.work/v1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;v0.x&lt;/td&gt;
 &lt;td&gt;Current v0.x entity format&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;processkit.projectious.work/v1beta1&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;td&gt;Reserved; not used&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;processkit.projectious.work/v2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;v1.x&lt;/td&gt;
 &lt;td&gt;Current v1.x entity format&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The processkit product version, entity API version, schema-source format,
and per-kind schema versions are independent axes. In particular,
processkit &lt;code&gt;v1.x&lt;/code&gt; deliberately uses entity API &lt;code&gt;v2&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Entity File Format</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/format/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/format/</guid><description>&lt;p&gt;Every processkit primitive entity is stored as a Markdown file with a
YAML frontmatter block. The format is inspired by Kubernetes objects —
stable, versioned, and easy to parse.&lt;/p&gt;
&lt;h2 id="canonical-shape"&gt;Canonical shape&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1 &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# required — schema version&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;WorkItem &lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# required — primitive type&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# required&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;BACK-calm-fox&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ld"&gt;2026-04-06T10:30:00Z&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;updated&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ld"&gt;2026-04-06T11:15:00Z&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;labels&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;priority&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;high&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# required — entity-specific&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Add a release audit check&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;state&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;in-progress&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;assignee&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ACTOR-alice&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Body — freeform Markdown&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="l"&gt;Human-readable description, acceptance criteria, notes, history.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="the-four-top-level-keys"&gt;The four top-level keys&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Required&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;apiVersion&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;yes&lt;/td&gt;
 &lt;td&gt;Schema version. Always &lt;code&gt;processkit.projectious.work/v1&lt;/code&gt; at v0.x.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;yes&lt;/td&gt;
 &lt;td&gt;Primitive type. Determines which schema validates &lt;code&gt;spec&lt;/code&gt;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;metadata&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;yes&lt;/td&gt;
 &lt;td&gt;Identity, timestamps, labels. Cross-cutting fields.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;yes&lt;/td&gt;
 &lt;td&gt;Entity-specific fields. Validated by primitive schema.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="metadata-fields"&gt;metadata fields&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Required&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Notes&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;id&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;yes&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Unique identifier. Format configurable (see below).&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;created&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;yes&lt;/td&gt;
 &lt;td&gt;ISO 8601 datetime&lt;/td&gt;
 &lt;td&gt;UTC. Never edited after creation.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;updated&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;no&lt;/td&gt;
 &lt;td&gt;ISO 8601 datetime&lt;/td&gt;
 &lt;td&gt;Set on modification.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;labels&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;no&lt;/td&gt;
 &lt;td&gt;map[string]string&lt;/td&gt;
 &lt;td&gt;Arbitrary key-value tags. Used by queries and filters.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="id-formats"&gt;ID formats&lt;/h2&gt;
&lt;p&gt;Configurable per project through installer or processkit settings:&lt;/p&gt;</description></item><item><title>Harness Compatibility</title><link>https://projectious-work.github.io/processkit/v1.x/docs/mcp-servers/harness-compatibility/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/mcp-servers/harness-compatibility/</guid><description>&lt;p&gt;processkit&amp;rsquo;s MCP servers are provider-neutral Python programs. They do
not require aibox at runtime. aibox can install processkit, merge MCP
configuration, pre-authorize processkit tools where a harness supports
that, and supervise a managed devcontainer. Those are convenience and
lifecycle features; they are not a processkit dependency.&lt;/p&gt;
&lt;p&gt;The alpha.5 installer can project managed Codex and Claude configuration.
It owns only declared processkit keys and preserves unrelated harness settings
during install, update, and uninstall. Restart the harness after installation
so it reloads the projection.&lt;/p&gt;</description></item><item><title>ID Formats</title><link>https://projectious-work.github.io/processkit/v1.x/docs/reference/id-formats/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/reference/id-formats/</guid><description>&lt;p&gt;Entity IDs in processkit have the shape &lt;code&gt;&amp;lt;PREFIX&amp;gt;-&amp;lt;id-body&amp;gt;&lt;/code&gt;. The prefix
is determined by the primitive kind and is not configurable. The id-body
has two independent configuration axes: &lt;strong&gt;format&lt;/strong&gt; and &lt;strong&gt;slug&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="configuration"&gt;Configuration&lt;/h2&gt;
&lt;p&gt;In the consuming project&amp;rsquo;s &lt;code&gt;aibox.toml&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;id_format&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;word&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;# word | uuid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;id_slug&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt; &lt;span class="c"&gt;# true | false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="the-four-combinations"&gt;The four combinations&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;code&gt;id_format&lt;/code&gt;&lt;/th&gt;
 &lt;th&gt;&lt;code&gt;id_slug&lt;/code&gt;&lt;/th&gt;
 &lt;th&gt;Example&lt;/th&gt;
 &lt;th&gt;Notes&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;word&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BACK-calm-fox&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Default. Short, memorable, solo-friendly&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;word&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BACK-calm-fox-add-lint&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Memorable + descriptive for prose contexts&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;uuid&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BACK-550e8400-e29b-41d4&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Uniqueness guarantees for large teams&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;uuid&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BACK-550e8400-add-lint&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;UUID + readable context&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="prefix-registry"&gt;Prefix registry&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Primitive&lt;/th&gt;
 &lt;th&gt;Prefix&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;WorkItem&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BACK&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LogEntry&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;LOG&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;DecisionRecord&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DEC&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Migration&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;MIG&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Artifact&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ART&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Note&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;NOTE&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Actor&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ACTOR&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Role&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ROLE&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Binding&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BIND&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Scope&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;SCOPE&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Category&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;CAT&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;CrossReference&lt;/td&gt;
 &lt;td&gt;—&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Gate&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;GATE&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Schedule&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;SCHED&lt;/code&gt; (legacy v1)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Constraint&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;CONST&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Context&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;CTX&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Discussion&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DISC&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Process&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;PROC&lt;/code&gt; (legacy v1)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;StateMachine&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;SM&lt;/code&gt; (legacy v1)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;code&gt;Metric&lt;/code&gt;, &lt;code&gt;Model&lt;/code&gt;, &lt;code&gt;Process&lt;/code&gt;, &lt;code&gt;Schedule&lt;/code&gt;, and &lt;code&gt;StateMachine&lt;/code&gt; do not
reserve first-class primitive prefixes in the v2 contract. The legacy
prefixes remain documented so existing v1 contexts can be migrated and
read correctly.&lt;/p&gt;</description></item><item><title>Installing</title><link>https://projectious-work.github.io/processkit/v1.x/docs/getting-started/installing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/getting-started/installing/</guid><description>&lt;h2 id="v1-alpha"&gt;v1 alpha&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;v1.0.0-alpha.5&lt;/code&gt; is installed with the native Rust lifecycle CLI from an
explicitly downloaded, signed release. The alpha does not yet have an online
version resolver or one-command bootstrap installer.&lt;/p&gt;
&lt;p&gt;Use the complete
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/getting-started/v1-alpha-tutorial/"&gt;v1 alpha installation and first-project tutorial&lt;/a&gt;
.
It verifies the signed envelope, checks both artifact digests, previews the
plan, installs a selected profile, verifies managed state, and connects the
Python MCP gateway.&lt;/p&gt;
&lt;p&gt;The current command shape is:&lt;/p&gt;</description></item><item><title>Issue #135 Implementation Review</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/</guid><description>&lt;p&gt;This final review compares
&lt;a href="https://github.com/projectious-work/processkit/issues/135" rel="noopener"&gt;GitHub issue #135&lt;/a&gt;

with the &lt;code&gt;v1.0.0-alpha.5&lt;/code&gt; implementation and its published release evidence.&lt;/p&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;The corrected product boundary and trustworthy local lifecycle are
implemented. The Rust executable verifies and transactionally applies an
explicit release; Python remains the MCP runtime; release content stays
visible; and interruption recovery is exercised with real processes.&lt;/p&gt;
&lt;p&gt;Issue #135 is complete as the v1.x implementation umbrella. Three extracted
engineering tracks are implemented in alpha.5. The four-platform publication
track remains open until locally produced artifacts from every supported host
have been collected and verified.&lt;/p&gt;</description></item><item><title>minimal</title><link>https://projectious-work.github.io/processkit/v1.x/docs/packages/minimal/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/packages/minimal/</guid><description>&lt;p&gt;&lt;strong&gt;Intended for:&lt;/strong&gt; solo developers and small side projects.
&lt;strong&gt;Extends:&lt;/strong&gt; — (the base tier)&lt;/p&gt;
&lt;p&gt;The lightest footprint package. Just enough structure to track work and
debug effectively — no roles, no scopes, no governance artifacts.&lt;/p&gt;
&lt;h2 id="included-skills"&gt;Included skills&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;event-log&lt;/code&gt; — foundation: probabilistic append-only event log&lt;/li&gt;
&lt;li&gt;&lt;code&gt;actor-profile&lt;/code&gt; — basic Actor entities&lt;/li&gt;
&lt;li&gt;&lt;code&gt;workitem-management&lt;/code&gt; — WorkItem creation and transitions&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git-workflow&lt;/code&gt; — branch/commit/PR conventions&lt;/li&gt;
&lt;li&gt;&lt;code&gt;debugging&lt;/code&gt; — systematic debug workflow&lt;/li&gt;
&lt;li&gt;&lt;code&gt;testing-strategy&lt;/code&gt; — unit vs integration vs E2E guidance&lt;/li&gt;
&lt;li&gt;&lt;code&gt;error-handling&lt;/code&gt; — cross-language patterns&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="when-to-upgrade"&gt;When to upgrade&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;You&amp;rsquo;re joining a team → &lt;code&gt;managed&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;You need formal decision records, scopes, and process artifacts → &lt;code&gt;managed&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;You&amp;rsquo;re building production software → &lt;code&gt;software&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;You&amp;rsquo;re doing data/ML work → &lt;code&gt;research&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;You need the kitchen sink → &lt;code&gt;product&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="source"&gt;Source&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/projectious-work/processkit/blob/main/src/packages/minimal.yaml" rel="noopener"&gt;&lt;code&gt;src/packages/minimal.yaml&lt;/code&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Process Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/process/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/process/</guid><description>&lt;p&gt;Skills for managing project workflows, team coordination, and operational
processes. Most process-primitive skills have an accompanying MCP server
that enforces schema validation and state-machine rules.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="workitem-management"&gt;workitem-management&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Creates, transitions, and queries WorkItems — the task-tracking
primitive in processkit. Use when managing backlog items, updating
work item state, or querying items by status, owner, or priority.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; When the user asks to create a ticket, update a work item,
query the backlog, or track progress on a task.
&lt;strong&gt;Tools:&lt;/strong&gt; &lt;code&gt;create_workitem&lt;/code&gt;, &lt;code&gt;transition_workitem&lt;/code&gt;, &lt;code&gt;query_workitems&lt;/code&gt;,
&lt;code&gt;get_workitem&lt;/code&gt;, &lt;code&gt;link_workitems&lt;/code&gt;
&lt;strong&gt;Layers:&lt;/strong&gt; Layer 2 (depends on &lt;code&gt;event-log&lt;/code&gt;, &lt;code&gt;actor-profile&lt;/code&gt;)&lt;/p&gt;</description></item><item><title>Skill Package Format</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/format/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/format/</guid><description>&lt;p&gt;This page summarizes the skill package format. The authoritative source is
&lt;a href="https://github.com/projectious-work/processkit/blob/main/src/context/skills/FORMAT.md" rel="noopener"&gt;&lt;code&gt;src/context/skills/FORMAT.md&lt;/code&gt;&lt;/a&gt;

in the processkit repo.&lt;/p&gt;
&lt;h2 id="directory-layout"&gt;Directory layout&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;src/context/skills/&amp;lt;category&amp;gt;/&amp;lt;skill-name&amp;gt;/
 SKILL.md ← required — three-level agent instructions
 INDEX.md ← optional — human-readable overview
 examples/ ← recommended — example outputs
 templates/ ← recommended — YAML frontmatter entity scaffolds
 references/ ← optional — deep-dive reference material
 mcp/ ← optional — Python MCP server
 server.py
 mcp-config.json
 README.md
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="required-frontmatter-fields"&gt;Required frontmatter fields&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;apiVersion&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Always &lt;code&gt;processkit.projectious.work/v1&lt;/code&gt; at v0.x.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Always &lt;code&gt;Skill&lt;/code&gt;.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;metadata.id&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;SKILL-&amp;lt;skill-name&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;metadata.name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Kebab-case; matches directory name&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;metadata.version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Semver, independent of processkit release&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;metadata.created&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ISO 8601 UTC&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec.description&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;One-sentence summary (shown in listings)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec.category&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;One of the registered categories&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec.layer&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Integer 0–4, or &lt;code&gt;null&lt;/code&gt; for non-process skills&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="optional-fields"&gt;Optional fields&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec.uses&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Skills this depends on (strictly lower layer for process skills)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec.provides&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;What the agent gains: primitive kinds, MCP tools, templates&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec.when_to_use&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Trigger description for routing&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;spec.replaces&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ID of a skill this one overrides (for community forks)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="categories"&gt;Categories&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;process&lt;/code&gt;, &lt;code&gt;language&lt;/code&gt;, &lt;code&gt;framework&lt;/code&gt;, &lt;code&gt;infrastructure&lt;/code&gt;, &lt;code&gt;architecture&lt;/code&gt;,
&lt;code&gt;design&lt;/code&gt;, &lt;code&gt;data&lt;/code&gt;, &lt;code&gt;ai&lt;/code&gt;, &lt;code&gt;api&lt;/code&gt;, &lt;code&gt;security&lt;/code&gt;, &lt;code&gt;observability&lt;/code&gt;, &lt;code&gt;database&lt;/code&gt;,
&lt;code&gt;performance&lt;/code&gt;, &lt;code&gt;meta&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Install and Use the v1 Alpha</title><link>https://projectious-work.github.io/processkit/v1.x/docs/getting-started/v1-alpha-tutorial/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/getting-started/v1-alpha-tutorial/</guid><description>&lt;p&gt;This tutorial installs the exact &lt;code&gt;v1.0.0-alpha.5&lt;/code&gt; release into a new project.
Linux and macOS on x86_64 and arm64 are supported.&lt;/p&gt;
&lt;h2 id="1-check-prerequisites"&gt;1. Check prerequisites&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uname -m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;python3 --version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uv --version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git --version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;jq --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Python 3.10 or newer, &lt;code&gt;uv&lt;/code&gt;, Git, &lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;tar&lt;/code&gt;, a SHA-256 utility, &lt;code&gt;openssl&lt;/code&gt;,
and &lt;code&gt;jq&lt;/code&gt; are required.&lt;/p&gt;
&lt;h2 id="2-download-the-exact-release"&gt;2. Download the exact release&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;/.processkit-download/v1.0.0-alpha.5&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;/.processkit-download/v1.0.0-alpha.5&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;release_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;https://github.com/projectious-work/processkit/releases/download/v1.0.0-alpha.5&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; asset in &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; processkit-v1.0.0-alpha.5.tar.gz &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; processkit-v1.0.0-alpha.5.tar.gz.sha256 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; processkit-v1.0.0-alpha.5.release.json &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; processkit-v1.0.0-alpha.5.release.sig &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; processkit-v1.0.0-alpha.5-public.pem
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; curl -fL &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$release_url&lt;/span&gt;&lt;span class="s2"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$asset&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -o &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$asset&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The release is exact-pinned. Do not replace the tag with &lt;code&gt;latest&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>managed</title><link>https://projectious-work.github.io/processkit/v1.x/docs/packages/managed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/packages/managed/</guid><description>&lt;p&gt;&lt;strong&gt;Intended for:&lt;/strong&gt; small teams with a shared backlog and process cadences.
&lt;strong&gt;Extends:&lt;/strong&gt; &lt;code&gt;minimal&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The recommended default. Adds roles, decisions, scopes, and all lightweight
process artifacts (standups, retros, session handovers) on top of minimal.&lt;/p&gt;
&lt;h2 id="what-managed-adds-on-top-of-minimal"&gt;What managed adds on top of minimal&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Process primitives and cross-cutting process skills:&lt;/strong&gt;
&lt;code&gt;role-management&lt;/code&gt;, &lt;code&gt;decision-record&lt;/code&gt;, &lt;code&gt;scope-management&lt;/code&gt;,
&lt;code&gt;category-management&lt;/code&gt;, &lt;code&gt;cross-reference-management&lt;/code&gt;, &lt;code&gt;binding-management&lt;/code&gt;,
&lt;code&gt;process-management&lt;/code&gt;, &lt;code&gt;state-machine-management&lt;/code&gt;, &lt;code&gt;gate-management&lt;/code&gt;,
&lt;code&gt;schedule-management&lt;/code&gt;, &lt;code&gt;constraint-management&lt;/code&gt;, &lt;code&gt;discussion-management&lt;/code&gt;,
&lt;code&gt;metrics-management&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;process-management&lt;/code&gt;, &lt;code&gt;schedule-management&lt;/code&gt;, and &lt;code&gt;state-machine-management&lt;/code&gt;
are included for legacy v1 migration guidance. They are not first-class
v2 primitive authoring surfaces.&lt;/p&gt;</description></item><item><title>Skill Hierarchy</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/hierarchy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/hierarchy/</guid><description>&lt;p&gt;Process-primitive skills form a strict layered DAG. A skill&amp;rsquo;s &lt;code&gt;spec.uses&lt;/code&gt;
field may only reference skills in &lt;strong&gt;lower&lt;/strong&gt; layers. Cycles are validation
errors.&lt;/p&gt;
&lt;h2 id="the-layers"&gt;The layers&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Layer&lt;/th&gt;
 &lt;th&gt;Role&lt;/th&gt;
 &lt;th&gt;Skills&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;Foundation&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;index-management&lt;/code&gt;, &lt;code&gt;id-management&lt;/code&gt;, &lt;code&gt;event-log&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;Primitive management&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;role-management&lt;/code&gt;, &lt;code&gt;actor-profile&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2&lt;/td&gt;
 &lt;td&gt;Core entities&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;workitem-management&lt;/code&gt;, &lt;code&gt;decision-record&lt;/code&gt;, &lt;code&gt;scope-management&lt;/code&gt;, &lt;code&gt;category-management&lt;/code&gt;, &lt;code&gt;cross-reference-management&lt;/code&gt;, &lt;code&gt;binding-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;3&lt;/td&gt;
 &lt;td&gt;Workflow policy&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;gate-management&lt;/code&gt;, &lt;code&gt;constraint-management&lt;/code&gt;; legacy/migration guidance for &lt;code&gt;process-management&lt;/code&gt;, &lt;code&gt;state-machine-management&lt;/code&gt;, &lt;code&gt;schedule-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;4&lt;/td&gt;
 &lt;td&gt;Cross-cutting&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;discussion-management&lt;/code&gt;, &lt;code&gt;metrics-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Layer 0 has three skills with one intra-layer edge.&lt;/strong&gt; &lt;code&gt;index-management&lt;/code&gt;
and &lt;code&gt;id-management&lt;/code&gt; are the absolute foundation — they depend on nothing.
&lt;code&gt;event-log&lt;/code&gt; is also Layer 0 but &lt;code&gt;uses: [index-management, id-management]&lt;/code&gt;,
so it conceptually sits &amp;ldquo;atop&amp;rdquo; them. This is the only intra-layer edge in
the entire hierarchy. The strict-downward rule applies to Layers 1+ unchanged.&lt;/p&gt;</description></item><item><title>State Machines</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/state-machines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/state-machines/</guid><description>&lt;p&gt;Primitives with lifecycle (WorkItem, DecisionRecord, Scope, Discussion)
are governed by state machines. processkit ships default machines that
projects can override.&lt;/p&gt;
&lt;h2 id="workitem-default"&gt;WorkItem default&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;backlog → in-progress → review → done
 ↓ ↑
 blocked ↑
 ↓ ↑
 backlog ←
(any state) → cancelled (terminal)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Source: &lt;a href="https://github.com/projectious-work/processkit/blob/main/src/context/state-machines/workitem.yaml" rel="noopener"&gt;&lt;code&gt;src/context/state-machines/workitem.yaml&lt;/code&gt;&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="decisionrecord-default"&gt;DecisionRecord default&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;proposed → accepted → superseded (terminal)
 ↓
 rejected (terminal)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Source: &lt;a href="https://github.com/projectious-work/processkit/blob/main/src/context/state-machines/decisionrecord.yaml" rel="noopener"&gt;&lt;code&gt;src/context/state-machines/decisionrecord.yaml&lt;/code&gt;&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="overriding-a-default"&gt;Overriding a default&lt;/h2&gt;
&lt;p&gt;Projects override a default by placing a same-named file in their own
&lt;code&gt;context/state-machines/&lt;/code&gt; directory. The index MCP server (v0.3.0) and any
validator prefer the project file over the processkit default.&lt;/p&gt;</description></item><item><title>Version Migration</title><link>https://projectious-work.github.io/processkit/v1.x/docs/reference/migration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/reference/migration/</guid><description>&lt;p&gt;processkit is distributed as versioned releases. Upgrading pinned
versions is deliberate: processkit does not silently rewrite a consuming
project&amp;rsquo;s context. A version bump should produce a &lt;code&gt;Migration&lt;/code&gt; document
under &lt;code&gt;context/migrations/pending/&lt;/code&gt; that the user and agent work through
together.&lt;/p&gt;
&lt;h2 id="the-model"&gt;The model&lt;/h2&gt;
&lt;p&gt;processkit ships a generic diff script (&lt;code&gt;scripts/processkit-diff.sh&lt;/code&gt;) that
compares two tagged versions of any processkit-compatible source — upstream
processkit, a company fork like &lt;code&gt;processkit-acme&lt;/code&gt;, or any other downstream.
The script reads &lt;code&gt;src/PROVENANCE.toml&lt;/code&gt; at each tag (a single file mapping
every shipped file to the tag in which it last changed) and emits a
structured diff: added, removed, changed, unchanged.&lt;/p&gt;</description></item><item><title>Language Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/language/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/language/</guid><description>&lt;p&gt;Language-specific conventions, patterns, and best practices.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="python-best-practices"&gt;python-best-practices&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Python conventions and patterns &amp;ndash; typing, testing, project layout, tooling. Use when writing or reviewing Python code.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; When the user is working with Python code and asks about conventions, project structure, typing, testing, or says &amp;ldquo;how should I structure this Python project?&amp;rdquo;.
&lt;strong&gt;Tools:&lt;/strong&gt; None
&lt;strong&gt;References:&lt;/strong&gt; None&lt;/p&gt;
&lt;p&gt;Key capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Project layout: &lt;code&gt;src/&lt;/code&gt; layout with &lt;code&gt;pyproject.toml&lt;/code&gt;, use &lt;code&gt;uv&lt;/code&gt; for dependency management&lt;/li&gt;
&lt;li&gt;Type hints on all public function signatures with &lt;code&gt;from __future__ import annotations&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Testing with pytest: fixtures, parametrize, test naming &lt;code&gt;test_&amp;lt;function&amp;gt;_&amp;lt;scenario&amp;gt;_&amp;lt;expected&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Code style: &lt;code&gt;ruff format&lt;/code&gt; and &lt;code&gt;ruff check&lt;/code&gt;, prefer dataclasses/Pydantic over dicts, pathlib over os.path&lt;/li&gt;
&lt;li&gt;Error handling: raise specific exceptions, custom exception classes, never bare &lt;code&gt;except:&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;Example usage&lt;/summary&gt;
&lt;p&gt;User asks to set up a new Python project. The agent creates &lt;code&gt;pyproject.toml&lt;/code&gt; with project metadata and dependencies, &lt;code&gt;src/&lt;/code&gt; layout, &lt;code&gt;tests/&lt;/code&gt; directory, &lt;code&gt;ruff&lt;/code&gt; config, and basic &lt;code&gt;__init__.py&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Privacy Tiers</title><link>https://projectious-work.github.io/processkit/v1.x/docs/reference/privacy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/reference/privacy/</guid><description>&lt;p&gt;processkit recognizes three privacy tiers for entities under &lt;code&gt;context/&lt;/code&gt;.
The tier is declared via an optional &lt;code&gt;privacy:&lt;/code&gt; field in &lt;code&gt;metadata&lt;/code&gt; and
enforced by directory layout + a &lt;code&gt;.gitignore&lt;/code&gt; rule.&lt;/p&gt;
&lt;h2 id="the-three-tiers"&gt;The three tiers&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tier&lt;/th&gt;
 &lt;th&gt;Default?&lt;/th&gt;
 &lt;th&gt;Git status&lt;/th&gt;
 &lt;th&gt;Typical use&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;public&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;no&lt;/td&gt;
 &lt;td&gt;tracked&lt;/td&gt;
 &lt;td&gt;identity.md, README, public roadmap&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;project-private&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;yes&lt;/strong&gt; (default if omitted)&lt;/td&gt;
 &lt;td&gt;tracked&lt;/td&gt;
 &lt;td&gt;workitems, decisions, logs, working-style.md&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;user-private&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;no&lt;/td&gt;
 &lt;td&gt;NOT tracked&lt;/td&gt;
 &lt;td&gt;team-and-relationships.md, personal scratch notes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Most entities omit the field entirely and inherit &lt;code&gt;project-private&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Relationships</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/relationships/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/relationships/</guid><description>&lt;p&gt;processkit expresses relationships between entities two ways:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Cross-references&lt;/strong&gt; — lightweight fields in frontmatter&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bindings&lt;/strong&gt; — first-class entities with their own files&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Pick the right one based on what the relationship needs.&lt;/p&gt;
&lt;h2 id="the-rule"&gt;The rule&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;If a relationship has &lt;strong&gt;scope&lt;/strong&gt;, &lt;strong&gt;time&lt;/strong&gt;, or &lt;strong&gt;its own attributes&lt;/strong&gt; → Binding.
Otherwise → cross-reference.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="cross-reference-examples"&gt;Cross-reference examples&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# In a WorkItem&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;blocks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;BACK-swift-oak]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;blocked_by&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;BACK-calm-fox]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;related_decisions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;DEC-023]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;BACK-epic-lint&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Conventional field names:&lt;/p&gt;</description></item><item><title>software</title><link>https://projectious-work.github.io/processkit/v1.x/docs/packages/software/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/packages/software/</guid><description>&lt;p&gt;&lt;strong&gt;Intended for:&lt;/strong&gt; software engineering teams building production systems.
&lt;strong&gt;Extends:&lt;/strong&gt; &lt;code&gt;managed&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;serious software team&amp;rdquo; tier. Adds architecture, API, database,
infrastructure, security, observability, and performance skills on top of
managed.&lt;/p&gt;
&lt;h2 id="highlights"&gt;Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Architecture:&lt;/strong&gt; &lt;code&gt;software-architecture&lt;/code&gt;, &lt;code&gt;system-design&lt;/code&gt;,
&lt;code&gt;domain-driven-design&lt;/code&gt;, &lt;code&gt;event-driven-architecture&lt;/code&gt;, &lt;code&gt;concurrency-patterns&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API:&lt;/strong&gt; &lt;code&gt;api-design&lt;/code&gt;, &lt;code&gt;graphql-patterns&lt;/code&gt;, &lt;code&gt;grpc-protobuf&lt;/code&gt;, &lt;code&gt;webhook-integration&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Database:&lt;/strong&gt; &lt;code&gt;database-modeling&lt;/code&gt;, &lt;code&gt;database-migration&lt;/code&gt;, &lt;code&gt;sql-patterns&lt;/code&gt;,
&lt;code&gt;sql-style-guide&lt;/code&gt;, &lt;code&gt;nosql-patterns&lt;/code&gt;, &lt;code&gt;caching-strategies&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Infrastructure:&lt;/strong&gt; &lt;code&gt;ci-cd-setup&lt;/code&gt;, &lt;code&gt;container-orchestration&lt;/code&gt;,
&lt;code&gt;dockerfile-review&lt;/code&gt;, &lt;code&gt;kubernetes-basics&lt;/code&gt;, &lt;code&gt;terraform-basics&lt;/code&gt;,
&lt;code&gt;linux-administration&lt;/code&gt;, &lt;code&gt;dns-networking&lt;/code&gt;, &lt;code&gt;shell-scripting&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security:&lt;/strong&gt; &lt;code&gt;auth-patterns&lt;/code&gt;, &lt;code&gt;secret-management&lt;/code&gt;, &lt;code&gt;secure-coding&lt;/code&gt;,
&lt;code&gt;threat-modeling&lt;/code&gt;, &lt;code&gt;dependency-audit&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Observability:&lt;/strong&gt; &lt;code&gt;logging-strategy&lt;/code&gt;, &lt;code&gt;metrics-monitoring&lt;/code&gt;,
&lt;code&gt;alerting-oncall&lt;/code&gt;, &lt;code&gt;distributed-tracing&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance:&lt;/strong&gt; &lt;code&gt;performance-profiling&lt;/code&gt;, &lt;code&gt;load-testing&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="when-to-upgrade"&gt;When to upgrade&lt;/h2&gt;
&lt;p&gt;Only if you also need design, mobile, frontend framework skills → &lt;code&gt;product&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Your First Entity</title><link>https://projectious-work.github.io/processkit/v1.x/docs/getting-started/first-entity/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/getting-started/first-entity/</guid><description>&lt;p&gt;Create the first WorkItem through processkit&amp;rsquo;s MCP tools. Do not hand-edit
canonical entity files: the management tool validates the schema, applies the
storage policy, and writes the audit event as one governed operation.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Complete the &lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/getting-started/v1-alpha-tutorial/"&gt;v1 alpha tutorial&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Start a new harness session after the installer writes its managed MCP
projection.&lt;/li&gt;
&lt;li&gt;Confirm the &lt;code&gt;processkit-gateway&lt;/code&gt; tools are visible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="create-a-workitem"&gt;Create a WorkItem&lt;/h2&gt;
&lt;p&gt;Ask your MCP-capable agent:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Create a medium-priority task WorkItem titled &amp;ldquo;Evaluate processkit v1
alpha&amp;rdquo; with acceptance criteria to verify installation, record one
decision, and test an update plan.&lt;/p&gt;</description></item><item><title>Infrastructure Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/infrastructure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/infrastructure/</guid><description>&lt;p&gt;Skills for containers, orchestration, networking, system administration, and CI/CD.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="dockerfile-review"&gt;dockerfile-review&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Dockerfile best practices review &amp;ndash; layer optimization, caching, security, image size. Use when writing or reviewing Dockerfiles.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; When the user asks to review a Dockerfile, optimize an image, or says &amp;ldquo;why is my image so big?&amp;rdquo;, &amp;ldquo;is this Dockerfile correct?&amp;rdquo;, or &amp;ldquo;help me with Docker&amp;rdquo;.
&lt;strong&gt;Tools:&lt;/strong&gt; None
&lt;strong&gt;References:&lt;/strong&gt; None&lt;/p&gt;
&lt;p&gt;Key capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Layer optimization: combine related &lt;code&gt;RUN&lt;/code&gt; commands, order from least to most frequently changing&lt;/li&gt;
&lt;li&gt;Caching: copy dependency manifests first, install, then copy source&lt;/li&gt;
&lt;li&gt;Security: don&amp;rsquo;t run as root, never &lt;code&gt;COPY&lt;/code&gt; secrets, pin base images with digest, remove package caches&lt;/li&gt;
&lt;li&gt;Size reduction: slim/alpine base images, multi-stage builds, &lt;code&gt;--no-install-recommends&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Correctness: use &lt;code&gt;COPY&lt;/code&gt; over &lt;code&gt;ADD&lt;/code&gt;, set &lt;code&gt;WORKDIR&lt;/code&gt; instead of &lt;code&gt;cd&lt;/code&gt;, exec form for &lt;code&gt;CMD&lt;/code&gt;/&lt;code&gt;ENTRYPOINT&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;Example usage&lt;/summary&gt;
&lt;p&gt;User says &amp;ldquo;Review my Dockerfile.&amp;rdquo; The agent reads it and identifies that dependency installation and source copy are in the same layer (cache-busting), apt lists aren&amp;rsquo;t cleaned up, and the container runs as root. Provides specific fixes for each issue.&lt;/p&gt;</description></item><item><title>research</title><link>https://projectious-work.github.io/processkit/v1.x/docs/packages/research/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/packages/research/</guid><description>&lt;p&gt;&lt;strong&gt;Intended for:&lt;/strong&gt; research teams, data science projects, ML engineering.
&lt;strong&gt;Extends:&lt;/strong&gt; &lt;code&gt;managed&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Managed plus data, ML, AI, and research-documentation skills.&lt;/p&gt;
&lt;h2 id="highlights"&gt;Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Data:&lt;/strong&gt; &lt;code&gt;data-science&lt;/code&gt;, &lt;code&gt;data-pipeline&lt;/code&gt;, &lt;code&gt;data-quality&lt;/code&gt;,
&lt;code&gt;data-visualization&lt;/code&gt;, &lt;code&gt;feature-engineering&lt;/code&gt;, &lt;code&gt;pandas-polars&lt;/code&gt;,
&lt;code&gt;database-modeling&lt;/code&gt;, &lt;code&gt;sql-patterns&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI/ML:&lt;/strong&gt; &lt;code&gt;ai-fundamentals&lt;/code&gt;, &lt;code&gt;ml-pipeline&lt;/code&gt;, &lt;code&gt;prompt-engineering&lt;/code&gt;,
&lt;code&gt;llm-evaluation&lt;/code&gt;, &lt;code&gt;embedding-vectordb&lt;/code&gt;, &lt;code&gt;rag-engineering&lt;/code&gt;, &lt;code&gt;code-generation&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Research authoring:&lt;/strong&gt; &lt;code&gt;latex-authoring&lt;/code&gt;, &lt;code&gt;documentation&lt;/code&gt;,
&lt;code&gt;infographics&lt;/code&gt;, &lt;code&gt;excalidraw&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Infrastructure bits research projects touch:&lt;/strong&gt; &lt;code&gt;shell-scripting&lt;/code&gt;,
&lt;code&gt;container-orchestration&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="source"&gt;Source&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/projectious-work/processkit/blob/main/src/packages/research.yaml" rel="noopener"&gt;&lt;code&gt;src/packages/research.yaml&lt;/code&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>v2 Contracts</title><link>https://projectious-work.github.io/processkit/v1.x/docs/reference/v2-contracts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/reference/v2-contracts/</guid><description>&lt;p&gt;SmoothTiger/SmoothRiver v2 keeps durable facts in existing entity
primitives and uses projection skills for runtime files. The source of
truth remains processkit context; generated files are checked against
that source.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Metric&lt;/code&gt;, &lt;code&gt;Model&lt;/code&gt;, &lt;code&gt;Process&lt;/code&gt;, &lt;code&gt;Schedule&lt;/code&gt;, and &lt;code&gt;StateMachine&lt;/code&gt; are legacy
v1 migration-source kinds, not shipped v2 entity primitives. Model
selection uses model-recommender roster/configuration data. Process
definitions are Artifacts plus process-instance WorkItems. Schedule
semantics use &lt;code&gt;Binding(type=time-window)&lt;/code&gt;. Runtime state-machine YAML
files remain implementation contracts, not user-authored StateMachine
entities.&lt;/p&gt;</description></item><item><title>Architecture Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/architecture/</guid><description>&lt;p&gt;Skills for software architecture, design patterns, and system design.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="software-architecture"&gt;software-architecture&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Analyzes codebases for architectural patterns and quality. Use when designing systems, creating ADRs, reviewing structure, or generating architecture diagrams.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; Designing systems, creating ADRs, reviewing code structure, generating C4 diagrams, applying SOLID/DRY/KISS principles
&lt;strong&gt;Tools:&lt;/strong&gt; None
&lt;strong&gt;References:&lt;/strong&gt; &lt;code&gt;patterns.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Key capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Analyze existing architecture by mapping module organization, dependency directions, and identifying violations (circular deps, layer skipping, leaky abstractions)&lt;/li&gt;
&lt;li&gt;Suggest architecture patterns matched to project type (layered, hexagonal, modular monolith, microservices, pipe-and-filter, event-driven)&lt;/li&gt;
&lt;li&gt;Create Architecture Decision Records (ADRs) with context, decision, and consequences&lt;/li&gt;
&lt;li&gt;Review code for architectural violations: god modules, tight coupling, missing boundaries&lt;/li&gt;
&lt;li&gt;Generate C4 diagrams (System Context, Container, Component) using Mermaid syntax&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;Example usage&lt;/summary&gt;
&lt;p&gt;&amp;ldquo;Review this project&amp;rsquo;s architecture&amp;rdquo; &amp;ndash; Maps the dependency graph, identifies that controllers directly import database models (layer violation), suggests introducing a service layer with repository traits, and provides a C4 Level 3 component diagram of the proposed structure.&lt;/p&gt;</description></item><item><title>product</title><link>https://projectious-work.github.io/processkit/v1.x/docs/packages/product/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/packages/product/</guid><description>&lt;p&gt;&lt;strong&gt;Intended for:&lt;/strong&gt; end-to-end product development teams.
&lt;strong&gt;Extends:&lt;/strong&gt; &lt;code&gt;software&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The most comprehensive tier. Software plus design, mobile, framework,
and product-specific skills. Use when engineering, design, research, and
operations all live in the same repository.&lt;/p&gt;
&lt;h2 id="what-product-adds-on-top-of-software"&gt;What product adds on top of software&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Design:&lt;/strong&gt; &lt;code&gt;frontend-design&lt;/code&gt;, &lt;code&gt;mobile-app-design&lt;/code&gt;, &lt;code&gt;logo-design&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Framework:&lt;/strong&gt; &lt;code&gt;fastapi-patterns&lt;/code&gt;, &lt;code&gt;tailwind&lt;/code&gt;, &lt;code&gt;typescript-patterns&lt;/code&gt;,
&lt;code&gt;flutter-development&lt;/code&gt;, &lt;code&gt;reflex-python&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data subset:&lt;/strong&gt; &lt;code&gt;data-visualization&lt;/code&gt;, &lt;code&gt;feature-engineering&lt;/code&gt;,
&lt;code&gt;ai-fundamentals&lt;/code&gt;, &lt;code&gt;prompt-engineering&lt;/code&gt;, &lt;code&gt;llm-evaluation&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Language conventions:&lt;/strong&gt; &lt;code&gt;python-best-practices&lt;/code&gt;, &lt;code&gt;rust-conventions&lt;/code&gt;,
&lt;code&gt;go-conventions&lt;/code&gt;, &lt;code&gt;java-patterns&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documentation:&lt;/strong&gt; &lt;code&gt;latex-authoring&lt;/code&gt;, &lt;code&gt;excalidraw&lt;/code&gt;, &lt;code&gt;infographics&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Product ops:&lt;/strong&gt; &lt;code&gt;seo-optimization&lt;/code&gt;, &lt;code&gt;agent-management&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="when-not-to-use-product"&gt;When NOT to use product&lt;/h2&gt;
&lt;p&gt;If you don&amp;rsquo;t actually need design, mobile, or framework skills — stick
with &lt;code&gt;software&lt;/code&gt;. The product tier is large and expecting every team to
manage it is false economy.&lt;/p&gt;</description></item><item><title>Design &amp; Visual Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/design/</guid><description>&lt;p&gt;Skills for frontend development, visual design, and creative production.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="excalidraw"&gt;excalidraw&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Generates Excalidraw diagrams programmatically as JSON. Use when creating architecture diagrams, flowcharts, or hand-drawn-style visuals for documentation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; Creating architecture diagrams, flowcharts, system diagrams, or hand-drawn-style visuals for documentation
&lt;strong&gt;Tools:&lt;/strong&gt; None
&lt;strong&gt;References:&lt;/strong&gt; &lt;code&gt;json-schema.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Key capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Generate Excalidraw JSON files with proper structure (elements, appState, version 2 format)&lt;/li&gt;
&lt;li&gt;Create element types: rectangles, ellipses, diamonds, lines, arrows, text, with configurable styles&lt;/li&gt;
&lt;li&gt;Bind text labels to shapes for labeled diagrams&lt;/li&gt;
&lt;li&gt;Follow layout guidelines: grid alignment (multiples of 20), consistent spacing, readable font sizes&lt;/li&gt;
&lt;li&gt;Apply a semantic color palette (primary, secondary, success, warning, danger, neutral)&lt;/li&gt;
&lt;li&gt;Produce architecture diagrams, flowcharts, and sequence-style diagrams&lt;/li&gt;
&lt;li&gt;Embed in documentation as &lt;code&gt;.excalidraw&lt;/code&gt;, SVG, or PNG&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;Example usage&lt;/summary&gt;
&lt;p&gt;&amp;ldquo;Create an architecture diagram for a web app with React frontend, Node API, and PostgreSQL&amp;rdquo; &amp;ndash; Generates Excalidraw JSON with three labeled rectangles arranged left-to-right, connected by arrows labeled &amp;ldquo;HTTP/REST&amp;rdquo; and &amp;ldquo;SQL&amp;rdquo;, using blue for frontend, green for API, yellow for database.&lt;/p&gt;</description></item><item><title>Data &amp; Analytics Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/data/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/data/</guid><description>&lt;p&gt;Skills for data science, data engineering, and analytics workflows.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="data-science"&gt;data-science&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Data analysis workflow from import through modeling and communication. Covers tidy data, EDA, statistical reasoning, and visualization. Use when analyzing datasets, building statistical models, exploring data, or communicating findings.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; Analyzing datasets, exploring data, building statistical models, creating visualizations, cleaning messy data, communicating findings
&lt;strong&gt;Tools:&lt;/strong&gt; &lt;code&gt;Bash(python:*) Bash(jupyter:*) Read Write&lt;/code&gt;
&lt;strong&gt;References:&lt;/strong&gt; &lt;code&gt;tidy-data-principles.md&lt;/code&gt;, &lt;code&gt;statistical-methods.md&lt;/code&gt;, &lt;code&gt;visualization-guidelines.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Key capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Import and clean data: inspect shape/dtypes/nulls, handle missing data explicitly, parse dates, validate assumptions&lt;/li&gt;
&lt;li&gt;Reshape data to tidy form (one variable per column, one observation per row) using melt/pivot&lt;/li&gt;
&lt;li&gt;Conduct exploratory data analysis: univariate distributions, bivariate relationships, outlier detection, groupby aggregations&lt;/li&gt;
&lt;li&gt;Apply statistical reasoning: state the question first, check assumptions, report effect sizes alongside p-values, use confidence intervals&lt;/li&gt;
&lt;li&gt;Perform feature selection: remove zero-variance features, handle multicollinearity, use domain knowledge then data-driven methods&lt;/li&gt;
&lt;li&gt;Follow model selection workflow: start simple (baseline), add complexity only when justified, use cross-validation, document decisions&lt;/li&gt;
&lt;li&gt;Visualize with best practices: titles, axis labels, colorblind-friendly palettes, annotations, publication-quality export&lt;/li&gt;
&lt;li&gt;Communicate results: lead with findings, plain language, show uncertainty, include actionable &amp;ldquo;so what&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;Example usage&lt;/summary&gt;
&lt;p&gt;&amp;ldquo;I have a CSV of customer transactions. Help me understand churn patterns.&amp;rdquo; &amp;ndash; Loads the CSV, prints shape/dtypes/nulls, creates tidy time-series per customer, runs EDA with churn-rate distributions and cohort analysis, tests whether usage frequency differs between churned/retained groups (t-test with effect size), and produces annotated visualizations summarizing the key drivers.&lt;/p&gt;</description></item><item><title>AI &amp; ML Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/ai-ml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/ai-ml/</guid><description>&lt;p&gt;Skills for AI/ML development, RAG pipelines, prompt engineering, and model evaluation.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="ai-fundamentals"&gt;ai-fundamentals&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Core ML/AI concepts including model types, training pipelines, evaluation metrics, and neural network architectures. Use when explaining AI concepts, choosing model approaches, designing ML solutions, or reviewing AI-related code.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; Explaining ML/AI concepts, choosing model architectures, designing training pipelines, selecting evaluation metrics, debugging model performance (overfitting, leakage, class imbalance)
&lt;strong&gt;Tools:&lt;/strong&gt; None
&lt;strong&gt;References:&lt;/strong&gt; &lt;code&gt;ml-concepts.md&lt;/code&gt;, &lt;code&gt;math-foundations.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Key capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Classify problems by learning paradigm: supervised, unsupervised, reinforcement, self-supervised&lt;/li&gt;
&lt;li&gt;Match model types to problems: linear models for baselines, tree-based (XGBoost/LightGBM) for tabular data, neural networks for unstructured data, probabilistic models for uncertainty&lt;/li&gt;
&lt;li&gt;Design correct training pipelines: data prep, train/val/test split before preprocessing, feature engineering, training, hyperparameter tuning, regularization, final evaluation&lt;/li&gt;
&lt;li&gt;Select evaluation metrics by task: F1/AUC-ROC for classification, RMSE/MAE for regression, NDCG/MAP for ranking, BLEU/ROUGE for generation&lt;/li&gt;
&lt;li&gt;Understand neural network architectures: MLP, CNN, RNN/LSTM, Transformer, GAN, VAE, diffusion models&lt;/li&gt;
&lt;li&gt;Explain modern LLM concepts: attention, tokenization, pre-training + fine-tuning, RLHF, prompting strategies, scaling laws&lt;/li&gt;
&lt;li&gt;Identify common pitfalls: data leakage, overfitting, underfitting, class imbalance, distribution shift, metric mismatch&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;Example usage&lt;/summary&gt;
&lt;p&gt;&amp;ldquo;Choose an approach for tabular customer churn prediction&amp;rdquo; &amp;ndash; With 50K labeled rows of structured data, recommends gradient-boosted trees (XGBoost/LightGBM) with stratified k-fold cross-validation for the imbalanced target. Reports F1 and AUC-ROC. Baselines with logistic regression first, only considers neural approaches if tree models plateau.&lt;/p&gt;</description></item><item><title>API &amp; Integration Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/api/</guid><description>&lt;p&gt;Skills for API design, protocol patterns, and system integration.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="api-design"&gt;api-design&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;REST API design including resource naming, HTTP methods, status codes, pagination, versioning, and OpenAPI specs. Use when designing APIs, reviewing API contracts, or writing OpenAPI/Swagger documentation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; Designing a new REST API or extending an existing one, reviewing API contracts, writing OpenAPI/Swagger docs, choosing pagination or versioning strategies, defining error response formats.
&lt;strong&gt;Tools:&lt;/strong&gt; &lt;code&gt;Bash&lt;/code&gt; &lt;code&gt;Read&lt;/code&gt; &lt;code&gt;Write&lt;/code&gt;
&lt;strong&gt;References:&lt;/strong&gt; &lt;code&gt;rest-conventions.md&lt;/code&gt;, &lt;code&gt;openapi-patterns.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Key capabilities:&lt;/p&gt;</description></item><item><title>Claude Code</title><link>https://projectious-work.github.io/processkit/v1.x/docs/mcp-servers/claude-code/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/mcp-servers/claude-code/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;v1 alpha note:&lt;/strong&gt; Install with &lt;code&gt;--harness claude&lt;/code&gt; to create the managed
projection. The installer preserves unrelated Claude configuration. The
direct &lt;code&gt;uv&lt;/code&gt; gateway remains the development and compatibility fallback.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This document captures how processkit surfaces itself inside the Claude
Code harness: which payloads land at session start vs. each turn, which
hooks fire, and which Claude Code settings we recommend for any
processkit project.&lt;/p&gt;
&lt;p&gt;WorkItem: BACK-20260509_1317-DaringRaven (issue #19). Companion file:
&lt;a href="settings.example.json"&gt;&lt;code&gt;settings.example.json&lt;/code&gt;&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="what-the-per-turn-hook-injects"&gt;What the per-turn hook injects&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;scripts/emit_compliance_contract.py&lt;/code&gt; runs as &lt;strong&gt;both&lt;/strong&gt; a &lt;code&gt;SessionStart&lt;/code&gt;
and a &lt;code&gt;UserPromptSubmit&lt;/code&gt; hook (wired in
&lt;code&gt;/workspace/.claude/settings.json&lt;/code&gt; under &lt;code&gt;hooks.SessionStart&lt;/code&gt; and
&lt;code&gt;hooks.UserPromptSubmit&lt;/code&gt;). It now emits two different payloads:&lt;/p&gt;</description></item><item><title>CLI and automation interfaces</title><link>https://projectious-work.github.io/processkit/v1.x/docs/installer/cli/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/installer/cli/</guid><description>&lt;p&gt;processkit has two deliberately separate command interfaces. Human lifecycle
commands optimize for reviewable output and safe project operation. The
machine interface uses a versioned JSON request and result contract for aibox
and other automation.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Release and development status:&lt;/strong&gt; &lt;code&gt;v1.0.0-alpha.5&lt;/code&gt; supports the local
lifecycle commands below except &lt;code&gt;doctor&lt;/code&gt; and &lt;code&gt;mcp&lt;/code&gt;. The &lt;code&gt;v1.x-dev&lt;/code&gt; line adds
read-only native diagnosis and MCP supervision for the next prerelease.
Commands in “Target human lifecycle” remain planned unless listed as current.&lt;/p&gt;</description></item><item><title>WorkItem</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/workitem/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/workitem/</guid><description>&lt;p&gt;A unit of work — task, story, bug, epic, spike, or chore. The primary
work-tracking primitive in processkit.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BACK&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;workitem&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;workitem-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;workitem-management&lt;/code&gt; (Layer 2)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="state-machine"&gt;State machine&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;backlog → in-progress → review → done
 ↕
 blocked
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;All states can transition to &lt;code&gt;cancelled&lt;/code&gt;. &lt;code&gt;done&lt;/code&gt; and &lt;code&gt;cancelled&lt;/code&gt; are
terminal.&lt;/p&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string (1–200)&lt;/td&gt;
 &lt;td&gt;Short, actionable title&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;state&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Current state&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Long-form description, acceptance criteria&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;type&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;enum&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;task&lt;/code&gt; · &lt;code&gt;story&lt;/code&gt; · &lt;code&gt;bug&lt;/code&gt; · &lt;code&gt;epic&lt;/code&gt; · &lt;code&gt;spike&lt;/code&gt; · &lt;code&gt;chore&lt;/code&gt; (default: &lt;code&gt;task&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;priority&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;enum&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;critical&lt;/code&gt; · &lt;code&gt;high&lt;/code&gt; · &lt;code&gt;medium&lt;/code&gt; · &lt;code&gt;low&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;assignee&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ACTOR-*&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Responsible actor&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;parent&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BACK-*&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Parent work item (for subtasks / epics)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;children&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BACK-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Child work item IDs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;blocks&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BACK-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Items this one blocks&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;blocked_by&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BACK-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Items blocking this one&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;related_decisions&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DEC-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Decisions that motivated or govern this item&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Scope ID (sprint, milestone, release)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;estimate&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;Freeform effort estimate&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;started_at&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;datetime&lt;/td&gt;
 &lt;td&gt;Set automatically on first &lt;code&gt;in-progress&lt;/code&gt; transition&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;completed_at&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;datetime&lt;/td&gt;
 &lt;td&gt;Set automatically on &lt;code&gt;done&lt;/code&gt; or &lt;code&gt;cancelled&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;WorkItem&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;BACK-20260411_0900-BoldVale-fts5-full-text-search&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:00:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Add FTS5 full-text search to SQLite index&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;state&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;backlog&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;story&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;priority&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;medium&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; Implement FTS5 trigram tokeniser in index.py so agents can search
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; entity body text, not just frontmatter fields.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;related_decisions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;DEC-20260409_1200-SwiftPeak-sqlite-for-index&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;All state transitions are auto-logged via &lt;code&gt;event-log&lt;/code&gt; — no manual log
call needed.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;parent&lt;/code&gt; / &lt;code&gt;children&lt;/code&gt; to model epics and subtasks; keep the epic
type &lt;code&gt;epic&lt;/code&gt; and subtask types &lt;code&gt;task&lt;/code&gt; or &lt;code&gt;story&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scope&lt;/code&gt; is a free string; bind to a Scope entity via &lt;code&gt;binding-management&lt;/code&gt;
when you need richer scope tracking (dates, goals, state).&lt;/li&gt;
&lt;li&gt;Query by state, type, priority, or assignee via &lt;code&gt;query_workitems&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Generated CLI Reference</title><link>https://projectious-work.github.io/processkit/v1.x/docs/installer/cli-generated/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/installer/cli-generated/</guid><description>&lt;p&gt;Do not edit this page by hand. Regenerate it with
&lt;code&gt;uv run scripts/generate-v1-docs.py&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Native lifecycle CLI for processkit projects
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Usage: processkit &amp;lt;COMMAND&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Commands:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; plan Produce a deterministic, non-mutating installation plan
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; install Install a verified release into a new or empty target project
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; recover Roll back or finalize incomplete installer transactions
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; uninstall Remove unchanged files owned by a prior installation
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; update Update unchanged managed files from a verified release
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; verify-release Verify a signed local release against an explicit local trust store
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; verify Verify installed provenance and report managed-path drift
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; inspect-compatibility Inspect a legacy processkit tree without mutating it
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; migrate-v0 Transition an exact v0 release into a fresh v1 target
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; doctor Diagnose the installed project and Python MCP runtime without mutation
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mcp Verify or supervise the shipped Python MCP gateway
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; execute Execute one versioned installer request and emit one result envelope
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; help Print this message or the help of the given subcommand(s)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Options:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -h, --help Print help
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -V, --version Print version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>LogEntry</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/logentry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/logentry/</guid><description>&lt;p&gt;An immutable, append-only record of something that happened. The audit
trail primitive — never updated or deleted after creation.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;LOG&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none (immutable)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;event-log&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;event-log&lt;/code&gt; (Layer 0)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;event_type&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Machine-readable event type (e.g. &lt;code&gt;workitem.created&lt;/code&gt;, &lt;code&gt;gate.passed&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;actor&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;ID of actor who caused the event&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;timestamp&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;datetime&lt;/td&gt;
 &lt;td&gt;When the event occurred (ISO 8601 UTC)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;subject&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;ID of the entity the event concerns&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;subject_kind&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Kind of subject entity (fast filtering)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;summary&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;One-line human-readable summary&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;details&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;Event-specific structured payload&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;correlation_id&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Links related events (e.g. a workflow run)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;LogEntry&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;LOG-20260411_0901-SteadyWren-workitem-transitioned&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:01:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;event_type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;workitem.transitioned&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;actor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ACTOR-claude&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;timestamp&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:01:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;subject&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;BACK-20260411_0900-BoldVale-fts5-full-text-search&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;subject_kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;WorkItem&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;summary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;WorkItem transitioned from backlog to in-progress&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;details&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;from_state&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;backlog&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;to_state&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;in-progress&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="auto-logging"&gt;Auto-logging&lt;/h2&gt;
&lt;p&gt;Entity-mutating MCP servers (&lt;code&gt;create_*&lt;/code&gt;, &lt;code&gt;transition_*&lt;/code&gt;, &lt;code&gt;link_*&lt;/code&gt;) append a
LogEntry automatically — callers do not need to call &lt;code&gt;log_event&lt;/code&gt; separately.&lt;/p&gt;</description></item><item><title>Security Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/security/</guid><description>&lt;p&gt;Skills for application security, authentication, and threat analysis.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="dependency-audit"&gt;dependency-audit&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Audits project dependencies for vulnerabilities and outdated packages. Use when checking security posture or planning dependency updates.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; Checking dependencies, auditing security, updating packages, verifying dependency health before a release.
&lt;strong&gt;Tools:&lt;/strong&gt; None
&lt;strong&gt;References:&lt;/strong&gt; None&lt;/p&gt;
&lt;p&gt;Key capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Multi-ecosystem audit tool selection (cargo audit, pip-audit, npm audit, govulncheck)&lt;/li&gt;
&lt;li&gt;Severity-based triage: critical/high (fix immediately), medium (this sprint), low (when convenient)&lt;/li&gt;
&lt;li&gt;Update strategy: one dependency at a time, full test suite after each, changelog review&lt;/li&gt;
&lt;li&gt;Outdated package detection (cargo outdated, pip list &amp;ndash;outdated, npm outdated)&lt;/li&gt;
&lt;li&gt;Ongoing maintenance: monthly reviews, Dependabot/Renovate automation, pinned version documentation&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;&lt;summary&gt;Example usage&lt;/summary&gt;
&lt;p&gt;User asks &amp;ldquo;Are my dependencies secure?&amp;rdquo; The agent runs the appropriate audit tool for the project&amp;rsquo;s package manager, summarizes findings by severity, and recommends specific version bumps for vulnerable packages. Flags any dependencies with no maintained alternatives.&lt;/p&gt;</description></item><item><title>DecisionRecord</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/decisionrecord/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/decisionrecord/</guid><description>&lt;p&gt;A significant choice — architectural, product, or process — recorded with
its context, rationale, and alternatives. The ADR (Architecture Decision
Record) pattern as a first-class entity.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DEC&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;decisionrecord&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;decision-record&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;decision-record&lt;/code&gt; (Layer 2)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="state-machine"&gt;State machine&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;proposed → accepted → superseded
 ↘ rejected
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;accepted&lt;/code&gt;, &lt;code&gt;rejected&lt;/code&gt;, and &lt;code&gt;superseded&lt;/code&gt; are terminal.&lt;/p&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string (1–200)&lt;/td&gt;
 &lt;td&gt;Short declarative title&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;state&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Current state&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;decision&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;The chosen option, stated clearly&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;context&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Situation that prompted the decision&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;rationale&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Why this option was chosen&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;alternatives&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;object[]&lt;/td&gt;
 &lt;td&gt;Each with &lt;code&gt;option&lt;/code&gt; (required) and &lt;code&gt;rejected_because&lt;/code&gt; (optional)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;consequences&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Known or expected downstream effects&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;deciders&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ACTOR-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;People / agents who made the decision&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;supersedes&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DEC-*&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Prior decision this replaces&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;superseded_by&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DEC-*&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Later decision that replaces this one&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;related_workitems&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BACK-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Work items that motivated or implement this decision&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;decided_at&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;datetime&lt;/td&gt;
 &lt;td&gt;When the decision was finalised&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;DecisionRecord&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;DEC-20260411_0902-SwiftPeak-sqlite-for-index&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:02:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Use SQLite as the entity index store&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;state&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;accepted&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;decision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Use SQLite with WAL mode as the backing store for the index.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;context&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; We need a queryable index over all context/ entities that agents can
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; use without doing filesystem walks.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;rationale&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; SQLite is zero-config, ships as a Python built-in, and supports
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; full-text search via FTS5. No external service needed.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;alternatives&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;option&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;PostgreSQL&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;rejected_because&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Requires a running service; too heavy for local dev.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;option&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;DuckDB&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;rejected_because&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;No&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;built-in full-text search; adds a dependency.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;decided_at&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-09T12:00:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;supersede_decision&lt;/code&gt; to create a clean supersession chain when a
decision changes — the old record stays as history, the new one links
back via &lt;code&gt;supersedes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Link decisions to work items with &lt;code&gt;link_decision_to_workitem&lt;/code&gt; to make
the &amp;ldquo;why was this built?&amp;rdquo; trail queryable.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;proposed&lt;/code&gt; is the right starting state for decisions that need
stakeholder sign-off before being acted on.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Observability Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/observability/</guid><description>&lt;p&gt;Skills for logging, monitoring, tracing, and alerting in production systems.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="logging-strategy"&gt;logging-strategy&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Structured logging strategy including log levels, correlation IDs, context propagation, and PII avoidance. Use when designing logging, reviewing log statements, or setting up log aggregation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; Designing a logging approach, reviewing existing log statements, setting up log aggregation (ELK, Loki, CloudWatch), adding correlation IDs, deciding what to log and what to avoid.
&lt;strong&gt;Tools:&lt;/strong&gt; &lt;code&gt;Bash&lt;/code&gt; &lt;code&gt;Read&lt;/code&gt; &lt;code&gt;Write&lt;/code&gt;
&lt;strong&gt;References:&lt;/strong&gt; &lt;code&gt;structured-logging.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Key capabilities:&lt;/p&gt;</description></item><item><title>Rust Library API</title><link>https://projectious-work.github.io/processkit/v1.x/docs/installer/rust-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/installer/rust-api/</guid><description>&lt;p&gt;The &lt;code&gt;processkit&lt;/code&gt; crate exposes the versioned request envelope used by
&lt;code&gt;processkit execute --request&lt;/code&gt;. The supported alpha surface is intentionally
small:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;API_VERSION&lt;/code&gt; identifies the machine protocol;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Operation&lt;/code&gt; enumerates supported lifecycle operations; and&lt;/li&gt;
&lt;li&gt;&lt;code&gt;InstallerRequest&lt;/code&gt; constructs and serializes typed request envelopes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Build and test the API documentation with:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo &lt;span class="nb"&gt;test&lt;/span&gt; --doc --locked --manifest-path installer/Cargo.toml
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cargo doc --locked --no-deps --manifest-path installer/Cargo.toml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Public items follow semantic versioning within the v1 release line. Modules
and functions not reachable from the crate root are internal implementation
details and may change between prereleases. Filesystem transactions, release
verification, and lifecycle execution remain behind the executable boundary;
the library does not offer an alternate mutation path.&lt;/p&gt;</description></item><item><title>Artifact</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/artifact/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/artifact/</guid><description>&lt;p&gt;A completed deliverable — document, dataset, build, diagram, URL,
runbook, slide deck, or any other produced output. A catalogue record,
not a work-tracking entity.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ART&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;artifact-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;artifact-management&lt;/code&gt; (Layer 2)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="two-usage-patterns"&gt;Two usage patterns&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Self-hosted&lt;/strong&gt; — the content lives in the entity file&amp;rsquo;s Markdown body.
&lt;code&gt;location&lt;/code&gt; is omitted or used as an optional secondary pointer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pointer&lt;/strong&gt; — the content lives externally (Figma, Google Drive, S3, a
git path). &lt;code&gt;location&lt;/code&gt; is required; the body may be empty or contain a
summary.&lt;/p&gt;</description></item><item><title>Database Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/database/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/database/</guid><description>&lt;p&gt;Skills for SQL, data modeling, NoSQL patterns, and schema migrations.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="sql-patterns"&gt;sql-patterns&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;SQL query patterns, schema design, and optimization. Joins, CTEs, window functions, indexing, and anti-patterns. Use when writing SQL queries, designing schemas, optimizing database performance, or reviewing database code.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; Writing or optimizing SQL queries (joins, CTEs, window functions), designing or reviewing schemas, analyzing EXPLAIN plans, choosing indexing strategies, fixing slow queries, implementing pagination or analytical queries.
&lt;strong&gt;Tools:&lt;/strong&gt; &lt;code&gt;Bash&lt;/code&gt; &lt;code&gt;Read&lt;/code&gt; &lt;code&gt;Write&lt;/code&gt;
&lt;strong&gt;References:&lt;/strong&gt; &lt;code&gt;query-patterns.md&lt;/code&gt;, &lt;code&gt;schema-design.md&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Note</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/note/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/note/</guid><description>&lt;p&gt;A Zettelkasten capture layer for ideas, observations, and references.
Notes exist on a spectrum from raw capture (fleeting) to permanent
knowledge (insight).&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;NOTE&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;note&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;note-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;note-management&lt;/code&gt; (Layer 2)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="state-machine"&gt;State machine&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;fleeting → insight
 ↘ promoted (promoted to another entity kind)
 ↘ archived
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;insight&lt;/code&gt;, &lt;code&gt;promoted&lt;/code&gt;, and &lt;code&gt;archived&lt;/code&gt; are terminal.&lt;/p&gt;
&lt;h2 id="note-types-luhmannahrens-taxonomy"&gt;Note types (Luhmann/Ahrens taxonomy)&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;fleeting&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Quick capture, not yet refined — review within a week&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;insight&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Permanent note — self-contained conclusion, part of knowledge base&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;reference&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Literature note — pointer to an external source with summary&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;question&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open question — may promote to WorkItem (spike) or Discussion&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string (1–120)&lt;/td&gt;
 &lt;td&gt;Self-contained claim or question — not a topic label&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;body&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;The note content&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;type&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;enum&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;fleeting&lt;/code&gt; · &lt;code&gt;insight&lt;/code&gt; · &lt;code&gt;reference&lt;/code&gt; · &lt;code&gt;question&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;state&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Current state&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;tags&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string[]&lt;/td&gt;
 &lt;td&gt;Freeform tags for discoverability&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;source&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;For &lt;code&gt;reference&lt;/code&gt; notes: URL, book title, or conversation&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;promotes_to&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;{kind, id}&lt;/code&gt; — target entity when promoted&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;review_due&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;date&lt;/td&gt;
 &lt;td&gt;When the note should be reviewed&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;inbox&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;Hook-inbox status and routing metadata&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;links&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;object[]&lt;/td&gt;
 &lt;td&gt;Typed edges to other Notes (see below)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="hook-inbox"&gt;Hook inbox&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;note-management&lt;/code&gt; MCP server can capture external or
agent-generated interrupts as Notes with &lt;code&gt;spec.inbox&lt;/code&gt;. Inbox items move
through &lt;code&gt;captured&lt;/code&gt;, &lt;code&gt;claimed&lt;/code&gt;, &lt;code&gt;completed&lt;/code&gt;, or &lt;code&gt;failed&lt;/code&gt;, with an
&lt;code&gt;injection_mode&lt;/code&gt; of &lt;code&gt;interrupt&lt;/code&gt;, &lt;code&gt;ambient&lt;/code&gt;, or &lt;code&gt;next-cycle&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Actor</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/actor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/actor/</guid><description>&lt;p&gt;A participant in the project — human, AI agent, or automated service.
Actors are assigned to WorkItems, named in DecisionRecords, and bound
to Roles.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ACTOR&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;actor-profile&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;actor-profile&lt;/code&gt; (Layer 1)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;type&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;enum&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;human&lt;/code&gt; · &lt;code&gt;ai-agent&lt;/code&gt; · &lt;code&gt;service&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string (1–200)&lt;/td&gt;
 &lt;td&gt;Display name (for AI agents: model name + version)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;email&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;email&lt;/td&gt;
 &lt;td&gt;Humans only&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;handle&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;GitHub handle, Slack user, etc.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;expertise&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string[]&lt;/td&gt;
 &lt;td&gt;Tags used by assignment-suggestion logic&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;roles&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ROLE-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Shortcut for unscoped role assignment&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;preferences&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;Freeform (commit style, timezone, review style, …)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;active&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;boolean&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt; = actor has left, no new work assigned (default: &lt;code&gt;true&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;joined_at&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;datetime&lt;/td&gt;
 &lt;td&gt;When actor became part of the project&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;left_at&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;datetime&lt;/td&gt;
 &lt;td&gt;When actor stopped&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Actor&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ACTOR-20260411_0906-SteadyWren-claude&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:06:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ai-agent&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Claude Sonnet 4.6&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;handle&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;claude&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;expertise&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;python, typescript, processkit, documentation]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;active&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;preferences&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;commit_style&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;conventional-commits&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;timezone&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;UTC&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Roles are descriptive, not restrictive — processkit does not enforce
RBAC. Use &lt;code&gt;roles&lt;/code&gt; for assignment-suggestion only.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;deactivate_actor&lt;/code&gt; (not manual editing) to mark an actor as
&lt;code&gt;active: false&lt;/code&gt;; it keeps the index consistent.&lt;/li&gt;
&lt;li&gt;For scoped or time-bounded role assignments, use a &lt;strong&gt;Binding&lt;/strong&gt; instead
of the &lt;code&gt;roles&lt;/code&gt; shortcut field.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Installer Contract</title><link>https://projectious-work.github.io/processkit/v1.x/docs/installer/contract/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/installer/contract/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 status:&lt;/strong&gt; Implemented for explicit local distributions and signed
local releases. Canonical online release acquisition is not implemented.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The standalone installer consumes only a release directory or verified archive
explicitly supplied by its caller. It has no built-in release URL, package
layout, MCP inventory, or harness policy.&lt;/p&gt;
&lt;p&gt;The release-owned contract is under &lt;code&gt;.processkit/installer/&lt;/code&gt;. Protocol
&lt;code&gt;processkit.projectious.work/installer/v1alpha1&lt;/code&gt; supports deterministic
planning plus transactional install, update, uninstall, and recovery.
&lt;code&gt;copy/v1&lt;/code&gt; and &lt;code&gt;preserve-user/v1&lt;/code&gt; are the closed payload operations.&lt;/p&gt;</description></item><item><title>v1 Alpha Release Facts</title><link>https://projectious-work.github.io/processkit/v1.x/docs/reference/v1-alpha-release-facts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/reference/v1-alpha-release-facts/</guid><description>&lt;p&gt;Do not edit this page by hand. Its authoritative source is
&lt;code&gt;release/v1-release-facts.json&lt;/code&gt;.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Fact&lt;/th&gt;
 &lt;th&gt;Value&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Release&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;v1.0.0-alpha.5&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Status&lt;/td&gt;
 &lt;td&gt;exact-pin prerelease&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Signature&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;Ed25519&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Installer protocol&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;processkit.projectious.work/installer/v1alpha1&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Entity API version&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;processkit.projectious.work/v2&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="native-assets"&gt;Native Assets&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;processkit-v1.0.0-alpha.5-x86_64-unknown-linux-gnu&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;processkit-v1.0.0-alpha.5-aarch64-unknown-linux-gnu&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;processkit-v1.0.0-alpha.5-x86_64-apple-darwin&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;processkit-v1.0.0-alpha.5-aarch64-apple-darwin&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Every published asset has a checksum sidecar and is bound into the signed
release envelope. The public release is the authority for final checksums and
host provenance.&lt;/p&gt;</description></item><item><title>Role</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/role/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/role/</guid><description>&lt;p&gt;A named set of responsibilities. Roles are descriptive — they document
who is expected to do what, but do not enforce access control.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ROLE&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;role-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;role-management&lt;/code&gt; (Layer 1)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string (1–100)&lt;/td&gt;
 &lt;td&gt;Kebab-case identifier matching the &lt;code&gt;metadata.id&lt;/code&gt; suffix&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;One-sentence purpose statement&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;responsibilities&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string[]&lt;/td&gt;
 &lt;td&gt;Imperative bullet points — concrete, not vague&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;skills_required&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string[]&lt;/td&gt;
 &lt;td&gt;Skill IDs or names (advisory, not enforced)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;default_scope&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;enum&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;project&lt;/code&gt; · &lt;code&gt;sprint&lt;/code&gt; · &lt;code&gt;permanent&lt;/code&gt; — assumed scope when binding without an explicit one&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;supersedes&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ROLE-*&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Role ID this one replaces&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Role&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ROLE-20260411_0907-ClearOak-tech-lead&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:07:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;tech-lead&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Owns technical direction and architecture decisions.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;responsibilities&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;Review and approve architectural decisions (DEC)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;Unblock teammates on technical questions within 24 hours&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;Run weekly engineering sync&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;skills_required&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;software-architecture, code-review, decision-record]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;default_scope&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;project&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Roles describe responsibilities, not permissions. processkit does not
enforce RBAC.&lt;/li&gt;
&lt;li&gt;A global, unscoped assignment can use the Actor&amp;rsquo;s &lt;code&gt;roles&lt;/code&gt; field
directly. For a scoped or time-bounded assignment (&amp;ldquo;Alice is tech lead
on Project X for Q2&amp;rdquo;), create a &lt;strong&gt;Binding&lt;/strong&gt; instead.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;link_role_to_actor&lt;/code&gt; creates the shortcut entry on the Actor entity.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Binding</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/binding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/binding/</guid><description>&lt;p&gt;A scoped or time-bounded relationship between two entities — the
junction-table pattern promoted to a first-class primitive. Use when a
relationship has scope, time, or its own attributes; use a frontmatter
cross-reference field otherwise.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;BIND&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;binding-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;binding-management&lt;/code&gt; (Layer 2)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="when-to-use-a-binding-vs-a-cross-reference"&gt;When to use a Binding vs a cross-reference&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Situation&lt;/th&gt;
 &lt;th&gt;Use&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;A blocks B&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;frontmatter &lt;code&gt;blocks: [BACK-...]&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;Alice is a developer&amp;rdquo; (globally)&lt;/td&gt;
 &lt;td&gt;Actor&amp;rsquo;s &lt;code&gt;roles: [ROLE-...]&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;Alice is tech lead on Project X for Q2 2026&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Binding&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;Security gate applies to this release WorkItem on main&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Binding&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;Sprint 7 scopes these work items for Apr 1-14&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;Binding&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;type&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Freeform binding type (see conventions below)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;subject&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Entity on the &amp;ldquo;from&amp;rdquo; side&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;target&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Entity on the &amp;ldquo;to&amp;rdquo; side&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;subject_kind&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Primitive kind of subject&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;target_kind&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Primitive kind of target&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;SCOPE-*&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Scope within which the binding applies&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;valid_from&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;When binding starts (date or ISO 8601 datetime)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;valid_until&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;When binding stops&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;conditions&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;object&lt;/td&gt;
 &lt;td&gt;Freeform constraints attached to binding&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;One-line human-readable summary&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="type-conventions"&gt;Type conventions&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Meaning&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;role-assignment&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Actor → Role (scoped)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;work-assignment&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Actor → WorkItem (assigned to sprint/scope)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;workitem-gate&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;WorkItem → Gate (this gate guards this run or task)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;scope-gate&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Scope → Gate (this gate applies within this scope)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;time-window&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Entity → Artifact/Scope (time or recurrence contract)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;budget-application&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Artifact → WorkItem/Scope (cost policy applies here)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;constraint-scope&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Constraint → Scope (constraint applies in this scope)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;category-assignment&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Entity → Category value&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Process and Schedule are not v2 Binding endpoints. Legacy
&lt;code&gt;process-gate&lt;/code&gt;, &lt;code&gt;process-scope&lt;/code&gt;, and &lt;code&gt;schedule-scope&lt;/code&gt; records should be
migrated to concrete WorkItem, Scope, Artifact, Gate, or time-window
relationships.&lt;/p&gt;</description></item><item><title>Scope</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/scope/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/scope/</guid><description>&lt;p&gt;A bounded container for work — sprint, milestone, quarter, release, or
project. Scopes give WorkItems, Processes, and Constraints a shared
time and goal boundary.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;SCOPE&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;scope-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;scope-management&lt;/code&gt; (Layer 2)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="state-machine"&gt;State machine&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;planned → active → completed
 ↘ cancelled
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;completed&lt;/code&gt; and &lt;code&gt;cancelled&lt;/code&gt; are terminal.&lt;/p&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string (1–200)&lt;/td&gt;
 &lt;td&gt;Human-readable name&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;enum&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;sprint&lt;/code&gt; · &lt;code&gt;milestone&lt;/code&gt; · &lt;code&gt;quarter&lt;/code&gt; · &lt;code&gt;project&lt;/code&gt; · &lt;code&gt;release&lt;/code&gt; · &lt;code&gt;other&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;state&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Current state&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;starts_at&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;date&lt;/td&gt;
 &lt;td&gt;Start date&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ends_at&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;date&lt;/td&gt;
 &lt;td&gt;End date&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;goals&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string[]&lt;/td&gt;
 &lt;td&gt;Concrete, testable outcomes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Longer context&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;parent&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;SCOPE-*&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Parent scope (a quarter contains sprints)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;related_decisions&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DEC-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Planning or retro decisions for this scope&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Scope&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;SCOPE-20260411_0909-BrightElm-sprint-7&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:09:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Sprint 7 — WildButter docs push&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;sprint&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;state&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;active&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;starts_at&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ends_at&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-25&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;goals&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;All primitive reference pages published&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;Hugo and Docsy local build green&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;First public deploy complete&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;SCOPE-20260410_q2-2026&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Attach WorkItems to a Scope via a &lt;code&gt;scope&lt;/code&gt; field on the WorkItem, or
via a &lt;code&gt;work-assignment&lt;/code&gt; Binding when richer tracking is needed.&lt;/li&gt;
&lt;li&gt;Scope hierarchy (quarter → sprint) is modelled via the &lt;code&gt;parent&lt;/code&gt; field.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;transition_scope&lt;/code&gt; to &lt;code&gt;active&lt;/code&gt; when work begins; to &lt;code&gt;completed&lt;/code&gt; when
the scope closes — this timestamps the lifecycle automatically.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Discussion</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/discussion/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/discussion/</guid><description>&lt;p&gt;A structured, multi-turn conversation exploring an open question.
Discussions capture the back-and-forth of deliberation and produce
(or fail to produce) DecisionRecords as outcomes.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DISC&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;discussion&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;discussion-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;discussion-management&lt;/code&gt; (Layer 4)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="state-machine"&gt;State machine&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;active → resolved
 ↘ closed (no outcome)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;resolved&lt;/code&gt; and &lt;code&gt;closed&lt;/code&gt; are terminal.&lt;/p&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;question&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;The driving question — one crisp sentence&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;state&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Current state&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;participants&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ACTOR-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Actors participating&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;related&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DISC-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Related discussion IDs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;outcomes&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DEC-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;DecisionRecord IDs produced by this discussion&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;opened_at&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;datetime&lt;/td&gt;
 &lt;td&gt;When the discussion started&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;closed_at&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;datetime&lt;/td&gt;
 &lt;td&gt;When it was marked resolved or closed&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Discussion&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;DISC-20260411_0910-ClearWave-primitive-page-format&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:10:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;What format should per-primitive reference pages follow?&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;state&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;resolved&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;participants&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;ACTOR-claude, ACTOR-20260411_0906-owner]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;outcomes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;DEC-20260411_0911-SwiftMeadow-primitive-page-format]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;opened_at&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:10:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;closed_at&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:30:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;add_outcome&lt;/code&gt; to attach a DecisionRecord after it has been created
with &lt;code&gt;record_decision&lt;/code&gt;. Both tools auto-log.&lt;/li&gt;
&lt;li&gt;Discussions are the audit trail behind decisions — if a decision was
reached after deliberation, the Discussion captures the reasoning path.&lt;/li&gt;
&lt;li&gt;Transition to &lt;code&gt;resolved&lt;/code&gt; when a Decision was reached; to &lt;code&gt;closed&lt;/code&gt; when
the question was abandoned or became moot.&lt;/li&gt;
&lt;li&gt;The Markdown body (below the YAML frontmatter) is the space for the
discussion thread — arguments, evidence, proposals, objections.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Gate</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/gate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/gate/</guid><description>&lt;p&gt;A validation checkpoint in a process. Gates define what must be true
before work can proceed. Evaluation results are LogEntries —
&lt;code&gt;gate.passed&lt;/code&gt;, &lt;code&gt;gate.failed&lt;/code&gt;, or &lt;code&gt;gate.waived&lt;/code&gt;.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;GATE&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;gate-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;gate-management&lt;/code&gt; (Layer 3)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string (1–100)&lt;/td&gt;
 &lt;td&gt;Short kebab-case identifier&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;What this gate checks (one sentence)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;enum&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;manual&lt;/code&gt; · &lt;code&gt;automated&lt;/code&gt; · &lt;code&gt;hybrid&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;validator&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Prose description of the check (one–two sentences)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;validator_command&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;CLI command for automated/hybrid gates&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;required_roles&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;ROLE-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Roles authorised to sign off&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;blocking&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;boolean&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt; = work cannot proceed without passing (default: &lt;code&gt;true&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;evidence_required&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;boolean&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt; = &lt;code&gt;gate.passed&lt;/code&gt; log must include artifact reference (default: &lt;code&gt;false&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Gate&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;GATE-20260411_0912-SteadyArch-smoke-tests-green&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:12:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;smoke-tests-green&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;All MCP server smoke tests must pass before tagging a release.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;automated&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;validator&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Run `uv run scripts/smoke-test-servers.py` — exit 0 required.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;validator_command&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;uv run scripts/smoke-test-servers.py&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;blocking&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;evidence_required&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Gates define &lt;em&gt;what&lt;/em&gt; to check; the evaluation happens externally (by an
agent, CI, or human). Log the result with &lt;code&gt;log_event&lt;/code&gt; using
&lt;code&gt;event_type: gate.passed&lt;/code&gt;, &lt;code&gt;gate.failed&lt;/code&gt;, or &lt;code&gt;gate.waived&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;evaluate_gate&lt;/code&gt; runs the &lt;code&gt;validator_command&lt;/code&gt; (if set) and logs the
result in one call.&lt;/li&gt;
&lt;li&gt;Advisory gates (&lt;code&gt;blocking: false&lt;/code&gt;) surface warnings without halting
the process.&lt;/li&gt;
&lt;li&gt;Attach gates to concrete v2 surfaces via &lt;code&gt;workitem-gate&lt;/code&gt; or
&lt;code&gt;scope-gate&lt;/code&gt; Bindings. Legacy &lt;code&gt;process-gate&lt;/code&gt; Bindings are migration-only.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Python MCP runtime contract</title><link>https://projectious-work.github.io/processkit/v1.x/docs/installer/runtime/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/installer/runtime/</guid><description>&lt;p&gt;Python is an intentional processkit runtime dependency. It implements the MCP
servers; it is not required by the Model Context Protocol itself. The native
Rust CLI owns installation and lifecycle safety. Native diagnostics and
process supervision wrap that Python implementation; they do not reimplement
MCP behavior.&lt;/p&gt;
&lt;h2 id="current-alpha-requirements"&gt;Current alpha requirements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Python 3.10 or newer must be discoverable by &lt;code&gt;uv&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;uv&lt;/code&gt; must support PEP 723 script metadata.&lt;/li&gt;
&lt;li&gt;The installed gateway script and processkit shared Python library must be
readable from the selected project root.&lt;/li&gt;
&lt;li&gt;The first preparation may require network access to populate the &lt;code&gt;uv&lt;/code&gt; cache.&lt;/li&gt;
&lt;li&gt;Direct &lt;code&gt;uv run&lt;/code&gt; startup remains a supported compatibility and development
interface.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Every shipped MCP entry point declares its Python constraint and dependencies
in a PEP 723 block. The gateway currently declares:&lt;/p&gt;</description></item><item><title>Migration</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/migration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/migration/</guid><description>&lt;p&gt;A pending, in-progress, or applied transition between two upstream
processkit versions. Migrations are generated by &lt;code&gt;aibox sync&lt;/code&gt; and
represent the delta an agent must apply to bring the project&amp;rsquo;s
&lt;code&gt;context/&lt;/code&gt; up to date.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;MIG&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;migration&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;migration-management&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;migration-management&lt;/code&gt; (Layer 3)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="state-machine"&gt;State machine&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;pending → in-progress → applied
 ↘ rejected
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;applied&lt;/code&gt; and &lt;code&gt;rejected&lt;/code&gt; are terminal.&lt;/p&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;source&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Upstream source identifier (&lt;code&gt;processkit&lt;/code&gt;, &lt;code&gt;processkit-acme&lt;/code&gt;, …)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;from_version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Version migrating FROM (semver tag)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;to_version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Version migrating TO (semver tag)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;state&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Current state&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;source_url&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Git URL of upstream (for re-fetch if needed)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;generated_by&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;What generated this (&lt;code&gt;aibox sync&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, …)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;generated_at&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;datetime&lt;/td&gt;
 &lt;td&gt;When the migration document was written&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;summary&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;One-line summary for listings&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;affected_files&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;object[]&lt;/td&gt;
 &lt;td&gt;Files touched — each with &lt;code&gt;path&lt;/code&gt;, &lt;code&gt;classification&lt;/code&gt;, and optional &lt;code&gt;group&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;affected_groups&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string[]&lt;/td&gt;
 &lt;td&gt;Logical groups affected (unit of auto-update)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;plan&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Project-specific migration plan drafted by agent&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;progress_notes&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;object[]&lt;/td&gt;
 &lt;td&gt;Append-only notes: &lt;code&gt;{timestamp, note, actor}&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;applied_at&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;datetime&lt;/td&gt;
 &lt;td&gt;When migration reached &lt;code&gt;applied&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;applied_by&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Actor ID that finalised the migration&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;rejected_reason&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;If rejected, why&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;source_api_version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;API version before a v2 conversion&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;target_api_version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;API version after a v2 conversion&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;source_processkit_version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;processkit version before conversion&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;target_processkit_version&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;processkit version after conversion&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;apply_mode&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Migration apply mode (&lt;code&gt;one-shot&lt;/code&gt;, etc.)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The &lt;code&gt;migration-management&lt;/code&gt; MCP server manages migration state
transitions and provides &lt;code&gt;migrate_context_to_v2(dry_run=true)&lt;/code&gt; for the
breaking v2 API conversion path.&lt;/p&gt;</description></item><item><title>Schedule</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/schedule/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/schedule/</guid><description>&lt;p&gt;Legacy v1 time-based trigger or recurring cadence. In the
SmoothTiger/SmoothRiver v2 direction, processkit no longer presents
&lt;code&gt;Schedule&lt;/code&gt; as a first-class shipped entity surface. Use
&lt;code&gt;Binding(type=time-window)&lt;/code&gt; with &lt;code&gt;conditions.recurrence_rule&lt;/code&gt; for the
durable contract; an external runner still performs execution.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;SCHED&lt;/code&gt; (legacy v1)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;schedule-management&lt;/code&gt; (legacy authoring guidance)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="v2-replacement"&gt;v2 replacement&lt;/h2&gt;
&lt;p&gt;Use the &lt;code&gt;binding-management&lt;/code&gt; server&amp;rsquo;s &lt;code&gt;create_time_window&lt;/code&gt; path for
time windows. &lt;code&gt;pk-doctor&lt;/code&gt;&amp;rsquo;s &lt;code&gt;v2_contracts&lt;/code&gt; check requires
&lt;code&gt;Binding(type=time-window)&lt;/code&gt; records to include
&lt;code&gt;conditions.recurrence_rule&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Constraint</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/constraint/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/constraint/</guid><description>&lt;p&gt;An explicit rule or limit the project must respect — budget ceiling,
latency SLO, regulatory requirement, team capacity cap. Violations
are LogEntries; constraints themselves do not change when violated.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;CONST&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;constraint-management&lt;/code&gt; (Layer 3)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Kebab-case identifier&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;One-sentence statement of the constraint&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kind&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;enum&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;budget&lt;/code&gt; · &lt;code&gt;slo&lt;/code&gt; · &lt;code&gt;regulatory&lt;/code&gt; · &lt;code&gt;capacity&lt;/code&gt; · &lt;code&gt;dependency&lt;/code&gt; · &lt;code&gt;policy&lt;/code&gt; · &lt;code&gt;other&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;severity&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;enum&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;hard&lt;/code&gt; · &lt;code&gt;soft&lt;/code&gt; · &lt;code&gt;advisory&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;measurement&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;How to determine if the constraint is met&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;target&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Threshold or boundary value&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;source&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Where the constraint comes from (contract, regulation, decision)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;active&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;boolean&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt; = no longer in effect (default: &lt;code&gt;true&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;related_decisions&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;DEC-*[]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Decisions that established or relaxed the constraint&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="severity-levels"&gt;Severity levels&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Level&lt;/th&gt;
 &lt;th&gt;Meaning&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;hard&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Cannot violate — work stops until resolved&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;soft&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Flagged and tracked; can be overridden with justification&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;advisory&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Informational — violation noted but no process impact&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Constraint&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;CONST-20260411_0916-SteadyMoss-api-latency-slo&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:16:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;api-latency-slo&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;MCP tool round-trip p99 latency must stay below 200ms.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;slo&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;severity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;hard&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;lt; 200ms p99&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;measurement&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; Measured via the observability pipeline from tool-call dispatch to
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; server response. Alert fires if exceeded for 5 minutes.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;source&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Customer SLA — contract clause 4.2&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;related_decisions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;DEC-20260409_latency-slo-accepted&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Constraint violations are logged via &lt;code&gt;log_event&lt;/code&gt; with
&lt;code&gt;event_type: constraint.violated&lt;/code&gt; — the Constraint entity itself is
not modified.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;hard&lt;/code&gt; constraint violation should surface as a blocked WorkItem or
an urgent Discussion.&lt;/li&gt;
&lt;li&gt;Bind a Constraint to a Scope via a &lt;code&gt;constraint-scope&lt;/code&gt; Binding to make
it scope-specific rather than project-wide.&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;active: false&lt;/code&gt; when a constraint is no longer in effect (SLA
renegotiated, regulatory exemption granted).&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Category</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/category/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/category/</guid><description>&lt;p&gt;A classification axis with a closed set of allowed values — priority
levels, bug severity tiers, product areas. Use Category when the valid
values are defined and enforced; use freeform labels for open-ended
tagging.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;CAT&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;category-management&lt;/code&gt; (Layer 2)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string (1–100)&lt;/td&gt;
 &lt;td&gt;Category name (kebab-case)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;What this axis classifies&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;axis&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Label key used on entities (e.g. &lt;code&gt;priority&lt;/code&gt;, &lt;code&gt;severity&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;values&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;object[]&lt;/td&gt;
 &lt;td&gt;Allowed values — each with &lt;code&gt;name&lt;/code&gt; (required), &lt;code&gt;description&lt;/code&gt;, &lt;code&gt;deprecated&lt;/code&gt;, &lt;code&gt;children&lt;/code&gt; (optional)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;applies_to&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string[]&lt;/td&gt;
 &lt;td&gt;Primitive kinds this applies to; empty = applies anywhere&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;default&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Default value when unspecified&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;multi&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;boolean&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt; = entity can carry multiple values (default: &lt;code&gt;false&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Category&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;CAT-20260411_0917-BrightFern-workitem-priority&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-11T09:17:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;workitem-priority&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Business priority for work items.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;axis&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;priority&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;applies_to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;WorkItem]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;default&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;medium&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;values&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;critical&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Blocks a release or customer. Drop everything.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;high&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Important this sprint. Do before medium items.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;medium&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Normal priority. Default.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;low&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Nice to have. Defer if sprint is full.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Categories complement the &lt;code&gt;type&lt;/code&gt; and &lt;code&gt;priority&lt;/code&gt; fields already on
WorkItem — use Category when you need a &lt;em&gt;custom&lt;/em&gt; classification axis
beyond the built-in enums.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deprecated: true&lt;/code&gt; on a value signals it should no longer be used on
new entities, but keeps old entities valid.&lt;/li&gt;
&lt;li&gt;Hierarchical value sets use the &lt;code&gt;children&lt;/code&gt; field to model tree-shaped
taxonomies (e.g. product area → sub-area).&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>CrossReference</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/cross-reference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/cross-reference/</guid><description>&lt;p&gt;A lightweight, frontmatter-embedded relationship between two entities.
CrossReference is not a file — it is a convention for fields in the
&lt;code&gt;spec&lt;/code&gt; block of any entity.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;— (not a file entity)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;—&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;index-management&lt;/code&gt; (for querying)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;cross-reference-management&lt;/code&gt; (Layer 2)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="when-to-use-a-crossreference-vs-a-binding"&gt;When to use a CrossReference vs a Binding&lt;/h2&gt;
&lt;p&gt;Use a CrossReference when the relationship is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Simple&lt;/strong&gt; — no scope, no time bounds, no attributes of its own&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Directional&lt;/strong&gt; — one entity points at another&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use a &lt;strong&gt;Binding&lt;/strong&gt; when the relationship has scope, time, or its own
attributes.&lt;/p&gt;</description></item><item><title>Context</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/context-entity/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/context-entity/</guid><description>&lt;p&gt;A structured narrative document for long-lived ambient knowledge —
owner identity, working style, team relationships, grooming reports,
situational briefings. The value lives in the Markdown body.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;CTX&lt;/code&gt; (or custom, e.g. &lt;code&gt;OWNER&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;context-grooming&lt;/code&gt; (Layer 4)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="fields"&gt;Fields&lt;/h2&gt;
&lt;h3 id="required"&gt;Required&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;One-sentence summary of what this document holds&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="optional"&gt;Optional&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Type&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;purpose&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Why the document exists — when an agent should read it&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;scope&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string&lt;/td&gt;
 &lt;td&gt;Where the context applies (&lt;code&gt;project&lt;/code&gt;, &lt;code&gt;owner&lt;/code&gt;, &lt;code&gt;team&lt;/code&gt;, &lt;code&gt;sprint&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;tags&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;string[]&lt;/td&gt;
 &lt;td&gt;Freeform tags for retrieval&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;sensitive&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;boolean&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt; = body contains sensitive information (default: &lt;code&gt;false&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;processkit.projectious.work/v1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;kind&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Context&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;OWNER-identity&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;2026-04-09T00:00:00Z&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Owner identity, working style, and preferences for AI agents.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;purpose&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; Read at session start to calibrate communication style and technical
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; depth. Load before any substantive work begins.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;scope&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;owner&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;sensitive&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;## Identity&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;Role&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;Timezone&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;## Working style&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;...&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Context entities use the Markdown body (below the YAML frontmatter)
for their primary content. The &lt;code&gt;spec&lt;/code&gt; block is metadata only.&lt;/li&gt;
&lt;li&gt;Custom ID prefixes (e.g. &lt;code&gt;OWNER-identity&lt;/code&gt;, &lt;code&gt;CTX-team-norms&lt;/code&gt;) are
idiomatic — the &lt;code&gt;CTX-&lt;/code&gt; prefix is the default but not required.&lt;/li&gt;
&lt;li&gt;Sensitive context (&lt;code&gt;sensitive: true&lt;/code&gt;) should live under
&lt;code&gt;context/**/private/&lt;/code&gt; to be excluded from git tracking and the
docs-site build.&lt;/li&gt;
&lt;li&gt;Context grooming (&lt;code&gt;context-grooming&lt;/code&gt; skill) prunes stale Context
documents periodically — documents that have not been read or updated
for a long time are candidates for archiving.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Process</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/process-entity/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/process-entity/</guid><description>&lt;p&gt;Legacy v1 declarative workflow definition. In the
SmoothTiger/SmoothRiver v2 direction, processkit no longer presents
&lt;code&gt;Process&lt;/code&gt; as a first-class shipped entity surface. Use a
process-instance WorkItem for a concrete run and an Artifact for the
reusable process definition.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;PROC&lt;/code&gt; (legacy v1)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;process-management&lt;/code&gt; (legacy authoring guidance)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="v2-replacement"&gt;v2 replacement&lt;/h2&gt;
&lt;p&gt;Use:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;WorkItem&lt;/code&gt; with &lt;code&gt;spec.type: process-instance&lt;/code&gt; for a workflow run.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Artifact&lt;/code&gt; with &lt;code&gt;spec.kind&lt;/code&gt; describing the reusable process
definition.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gate&lt;/code&gt; and &lt;code&gt;Binding&lt;/code&gt; records for policies that apply to the run.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;pk-doctor&lt;/code&gt;&amp;rsquo;s &lt;code&gt;v2_contracts&lt;/code&gt; check flags v2 process-instance WorkItems
that do not point at a process definition.&lt;/p&gt;</description></item><item><title>StateMachine</title><link>https://projectious-work.github.io/processkit/v1.x/docs/primitives/statemachine/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/primitives/statemachine/</guid><description>&lt;p&gt;Legacy v1 state/transition graph entity. In the SmoothTiger/SmoothRiver
v2 direction, processkit no longer presents &lt;code&gt;StateMachine&lt;/code&gt; as a
first-class shipped entity surface. State machines still exist as
validation machinery used by MCP servers, but users should not model
new workflow records as StateMachine entities.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ID prefix&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;SM&lt;/code&gt; (legacy v1)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;State machine&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none (meta-primitive)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MCP server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;none&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Skill&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;state-machine-management&lt;/code&gt; (legacy authoring guidance)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="v2-replacement"&gt;v2 replacement&lt;/h2&gt;
&lt;p&gt;Use the owning MCP server for lifecycle transitions. It loads the
appropriate implementation contract and returns structured errors for
invalid transitions. Project workflows should be expressed with
WorkItems, Artifacts, Gates, and Bindings rather than new
StateMachine records.&lt;/p&gt;</description></item><item><title>Release Production</title><link>https://projectious-work.github.io/processkit/v1.x/docs/installer/local-release/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/installer/local-release/</guid><description>&lt;p&gt;The v1 release path is agent-first, human-operable, and entirely local.
Maintainer-controlled machines invoke the same repository scripts and bind
their native results to one tagged commit. No GitHub Actions or hosted build
service participates.&lt;/p&gt;
&lt;h2 id="one-time-key-setup"&gt;One-time key setup&lt;/h2&gt;
&lt;p&gt;Keep the private key outside the repository. The public key may be copied to
the local trust store of every machine that installs official releases.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;scripts/processkit-keygen-local.sh &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/.config/processkit/keys/release.pem&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/.config/processkit/trust.d/release.pub.pem&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Back up the private key securely. Losing it prevents producing a release under
that identity. Disclosing it requires creating a new key identity and removing
the compromised public key from local trust stores.&lt;/p&gt;</description></item><item><title>Evidence-bound Release Process</title><link>https://projectious-work.github.io/processkit/v1.x/docs/installer/release-process/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/installer/release-process/</guid><description>&lt;p&gt;Issue
&lt;a href="https://github.com/projectious-work/processkit/issues/151" rel="noopener"&gt;#151&lt;/a&gt;

defines the aibox-style release ritual adopted by processkit.&lt;/p&gt;
&lt;h2 id="version-line-authority"&gt;Version-line authority&lt;/h2&gt;
&lt;p&gt;The requested semantic version determines the only branch permitted to tag:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Version&lt;/th&gt;
 &lt;th&gt;Required branch&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;stable v0&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;v0.x-release&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v1 alpha, beta, or RC&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;v1.x-pre-release&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;stable v1&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;v1.x-release&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Resolve the mapping without mutation:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;scripts/maintain.sh release-branch v1.0.0-alpha.5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Promotion into protected branches happens through pull requests. Never
force-push a release branch.&lt;/p&gt;
&lt;h2 id="candidate-evidence"&gt;Candidate evidence&lt;/h2&gt;
&lt;p&gt;Evidence belongs to an exact candidate:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dist/release-evidence/&amp;lt;version&amp;gt;/&amp;lt;commit&amp;gt;/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── binding.json
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── RELEASE-STATE.md
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── RELEASE-DOCTORS.md
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── logs/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── &amp;lt;step&amp;gt;.passed
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The binding records version, commit, clean tree, branch, Rust, Python, &lt;code&gt;uv&lt;/code&gt;,
and host target. A step marker is reused only within that binding.&lt;/p&gt;</description></item><item><title>Installer Threat Model</title><link>https://projectious-work.github.io/processkit/v1.x/docs/installer/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/installer/threat-model/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 status:&lt;/strong&gt; Traversal, symlink, forged-journal, signature, digest,
downgrade, same-version equivocation, and interruption paths have automated
coverage. The “before beta” items below remain open hardening targets.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The installer treats an archive, descriptor, manifest, catalog, adapter, and
target filesystem as untrusted until validated. It must reject absolute or
parent-traversal paths, archive links and path escapes, duplicate normalized
destinations, unsupported operations, unverified assets, and target symlink
escapes. It must not execute release-supplied code.&lt;/p&gt;</description></item><item><title>v0 Compatibility</title><link>https://projectious-work.github.io/processkit/v1.x/docs/installer/v0-compatibility/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/installer/v0-compatibility/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;v1.x development status:&lt;/strong&gt; Exact-release inspection and a guarded
fresh-target transition are implemented. Native in-place migration and
automatic legacy-entity transformation are not supported.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The v1 installer identifies legacy processkit evidence without consulting
aibox, harness, devcontainer, or MCP configuration files.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;processkit inspect-compatibility &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --root /path/to/legacy-tree &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --distribution /path/to/processkit-v1-release &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;An &lt;code&gt;exact-release&lt;/code&gt; result requires every immutable anchor in a shipped
compatibility manifest to match. The beta manifests cover v0.27.1 and
v0.28.4 release trees. A partial installed project may be classified only as
&lt;code&gt;legacy-project-candidate&lt;/code&gt;; its exact version is never guessed.&lt;/p&gt;</description></item><item><title>aibox Integration</title><link>https://projectious-work.github.io/processkit/v1.x/docs/installer/aibox-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/installer/aibox-integration/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.5 status:&lt;/strong&gt; The opaque request/result protocol and direct-CLI/aibox
installed-state parity contract are implemented. The v0 compatibility bridge
remains available for gradual downstream adoption.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;aibox should treat processkit as an opaque local executable. It creates a
versioned JSON request, invokes &lt;code&gt;processkit execute --request &amp;lt;path&amp;gt;&lt;/code&gt;, parses
the single JSON result, and does not duplicate processkit ownership policy.&lt;/p&gt;
&lt;p&gt;The producer integration checkpoint is the schema bundle under
&lt;code&gt;src/.processkit/installer/schemas/&lt;/code&gt;, the executable built from &lt;code&gt;installer/&lt;/code&gt;,
and these local gates:&lt;/p&gt;</description></item><item><title>Acceptance Gate</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/acceptance-gate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/acceptance-gate/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 review:&lt;/strong&gt; Ontology, schema generation, local installer lifecycle,
signed release, extracted-package MCP smoke, and first-ART evidence are
implemented. Four-platform native distribution, bootstrap installation,
online release resolution, native doctor/MCP supervision, full dogfood
update recovery, and v0-to-v1 migration remain GA blockers. See the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="purpose"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;The acceptance gate keeps the v1.0 rebuild measurable. The RFC&amp;rsquo;s
81-criterion gate is authoritative for final cutover; the staged lists
below are working summaries for alpha-first execution.&lt;/p&gt;</description></item><item><title>Alpha Release Testing</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/alpha-release-testing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/alpha-release-testing/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.5 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="release-policy"&gt;Release Policy&lt;/h2&gt;
&lt;p&gt;The current test release is the explicit prerelease
&lt;code&gt;v1.0.0-alpha.5&lt;/code&gt;. It is merged from &lt;code&gt;v1.x-dev&lt;/code&gt; into
&lt;code&gt;v1.x-pre-release&lt;/code&gt;, validated there, and tagged there.&lt;/p&gt;
&lt;p&gt;Prereleases never become the implicit &lt;code&gt;latest&lt;/code&gt; version. &lt;code&gt;latest&lt;/code&gt; remains the
highest stable release, currently from the supported v0 line. Downstream
installers must opt in to an exact prerelease.&lt;/p&gt;</description></item><item><title>Alpha Scope</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/alpha-scope/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/alpha-scope/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="purpose"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;The alpha proves that the v1.0 model improves real agentic project work
before the project implements the full 89-concept ontology.&lt;/p&gt;
&lt;p&gt;The alpha is a vertical slice, not a miniature final release.&lt;/p&gt;
&lt;h2 id="scope"&gt;Scope&lt;/h2&gt;
&lt;p&gt;The alpha product slice is frozen to these 14 high-value concepts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;WorkItem&lt;/li&gt;
&lt;li&gt;DecisionRecord&lt;/li&gt;
&lt;li&gt;Artifact&lt;/li&gt;
&lt;li&gt;LogEntry&lt;/li&gt;
&lt;li&gt;Binding&lt;/li&gt;
&lt;li&gt;Gate&lt;/li&gt;
&lt;li&gt;Role&lt;/li&gt;
&lt;li&gt;TeamMember&lt;/li&gt;
&lt;li&gt;Skill&lt;/li&gt;
&lt;li&gt;Capability&lt;/li&gt;
&lt;li&gt;Proposition&lt;/li&gt;
&lt;li&gt;Risk&lt;/li&gt;
&lt;li&gt;Scope&lt;/li&gt;
&lt;li&gt;Migration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Four prerequisite parent concepts are required to model that slice honestly:
&lt;code&gt;Actor&lt;/code&gt; for &lt;code&gt;TeamMember&lt;/code&gt;, &lt;code&gt;Container&lt;/code&gt; for &lt;code&gt;Scope&lt;/code&gt;, and &lt;code&gt;Command&lt;/code&gt; plus &lt;code&gt;Event&lt;/code&gt;
for &lt;code&gt;Migration&lt;/code&gt;. The generated alpha contract therefore covers 18 of the
ontology&amp;rsquo;s 89 concepts while preserving the 14-concept product scope.&lt;/p&gt;</description></item><item><title>Alpha.3 Closure Plan</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/alpha3-closure-plan/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/alpha3-closure-plan/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;v1.0.0-alpha.3&lt;/code&gt; was the feature-complete pre-cutover target. This historical
plan did not
authorize a merge to &lt;code&gt;main&lt;/code&gt;; v0.x remains the stable line until the owner
accepts the final ontology, migration, CLI, and aibox evidence.&lt;/p&gt;
&lt;p&gt;The machine-readable gate ledger is
&lt;code&gt;docs-site/data/v1_alpha3_gates.yaml&lt;/code&gt;. It tracks all 81 original v1 criteria
and all 15 installer criteria from issue #118. A criterion may be &lt;code&gt;met&lt;/code&gt;,
&lt;code&gt;partial&lt;/code&gt;, &lt;code&gt;missing&lt;/code&gt;, &lt;code&gt;owner-review&lt;/code&gt;, or &lt;code&gt;deferred-post-cutover&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Architecture Specification</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/architecture-specification/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/architecture-specification/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.5 status:&lt;/strong&gt; The Rust lifecycle/Python MCP boundary below is
accepted and implemented for local release verification, planning, install,
update, recovery, verification, and uninstall. Online release resolution,
native runtime diagnostics, and Rust-supervised MCP are planned.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="system-role"&gt;System Role&lt;/h2&gt;
&lt;p&gt;processkit v1.0 is a provider-neutral process and memory substrate. It
stores canonical project entities in git-backed files and exposes safe
read/write behavior through MCP servers.&lt;/p&gt;
&lt;p&gt;Agent runtimes are consumers. processkit provides context, process
state, governance, and memory; it does not own the agent loop.&lt;/p&gt;</description></item><item><title>Beta Ontology Plan</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/beta-ontology-plan/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/beta-ontology-plan/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="target"&gt;Target&lt;/h2&gt;
&lt;p&gt;The beta target is 62 of the ontology&amp;rsquo;s 89 concepts, or 69.7%. This keeps the
accepted goal inside the 60–70% range while leaving room to validate the model
through real workflows before completing the long tail.&lt;/p&gt;
&lt;p&gt;Coverage is counted by ontology category:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Category&lt;/th&gt;
 &lt;th style="text-align: right"&gt;Beta target&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Terminology&lt;/td&gt;
 &lt;td style="text-align: right"&gt;19&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Primitives&lt;/td&gt;
 &lt;td style="text-align: right"&gt;22&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Discriminators&lt;/td&gt;
 &lt;td style="text-align: right"&gt;8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Compositions&lt;/td&gt;
 &lt;td style="text-align: right"&gt;13&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: right"&gt;&lt;strong&gt;62&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The alpha&amp;rsquo;s 18 generated contracts are the first dependency-complete slice of
this target.&lt;/p&gt;</description></item><item><title>Branch Start Work Plan</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/branch-start-work-plan/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/branch-start-work-plan/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This plan turns the v1.0 documentation set into branch-start execution
work. Phase 0 and Phase 1 are intentionally concrete; later phases are
rougher and should be refined as evidence arrives.&lt;/p&gt;
&lt;h2 id="phase-0---branch-foundation"&gt;Phase 0 - Branch Foundation&lt;/h2&gt;
&lt;p&gt;Goal: make the &lt;code&gt;v1.0&lt;/code&gt; branch buildable, testable, and clearly separated
from v0.x maintenance.&lt;/p&gt;
&lt;p&gt;Backlog:&lt;/p&gt;</description></item><item><title>Concept Mapping Briefing Analysis</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/concept-mapping-briefing-analysis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/concept-mapping-briefing-analysis/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Source: &lt;code&gt;concept-mapping-2026-05-16.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Analyzed: 2026-07-04&lt;/p&gt;
&lt;p&gt;Supersession note: &lt;code&gt;processkit-v1.0-rfc-draft.md&lt;/code&gt; is now the guiding
briefing for processkit v1.0. Where this analysis conflicts with the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/processkit-v1-rfc-analysis/"&gt;processkit v1.0 RFC analysis&lt;/a&gt;
, the
RFC analysis wins. Keep this file as historical interpretation of the
earlier concept-mapping input, not as current implementation guidance.&lt;/p&gt;
&lt;p&gt;The filename dates the briefing to 2026-05-16, but the document itself
continues through Round 17 on 2026-05-20. Treat it as a mid-May design
snapshot, roughly six to seven weeks old as of this analysis.&lt;/p&gt;</description></item><item><title>Framework &amp; SEO Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/framework/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/framework/</guid><description>&lt;p&gt;Skills for specific frameworks and search engine optimization.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="reflex-python"&gt;reflex-python&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Reflex Python web framework for building full-stack apps in pure Python. Components, state management, and deployment. Use when building Reflex apps, designing component hierarchies, or managing app state.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; When building web apps with Reflex, designing components, managing state, routing, or creating full-stack Python web applications.
&lt;strong&gt;Tools:&lt;/strong&gt; &lt;code&gt;Bash(reflex:*)&lt;/code&gt; &lt;code&gt;Bash(python:*)&lt;/code&gt; &lt;code&gt;Read&lt;/code&gt; &lt;code&gt;Write&lt;/code&gt;
&lt;strong&gt;References:&lt;/strong&gt; &lt;code&gt;component-reference.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Key capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;App structure: initialization, entry points, page decorators, file-based routing, configuration&lt;/li&gt;
&lt;li&gt;Component system: layout (box, flex, grid), display (text, heading, image), input (input, select, checkbox), feedback (alert, toast, spinner)&lt;/li&gt;
&lt;li&gt;State management with &lt;code&gt;rx.State&lt;/code&gt; classes, typed vars, event handlers, computed vars, and substates&lt;/li&gt;
&lt;li&gt;Event handling: on_click, on_change, two-way binding, background tasks, event chaining&lt;/li&gt;
&lt;li&gt;Styling with Radix UI design tokens, responsive props, light/dark themes&lt;/li&gt;
&lt;li&gt;Routing with dynamic segments, programmatic navigation, on_load events, and 404 handling&lt;/li&gt;
&lt;li&gt;Database integration via built-in SQLModel with automatic migrations&lt;/li&gt;
&lt;li&gt;Deployment to Reflex Cloud or self-hosted via Docker&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;??? example &amp;ldquo;Example usage&amp;rdquo;
&lt;strong&gt;Build a todo app:&lt;/strong&gt; Defines a &lt;code&gt;TodoState&lt;/code&gt; with a list of todos and input field, creates event handlers for add/delete/toggle, builds UI with &lt;code&gt;rx.input&lt;/code&gt;, &lt;code&gt;rx.button&lt;/code&gt;, and &lt;code&gt;rx.foreach(TodoState.todos, render_todo)&lt;/code&gt; to render the list dynamically.&lt;/p&gt;</description></item><item><title>Landscape Note</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/landscape-note/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/landscape-note/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="positioning"&gt;Positioning&lt;/h2&gt;
&lt;p&gt;processkit v1.0 is not trying to replace agent runtimes, memory
databases, coding agents, or data catalogs. It should be the process
substrate those systems can use.&lt;/p&gt;
&lt;p&gt;Its strongest position is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;provider-neutral process memory and governance for agentic software
projects.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="adjacent-areas"&gt;Adjacent Areas&lt;/h2&gt;
&lt;h3 id="okf"&gt;OKF&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://github.com/GoogleCloudPlatform/knowledge-catalog/tree/main/okf" rel="noopener"&gt;OKF&lt;/a&gt;

validates markdown plus YAML frontmatter as an agent-readable exchange
format. processkit should support OKF import/export, generated indexes,
and permissive boundary consumption.&lt;/p&gt;</description></item><item><title>OKF Compatibility Analysis</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/okf-compatibility-analysis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/okf-compatibility-analysis/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Source:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google Cloud announcement, &amp;ldquo;Introducing the Open Knowledge Format&amp;rdquo;,
published 2026-06-12&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GoogleCloudPlatform/knowledge-catalog&lt;/code&gt; &lt;code&gt;okf/SPEC.md&lt;/code&gt;, v0.1 draft,
inspected at &lt;code&gt;d44368c15e38e7c92481c5992e4f9b5b421a801d&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Analyzed: 2026-07-04&lt;/p&gt;
&lt;h2 id="recommendation"&gt;Recommendation&lt;/h2&gt;
&lt;p&gt;processkit v1.0 should support OKF as an import/export and publication
profile, but should not make OKF the canonical internal format.&lt;/p&gt;
&lt;p&gt;In practical terms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Yes: emit conformant OKF bundles from selected processkit knowledge.&lt;/li&gt;
&lt;li&gt;Yes: ingest OKF bundles into processkit as external knowledge sources.&lt;/li&gt;
&lt;li&gt;Yes: preserve OKF-compatible affordances in v1.0 schema design where
they do not weaken processkit semantics.&lt;/li&gt;
&lt;li&gt;No: do not require the whole repository or canonical &lt;code&gt;context/&lt;/code&gt; tree
to be an OKF bundle.&lt;/li&gt;
&lt;li&gt;No: do not replace processkit entity IDs, typed relations, lifecycle
states, validation modes, event logs, or interface-aware queries with
OKF&amp;rsquo;s permissive markdown conventions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This gives us interoperability without losing the benefits that make
processkit more than an LLM wiki.&lt;/p&gt;</description></item><item><title>Ontology Reference</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/ontology-reference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/ontology-reference/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;processkit-v1.0-rfc-draft.md&lt;/code&gt; is the leading document for the v1.0
ontology. When older analysis conflicts with this page, the RFC and this
page win.&lt;/p&gt;
&lt;h2 id="tpdc-classes"&gt;T/P/D/C Classes&lt;/h2&gt;
&lt;p&gt;The RFC names four implementation classes. If a note says &lt;code&gt;TCDP&lt;/code&gt;, read it
as the same four classes, with the RFC&amp;rsquo;s canonical order written as
&lt;code&gt;T/P/D/C&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Performance Skills</title><link>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/skills/catalog/performance/</guid><description>&lt;p&gt;Skills for performance analysis, optimization, and load testing.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="performance-profiling"&gt;performance-profiling&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Performance analysis methodology and profiling techniques for CPU, memory, and I/O. Flame graphs, benchmarking, and regression detection. Use when optimizing performance, profiling bottlenecks, or reviewing performance-critical code.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Triggers:&lt;/strong&gt; When identifying bottlenecks, profiling CPU/memory/I/O, interpreting flame graphs, setting up benchmarks, or optimizing slow code paths.
&lt;strong&gt;Tools:&lt;/strong&gt; &lt;code&gt;Bash&lt;/code&gt; &lt;code&gt;Read&lt;/code&gt; &lt;code&gt;Write&lt;/code&gt;
&lt;strong&gt;References:&lt;/strong&gt; &lt;code&gt;profiling-tools.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Key capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Follow the full performance analysis cycle: Identify, Measure, Profile, Optimize, Verify&lt;/li&gt;
&lt;li&gt;CPU profiling with sampling profilers and flame graph generation&lt;/li&gt;
&lt;li&gt;Memory profiling to detect leaks, allocation pressure, and unbounded growth&lt;/li&gt;
&lt;li&gt;I/O profiling for disk, network, and database bottlenecks (N+1 queries, connection pooling, slow queries)&lt;/li&gt;
&lt;li&gt;Benchmarking with statistical significance and regression detection&lt;/li&gt;
&lt;li&gt;Flame graph interpretation: reading X-axis (alphabetical, not time), Y-axis (stack depth), and differential flame graphs&lt;/li&gt;
&lt;li&gt;Common optimization patterns: algorithmic improvements, batching, caching, pooling, lazy evaluation, data layout&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;??? example &amp;ldquo;Example usage&amp;rdquo;
&lt;strong&gt;Slow API endpoint:&lt;/strong&gt; Measures end-to-end latency, profiles the handler, discovers 80% of time spent in 47 sequential database queries (N+1 problem). Rewrites as a single JOIN query, reducing response time from 3 seconds to 120ms.&lt;/p&gt;</description></item><item><title>processkit v1.0 Base Context</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/base-context/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/base-context/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Created: 2026-07-04&lt;/p&gt;
&lt;p&gt;This historical base context was created for the processkit v1.0 redesign.
It was built from the earlier &lt;code&gt;projectious-work/processkit&lt;/code&gt; repository,
cloned locally at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Source URL: &lt;a href="https://github.com/projectious-work/processkit" rel="noopener"&gt;https://github.com/projectious-work/processkit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Analyzed commit: &lt;code&gt;6a9a175f95c42dd76e23488feca42e3d05526b98&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Local clone: &lt;code&gt;/tmp/processkit-original&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The goal is to preserve the proven v0.x product target while creating a
clean basis for processkit v1.0 improvement briefings.&lt;/p&gt;</description></item><item><title>processkit v1.0 RFC Analysis</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/processkit-v1-rfc-analysis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/processkit-v1-rfc-analysis/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Source: &lt;code&gt;processkit-v1.0-rfc-draft.md&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Analyzed: 2026-07-04&lt;/p&gt;
&lt;p&gt;Status for this project: guiding briefing. Where this RFC conflicts with
&lt;code&gt;concept-mapping-2026-05-16.md&lt;/code&gt; or
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/concept-mapping-briefing-analysis/"&gt;concept-mapping-briefing-analysis.md&lt;/a&gt;
,
this RFC wins.&lt;/p&gt;
&lt;h2 id="executive-read"&gt;Executive Read&lt;/h2&gt;
&lt;p&gt;The RFC turns the earlier concept-mapping work into an implementation
and release proposal. It is no longer just an ontology discussion. It
asks upstream processkit maintainers to host a full v1.0 greenfield
rebuild on a parallel &lt;code&gt;v1.0&lt;/code&gt; branch while &lt;code&gt;main&lt;/code&gt; continues v0.x
maintenance.&lt;/p&gt;</description></item><item><title>processkit v1.0 Start Assessment</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/processkit-v1-start-assessment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/processkit-v1-start-assessment/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Analyzed: 2026-07-04&lt;/p&gt;
&lt;p&gt;Sources considered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;processkit-v1.0-rfc-draft.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/processkit-v1-rfc-analysis/"&gt;processkit v1.0 RFC Analysis&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/concept-mapping-briefing-analysis/"&gt;Concept Mapping Briefing Analysis&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/analysis/okf-compatibility-analysis/"&gt;OKF Compatibility Analysis&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Google OKF announcement and v0.1 specification&lt;/li&gt;
&lt;li&gt;External survey of adjacent agent, memory, metadata, and coding-agent
projects&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="judgement"&gt;Judgement&lt;/h2&gt;
&lt;p&gt;The v1.0 plan is good enough to start, but not as an unconstrained
9-12 month greenfield rebuild.&lt;/p&gt;</description></item><item><title>Product Specification</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/product-specification/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/product-specification/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="purpose"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;processkit v1.0 provides a durable process substrate for agentic
software projects. It gives humans and AI agents a shared project memory
with typed work, decisions, discussions, artifacts, roles, skills,
gates, bindings, and event history.&lt;/p&gt;
&lt;p&gt;The product is not an agent runtime. It is the process and memory layer
that agent runtimes, coding agents, and human maintainers can use to
coordinate work safely.&lt;/p&gt;</description></item><item><title>Test Strategy</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/test-strategy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/test-strategy/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The current exploratory strategy is to install processkit into a new
aibox project and try workflows manually. That remains useful as a human
dogfood check, but it is not enough for v1.0. It is not automated, it
makes aibox a hard dependency, and it cannot prove release-gate criteria
repeatably.&lt;/p&gt;</description></item><item><title>Tooling Architecture</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/tooling-architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/tooling-architecture/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The v1.0 tooling architecture follows the RFC: schemas are generated
from Jinja + YAML sources, writes flow through MCP tools, and indexes are
extended rather than replaced.&lt;/p&gt;
&lt;h2 id="mcp-server-shape"&gt;MCP Server Shape&lt;/h2&gt;
&lt;p&gt;MCP is the stable runtime contract for agents and harnesses. Files remain
human-inspectable, but canonical mutations happen through tools.&lt;/p&gt;</description></item><item><title>v0 Reconciliation</title><link>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/v0-reconciliation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/v0-reconciliation/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Alpha.4 documentation review:&lt;/strong&gt; This page records design or historical
planning. For shipped behavior and current gaps, use the
&lt;a href="https://projectious-work.github.io/processkit/v1.x/docs/development/v1-version/issue-135-status/"&gt;issue #135 implementation review&lt;/a&gt;
.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="baseline"&gt;Baseline&lt;/h2&gt;
&lt;p&gt;The v1 line forked from &lt;code&gt;v0.27.1&lt;/code&gt;. Reconciliation therefore compares the
current v1 work against the latest supported v0 release, currently
&lt;code&gt;v0.28.3&lt;/code&gt;, rather than copying the v0 tree wholesale.&lt;/p&gt;
&lt;p&gt;The rule is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;carry fixes that remain valid under the v1 ontology&lt;/li&gt;
&lt;li&gt;adapt lifecycle and storage behavior to generated v1 contracts&lt;/li&gt;
&lt;li&gt;regenerate catalogs, schemas, and manifests from v1 sources&lt;/li&gt;
&lt;li&gt;defer unrelated v0 features with an explicit disposition&lt;/li&gt;
&lt;li&gt;never overwrite v1 schema sources with flat v0 schemas&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="current-matrix"&gt;Current Matrix&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;v0 surface&lt;/th&gt;
 &lt;th&gt;v1 disposition&lt;/th&gt;
 &lt;th&gt;Alpha status&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Refreshable GitHub token-file authentication&lt;/td&gt;
 &lt;td&gt;Carry unchanged security semantics&lt;/td&gt;
 &lt;td&gt;Implemented and tested&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Migration drafting&lt;/td&gt;
 &lt;td&gt;Adapt to v1 Migration schema and automatic apply mode&lt;/td&gt;
 &lt;td&gt;Implemented and tested&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Historical migration filename repair&lt;/td&gt;
 &lt;td&gt;Carry with append-only audit bridge&lt;/td&gt;
 &lt;td&gt;Implemented and tested&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Scope lifecycle&lt;/td&gt;
 &lt;td&gt;Adapt storage to &lt;code&gt;Container(kind=scope)&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Implemented and tested&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;TeamMember role assignment&lt;/td&gt;
 &lt;td&gt;Adapt through the Actor interface&lt;/td&gt;
 &lt;td&gt;Implemented and tested&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Immutable release-manifest preflight&lt;/td&gt;
 &lt;td&gt;Carry &lt;code&gt;--check&lt;/code&gt;; builds must not mutate tags&lt;/td&gt;
 &lt;td&gt;Implemented&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;git-branching&lt;/code&gt; skill&lt;/td&gt;
 &lt;td&gt;Carry after v1 metadata review&lt;/td&gt;
 &lt;td&gt;Deferred after alpha&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;project-reconciliation&lt;/code&gt; skill&lt;/td&gt;
 &lt;td&gt;Carry after v1 entity-name review&lt;/td&gt;
 &lt;td&gt;Deferred after alpha&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;repository-portfolio-review&lt;/code&gt; skill&lt;/td&gt;
 &lt;td&gt;Carry after v1 entity-name review&lt;/td&gt;
 &lt;td&gt;Deferred after alpha&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v0 doctor fixes&lt;/td&gt;
 &lt;td&gt;Re-evaluate per finding against v1 storage&lt;/td&gt;
 &lt;td&gt;Ongoing&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;v0 flat schemas and generated catalogs&lt;/td&gt;
 &lt;td&gt;Never copy; regenerate from v1 sources&lt;/td&gt;
 &lt;td&gt;Enforced&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="verification"&gt;Verification&lt;/h2&gt;
&lt;p&gt;The server smoke suite exercises the v1-native replacements. The package
smoke suite then extracts only the release tree and repeats the workflow so
repository imports cannot conceal a missing carry-over.&lt;/p&gt;</description></item></channel></rss>