litclaude-ai 0.3.48 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +5 -5
- package/README_ko-KR.md +5 -5
- package/RELEASE_CHECKLIST.md +14 -7
- package/docs/hooks.md +36 -2
- package/package.json +1 -1
- package/plugins/litclaude/.claude-plugin/plugin.json +1 -1
- package/plugins/litclaude/bin/litclaude-hook.js +21 -5
- package/plugins/litclaude/bin/litclaude-mcp.js +1 -1
- package/plugins/litclaude/lib/canonical-runtime-commitments.mjs +6 -6
- package/plugins/litclaude/lib/canonical-skill-resources.mjs +10 -9
- package/plugins/litclaude/lib/deliverable-hedge-guard.mjs +395 -0
- package/plugins/litclaude/skills/ai-slop-remover/SKILL.md +7 -0
- package/plugins/litclaude/skills/autoconference/SKILL.md +7 -0
- package/plugins/litclaude/skills/autoresearch/SKILL.md +7 -0
- package/plugins/litclaude/skills/browser-drive/SKILL.md +7 -0
- package/plugins/litclaude/skills/comment-checker/SKILL.md +7 -0
- package/plugins/litclaude/skills/debugging/SKILL.md +7 -0
- package/plugins/litclaude/skills/deep-interview/SKILL.md +7 -0
- package/plugins/litclaude/skills/frontend-ui-ux/references/complete-contract.md +7 -0
- package/plugins/litclaude/skills/git-master/SKILL.md +7 -0
- package/plugins/litclaude/skills/hyperplan/SKILL.md +7 -0
- package/plugins/litclaude/skills/init-deep/SKILL.md +7 -0
- package/plugins/litclaude/skills/korean-ai-slop-remover/SKILL.md +7 -0
- package/plugins/litclaude/skills/lit-comprehend/SKILL.md +7 -0
- package/plugins/litclaude/skills/lit-handoff/SKILL.md +7 -0
- package/plugins/litclaude/skills/lit-loop/SKILL.md +7 -0
- package/plugins/litclaude/skills/lit-plan/SKILL.md +7 -0
- package/plugins/litclaude/skills/lit-recap/SKILL.md +7 -0
- package/plugins/litclaude/skills/lit-scientific-visualization/SKILL.md +7 -0
- package/plugins/litclaude/skills/litgoal/SKILL.md +7 -0
- package/plugins/litclaude/skills/litresearch/SKILL.md +7 -0
- package/plugins/litclaude/skills/litwork/SKILL.md +7 -0
- package/plugins/litclaude/skills/lsp/SKILL.md +7 -0
- package/plugins/litclaude/skills/lsp-setup/SKILL.md +7 -0
- package/plugins/litclaude/skills/programming/SKILL.md +7 -0
- package/plugins/litclaude/skills/refactor/SKILL.md +7 -0
- package/plugins/litclaude/skills/remove-ai-slops/SKILL.md +7 -0
- package/plugins/litclaude/skills/review-work/SKILL.md +7 -0
- package/plugins/litclaude/skills/rules/SKILL.md +7 -0
- package/plugins/litclaude/skills/skill-observer/SKILL.md +7 -0
- package/plugins/litclaude/skills/start-work/SKILL.md +7 -0
- package/plugins/litclaude/skills/structural-search/SKILL.md +7 -0
- package/plugins/litclaude/skills/teammode/SKILL.md +7 -0
- package/plugins/litclaude/skills/visual-qa/references/complete-contract.md +7 -0
- package/plugins/litclaude/skills/wikify/SKILL.md +7 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.0 - 2026-08-27 — output-channel enforcement
|
|
4
|
+
|
|
5
|
+
- Add a standalone `#contract.output_channels` declaration to every shipped
|
|
6
|
+
skill contract, with the byte-budgeted `frontend-ui-ux` and `visual-qa`
|
|
7
|
+
declarations kept in their lazy `references/complete-contract.md` files.
|
|
8
|
+
- Enumerate the complete skill corpus in the documentation gate and enforce the
|
|
9
|
+
five allowed artifact genres and their exact limitations-channel mappings.
|
|
10
|
+
- Add Claude-native `PostToolUse` hedge feedback. Claude Code can return
|
|
11
|
+
model-visible `additionalContext` after a successful write, so the guard
|
|
12
|
+
resolves the active skill's declared genre and inspects only bounded explicit
|
|
13
|
+
write content from the host event. It never opens an artifact path, and asks
|
|
14
|
+
for a revision when a client deliverable leaks absent-evidence or limitation
|
|
15
|
+
prose.
|
|
16
|
+
- Record the validated scope honestly: two isolated A/B experiments found no
|
|
17
|
+
measurable behavior change from the contract prose alone. The declaration is
|
|
18
|
+
machine-readable metadata consumed by the guard; this release does not claim
|
|
19
|
+
that the prose itself makes the model write cleaner documents.
|
|
20
|
+
|
|
3
21
|
## 0.3.48 - 2026-08-26 — version alignment
|
|
4
22
|
|
|
5
23
|
- Align the package, plugin manifest, MCP server, README surfaces, release
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/litclaude-ai@0.
|
|
1
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/litclaude-ai@0.4.0/cover.png" width="100%" alt="LitClaude — Claude Code-native workflow package" /></p>
|
|
2
2
|
|
|
3
3
|
<h1 align="center">LitClaude</h1>
|
|
4
4
|
<p align="center">
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</p>
|
|
10
10
|
<p align="center">
|
|
11
11
|
<img src="https://img.shields.io/badge/npm-litclaude--ai-cb3837" alt="npm: litclaude-ai" />
|
|
12
|
-
<img src="https://img.shields.io/badge/version-0.
|
|
12
|
+
<img src="https://img.shields.io/badge/version-0.4.0-2ea44f" alt="version 0.4.0" />
|
|
13
13
|
<img src="https://img.shields.io/badge/Claude%20Code-plugin-blueviolet" alt="Claude Code plugin" />
|
|
14
14
|
<img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT license" />
|
|
15
15
|
</p>
|
|
@@ -50,13 +50,13 @@ npx --yes litclaude-ai@latest install
|
|
|
50
50
|
For a reproducible install, pin the current package version:
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
npm view litclaude-ai@0.
|
|
53
|
+
npm view litclaude-ai@0.4.0 version
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
If that lookup returns `0.
|
|
56
|
+
If that lookup returns `0.4.0`, the exact install is available:
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
|
-
npx --yes litclaude-ai@0.
|
|
59
|
+
npx --yes litclaude-ai@0.4.0 install
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
Otherwise, wait for explicit human publication before using that pin. Check the
|
package/README_ko-KR.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<p align="center"><img src="https://cdn.jsdelivr.net/npm/litclaude-ai@0.
|
|
1
|
+
<p align="center"><img src="https://cdn.jsdelivr.net/npm/litclaude-ai@0.4.0/cover.png" width="100%" alt="LitClaude — Claude Code-native workflow package" /></p>
|
|
2
2
|
|
|
3
3
|
<h1 align="center">LitClaude</h1>
|
|
4
4
|
<p align="center">
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</p>
|
|
10
10
|
<p align="center">
|
|
11
11
|
<img src="https://img.shields.io/badge/npm-litclaude--ai-cb3837" alt="npm: litclaude-ai" />
|
|
12
|
-
<img src="https://img.shields.io/badge/version-0.
|
|
12
|
+
<img src="https://img.shields.io/badge/version-0.4.0-2ea44f" alt="version 0.4.0" />
|
|
13
13
|
<img src="https://img.shields.io/badge/Claude%20Code-plugin-blueviolet" alt="Claude Code plugin" />
|
|
14
14
|
<img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT license" />
|
|
15
15
|
</p>
|
|
@@ -52,13 +52,13 @@ npx --yes litclaude-ai@latest install
|
|
|
52
52
|
뒤 고정합니다.
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
npm view litclaude-ai@0.
|
|
55
|
+
npm view litclaude-ai@0.4.0 version
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
조회 결과가 `0.
|
|
58
|
+
조회 결과가 `0.4.0`이면 exact install을 사용할 수 있습니다.
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
npx --yes litclaude-ai@0.
|
|
61
|
+
npx --yes litclaude-ai@0.4.0 install
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
그렇지 않으면 명시적인 human publication을 기다립니다. Pin은 그 뒤에 사용합니다.
|
package/RELEASE_CHECKLIST.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# LitClaude Release Checklist
|
|
2
2
|
|
|
3
|
-
Status: `litclaude-ai@0.
|
|
3
|
+
Status: `litclaude-ai@0.4.0` is the current release candidate — exact canonical
|
|
4
4
|
frontend corpus plus Claude-native `autoresearch`, `autoconference`, and `wikify`
|
|
5
5
|
workflow-family integration. It byte-pins the frontend library, legal companions,
|
|
6
6
|
family source closures, and adapters through independent commitments and package
|
|
@@ -45,9 +45,16 @@ side-effect-free, the launcher starts only a separate Claude Code
|
|
|
45
45
|
print/background worker, and the release preserves the Korean polishing
|
|
46
46
|
command, strict multi-agent review pipeline, fidelity guardrails, package
|
|
47
47
|
hygiene checks, native route gates, and safe start-work handoff behavior.
|
|
48
|
-
`package.json` is aligned to `0.
|
|
49
|
-
`plugins/litclaude/.claude-plugin/plugin.json` is aligned to `0.
|
|
50
|
-
plugin-local MCP server reports `0.
|
|
48
|
+
`package.json` is aligned to `0.4.0`,
|
|
49
|
+
`plugins/litclaude/.claude-plugin/plugin.json` is aligned to `0.4.0`, and the
|
|
50
|
+
plugin-local MCP server reports `0.4.0`.
|
|
51
|
+
|
|
52
|
+
This candidate adds machine-readable output-channel declarations across the
|
|
53
|
+
shipped skill corpus and a `PostToolUse` hedge-feedback path that consumes those
|
|
54
|
+
declarations after reader-facing writes. Two isolated A/B experiments found no
|
|
55
|
+
measurable behavior change from the declaration prose alone; this release
|
|
56
|
+
therefore treats the declaration as guard metadata, not as evidence that prose
|
|
57
|
+
instructions by themselves make generated documents cleaner.
|
|
51
58
|
|
|
52
59
|
This release carries the v0.2.2 Dynamic workflow hardening surfaces:
|
|
53
60
|
`/dynamic-workflow`, `workflow-check --json`, native `/goal` fallback guidance,
|
|
@@ -280,9 +287,9 @@ checkout and from an isolated install of the packed tarball:
|
|
|
280
287
|
Before requesting publication approval, confirm these artifacts from the current
|
|
281
288
|
checkout:
|
|
282
289
|
|
|
283
|
-
- `package.json` version is `0.
|
|
284
|
-
- `plugins/litclaude/.claude-plugin/plugin.json` version is `0.
|
|
285
|
-
- `plugins/litclaude/bin/litclaude-mcp.js` reports server version `0.
|
|
290
|
+
- `package.json` version is `0.4.0`.
|
|
291
|
+
- `plugins/litclaude/.claude-plugin/plugin.json` version is `0.4.0`.
|
|
292
|
+
- `plugins/litclaude/bin/litclaude-mcp.js` reports server version `0.4.0`.
|
|
286
293
|
- Prompt-hook tests cover bundled `SKILL.md` body injection for bare `hyperplan`, `litresearch`, `lit research`, `init-deep`, and explicit leading `$start-work`; diagnostic/copy mentions stay inert while leading natural-language `lit start work` stays BLOCKED.
|
|
287
294
|
- `lit search` and `lit query` route to `/litclaude:litresearch` without activating on slash mentions, code spans, or non-lit prompts.
|
|
288
295
|
- Litresearch web lanes require public API/feed preference, validator-first checks, route traces, prompt-injection quarantine, and honest auth/paywall/private-data stop reasons.
|
package/docs/hooks.md
CHANGED
|
@@ -35,7 +35,7 @@ verdicts: [PASS, FAIL, BLOCKED]
|
|
|
35
35
|
| `SessionStart` | rules discovery and static injection | Adds context and, when a session id exists, records emitted rule identities in the project's git-ignored `.litclaude/rules/` state. |
|
|
36
36
|
| `UserPromptSubmit` | route classifier, static-rule straggler lane, and explicit resume gate | Prompt routing adds guidance. Static-rule delivery may update rule dedup state; the exact start-work resume route may also mutate code-owned lifecycle state. |
|
|
37
37
|
| `PreToolUse` | bounded-authority enforcement | Allows normal Claude permission handling only for classified, authorized action/root pairs; otherwise denies before execution. |
|
|
38
|
-
| `PostToolUse` | conditional post-edit routing
|
|
38
|
+
| `PostToolUse` | conditional post-edit routing, dynamic rule injection, and deliverable hedge feedback | Names only the checks the edit earned and only the rules whose globs matched. When the current transcript identifies a loaded LitClaude skill, it reads that skill's shipped output-channel declaration and scans bounded submitted content for reader-facing paths only for `client_deliverable` / `reply`. It emits nothing when no lane applies and does not claim completion. |
|
|
39
39
|
| `PostCompact` | bounded context restoration | Durably reserves one unit of a 2-per-session budget, clears rule dedup state, and re-injects the static set at reduced caps. If reservation persistence fails, it emits the reset diagnostic but does not re-inject. |
|
|
40
40
|
| `Stop` | start-work continuation, then litgoal autoloop gate | Root-session and progress-bound; no unbounded loop. |
|
|
41
41
|
| `SubagentStart` / `SubagentStop` | lane identity observation | Records the root session, child lane, and Claude-owned worktree without emitting child continuation. |
|
|
@@ -53,6 +53,7 @@ verdicts: [PASS, FAIL, BLOCKED]
|
|
|
53
53
|
|
|
54
54
|
- Claude Code hook JSON containing `continue: true`, `hookSpecificOutput.hookEventName`, and route-specific `additionalContext`.
|
|
55
55
|
- Optional `systemMessage` only for active LitClaude route guidance.
|
|
56
|
+
- `DELIVERABLE_HEDGE_VIOLATION` as `PostToolUse` `additionalContext` after a client-deliverable write contains a matched limitation phrase; the file has already been written, so the response asks Claude to revise it rather than claiming the write was prevented.
|
|
56
57
|
- `BLOCKED:` text for natural-language start-work, unavailable native goal binding, disabled Dynamic workflow, or gated agent-team setup.
|
|
57
58
|
- Unavailable native goal binding also includes `READY_TO_PASTE` and one bounded `/goal` command for the user to copy, paste, and send; the hook never enters or submits it.
|
|
58
59
|
|
|
@@ -103,13 +104,46 @@ incumbents are not silently removed.
|
|
|
103
104
|
| `SessionStart` | `plugins/litclaude/bin/litclaude-hook.js session-start` | Runs the bounded foreground automatic-update barrier when a fresh cache names a newer version, discovers repo-local rule files, and names the newest valid `plans/<slug>.md` visible from the current or a parent directory. |
|
|
104
105
|
| `UserPromptSubmit` | `plugins/litclaude/bin/litclaude-hook.js user-prompt-submit` | Detects prompt routes and injects workflow context; independently delivers static rules not already recorded for this session. |
|
|
105
106
|
| `PreToolUse` | `plugins/litclaude/bin/litclaude-hook.js pre-tool-use` | Enforces semantic action/root grants before Write, Edit, MultiEdit, NotebookEdit, Bash, Agent, and bounded read tools execute. |
|
|
106
|
-
| `PostToolUse` | `plugins/litclaude/bin/litclaude-hook.js post-tool-use` | Names the post-edit checks the edit actually earned,
|
|
107
|
+
| `PostToolUse` | `plugins/litclaude/bin/litclaude-hook.js post-tool-use` | Names the post-edit checks the edit actually earned, injects any glob-scoped rule matching the edited paths, and returns model-visible feedback when bounded submitted content for the loaded skill's declared `client_deliverable` artifact contains a hedge finding. |
|
|
107
108
|
| `PostCompact` | `plugins/litclaude/bin/litclaude-hook.js post-compact` | Durably spends one of two per-session reservations, clears the rule dedup set, and re-injects static rule bodies at reduced caps; an unpersisted reservation produces a diagnostic and no rule injection. |
|
|
108
109
|
| `Stop` | `plugins/litclaude/bin/litclaude-hook.js stop` | Emits bounded start-work continuation on new progress, otherwise applies the opt-in litgoal autoloop gate. |
|
|
109
110
|
| `SubagentStart` | `plugins/litclaude/bin/litclaude-hook.js subagent-start` | Registers child-lane and Claude-owned worktree identity. |
|
|
110
111
|
| `SubagentStop` | `plugins/litclaude/bin/litclaude-hook.js subagent-stop` | Finalizes the lane without child continuation. |
|
|
111
112
|
| `SessionEnd` | `plugins/litclaude/bin/litclaude-hook.js session-end` | Records root-session end without blocking Claude. |
|
|
112
113
|
|
|
114
|
+
### Deliverable hedge feedback
|
|
115
|
+
|
|
116
|
+
The hedge checker runs after a successful `Write`, `Edit`, or `MultiEdit` whose
|
|
117
|
+
host event includes explicit `content`, `new_string`, or `edits`, because Claude
|
|
118
|
+
Code's `PostToolUse` response can add `additionalContext` beside the completed
|
|
119
|
+
tool result. It scans only that bounded host-event content and never opens the
|
|
120
|
+
artifact path. The hook locates a loaded LitClaude skill only from an
|
|
121
|
+
assistant-side Skill invocation or the
|
|
122
|
+
exact Claude `hook_additional_context` attachment shape carrying LitClaude's
|
|
123
|
+
own `<litclaude-skill-body>` marker and the byte-identical current shipped skill
|
|
124
|
+
body in the bounded host transcript; generic
|
|
125
|
+
attachments, user text, and assistant text that merely echoes the marker cannot
|
|
126
|
+
grant a genre. It then reads `artifact_genre` and `limitations_channel` from that
|
|
127
|
+
skill's shipped `#contract.output_channels` block. The genre is never inferred
|
|
128
|
+
from a filename and is not maintained as a parallel hard-coded skill map.
|
|
129
|
+
|
|
130
|
+
Only `client_deliverable` with `limitations_channel: reply` is enforced in this
|
|
131
|
+
guard. The same prose under `working_note` is intentionally left alone. Quoted
|
|
132
|
+
status enums, JSON/YAML status scalars, fenced code, and status-table cells are
|
|
133
|
+
state rather than prose and are excluded. Korean absent-evidence matching is
|
|
134
|
+
anchored to evidence-bearing subjects such as 근거, 자료, 측정값, and 관찰 기록 so
|
|
135
|
+
factual specifications such as `이 API는 반환값이 없습니다` stay clean.
|
|
136
|
+
|
|
137
|
+
This is post-write feedback, not rollback or a permission denial. If the
|
|
138
|
+
transcript is absent, stale, oversized, malformed, or does not identify a known
|
|
139
|
+
bundled skill, or if the host event is path-only, unknown, outside the lexical
|
|
140
|
+
working root, not reader-facing, oversized, or over budget, the guard fails open
|
|
141
|
+
and the normal post-edit routes continue. It accepts at most 16 paths, 512 KiB
|
|
142
|
+
of submitted content per path, and 2 MiB in aggregate. Because no artifact
|
|
143
|
+
pathname is opened, a FIFO or an ancestor replacement cannot block the hook or
|
|
144
|
+
redirect which bytes it scans. The direct driver and regression fixtures live in
|
|
145
|
+
`test/deliverable-hedge-guard.test.mjs`.
|
|
146
|
+
|
|
113
147
|
### Cross-session plan discovery
|
|
114
148
|
|
|
115
149
|
The scaffold writer remains the only plan write surface. It writes through a same-directory
|
package/package.json
CHANGED
|
@@ -6,6 +6,7 @@ import { fileURLToPath } from "node:url";
|
|
|
6
6
|
import { transcriptHasContextPressure } from "../lib/context-pressure.mjs";
|
|
7
7
|
import { extractMutatedFilePaths, serializeUntrustedData } from "../lib/mutated-file-paths.mjs";
|
|
8
8
|
import { extractAddedCommentLines } from "../lib/added-comment-lines.mjs";
|
|
9
|
+
import { evaluateDeliverableHedgeGuard, formatDeliverableHedgeContext } from "../lib/deliverable-hedge-guard.mjs";
|
|
9
10
|
import { dynamicRulesBlock, staticRulesBlock } from "../lib/rules/engine.mjs";
|
|
10
11
|
import { consumePostCompactBudget } from "../lib/rules/session-state.mjs";
|
|
11
12
|
import { findProjectRoot } from "../lib/rules/discovery.mjs";
|
|
@@ -995,12 +996,28 @@ switch (eventName) {
|
|
|
995
996
|
const fullSkillContext = skillEntries.length
|
|
996
997
|
? `LitClaude post-edit routes for ${toolName} on untrusted inert path data ${serializeUntrustedData(filePaths)}: ${skillEntries.map((entry) => entry.text).join(" ")}`
|
|
997
998
|
: "";
|
|
998
|
-
const
|
|
999
|
+
const hedgeContext = formatDeliverableHedgeContext(
|
|
1000
|
+
evaluateDeliverableHedgeGuard({ input, pluginRoot }),
|
|
1001
|
+
serializeUntrustedData,
|
|
1002
|
+
);
|
|
1003
|
+
const skillBudget = Math.max(
|
|
1004
|
+
0,
|
|
1005
|
+
DEFAULT_DYNAMIC_MAX_RESULT_CHARS - hedgeContext.length - (hedgeContext.length > 0 ? 2 : 0),
|
|
1006
|
+
);
|
|
1007
|
+
const omittedSkillContext = fullSkillContext.length > skillBudget
|
|
1008
|
+
? postEditOmissionContext({ skillEntries, filePaths, addedComments })
|
|
1009
|
+
: "";
|
|
1010
|
+
const skillContext = fullSkillContext.length <= skillBudget
|
|
999
1011
|
? fullSkillContext
|
|
1000
|
-
:
|
|
1012
|
+
: omittedSkillContext.length <= skillBudget
|
|
1013
|
+
? omittedSkillContext
|
|
1014
|
+
: "";
|
|
1015
|
+
const dynamicContexts = [skillContext, hedgeContext].filter(Boolean);
|
|
1016
|
+
const dynamicContextLength = dynamicContexts.reduce((total, context) => total + context.length, 0)
|
|
1017
|
+
+ Math.max(0, dynamicContexts.length - 1) * 2;
|
|
1001
1018
|
const rulesBudget = Math.max(
|
|
1002
1019
|
0,
|
|
1003
|
-
DEFAULT_DYNAMIC_MAX_RESULT_CHARS -
|
|
1020
|
+
DEFAULT_DYNAMIC_MAX_RESULT_CHARS - dynamicContextLength - (dynamicContextLength > 0 ? 2 : 0),
|
|
1004
1021
|
);
|
|
1005
1022
|
// Dynamic lane: glob-scoped rules matched against the paths this edit actually
|
|
1006
1023
|
// touched. A docs-only edit that matches no glob emits nothing, same as the skill
|
|
@@ -1014,8 +1031,7 @@ switch (eventName) {
|
|
|
1014
1031
|
maxResultChars: rulesBudget,
|
|
1015
1032
|
}),
|
|
1016
1033
|
);
|
|
1017
|
-
const parts = [];
|
|
1018
|
-
if (skillContext) parts.push(skillContext);
|
|
1034
|
+
const parts = [...dynamicContexts];
|
|
1019
1035
|
if (rules) parts.push(rules);
|
|
1020
1036
|
if (parts.length) writeContext(parts.join("\n\n"));
|
|
1021
1037
|
break;
|
|
@@ -24,21 +24,21 @@ export const CANONICAL_RUNTIME_COMMITMENTS = Object.freeze(new Map([
|
|
|
24
24
|
export const CANONICAL_RUNTIME_ADAPTER_COMMITMENTS = Object.freeze([
|
|
25
25
|
Object.freeze({
|
|
26
26
|
path: "skills/autoresearch/SKILL.md",
|
|
27
|
-
size:
|
|
27
|
+
size: 7738,
|
|
28
28
|
executable: false,
|
|
29
|
-
sha256: "
|
|
29
|
+
sha256: "2b3de204f6c0a75b205e12bb7c5fb5736dc6de24aeb1f287496f5d20c3e208c9",
|
|
30
30
|
}),
|
|
31
31
|
Object.freeze({
|
|
32
32
|
path: "skills/autoconference/SKILL.md",
|
|
33
|
-
size:
|
|
33
|
+
size: 7212,
|
|
34
34
|
executable: false,
|
|
35
|
-
sha256: "
|
|
35
|
+
sha256: "6403a26653dfb3db31f15eaee379dac7f18df1180429d11b9db288a23d8485cd",
|
|
36
36
|
}),
|
|
37
37
|
Object.freeze({
|
|
38
38
|
path: "skills/wikify/SKILL.md",
|
|
39
|
-
size:
|
|
39
|
+
size: 9782,
|
|
40
40
|
executable: false,
|
|
41
|
-
sha256: "
|
|
41
|
+
sha256: "dc0ad9c8aed2c847f598037bd8e5e375b418ccd87ef0f5914575611d570b3c65",
|
|
42
42
|
}),
|
|
43
43
|
Object.freeze({
|
|
44
44
|
path: "commands/autoresearch.md",
|
|
@@ -5,7 +5,8 @@ export const canonicalSkillResourceManifest = Object.freeze(
|
|
|
5
5
|
["lib/canonical-frontend-commitments.mjs", "94460ce6663b3464de17452c4f87d967b90a9cbcb0cd7e74f4a12c0d855b9f94"],
|
|
6
6
|
["lib/canonical-frontend-corpus.mjs", "a03490b0d7b136fb5efe86d37704e9b4f945c462530db5d51bbfd5b1c70c8b2c"],
|
|
7
7
|
["lib/canonical-runtime-closures.mjs", "80e7512135240ee9a47818412a578a1a7db0800cbab8a9721e5efa0421292bf5"],
|
|
8
|
-
["lib/canonical-runtime-commitments.mjs", "
|
|
8
|
+
["lib/canonical-runtime-commitments.mjs", "e323b6acecb1b80e0ab98e26edccd88987daf7e98dbe9c8fe33b13b1c819ca9a"],
|
|
9
|
+
["lib/deliverable-hedge-guard.mjs", "ed5b3becf69f2a3f5cb2255affd33830c33f38f01386c77171014758ac08f72f"],
|
|
9
10
|
["lib/durable-plan.mjs", "33fc7c2ba6305602c73650c8f29e6141e93b8ac32a444f772807e11bf8c22e44"],
|
|
10
11
|
["lib/immutable-expected-file-map.mjs", "4061486bc8eda8a53e56b7b346a1e400e7c858c0a682c83362fea460b46dfd4b"],
|
|
11
12
|
["lib/owner-lock.mjs", "804a5e94863be5d573a217ad1eb597889b6f9fe43bbc6d9f539f15ac2df0ea8b"],
|
|
@@ -27,8 +28,8 @@ export const canonicalSkillResourceManifest = Object.freeze(
|
|
|
27
28
|
["lib/wikify-knowledge-cli.mjs", "d98e4b3ea0efe3dcd483750c2dc3a5d0dfd14bc6eb349437902b1e01b8fa2ff4"],
|
|
28
29
|
["lib/wikify-knowledge.mjs", "c548926af6943932baebd44ef0005d6de1dfc2346a9d2e0137e049d0cbf926f3"],
|
|
29
30
|
["scripts/scaffold-plan.mjs", "b131a4b2d7576515dfb570fce9fd3750740a750b57764a1e9f6e222be938c7f1"],
|
|
30
|
-
["skills/autoconference/SKILL.md", "
|
|
31
|
-
["skills/autoresearch/SKILL.md", "
|
|
31
|
+
["skills/autoconference/SKILL.md", "6403a26653dfb3db31f15eaee379dac7f18df1180429d11b9db288a23d8485cd"],
|
|
32
|
+
["skills/autoresearch/SKILL.md", "2b3de204f6c0a75b205e12bb7c5fb5736dc6de24aeb1f287496f5d20c3e208c9"],
|
|
32
33
|
["skills/browser-drive/scripts/capability-probe.mjs", "3236a5fc4f2ecbafd3362488533af7bd83c5703dca74940ebed0a7cd78d7e94b"],
|
|
33
34
|
["skills/frontend-ui-ux/LICENSE", "738f69dfa83db5c347c678fb9d90e560877059f0de93a327c39001bff92dc014"],
|
|
34
35
|
["skills/frontend-ui-ux/PROVENANCE.json", "a00be969523fe376a07d310b7418be0c41824f01241294bdf00e82eb4d736e87"],
|
|
@@ -39,7 +40,7 @@ export const canonicalSkillResourceManifest = Object.freeze(
|
|
|
39
40
|
["skills/frontend-ui-ux/references/_canonical-corpus/manifest.json", "dc64511c4177498ffbe0ff37ed421f7b78bf3e08760cb8c1079caca912fb0e43"],
|
|
40
41
|
["skills/frontend-ui-ux/references/adaptive-layout.md", "d01ad4e7a55c30bac4bba4f8af01a174b8774cfff8a872f2c8c4cfc45b605792"],
|
|
41
42
|
["skills/frontend-ui-ux/references/brand-and-imagery.md", "ba428075259c9b1552f3b04ad0f91b9f9f914f71a6e827de1604a5b08e335034"],
|
|
42
|
-
["skills/frontend-ui-ux/references/complete-contract.md", "
|
|
43
|
+
["skills/frontend-ui-ux/references/complete-contract.md", "1e7bcadc26e87a48b16c9ae3fceabdb94a3ebc424c2e715a2f410021638bec04"],
|
|
43
44
|
["skills/frontend-ui-ux/references/composition.md", "13692ff243d3779af762a10e1c93c675c57cb2ddb5d9fd9e071650ddd43c9b20"],
|
|
44
45
|
["skills/frontend-ui-ux/references/creative-directions.md", "a8cf8d825e18553b98ae8d0a80b948d1c6842f2d15a36e07b185aa89af9682be"],
|
|
45
46
|
["skills/frontend-ui-ux/references/evidence-review.md", "acf7f23c4245610e93f75ad2ddd152a5f95d3da5a3e1707b5f7e7e528e855d6e"],
|
|
@@ -69,18 +70,18 @@ export const canonicalSkillResourceManifest = Object.freeze(
|
|
|
69
70
|
["skills/frontend-ui-ux/scripts/search.mjs", "a08531cf2fece7b4cf4a7290cb7afbdbf90b72c0cf6cd0101df86986da86b517"],
|
|
70
71
|
["skills/frontend-ui-ux/scripts/source-replay.mjs", "2c24537a8b9f2161c1d06e42e7d5d44ab921b083f41d93d3e44da835cf932fb8"],
|
|
71
72
|
["skills/frontend-ui-ux/scripts/validate-design-contract.mjs", "f05997c3836764b9f6326efe457b91fe187ca5735bb0ce10f54f14b5b1ca0e3a"],
|
|
72
|
-
["skills/lit-comprehend/SKILL.md", "
|
|
73
|
+
["skills/lit-comprehend/SKILL.md", "26f48f67c0c955a0a24ef270792b9a90c32ed43f0c351a7205651355596ee62a"],
|
|
73
74
|
["skills/lit-comprehend/assets/explainer-scaffold.html", "73212a606f97d346b1fd71a4012d0c1186b345cde12c816f8e37e7f900108daa"],
|
|
74
75
|
["skills/lit-comprehend/references/artifact-template.md", "d646a707eec803524cab6047efcb56d3d1e445792629acff1aa0fbb91785d756"],
|
|
75
76
|
["skills/lit-comprehend/references/micro-worlds.md", "92fc1401fc14c5bcbbeded00ff45819aacd2ead50b86f8a0f45985d19461bfa4"],
|
|
76
77
|
["skills/lit-comprehend/scripts/verify-explainer.mjs", "837a6fe18e2fea8ed015c8e024b36f9f7e2ebb7f6abe433fc69b1db60a152994"],
|
|
77
78
|
["skills/litresearch/ATTRIBUTION.md", "1ed8b43d48a13d7fc106cbfd86bc1bac0316529bdac4e2e38043fafeae2a8e15"],
|
|
78
|
-
["skills/litwork/SKILL.md", "
|
|
79
|
-
["skills/teammode/SKILL.md", "
|
|
79
|
+
["skills/litwork/SKILL.md", "1a402ec9dd71a4f0b1f8493be97193370953aa3c07a11634cde61f78623df765"],
|
|
80
|
+
["skills/teammode/SKILL.md", "ba8aa473fa0929325f92dfd5ba848914e0f88e6c9d54721552664ad83839724a"],
|
|
80
81
|
["skills/teammode/scripts/team.mjs", "bd741c3d0ec41385c1fd7a1bbca0cdb0f757691ad25f301659340e937dcad60b"],
|
|
81
82
|
["skills/visual-qa/SKILL.md", "9d78f633b7cd9f9308b3718cdeecb8fe448099cc13b6716787f7a64065aee79c"],
|
|
82
83
|
["skills/visual-qa/references/capture-playbook.md", "92cad16893118c9e878cabbb49dc2187049ec6e759fcc4e6006d79bdae998689"],
|
|
83
|
-
["skills/visual-qa/references/complete-contract.md", "
|
|
84
|
+
["skills/visual-qa/references/complete-contract.md", "8785c95a259124fef04c5ae7b8ee0636e6390a5fda98ab2321bc4da185d57b98"],
|
|
84
85
|
["skills/visual-qa/schemas/design-contract-v1alpha1.schema.json", "520f231c6f0dfde585e299e1523240bd3f1dc3ec721825fa580a9e8f212d0876"],
|
|
85
86
|
["skills/visual-qa/schemas/design-contract-v1beta1.schema.json", "e09ac42209c7af28882662936f35b2788444ca5008513d367f01affb9be7d623"],
|
|
86
87
|
["skills/visual-qa/schemas/design-contract-v1beta2.schema.json", "3e3aa7a2e7a6a52a564fd2ea617ebee35f85da989c1669b0a758309b69b0e75a"],
|
|
@@ -109,7 +110,7 @@ export const canonicalSkillResourceManifest = Object.freeze(
|
|
|
109
110
|
["skills/visual-qa/scripts/tui-check.mjs", "8273d3a8b7db3fb7cce60ee24388767c43500f03f1ac03f950b53ca5bc974ddb"],
|
|
110
111
|
["skills/visual-qa/scripts/tui-grid.ts", "63a0db7624eda98cfd37434552f9e56a48195bbeab8a9bbdd017c97b369bf58c"],
|
|
111
112
|
["skills/visual-qa/scripts/types.ts", "ef5ee3c9adfeb2d92138b2ce543232a8323247d5b9dbdde13b26f3197ee13c62"],
|
|
112
|
-
["skills/wikify/SKILL.md", "
|
|
113
|
+
["skills/wikify/SKILL.md", "dc0ad9c8aed2c847f598037bd8e5e375b418ccd87ef0f5914575611d570b3c65"],
|
|
113
114
|
["vendor/canonical-runtime-closures.json", "abe52c014d62b4dd6cb392adc22979871cf48b454670b66996f378b5fbd9ef75"],
|
|
114
115
|
]),
|
|
115
116
|
);
|