Repository navigation
Releases
0.6.5
[0.6.5] - 2026-09-29
Added
- Reuse-first workflow guidance and concise Define, Execute and Verify Skill
entry points are available on fresh installations and upgrades.
Fixed
- Pi roles preserve the user's default capabilities and configured model settings,
with behavioral read-only instructions for research/check and unchanged
independent review and Kernel evidence gates. - Unchanged generated Skill bodies can upgrade by their recorded fingerprint;
modified or foreign host resources remain protected.
The stable package contains the same product code as 0.6.5-beta.0. Beta
acceptance covered fresh init, a 0.6.4 upgrade, user-owned guide preservation,
and native Pi RPC Skill/extension registration without model calls. Exact
candidate independent Pi planning/review evidence was recorded separately.
Pactile v0.6.4
[0.6.4] - 2026-09-28
Fixed
- Task evidence archives, media and dependency links remain user data outside
canonical product generations. Managed files retain their size, path and link
safety checks. - Exact repeated managed-block projections preserve recorded foreign provenance
and host bytes. Changed content, new claimants and changed observations retain
their existing review gates. - Restore manifest continuity for the published
0.6.3version with truthful
metadata and no task data transformations.
The stable package contains the same product code as 0.6.4-beta.2.
0.5.0
[0.5.0] - 2026-09-11
Pactile 0.5.0 is the first stable release of the Pactile product line. The
canonical package and repository names are now Pactile; the legacy
cursor-trellis package names remain available as thin 0.5.x compatibility
bridges.
Highlights
- Canonical npm packages:
@blxzer/pactile(CLI) and
@blxzer/pactile-core(Core SDK). - Canonical project state under
.pactile/, withPACTILEmarkers and
host-neutral contracts shared by Cursor and Codex adapters. - Ownership-aware projections preserve existing user and host resources while
making Pactile-managed changes auditable and reversible. - The release graph validates and publishes the Core, CLI, and both legacy
bridges as one versioned set.
Install
npm install -g @blxzer/pactilePactile is distributed under AGPL-3.0-only; see the repository
LICENSE and COPYRIGHT files for the
complete license and project/upstream attribution.
Compatibility
Existing @blxzer/cursor-trellis and @blxzer/cursor-trellis-core installs
remain supported during the 0.5.x compatibility window. New installations
should use the canonical Pactile package names.
0.5.0-beta.5
[0.5.0-beta.5] - 2026-09-08
P42/P43 Freestyle product mirrors + P44 E2E guide init registry. Not @latest — install with @beta or the exact version.
Added
- feat(templates): product
workflow.mdis the interface card (no Request Triage /[Triage:/ MANDATORY TRIAGE); pointerAGENTS.md; thincstl-implement/cstl-check/cstl-researchagents; grill frontier optional-brick + AC 歧义面=0; test-discipline testing brick; E2E walkthrough guide template asset. - feat(memory): product
task_gates.pytemplate writesnotes_projection.points[]withsource/confidence. - feat(docs): framework injection / budget / reachability guides (and their
.md.txtmirrors) no longer describe Request Triage as a live hard gate; prohibition sentences stay. - feat(init):
cstl initinstalls.cstl/spec/guides/e2e-walkthrough-guide.mdnext to test-discipline (init-only seed;cstl updatestill does not overwrite userspec/guides).
Notes for consumers
- Install
npm i -g @blxzer/cursor-trellis@0.5.0-beta.5or@blxzer/cursor-trellis@beta.@lateststays 0.4.3. - In the project root run
cstl update(do not re-runinit). Existing projects migrate;.cstl/middleware/is never written. Existingspec/guidesstay user-owned; new installs get the E2E guide. - Core and CLI versions stay paired:
@blxzer/cursor-trellis-core@0.5.0-beta.5. - Maintainers: tag
cstl-v0.5.0-beta.5. Do not promote this prerelease tomain/@latestuntil an explicit official release.
cstl-v0.5.0-beta.4
Version bump only (rebuild of the beta-3 publish). No functional changes vs 0.5.0-beta.3; carries the same P41 memory-cut feature set (notes_projection + spec-write audit + Lite archive relaxation). Not @latest — install with @beta or the exact version.
Notes for consumers
- Install
npm i -g @blxzer/cursor-trellis@0.5.0-beta.4or@blxzer/cursor-trellis@beta. @latest stays 0.4.3. - In the project root run
cstl update(do not re-run init). Existing projects migrate; .cstl/middleware/ is never written. - Core and CLI versions stay paired: @blxzer/cursor-trellis-core@0.5.0-beta.4.
- Do not promote this prerelease to main / @latest until an explicit official release.
0.5.0-beta.3
[0.5.0-beta.3] - 2026-09-07
P41 memory cut: notes_projection slot + spec-write audit + Lite archive relaxation. Not @latest — install with @beta or the exact version.
Added
- feat(memory):
kernel.jsonextras gainsnotes_projection— at archive,cmd_archivesummarizes reusable points fromac_evidence_ledger/independent_check/verify.md(≤150 tokens viasession_memory) plus artifact pointers. This is the Notes track of the 双轨记忆 (Notes + History) design: machine-recorded at Close, searchable later, never full-text injected. - feat(memory):
spec-write-audit.pypreToolUse hook records spec writes — when a write targets.cstl/spec/,docs/adr/, or Policy, it logs actor / timestamp / target / verification state to.cstl/.runtime/hooks/spec-write.log. It only records and always allows (never blocks a write). Contract updated inspec-learning; Event Bridge subscription registered; shipped inshared-hooks. - feat(contracts):
personal-memorygains a Close Notes index-projection clause (≤N-token summary + path pointer,context-progressivelayer-4 retrieval, not resident);close-basiclearning disposition gainsnote-projection(missing slot only leaves a trace, never blocks Close).
Changed
- fix(templates):
_resolve_seed_spec_pathsnow scans.cstl/spec/guides/for real guide files instead of only fixed seed paths, sotask.py createjsonl seeds stay valid when guides live there. - fix(templates):
start-execution --ignore-depswritesdepends_onrefs intodependency_satisfiedso the Kernelstarttransition allows the override (previously the Kernel still rejectedrequires unmet). - fix(hooks):
spec-write-auditmoved to second inpreToolUseso theTask|Subagentmatcher stays first (documentedplatforms.test.tscontract). - fix(gates): Lite tasks no longer require a substantive
durable-learningdecision inverify.md— explicitN/Aor a missing line archives cleanly (one-off bugfixes shouldn't be over-gated). Full / Parent still require a real decision.
Notes for consumers
- Install
npm i -g @blxzer/cursor-trellis@0.5.0-beta.3or@blxzer/cursor-trellis@beta.@lateststays 0.4.3. - In the project root run
cstl update(do not re-runinit). Existing projects migrate;.cstl/middleware/is never written. - Core and CLI versions stay paired:
@blxzer/cursor-trellis-core@0.5.0-beta.3. - Maintainers: tag
cstl-v0.5.0-beta.3. Do not promote this prerelease tomain/@latestuntil an explicit official release.
0.5.0-beta.2
[0.5.0-beta.2] - 2026-09-01
P40 pool split at Open + default-script init hole. Not @latest — install with @beta or the exact version.
Added
- feat(pool): when the user starts implementing an accepted pool item, write
## 切片on that item and Open isolatable Fulls (or a Parent only if integration authority is required). Check helperevaluate_pool_slicefails Full/Parent missingtouches, unrelated module pairs withoutserial_reason/oversized_accepted, and multi-link tasks whose PRD lacks per-item## 池义务.pool.py validatedoes not fail when## 切片is missing.
Fixed
- fix(init): ship
common/artifact_search.pyandcommon/injection_budget.pyin the defaultgetAllScripts()set. 0.5.0-beta.1 omitted them even thoughpool_store/pool_refs/subagent_dispatch/task_contextimport them at top level, so a cleancstl initcould not import pool or dispatch.
Notes for consumers
- Install
npm i -g @blxzer/cursor-trellis@0.5.0-beta.2or@blxzer/cursor-trellis@beta.@lateststays 0.4.3. - In the project root run
cstl update(do not re-runinit). Official.cstl/pool/README.md,pool_slice.py, and the two common modules refresh..cstl/middleware/is never written. - Core and CLI versions stay paired:
@blxzer/cursor-trellis-core@0.5.0-beta.2. - Maintainers: tag
cstl-v0.5.0-beta.2. Do not promote this prerelease tomain/@latestuntil an explicit official release.
0.5.0-beta.1
[0.5.0-beta.1] - 2026-09-01
P38 parallel-first runtime + P39 Cursor Adapter on the modular preview. Not @latest — install with @beta or the exact version.
Added
- feat(runtime): Full / Parent planning must declare isolatable groups (
parallel_groups/stages) or aserial_reason. Check helperevaluate_parallel_declarationfails when the declaration is missing. Lite may skip. This is not astart-execution --checkhard gate and not a scheduler. - feat(adapter): Cursor Q5 slot map and Q11–Q25 bindings live in the Adapter guide and escape hatches. Visible parallel fans out on Execute (ask to open Multitask, else
Task()plus one sentence). Integrate? stays serial Parentintegrate-child(merge_limit: 1).
Changed
- fix(modules):
worker-orchestration/intake-basiccontracts drop Cursor host nouns (Multitask,SwitchMode,CreateGoal, Cursor Task type names). Prefer host-native parallel in host-agnostic wording. Worker-orchestration activates only when isolatable groups are declared and a dispatch window is open. - fix(adapter): thin Bootstrap gains a Next native action pointer (no
SwitchMode).continue.md/finish-work.mdbind Plan / Goal / parallel without restoringcstl-goal. Build probe stays Adapter A′ (not a Kernel Event Bridge default).
Notes for consumers
- Install
npm i -g @blxzer/cursor-trellis@0.5.0-beta.1or@blxzer/cursor-trellis@beta.@lateststays 0.4.3. - In the project root run
cstl update(do not re-runinit). Official.cstl/modules/worker-orchestration/contract.mdand.cstl/framework/cursor-native-modes-guide.mdrefresh..cstl/middleware/is never written. - Core and CLI versions stay paired:
@blxzer/cursor-trellis-core@0.5.0-beta.1. - Maintainers: tag
cstl-v0.5.0-beta.1. Do not promote this prerelease tomain/@latestuntil an explicit official release.
0.5.0-beta.0
[0.5.0-beta.0] - 2026-08-31
Modular runtime preview. Kernel stays thin; P29 short contracts ship under .cstl/modules/; SessionStart injects a compiled session pack instead of dumping workflow.md Phase Index. Not @latest — install with @beta or the exact version.
Added
- feat(modules): ship P29 short contracts (
index.json+<id>/contract.md) oncstl init/cstl update. CLI source (catalog.ts) is not copied into the user tree. - feat(context): compile a five-layer Session pack (
compile_session_pack.py); SessionStart injects that pack via Event Bridge. - feat(kernel): persist
baseline_modulesand the P29 on-demand list; Dashboard projects Open / Define / Close names. - feat(retrieval): freeze three-layer retrieval ABI ownership (exact / semantic / structural / external stay Baseline intents).
- feat(adapter): bind Cursor Plan / Ask / Debug / Agent / Multitask honestly; user slash stays Continue / Finish-work / Handoff.
- feat(pool): delivery axis on pool items (
open/in-slice/landed/standing/deferred).acceptedis adjudication, not completion.pool:Pxxrefs resolve throughpool_refs. Missing.cstl/pool/does not block Close. - feat(middleware): register seven shipped providers;
.cstl/middleware/overlay is never written or hashed bycstl update.
Changed
- fix(hooks): SessionStart does not dump
workflow.mdPhase Index / Task Ladder; Event Bridge does not emitpermissiononsessionStart. - fix(profile): inactive modules are dropped from the session pack and hooks.
- fix(cli): joiner onboarding uses
/cstl-continueand Kernel/Dashboard; it no longer says continue loads Phase Index. - fix(update): unchanged templates with no stored hash (canary-copied
.cstl/modules/) are hashed on a no-op update so the next real template edit auto-updates. - fix(retrieval): query-only
build_retrieval_packstill stampsevidenceEnvelopeintents when collected-evidence is missing. Empty{}input stays envelope-free and is not AC Evidence. - chore(release): prerelease
pnpm publishuses thebeta/rc/alphadist-tag fromcomputeNpmTag. GitHub Release oncstl-v*no longer sets Latest for prerelease tags.
Notes for consumers
- Install
npm i -g @blxzer/cursor-trellis@0.5.0-beta.0or@blxzer/cursor-trellis@beta.@lateststays 0.4.3. - In the project root run
cstl update(do not re-runinit). New files include.cstl/modules/andcompile_session_pack.py. Unmodified official hooks auto-update. - Core and CLI versions stay paired:
@blxzer/cursor-trellis-core@0.5.0-beta.0. - Maintainers: tag
cstl-v0.5.0-beta.0. Do not promote this prerelease tomain/@latestuntil an explicit official release.
0.4.3
[0.4.3] - 2026-08-29
Cursor-native 0.4.3. Lands Stage 0–7 (Kernel writer, Lite / Full Quality, Topology, Adapter / Middleware) and Wave C (stop-read only after you confirm). GitHub user docs and cstl update match Native Cursor. Pushing a cstl-v* tag now opens a GitHub Release so Latest is not stuck on 0.3.4.
Added
- feat(kernel / Stage 0–7): Kernel is the task-state writer. Personal Lite Open→Close (no Parent/Git required). Full Quality:
required_controls, AC evidence ledger, graded Independent Check. Topology (single vs parent-child) and On-demand modules. Event Bridge + independent Middleware Providers; project overlay.cstl/middleware/is never written bycstl update. Stage 7 contract: dry-run migrate, stop treating retired task fields as the only truth after confirm, thin default Native install. - feat(p36 / Wave C):
cstl updateprints a plain-language summary (what will stop-read, what stays dual-read, whether anything is degraded). Stop-read of the old task shape happens only after you confirm Proceed.--force/--skip-all/--create-newrefresh official files but do not count as that confirm and do not write the stop-read flag. - feat(upgrade): Official-file and in-progress-artifact upgrade path (dual-read until confirm).
- ci:
.github/workflows/publish.ymlcreates a GitHub Release oncstl-v*(needscontents: write). npm publish is unchanged: core first, then cli, viapublish-packages.js.
Changed
- fix(update): Capability / readiness smoke failure no longer aborts
cstl updatebefore confirm. Unverified smoke is labeled; you can still Proceed, decline, or--force. - fix(init): Same principle — capability / readiness smoke failure no longer aborts
cstl init. Unverified smoke is labeled; official files still write and the install can finish. - docs: GitHub README and user
docs/match Native Cursor (bootstrap always-on rule,/cstl-handoff, skill paths under.cstl/framework/). Cursor++ / Method 2.5 is not a product path. - chore(product): Default install has no
cstl-goal, no Cursor++ live surface, no SDK / Campaign / RPC-FULL CORE. Parallel-first is a product principle (convention + review, not a new scheduler). Authoring Trellis skills still requirescstl-skill-creator.
Notes for consumers
- Install
@blxzer/cursor-trellis@0.4.3(cli and@blxzer/cursor-trellis-corestay the same version). In the project root runcstl updateand confirm once. Do not re-runinit. Do not move task directories by hand. - Default product is Native Cursor. This package does not embed BYOK.
- Maintainers: tag
cstl-v0.4.3(notv0.4.3— legacy@blxzer/trellistags occupyv*). The publish workflow publishes npm and creates the GitHub Release. Do not republish 0.4.2.