Skip to content

Releases: projectious-work/processkit

v0.18.2 — mcp-config paths fix (#8) + skip_decision_record + drift guard

18 Apr 18:50

Choose a tag to compare

Fixed

  • Stale mcp-config.json paths block MCP server startup in derived
    projects
    (#8).
    12 of the 16 per-skill mcp-config.json files under
    context/skills/processkit/<skill>/mcp/ shipped a script path that
    omitted the processkit/ category segment introduced in v0.17.0's
    nested layout (context/skills/<skill>/mcp/server.py instead of
    context/skills/processkit/<skill>/mcp/server.py). Harnesses merged
    the broken path verbatim and then failed to launch the affected MCP
    servers on startup, forcing agents back to bash/python workarounds
    for context/ writes. Latent since v0.17.0; masked until v0.18.6 of
    aibox because earlier aibox walker bugs prevented .mcp.json from
    being written at all. Mechanical fix — prepend processkit/ to the
    script arg for: actor-profile, binding-management,
    decision-record, discussion-management, event-log,
    gate-management, id-management, index-management,
    model-recommender, role-management, scope-management,
    workitem-management. Mirrored into src/context/.
  • AGENTS.md Session start block points at pk-resume (was stale
    morning-briefing-generate, renamed in v0.17.0).

Added

  • skip_decision_record(reason, session_id?) MCP tool on
    skill-gate
    — acknowledges the v2 contract's decision-language
    window without writing a record, when the agent concludes no decision
    needs recording (e.g. the user withdrew a proposal). Writes a
    session-<id>.decision-skip marker next to the existing .ack /
    .decision-observed markers (24 h TTL, empty reason rejected).
    check_decision_captured.py honours skip markers in block mode.
  • compliance-contract.md asset bumped to v2. Adds the clause:
    "When the last five user messages contain explicit decision language
    (approved / decided / ship it / let's go / ok / yes / confirmed),
    either call record_decision in the same turn or call
    skip_decision_record(reason=...) to acknowledge the skip." Resolves
    the v1 asset vs v2 AGENTS.md inconsistency called out in the
    v0.18.1 known-issues block. Existing session markers (which embed
    the old contract hash) automatically invalidate; callers re-ack on
    next hook invocation.
  • scripts/check-src-context-drift.sh — release-time drift guard.
    Runs diff -rq context/ src/context/ with an allowlist for
    dogfood-only directories (actors/, artifacts/, bindings/,
    decisions/, discussions/, logs/, migrations/, notes/,
    roles/, team/, workitems/, root INDEX.md), runtime paths
    (.cache/, .state/, __pycache__/, .gitkeep), and templates/.
    Wired into scripts/build-release-tarball.sh as a pre-build step;
    non-zero exit fails the release before the tarball is built.
    Structural guard against the v0.15.0–v0.18.0 drift class.
  • Session-start skill-check checklist (SnappyTrout). AGENTS.md
    and session-handover/SKILL.md now name six task classes (research
    ingestion, artifact creation, discussion management, decision
    recording, backlog item creation, quality audits) that must be
    preceded by a search_entities(kind=skill, ...) / find_skill(...)
    / list_skills(...) call. Extends, does not duplicate, the
    compliance-contract 1 % rule.
  • /pk-standup and /pk-status differentiated. /pk-standup is
    now the brief daily standup (done / doing / next / blockers);
    /pk-status is the fuller status snapshot. Both invoke
    standup-context, different argument framing. Prior identical
    bodies were a v0.17.0 authoring glitch.

Closed work

  • BACK-20260410_1049-SnappyTrout — session-start skill-check
    (shipped here).
  • BACK-20260411_0802-LivelyTulip — skill-finder MCP server
    (find_skill, list_skills already ship; verified by
    scripts/smoke-test-servers.py).

v0.18.1 — src↔context sync + skill-gate hookEventName hotfix

17 Apr 19:54

Choose a tag to compare

Hotfix release

v0.18.0 shipped but the release tarball (packaged from src/context/) was missing content that had landed only in the dogfooded context/ tree since v0.15.0. v0.18.1 brings src/context/ up to parity so the tarball actually contains everything the CHANGELOG for v0.15.0–v0.18.0 claimed.

Fixes

  • #7skill-gate/scripts/emit_compliance_contract.py now reads hook_event_name from stdin and echoes it back as hookEventName in the hookSpecificOutput envelope, which Claude Code 2.1+ requires. Falls back to "UserPromptSubmit" if stdin is missing or malformed. Codex / plain-stdout path unchanged. Resolves the invalid hookSpecificOutput error that was blocking every Claude Code 2.1+ prompt.
  • check_route_task_called.py — marker lookup decoupled from session_id; scans .state/skill-gate/ for any valid marker with matching contract_hash and 12h TTL.
  • test_hooks.py — new coverage for hookEventName echo, stale marker, and hash-mismatch cases.

Added (previously only in dogfood tree)

  • team-creator skill (claimed v0.15.0).
  • 26 /pk-* slash-command files across 13 skills (claimed v0.17.0 + v0.18.0).
  • skill-gate Rail 5 scripts + transcript fixtures.
  • discussion-management/commands/, id-management/config/, index-management/config/.
  • owner-profiling OWNER-*.md assets.
  • Actor/Role schema updates for CapabilityProfileRouting (model_profiles, model_profile_override).
  • AGENTS.md template: compliance contract v2 + decision-language clause + Session start block.

Tests

  • test_hooks.py: 13/13 green.
  • smoke-test-servers.py: all 16 MCP servers green.

Compatibility

  • aibox minimum: 0.18.3 (same as v0.18.0).

Known non-blocking inconsistency

  • AGENTS.md template carries pk-compliance v2 marker but skill-gate/assets/compliance-contract.md is still v1. Clauses remain a strict superset in v2; a follow-up will reconcile both to v2 once the skip_decision_record MCP tool it references ships.

Artifacts

  • processkit-v0.18.1.tar.gz — source tarball (722K)
  • processkit-v0.18.1.tar.gz.sha256 — checksum

Upgrade

[processkit]
version = "v0.18.1"

v0.18.0 — CapabilityProfileRouting + skill-gate decouple

17 Apr 17:13

Choose a tag to compare

Highlights

  • CapabilityProfileRouting — three-layer model-selection architecture
    (DEC-20260417_1800). Replaces the per-Actor preferences.model pin
    with:
    • Layer A — model catalog (model-recommender skill)
    • Layer B — project/owner preferences (set_config / get_config MCP tools)
    • Layer C — role standard sets: new Role.model_profiles ranked
      array; optional Actor.model_profile_override
    • All 8 permanent team roles populated with Anthropic/OpenAI/Google/
      xAI/DeepSeek fallbacks.
  • Skill-gate PreToolUse hook decoupled from session_id — hook now
    scans for any marker with matching contract_hash + 12h TTL. Fixes
    silent lockouts when harness and MCP server disagreed on session id.
  • emit_compliance_contract.py echoes hookEventName — required by
    Claude Code 2.1+'s hookSpecificOutput envelope.
  • 13 additional /pk-* slash-command promotions — 26 total /pk-*
    commands, 0 legacy processkit commands.

See CHANGELOG.md for the full list.

Compatibility

processkit aibox (min)
v0.18.0 0.18.3

Installation

# aibox.toml
[processkit]
source  = "https://github.com/projectious-work/processkit.git"
version = "v0.18.0"

Artifacts

  • processkit-v0.18.0.tar.gz — reproducible src/ tarball (aibox sync
    prefers this over a git fetch)
  • processkit-v0.18.0.tar.gz.sha256 — sidecar checksum

v0.17.0 — 13 /pk-* commands + OpenWeave + Rail 5 + contract v2

17 Apr 09:44

Choose a tag to compare

[v0.17.0] — 2026-04-17

Added

  • 13 /pk-* ergonomic slash commands — the /pk-<verb> namespace
    is processkit's canonical command surface, provider-neutral across
    Claude Code, Codex CLI, Cursor, OpenCode (Aider falls back to
    AGENTS.md instructions). Three delivery surfaces:
    • Skill-driven (9): /pk-resume (session start),
      /pk-status + alias /pk-standup (mid-session status),
      /pk-wrapup (session end), /pk-note (fleeting capture with
      Zettelkasten qualified-link suggestion at capture time),
      /pk-discuss (structured multi-turn engagement),
      /pk-research (investigate with confidence labels),
      /pk-release (prepare a release), /pk-publish (push + publish).
    • AGENTS.md-driven (3): /pk-test, /pk-build, /pk-lint
      read a structured <!-- pk-commands --> YAML block in AGENTS.md
      and execute the project's declared command. Fills the cross-harness
      gap (4 of 5 harnesses ship zero build/test coverage).
    • Cross-cutting skill-driven (1): /pk-review — processkit-
      opinionated code review against AGENTS.md conventions + compliance
      contract.
  • <!-- pk-commands --> YAML block in AGENTS.md — machine-readable
    project-specific build/test/lint/fmt/typecheck declarations.
  • OpenWeave: team-creator 4-layer override surface (FEAT-OpenWeave)
    — landscape artifact override (3-level precedence), DEC-*-TeamWeights
    (tag-based weight + threshold override), role-archetypes.yaml
    (project-level role→class pin override with delta/replace semantics
    and eager validation). team-creator bumped v1.1.0 → v1.2.0.
  • QuietLedger Rail 5: auto-capture of decisions (FEAT-QuietLedger)
    — Lever 1 PreToolUse decision-language gate (shadow-mode-ON default;
    --mode=block available but NOT recommended until calibrated) +
    Lever 2 SessionEnd sweeper (writes Note artifact tagged
    decision-candidates for owner async review). New MCP tool:
    skip_decision_record(reason, session_id) on skill-gate.
    Compliance contract bumped v1 → v2 (new Rail 5 clause).
  • ShadowCount calibration (RES-ShadowCount) — 9-session corpus,
    precision 6/19 = 0.316, recall 6/6 = 1.00. Verdict: NO-GO on
    --mode=block with current marker list. Marker tightening proposed.
  • DEC-CommandNexus — strategic decision: /pk-<verb> namespace,
    processkit ships commands for any lifecycle phase not uniformly
    built-in across all major harnesses. Build/test/lint exclusion
    reversed.
  • CommandCompass research artifact — cross-harness built-in command
    matrix + external landscape scan + gap analysis + proposal.

Fixed

  • tool_use transcript filter — PreToolUse gate + SessionEnd sweeper
    now filter tool_use, tool_result, isCompactSummary,
    isSidechain, and <local-command-*> entries from transcript reads.
    Prevents false-positive gate fires on agent write payloads that
    contain decision-language text (e.g., "ship it" in WorkItem YAML).

Changed

  • Compliance contract v1 → v2 — new clause: "When the last five
    user messages contain explicit decision language, either call
    record_decision in the same turn or call skip_decision_record."
    Existing session acknowledgements re-prompt once on upgrade (contract
    hash changes).
  • team-creator v1.1.0 → v1.2.0 — 4-layer override docs + new
    --threshold-overrides CLI flag + agent-driven discovery section
    with trigger phrases for all 4 layers.
  • skill-finder — 13 new trigger-phrase entries for /pk-* commands
    • v0.17.0 ergonomic shortcuts category section.

v0.16.0 — canonical team-composition schema (closes aibox #6)

15 Apr 09:01

Choose a tag to compare

[v0.16.0] — 2026-04-15

Added

  • Canonical team-composition schema fields — closes the aibox field
    report in issue #6, which requested that processkit land a canonical
    team primitive in place of their temporary x_aibox.* namespaced
    extension. Three new optional fields on Role (primary_contact,
    clone_cap, cap_escalation) and two on Actor (is_template,
    templated_from):
    • Role.primary_contact (bool, default false) — true for the role
      that is the single point of contact with the human owner. Exactly
      zero or one role per team may set this.
    • Role.clone_cap (int, default 5) — per-role parallelism
      ceiling. The role with primary_contact: true must set
      clone_cap: 1 (never cloned).
    • Role.cap_escalation (string, default "owner") — who must
      approve exceeding clone_cap. Literal "owner" or an actor-ref.
    • Actor.is_template (bool, default false) — true for the
      canonical seed Actor that defines a role binding; clones derive
      from it. Enables index queries that separate seed team members
      from task-specific clones.
    • Actor.templated_from (Actor-ref, default null) — back-
      reference from a clone to its template Actor.
  • team-creator skill bumped 1.0.0 → 1.1.0 — emits the five new
    canonical fields on every team-create / team-rebalance run.
    Deactivation logic now uses is_template: true as the canonical
    seed identifier instead of the prior same-model-same-role heuristic.
  • Two new applied migrationsMIG-20260415T085311 (Role schema
    • data) and MIG-20260415T095000 (Actor schema + data). Back-fill
      every existing Role/Actor entity so v0.15.0-installed teams carry
      the new fields automatically on upgrade.

Changed

  • role-management skill bumped to v1.0.1 — documents the three
    new Role fields and their validation invariants.
  • actor-profile skill bumped to v1.0.1 — documents the two new
    Actor fields and their validation invariants.

Upstream migration note

Consumers carrying the aibox-style spec.x_aibox.* extension can lift
those fields into the canonical names with a one-to-one mapping:
x_aibox.is_templateis_template, x_aibox.clone_of
templated_from, x_aibox.default_clone_capclone_cap,
x_aibox.escalate_cap_tocap_escalation, plus a new field
primary_contact set true on the PM-equivalent role.


v0.15.0 — team-creator skill + session-orientation wiring

15 Apr 07:51

Choose a tag to compare

[v0.15.0] — 2026-04-15

Added

  • team-creator skill — provider-neutral team composition. Tiers
    available models into heavy / medium / light using a weighted
    formula over Capability (0.60), Cost-efficiency (0.20), Latency
    (0.10), and Governance (0.10), then maps eight role archetypes
    (PM, sr-architect, jr-architect, developer, sr-researcher,
    jr-researcher, jr-developer, assistant) onto the tiered models.
    Three commands: team-create (full derivation, writes 24 entities
    • roster + DecisionRecord), team-review (read-only diff vs latest
      landscape), team-rebalance (targeted re-tier of named roles).
      Composes model-recommender, role-management, actor-profile,
      binding-management, decision-record-write — no new primitives,
      no MCP server. Defaults reproduce the v0.14.0 manually-composed
      team 8/8 on Anthropic Max 5×. Validated by Phase 3 dogfood
      (ART-20260415_1545-TeamWeaver-team-creator-dogfood-diff).
  • Session-orientation wiring — AGENTS.md gains a "Session start"
    section under the compliance-contract block: agents run
    morning-briefing-generate before acting (provider-neutral, every
    AGENTS.md-aware harness picks it up). emit_compliance_contract.py
    hook script extended with --include-session-start flag for
    Claude Code / Cursor reinforcement.
  • 6 new artifacts under context/artifacts/ — TeamWeaver Phase 1
    design, OpenWeave Phase 1 design, landscape snapshot (HTML +
    structured summary), Phase 3 dogfood diff, Rail 5 research.
  • 3 new follow-up WorkItems filedFEAT-OpenWeave (4-layer
    override design done; implementation queued), FEAT-QuietLedger
    (Rail 5 L1+L2 implementation), RES-GapScout (research closed).

Changed

  • morning-briefing skill bumped 1.0.0 → 1.1.0 — adds
    context/migrations/pending/ to "Sources to read" and emits a
    one-line token-budget-share snapshot (Opus / Sonnet / Haiku
    actuals vs ≈5/85/10 target, flagging drift > ±10pp per
    DEC-20260414_0900-TeamRoster).

Closed

  • ARCH-20260414_1245-FirmFoundation — enforcement
    implementation plan closed. All four originally-blocking FEAT
    items (Rails 1–4) plus the two reconstructed follow-ups
    (PathFinder, TeamWeaver) shipped.

v0.14.0 — enforcement Rails 1-4

14 Apr 21:40

Choose a tag to compare

processkit (Bucket A) half of the enforcement rollout. See CHANGELOG for full details.

Rails shipped

  • Rail 1 — canonical compliance contract + AGENTS.md primacy header
  • Rail 2 — provider-neutral hook scripts (SessionStart / UserPromptSubmit / PreToolUse) with golden-file fixtures
  • Rail 3acknowledge_contract() MCP tool on skill-gate
  • Rail 4 — 1%-rule sentence in 8 entity-mutating MCP tool descriptions

Aibox-side wiring (separate)

Tracked as upstream issues #43#51 on projectious-work/aibox. Until aibox ships those, only Rails 1 and 4 are visible to derived projects.

Compatibility

  • Min aibox: 0.17.12
  • Backward-compatible: yes (no schema, MCP signature, or state-machine breakage)

v0.13.0 — task-router, skill-finder MCP, skill-gate

11 Apr 18:04

Choose a tag to compare

What changed in v0.13.0

Added

  • task-router MCP serverroute_task(task_description) returns the matching skill, project-specific process override from context/processes/, and recommended MCP tool in a single call without an LLM call. Two-phase heuristic routing (keyword → domain group → tool) with skill-finder fallback for cross-domain tasks. Return shape includes skill_description_excerpt, tool_qualified ({server}__{tool}), confidence, routing_basis, and candidate_tools[].
  • skill-finder MCP serverfind_skill(task_description) and list_skills(category?) tools for the existing skill-finder skill. Read-only, idempotent.
  • skill-gate meta-skill — provider-neutral 1% rule enforcement with decision graph and rationalization pre-emption table.

Changed

  • All 20 entity-mutating MCP tools carry prerequisite routing prompts in their docstrings (Track C).
  • skill-builder and skill-reviewer enforce one-sentence imperative description convention (Track E).
  • AGENTS.md routes via route_task() instead of find_skill() directly.
  • context/processes/release.md fleshed out with processkit-specific steps.

Artifact

File SHA-256
processkit-v0.13.0.tar.gz see .sha256 sidecar

Docs deploy blocked by WildButter/aibox#42 (Docusaurus ProgressPlugin incompatibility).

v0.12.0 — artifact-management skill and MCP server

11 Apr 06:37

Choose a tag to compare

What's new in v0.12.0

Added

  • artifact-management skill and MCP server — new Layer 2 processkit primitive for registering and retrieving completed deliverables (documents, datasets, builds, diagrams, URLs, etc.). Supports two usage patterns: self-hosted (Markdown body in the entity file) and pointer (external URL or path via location). MCP tools: create_artifact, get_artifact, query_artifacts, update_artifact. No state machine — it is a catalogue record, not a work-tracking entity.
  • skill-finder updated — trigger phrases for artifact-management and one-liner in the Process category.
  • context/skills/INDEX.md — processkit skill count updated to 31; Layer 2 entry includes artifact-management **MCP**.

See CHANGELOG.md for full details.

v0.11.1

10 Apr 23:30

Choose a tag to compare

Fixed

  • ids.py: pascal and camel are now distinct word stylespascal produces PascalCase (BoldVale, every word capitalised); camel now correctly produces true camelCase (boldVale, first word lowercase). Previously camel incorrectly generated PascalCase. settings.toml updated to word_style = "pascal".

Changed

  • context/ dogfood mirror syncedresolve_entity() and partial-ID lookup now live in the installed context/ copies of index.py and all MCP servers, consistent with the src/ implementation shipped in v0.10.0.
  • session-handover SKILL.md — log-entry writing steps updated with generate_id call, date-sharded path derivation, and word-pair ID template.
  • context/skills/INDEX.md — expanded with skill package layout section and _lib/ note.
  • aibox.lock — updated to aibox v0.17.12, processkit v0.10.0.