Skip to content

Commit f140f83

Browse files
committed
release: ship Ultra Builder Pro 0.7.0
The initial Ultra delivery flow had no authoritative lifecycle for daily fixes, features, redesigns, or incidents after baseline completion. Task projections could diverge from state.db, projection failures were under-observed, recovery was incomplete, and internal memory/graph and command-proxy surfaces violated the intended plugin boundary. This release closes those gaps in one coherent runtime contract: 1. Add ultra-change and ultra-doctor across Claude Code, OpenCode, and Codex, backed by seven change.* MCP tools plus system.doctor. 2. Advance state.db to schema 9.0 with authoritative changes, artifacts, context snapshots, trace links, incidents, projection jobs, and durable consumer cursors; initialize it during task.init_project. 3. Commit MCP mutations before durable projection dispatch, expose projection metadata, repair stale claims, persist incidents, and add backup-first doctor recovery and convergence/archive gates. 4. Wire spec-staleness consumption and projection processing into the live orchestrator, and update hooks to surface initialized baselines, active changes, incidents, and protected task projections. 5. Keep memory and code-graph content in external providers only; Ultra stores strict provider metadata references and removes its internal graph watcher. 6. Remove the retired command-proxy detector and every related installer, handbook, cache, prompt, configuration, dependency, test, and documentation surface. Remove the retired fourth-runtime advisor surface from active package content and prompts. 7. Align all three native plugin bundles, public workflows, commands, agents, MCP specs, handbooks, package contents, and release documentation on the same explicit Ultra-owned asset allowlist. Verification: - npm run verify:release: state/MCP 201/201, orchestrator 92/92, remaining suites 118/118, hooks 13/13, all seven spec validation groups, npm audit with zero vulnerabilities, and fresh packed-consumer smoke tests. - node --test tests/conformance/codex/smoke.test.cjs: 10/10, including missing and retired hook-cache recovery across successful and failed refreshes. - npm pack --dry-run --json: 211 files, 0 forbidden retired artifacts. - Official Codex plugin validator: passed for the installed 0.7.0 plugin. - Source and filename audit: zero active RTK or Gemini matches. Intentional boundaries and recovery: - External memory and graph providers are not migrated or modified by this package; only their metadata references participate in change context. - The archived pre-CLI manual remains repository history but is excluded from the npm tarball. - Existing v0.6.0 tags and local cleanup backups remain available for rollback.
1 parent 9e3cd62 commit f140f83

93 files changed

Lines changed: 3870 additions & 1114 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ Temporary Items
2525
*.swo
2626

2727
# ===== Local tool state =====
28-
# RTK (Rust Token Killer) per-project filter cache — local preference, not repo state
29-
.rtk/
3028

3129
# ===== Backup Files =====
3230
*.backup
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

CHANGELOG.md

Lines changed: 62 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.7.0] — 2026-07-17
11+
12+
### Added
13+
14+
- Added `ultra-change` and `ultra-doctor` as native workflows on Claude Code,
15+
OpenCode, and Codex. Daily fixes, features, redesigns, and incidents now stay
16+
attached to an explicit change packet after the initial baseline delivery.
17+
- Added seven `change.*` MCP tools and `system.doctor`, advancing the live MCP
18+
contract to 29 tools and `.ultra/state.db` to schema `9.0` with 15 tables for
19+
changes, artifacts, context snapshots, trace links, incidents, projection
20+
jobs, and durable event-consumer cursors.
21+
- Added deterministic convergence and archive gates for task completion, spec
22+
deltas, tests, documentation impact, review evidence, context freshness, and
23+
baseline reconciliation.
24+
25+
### Changed
26+
27+
- `task.init_project` now initializes `state.db` immediately and creates active
28+
and archived change roots. `tasks.json` remains a generated projection.
29+
- MCP mutations now commit authority first, enqueue a durable projection job,
30+
process it, and expose projection status in MCP metadata instead of silently
31+
swallowing projection failures.
32+
- Session-start and edit hooks now understand initialized baselines and active
33+
changes. Health checks surface incidents, projection lag, orphan sessions,
34+
and missing change artifacts; direct writes to the task projection remain
35+
blocked even outside a command-scoped workflow.
36+
- Memory and code-graph content are exclusively owned by separately installed
37+
providers. Ultra accepts only provider metadata references in compiled change
38+
contexts and never stores recalled content, graph payloads, or embeddings.
39+
40+
### Fixed
41+
42+
- Wired spec-staleness consumption, crash recovery, projection processing, and
43+
durable cursors into the real orchestrator loop instead of leaving production
44+
helpers unconsumed.
45+
- Kept `intent.md` synchronized with authoritative change updates, linked task
46+
status events to their newly assigned change, and included `plan.export`
47+
events in projection accounting.
48+
- Added atomic projection claims and backup-first recovery for failed or stale
49+
interrupted jobs so a crashed projector cannot remain invisibly `running`.
50+
- Kept all three native plugin bundles, MCP launchers, agents, hooks, commands,
51+
and user-handbook renderings on one explicit Ultra-owned asset allowlist.
52+
53+
### Removed
54+
55+
- Removed the internal filesystem graph watcher and its dependency; external
56+
graph providers own indexing and refresh.
57+
- Removed the retired command-proxy detector, installer option, managed handbook
58+
block, cache artifacts, prompts, configuration, and documentation surface.
59+
- Stopped publishing the archived pre-CLI manual in the npm package; it remains
60+
repository history and cannot be mistaken for an active plugin contract.
61+
1062
## [0.6.0] — 2026-07-17
1163

1264
### Changed
@@ -21,9 +73,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2173

2274
### Removed
2375

24-
- Removed the Gemini CLI adapter, `--gemini` installer surface, extension and
25-
conformance packaging, pricing entries, `gemini-collab`, and all active Ultra
26-
prompts and documentation that offered Gemini as an advisor or runtime.
76+
- Removed the retired fourth-runtime adapter, installer surface, extension and
77+
conformance packaging, pricing entries, collaboration companion, and all
78+
active Ultra prompts and documentation that offered it as an advisor.
2779

2880
### Fixed
2981

@@ -189,8 +241,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
189241

190242
- D49 tech-debt sweep: stale Phase comments (`"scheduled for Phase 1"`,
191243
`"not implemented in Phase 3.1"`) replaced with accurate `unknown verb`
192-
messages; `docs/ROADMAP.md` status table synchronized; `.gitignore`
193-
excludes `.rtk/` local filter cache.
244+
messages; `docs/ROADMAP.md` status table synchronized.
194245

195246
### Tests
196247

@@ -201,13 +252,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
201252

202253
### Added
203254

204-
- **Phase 6 — monitoring + live code graph** (D44): RTK soft-dependency hook
205-
(`adapters/_shared/rtk-detect.cjs`) with `--skip-rtk` flag and install hint;
206-
token / cost telemetry with per-runtime pricing table, `telemetry` table +
255+
- **Phase 6 — monitoring + live code graph** (D44): token / cost telemetry
256+
with per-runtime pricing table, `telemetry` table +
207257
daily `.ultra/telemetry/YYYY-MM-DD.jsonl`; `ultra-tools status --cost`
208258
panel with by-runtime / by-task / by-session aggregation; chokidar-based
209-
code-graph watcher with debounce / awaitWriteFinish / batch thresholds,
210-
opt-in via `--with-graph-watcher`.
259+
then-experimental incremental graph watcher with debounce and batch thresholds.
211260
- **Phase 5 — execution resilience** (D43): `recovery.cjs` boot-time orphan
212261
scan using live PID probe; `circuit_breaker` table with `recordTaskFailure`
213262
counter and `resetCircuitBreaker` escape hatch; spec-change staleness
@@ -257,7 +306,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
257306
skill manifest, CLI protocol + mapping table; 5 spec validators.
258307
- **Phase 0 — skeleton**: multi-runtime installer scaffolding.
259308

260-
[Unreleased]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.5.3...HEAD
309+
[Unreleased]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.7.0...HEAD
310+
[0.7.0]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.6.0...v0.7.0
311+
[0.6.0]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.5.3...v0.6.0
261312
[0.5.3]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.5.2...v0.5.3
262313
[0.5.2]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.5.1...v0.5.2
263314
[0.5.1]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.5.0...v0.5.1

CLAUDE.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,6 @@ Strong success criteria enable independent loops; weak criteria force clarificat
301301
**Completeness Principle**: KISS decides WHAT to build; Completeness decides HOW THOROUGH. Once committed to building a feature → tests, error handling, edge cases must be complete. Marginal cost is near-zero with AI; no half-finished features.
302302
</ask_user_format>
303303

304-
@RTK.md
305304
# graphify
306305
- **graphify** (`~/.claude/skills/graphify/SKILL.md`) - any input to knowledge graph. Trigger: `/graphify`
307306
When the user types `/graphify`, invoke the Skill tool with `skill: "graphify"` before doing anything else.

README.md

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ authoritative `.ultra/state.db`.
88

99
<div align="center">
1010

11-
[![Version](https://img.shields.io/badge/version-0.6.0-blue)](./CHANGELOG.md)
11+
[![Version](https://img.shields.io/badge/version-0.7.0-blue)](./CHANGELOG.md)
1212
[![Tests](https://img.shields.io/badge/tests-passing-brightgreen)](#verification)
1313
[![License: MIT](https://img.shields.io/badge/license-MIT-green)](./LICENSE)
1414
[![Node](https://img.shields.io/badge/node-%E2%89%A522-informational)](./package.json)
@@ -25,16 +25,21 @@ authoritative `.ultra/state.db`.
2525
Codex receive their own command/skill, agent, hook, and MCP representation.
2626
Install and uninstall are symmetric on every supported host.
2727
- **Shares state across runtimes.** `.ultra/state.db` (SQLite + WAL) is the
28-
authoritative source for tasks, sessions, events, and telemetry. `tasks.json`
29-
and context markdown are generated projections, not handwritten.
28+
authoritative source for changes, tasks, sessions, events, incidents,
29+
projection jobs, and telemetry. `tasks.json` and context markdown are
30+
generated projections, not handwritten.
3031
- **Keeps memory ownership explicit.** Ultra Builder Pro does not collect
3132
prompts, transcripts, observations, summaries, or cross-session memory.
3233
Install cloud-mem/claude-mem separately if persistent memory is wanted.
3334
- **Runs real PRDs end-to-end.** `task.parse_prd``lib/topo.cjs` waves →
3435
`.ultra/execution-plan.json` → parallel worktree sessions → auto-merge back.
35-
- **Observes without overhead.** Per-task / per-session / per-runtime token
36-
and cost telemetry; live code-review-graph watcher on file save;
37-
subscribe-events cursor for real-time dashboards.
36+
- **Keeps daily work convergent.** `/ultra-change` creates a bounded delta and
37+
context manifest; `/ultra-deliver` requires docs/test/review evidence and
38+
baseline reconciliation before archive. `/ultra-doctor` reports incidents,
39+
projection lag, orphan sessions, and backup-first mechanical recovery.
40+
- **Keeps external context external.** Memory and code-graph providers retain
41+
their own content; Ultra stores only provider/project/revision/status metadata
42+
references in a compiled change context.
3843

3944
## Quickstart
4045

@@ -57,7 +62,7 @@ npx ultra-builder-pro-cli --all --local --uninstall
5762
After install, start a new host session/task and point it at the project.
5863
Claude Code and OpenCode expose native command forms. Codex exposes the same workflows as namespaced plugin
5964
skills such as `$ultra-builder-pro:ultra-init`, `$ultra-builder-pro:ultra-plan`,
60-
and `$ultra-builder-pro:ultra-dev`; `command-map.json` records the nine legacy
65+
and `$ultra-builder-pro:ultra-dev`; `command-map.json` records the eleven legacy
6166
command mappings (`ultra-review` remains a directly invocable skill).
6267
See [`docs/RUNTIME-COMPAT-MATRIX.md`](./docs/RUNTIME-COMPAT-MATRIX.md)
6368
for per-runtime capabilities.
@@ -68,16 +73,17 @@ for per-runtime capabilities.
6873
|-------|---------|----------------|
6974
| **skill** (`skills/ultra-*/`) | Knowledge — prompts, workflows, prose | Runtime's native skill/prompt loader picks them up after install |
7075
| **MCP** (`mcp-server/`) | Authoritative state — reads/writes `.ultra/state.db` via stdio JSON-RPC | Primary path for task / session / event / plan operations |
71-
| **CLI** (`ultra-tools`, `bin/*`) | Shell fallback for CI and non-MCP contexts | `ultra-tools task init-project`, `ubp-orchestrator run`, `ultra-tools status --cost` |
76+
| **CLI** (`ultra-tools`, `bin/*`) | Selected initialization, recovery, diagnostics, and orchestration surfaces | `ultra-tools task init-project`, `ultra-tools system doctor`, `ubp-orchestrator run` |
7277

73-
The three layers share one `.ultra/state.db`. See
78+
The layers share one `.ultra/state.db`, but the CLI is not a mirror of every MCP
79+
tool: continuous change mutations are MCP-only and fail closed. See
7480
[`docs/ARCHITECTURE.md`](./docs/ARCHITECTURE.md) for the full contract and
75-
[`spec/cli-protocol.md`](./spec/cli-protocol.md) for the 21 live contracts.
81+
[`spec/cli-protocol.md`](./spec/cli-protocol.md) for the 29 live contracts.
7682
Review, impact discovery, skill resolution, and user interaction stay on each
7783
Host's native surfaces; the generated Codex capability map documents those
7884
replacements without advertising non-existent MCP tools.
7985

80-
The package boundary is deliberate: ten public Ultra workflow skills, four
86+
The package boundary is deliberate: twelve public Ultra workflow skills, four
8187
internal review-rule skills, and host-specific collaboration companions. Browser,
8288
deployment, skill-discovery, and framework guidance belong to their original plugins.
8389

@@ -99,30 +105,33 @@ Full details in [`docs/RUNTIME-COMPAT-MATRIX.md`](./docs/RUNTIME-COMPAT-MATRIX.m
99105
## Typical workflow
100106

101107
```bash
102-
# 1. Initialize a project (writes .ultra/ skeleton; state.db stays lazy)
108+
# 1. Initialize a project (writes .ultra/ skeleton and initializes state.db)
103109
ultra-tools task init-project --name myapp
104110

105111
# 2. Turn a PRD into a task graph + execution plan (human-gate via dry-run)
106112
# (invoked by /ultra-plan skill or via MCP task.parse_prd + plan.export)
107113

108114
# 3. Run the plan — parallel sessions, auto-merge back to main on success
109-
ubp-orchestrator run --with-graph-watcher
115+
ubp-orchestrator run
110116

111-
# 4. Monitor cost and progress
117+
# 4. Monitor cost, progress, and runtime health
112118
ultra-tools status
113119
ultra-tools status --cost --since 24h
114120
ultra-tools session list --json
121+
ultra-tools system doctor
115122
```
116123

117124
Or let the skills drive it. In Codex, invoke
118125
`$ultra-builder-pro:ultra-plan``$ultra-builder-pro:ultra-dev`
119-
`$ultra-builder-pro:ultra-status`; other runtimes retain their native command form.
126+
`$ultra-builder-pro:ultra-status`; after the baseline is delivered, daily work
127+
starts with `$ultra-builder-pro:ultra-change`. Other runtimes retain their
128+
native command form.
120129

121130
## CLI surface
122131

123132
| Binary | Purpose |
124133
|--------|---------|
125-
| `ultra-builder-pro-cli` / `ubp` | Installer — `--claude / --opencode / --codex / --all`, `--local / --global`, `--uninstall`, `--skip-rtk` |
134+
| `ultra-builder-pro-cli` / `ubp` | Installer — `--claude / --opencode / --codex / --all`, `--local / --global`, `--uninstall` |
126135
| `ubp-orchestrator` | Session dispatch daemon — `run`, `start`, `stop`, `status` |
127136
| `ultra-tools` | State-layer CLI — `task`, `session`, `status`, `db`, `migrate`; explicit `legacy-memory` archive/prune migration |
128137
| `ubp-handbook` | Preview/apply the managed Ultra contract in `CLAUDE.md` / `AGENTS.md`, with backup |
@@ -169,15 +178,14 @@ Individual suites: `test:state`, `test:orch`, `test:spec`, `test:rest`.
169178

170179
| Doc | What's in it |
171180
|-----|--------------|
172-
| [`docs/PLAN.zh-CN.md`](./docs/PLAN.zh-CN.md) | Authoritative 12-phase execution plan (zh-CN) — decisions, risks, timeline |
181+
| [`docs/PLAN.zh-CN.md`](./docs/PLAN.zh-CN.md) | Historical 12-phase plan and decision log with a current-boundary overlay |
173182
| [`docs/ROADMAP.md`](./docs/ROADMAP.md) | One-page English roadmap + phase status |
174183
| [`docs/ARCHITECTURE.md`](./docs/ARCHITECTURE.md) | Single-page system architecture |
175184
| [`docs/AGENT-CONTEXT.md`](./docs/AGENT-CONTEXT.md) | Canonical runtime context contract |
176185
| [`docs/USER-HANDBOOK-CONTRACT.md`](./docs/USER-HANDBOOK-CONTRACT.md) | Shared user-handbook policy and host renderings |
177186
| [`docs/RUNTIME-COMPAT-MATRIX.md`](./docs/RUNTIME-COMPAT-MATRIX.md) | Per-runtime capability matrix |
178187
| [`docs/STATE-DB-ACCESS-POLICY.md`](./docs/STATE-DB-ACCESS-POLICY.md) | Multi-process write contract |
179188
| [`docs/COMMIT-HASH-BACKFILL.md`](./docs/COMMIT-HASH-BACKFILL.md) | Two-commit task-completion flow |
180-
| [`docs/LEGACY-HERMES.md`](./docs/LEGACY-HERMES.md) | Archived pre-CLI "Hermes 6.6" documentation |
181189
| [`CHANGELOG.md`](./CHANGELOG.md) | v0.1 → current release notes |
182190

183191
## License

adapters/_shared/handbook.cjs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,21 @@ const HOSTS = Object.freeze({
1414
claude: Object.freeze({
1515
name: 'Claude Code',
1616
handbook: ['.claude', 'CLAUDE.md'],
17-
invocation: '`/ultra-init`, `/ultra-research`, `/ultra-plan`, `/ultra-dev`, `/ultra-test`, `/ultra-review`, and `/ultra-deliver`; diagnostics use `/ultra-status` and `/ultra-think`',
17+
invocation: '`/ultra-init`, `/ultra-research`, `/ultra-plan`, `/ultra-change`, `/ultra-dev`, `/ultra-test`, `/ultra-review`, and `/ultra-deliver`; diagnostics use `/ultra-status`, `/ultra-think`, and `/ultra-doctor`',
1818
collaboration: '`/codex-collab` is an explicitly requested read-only advisor',
1919
coordination: 'Claude Code task UI is host coordination; it does not replace Ultra task state',
2020
}),
2121
codex: Object.freeze({
2222
name: 'Codex',
2323
handbook: ['.codex', 'AGENTS.md'],
24-
invocation: '`$ultra-builder-pro:ultra-init`, `$ultra-builder-pro:ultra-research`, `$ultra-builder-pro:ultra-plan`, `$ultra-builder-pro:ultra-dev`, `$ultra-builder-pro:ultra-test`, `$ultra-builder-pro:ultra-review`, and `$ultra-builder-pro:ultra-deliver`; diagnostics use `$ultra-builder-pro:ultra-status` and `$ultra-builder-pro:ultra-think`',
24+
invocation: '`$ultra-builder-pro:ultra-init`, `$ultra-builder-pro:ultra-research`, `$ultra-builder-pro:ultra-plan`, `$ultra-builder-pro:ultra-change`, `$ultra-builder-pro:ultra-dev`, `$ultra-builder-pro:ultra-test`, `$ultra-builder-pro:ultra-review`, and `$ultra-builder-pro:ultra-deliver`; diagnostics use `$ultra-builder-pro:ultra-status`, `$ultra-builder-pro:ultra-think`, and `$ultra-builder-pro:ultra-doctor`',
2525
collaboration: '`$ultra-builder-pro:cc-collab` is an explicitly requested read-only advisor',
2626
coordination: 'The Codex plan is turn-facing coordination; it does not replace Ultra task state',
2727
}),
2828
opencode: Object.freeze({
2929
name: 'OpenCode',
3030
handbook: ['.config', 'opencode', 'AGENTS.md'],
31-
invocation: '`/ultra-init`, `/ultra-research`, `/ultra-plan`, `/ultra-dev`, `/ultra-test`, `/ultra-review`, and `/ultra-deliver`; diagnostics use `/ultra-status` and `/ultra-think`',
31+
invocation: '`/ultra-init`, `/ultra-research`, `/ultra-plan`, `/ultra-change`, `/ultra-dev`, `/ultra-test`, `/ultra-review`, and `/ultra-deliver`; diagnostics use `/ultra-status`, `/ultra-think`, and `/ultra-doctor`',
3232
collaboration: '`/cc-collab` and `/codex-collab` are explicitly requested read-only advisors',
3333
coordination: 'OpenCode session coordination does not replace Ultra task state',
3434
}),
@@ -52,11 +52,11 @@ function renderHandbook(runtime) {
5252
`- Workflow entry points: ${value.invocation}.`,
5353
`- Collaboration boundary: ${value.collaboration}. The current host remains primary and owns final verification.`,
5454
`- Coordination boundary: ${value.coordination}.`,
55-
'- Authority: `.ultra/state.db` is the only durable Ultra authority for tasks, sessions, events, telemetry, and review evidence. Generated JSON and Markdown are projections or workflow artifacts.',
56-
'- Memory boundary: Ultra Builder Pro does not capture prompts, transcripts, observations, summaries, or cross-session memory. Persistent memory belongs to a separately installed provider such as cloud-mem or claude-mem.',
57-
'- Hook boundary: Ultra hooks are workflow-only lifecycle adapters and are no-ops unless `.ultra/workflow-state.json` describes an active non-terminal workflow. Generic command blocking and post-edit policy stay in user or repository governance.',
55+
'- Authority: `.ultra/state.db` is the only durable Ultra authority for changes, tasks, sessions, events, incidents, projection state, telemetry, and review evidence. Generated JSON and Markdown are projections or workflow artifacts.',
56+
'- Memory and graph boundary: Ultra Builder Pro does not capture prompts, transcripts, observations, summaries, cross-session memory, or code-graph content. Separately installed providers own that data; Ultra may store only their metadata references in a change context manifest.',
57+
'- Hook boundary: Ultra hooks observe workflow/change lifecycle only. Health/context may run when `.ultra/state.db` exists; projection protection is always authoritative, while edit/compact/stop/subagent enforcement remains active-workflow scoped. Generic command blocking and post-edit policy stay in user or repository governance.',
5858
'- Agent boundary: the bundled review and debugging agents are bounded workers. They use the current checkout and parent-supplied context, do not own private persistent state, and never replace the primary agent.',
59-
'- Package boundary: only the ten Ultra workflows, four internal review-rule skills, and host-specific collaboration companions belong to this plugin. General browser, deployment, discovery, and framework skills must be installed from their owners.',
59+
'- Package boundary: only the twelve Ultra workflows, four internal review-rule skills, and host-specific collaboration companions belong to this plugin. General browser, deployment, discovery, and framework skills must be installed from their owners.',
6060
END_MARKER,
6161
].join('\n');
6262
}

0 commit comments

Comments
 (0)