From bf796e6c3bc575c1f66799c10251c76aa6ef647a Mon Sep 17 00:00:00 2001 From: Gio Della-Libera Date: Fri, 24 Jul 2026 17:37:53 -0700 Subject: [PATCH 1/6] feat(claws): publish CLAW.md prompts --- convex/packages.public.test.ts | 2 +- docs/claws.md | 17 ++- fixtures/claws/hosted-e2e/package/CLAW.md | 6 +- .../hosted-e2e/package/workspace/SOUL.md | 3 - .../clawhub/src/cli/commands/packages.test.ts | 2 +- packages/clawhub/src/schema/clawPackage.ts | 67 ++++------- packages/clawhub/src/schema/claws.ts | 9 +- packages/schema/dist/clawPackage.d.ts | 5 +- packages/schema/dist/clawPackage.js | 42 ++----- packages/schema/dist/clawPackage.js.map | 2 +- packages/schema/dist/claws.d.ts | 4 +- packages/schema/dist/claws.js | 5 +- packages/schema/dist/claws.js.map | 2 +- packages/schema/src/clawPackage.test.ts | 111 +++++++++++------- packages/schema/src/clawPackage.ts | 67 ++++------- packages/schema/src/claws.ts | 9 +- scripts/claws-feed-openclaw-e2e.test.ts | 13 ++ specs/claws.md | 10 +- 18 files changed, 181 insertions(+), 195 deletions(-) delete mode 100644 fixtures/claws/hosted-e2e/package/workspace/SOUL.md diff --git a/convex/packages.public.test.ts b/convex/packages.public.test.ts index f0a63d2f4c..53718c4592 100644 --- a/convex/packages.public.test.ts +++ b/convex/packages.public.test.ts @@ -9320,7 +9320,7 @@ describe("packages public queries", () => { ], [ "storage:claw", - `---\nschemaVersion: 1\nagent:\n id: demo-claw\n name: Demo Claw\n description: ${longClawDescription}\nmetadata:\n openclaw.config: profiles/openclaw.yml\n---\n# Demo Claw\n`, + `---\nschemaVersion: 1\nagent:\n id: demo-claw\n name: Demo Claw\n description: ${longClawDescription}\nmetadata:\n openclaw.config: profiles/openclaw.yml\n---\nRun the demo workflow precisely.\n`, ], ["storage:profile", "schemaVersion: 1\nagent:\n tools:\n profile: coding\n"], ]); diff --git a/docs/claws.md b/docs/claws.md index 7fb9da2e00..b445756778 100644 --- a/docs/claws.md +++ b/docs/claws.md @@ -30,9 +30,9 @@ points to its manifest: } ``` -`CLAW.md` starts with the grouped Claw manifest as YAML frontmatter. Its -non-empty Markdown body becomes the managed `SOUL.md` for the new agent, so do -not also declare an explicit `SOUL.md` bootstrap or supporting-file destination. +`CLAW.md` starts with the grouped Claw manifest as YAML frontmatter. A non-empty +Markdown body is the portable agent prompt; OpenClaw applies its exact UTF-8 +contents as the managed `SOUL.md` for the new agent. ```markdown --- @@ -60,8 +60,13 @@ Reviews and classifies incoming GitHub issues. ``` JSON manifests remain compatible. Set `openclaw.claw` to a package-relative -JSON file such as `openclaw.claw.json`. JSON has no implicit body file and may -declare an explicit `SOUL.md` source. +JSON file such as `openclaw.claw.json`; JSON has no Markdown body, so declare +`workspace.bootstrapFiles.SOUL.md` explicitly when it needs the equivalent +prompt. + +Do not combine a non-empty `CLAW.md` body with an explicit workspace file whose +portable destination is `SOUL.md`. ClawHub rejects that ambiguous dual source. +Headings and task lists in the body are prompt text, not package-time commands. Every `workspace.*.source` must name a file in the same package. Package names and versions must match `package.json`, dependency versions must be exact, and @@ -90,7 +95,7 @@ Publication rejects: - a missing, invalid, or escaping `openclaw.claw` path; - package identity or version mismatches; - malformed `CLAW.md` frontmatter or manifest fields; -- an empty `CLAW.md` body or simultaneous explicit `SOUL.md` destination; +- a non-empty `CLAW.md` body combined with an explicit `SOUL.md` destination; - missing workspace source files or portable path collisions; - floating skill/plugin versions and resolved MCP credentials. diff --git a/fixtures/claws/hosted-e2e/package/CLAW.md b/fixtures/claws/hosted-e2e/package/CLAW.md index d1d5581e0b..d7c496f257 100644 --- a/fixtures/claws/hosted-e2e/package/CLAW.md +++ b/fixtures/claws/hosted-e2e/package/CLAW.md @@ -5,10 +5,6 @@ agent: name: Hosted E2E metadata: openclaw.config: profiles/openclaw.yml -workspace: - bootstrapFiles: - SOUL.md: - source: workspace/SOUL.md packages: [] mcpServers: {} cronJobs: [] @@ -16,4 +12,4 @@ cronJobs: [] # Hosted E2E -Fixture for the ClawHub feed-to-OpenClaw dry-run proof. +Use the published Claw package without mutating local state during proof. diff --git a/fixtures/claws/hosted-e2e/package/workspace/SOUL.md b/fixtures/claws/hosted-e2e/package/workspace/SOUL.md deleted file mode 100644 index 60bf368587..0000000000 --- a/fixtures/claws/hosted-e2e/package/workspace/SOUL.md +++ /dev/null @@ -1,3 +0,0 @@ -# Hosted E2E - -Use the published Claw package without mutating local state during proof. diff --git a/packages/clawhub/src/cli/commands/packages.test.ts b/packages/clawhub/src/cli/commands/packages.test.ts index bc7129a753..f7eb116122 100644 --- a/packages/clawhub/src/cli/commands/packages.test.ts +++ b/packages/clawhub/src/cli/commands/packages.test.ts @@ -2601,7 +2601,7 @@ describe("package commands", () => { "metadata:", " openclaw.config: profiles/openclaw.yml", "---", - "# GitHub Triage", + "Be precise.", ].join("\n"), "utf8", ); diff --git a/packages/clawhub/src/schema/clawPackage.ts b/packages/clawhub/src/schema/clawPackage.ts index fafe5ded14..57cb1ae012 100644 --- a/packages/clawhub/src/schema/clawPackage.ts +++ b/packages/clawhub/src/schema/clawPackage.ts @@ -17,8 +17,8 @@ export type ClawPackageValidationIssue = { export type ValidatedClawPackage = { manifestPath: string; manifest: ClawManifest; - implicitWorkspaceFile?: { path: "SOUL.md"; text: string }; summary: ClawManifestSummary; + hasClawMarkdownBody: boolean; }; const EXACT_VERSION_PATTERN = @@ -318,7 +318,10 @@ function validateOpenClawProfile( return issues; } -function parseManifestDocument(raw: string, manifestPath: string) { +function parseManifestDocument( + raw: string, + manifestPath: string, +): { value: unknown; clawMarkdownBody?: string } | { issues: ClawPackageValidationIssue[] } { const filename = manifestPath.replaceAll("\\", "/").split("/").at(-1)?.toLowerCase(); if (filename === "claw.md") { const markdown = raw.startsWith("\uFEFF") ? raw.slice(1) : raw; @@ -376,7 +379,7 @@ function parseManifestDocument(raw: string, manifestPath: string) { try { return { value: document.toJSON(), - markdownBody: markdown.slice(match[0].length), + clawMarkdownBody: markdown.slice(match[0].length), }; } catch (error) { return { @@ -513,15 +516,7 @@ export function validateClawPackageContents(input: { }; } const parsed = parseManifestDocument(manifestFile.text, manifestPath); - if (parsed.issues) return { ok: false, issues: parsed.issues }; - if (parsed.markdownBody !== undefined && parsed.markdownBody.trim().length === 0) { - return { - ok: false, - issues: [ - issue("empty_claw_body", manifestPath, "CLAW.md must contain a non-empty Markdown body."), - ], - }; - } + if ("issues" in parsed) return { ok: false, issues: parsed.issues }; const validated = validateClawManifest(parsed.value); if (!validated.ok) { return { @@ -531,23 +526,20 @@ export function validateClawPackageContents(input: { ), }; } - if ( - parsed.markdownBody !== undefined && - (validated.manifest.workspace?.bootstrapFiles?.["SOUL.md"] !== undefined || - (validated.manifest.workspace?.files ?? []).some( - (entry) => portablePathKey(entry.path) === portablePathKey("SOUL.md"), - )) - ) { - return { - ok: false, - issues: [ - issue( - "duplicate_claw_body_destination", - "SOUL.md", - "The CLAW.md body is the managed SOUL.md source and cannot be combined with an explicit SOUL.md declaration.", - ), - ], - }; + const hasClawMarkdownBody = (parsed.clawMarkdownBody?.trim().length ?? 0) > 0; + const hasExplicitSoul = + validated.manifest.workspace?.bootstrapFiles?.["SOUL.md"] !== undefined || + (validated.manifest.workspace?.files ?? []).some( + (entry) => portablePathKey(entry.path) === portablePathKey("SOUL.md"), + ); + if (hasClawMarkdownBody && hasExplicitSoul) { + issues.push( + issue( + "claw_body_soul_conflict", + "$.workspace", + "CLAW.md body content and an explicit SOUL.md workspace declaration cannot both be present.", + ), + ); } const openClawProfilePath = validated.manifest.metadata?.["openclaw.config"]; @@ -597,26 +589,13 @@ export function validateClawPackageContents(input: { } } if (issues.length > 0) return { ok: false, issues }; - const summary = summarizeClawManifest(validated.manifest); - const implicitWorkspaceFile = - parsed.markdownBody === undefined - ? undefined - : { path: "SOUL.md" as const, text: parsed.markdownBody }; return { ok: true, value: { manifestPath, manifest: validated.manifest, - ...(implicitWorkspaceFile ? { implicitWorkspaceFile } : {}), - summary: implicitWorkspaceFile - ? { - ...summary, - workspace: { - ...summary.workspace, - bootstrapFiles: [...summary.workspace.bootstrapFiles, "SOUL.md"], - }, - } - : summary, + summary: summarizeClawManifest(validated.manifest, { clawMarkdownBody: hasClawMarkdownBody }), + hasClawMarkdownBody, }, }; } diff --git a/packages/clawhub/src/schema/claws.ts b/packages/clawhub/src/schema/claws.ts index 268ae296de..9c60332eeb 100644 --- a/packages/clawhub/src/schema/claws.ts +++ b/packages/clawhub/src/schema/claws.ts @@ -874,7 +874,10 @@ export function validateClawManifest( return issues.length > 0 ? { ok: false, issues } : { ok: true, manifest: parsed }; } -export function summarizeClawManifest(manifest: ClawManifest): ClawManifestSummary { +export function summarizeClawManifest( + manifest: ClawManifest, + options: { clawMarkdownBody?: boolean } = {}, +): ClawManifestSummary { const packages = manifest.packages ?? []; const agentName = truncateSummaryText(manifest.agent.name, CLAW_SUMMARY_AGENT_NAME_MAX_CHARS); const agentDescription = truncateSummaryText( @@ -890,7 +893,9 @@ export function summarizeClawManifest(manifest: ClawManifest): ClawManifestSumma }, workspace: { bootstrapFiles: CLAW_BOOTSTRAP_FILE_NAMES.filter( - (name) => manifest.workspace?.bootstrapFiles?.[name] !== undefined, + (name) => + manifest.workspace?.bootstrapFiles?.[name] !== undefined || + (name === "SOUL.md" && options.clawMarkdownBody === true), ), fileCount: manifest.workspace?.files?.length ?? 0, }, diff --git a/packages/schema/dist/clawPackage.d.ts b/packages/schema/dist/clawPackage.d.ts index cc486899b7..a40d72e74e 100644 --- a/packages/schema/dist/clawPackage.d.ts +++ b/packages/schema/dist/clawPackage.d.ts @@ -11,11 +11,8 @@ export type ClawPackageValidationIssue = { export type ValidatedClawPackage = { manifestPath: string; manifest: ClawManifest; - implicitWorkspaceFile?: { - path: "SOUL.md"; - text: string; - }; summary: ClawManifestSummary; + hasClawMarkdownBody: boolean; }; export declare function isSafeClawPackagePath(value: string): boolean; export declare function findClawPackagePathHierarchyCollision(paths: readonly string[]): { diff --git a/packages/schema/dist/clawPackage.js b/packages/schema/dist/clawPackage.js index 8980f45759..3aa7269942 100644 --- a/packages/schema/dist/clawPackage.js +++ b/packages/schema/dist/clawPackage.js @@ -305,7 +305,7 @@ function parseManifestDocument(raw, manifestPath) { try { return { value: document.toJSON(), - markdownBody: markdown.slice(match[0].length), + clawMarkdownBody: markdown.slice(match[0].length), }; } catch (error) { @@ -386,16 +386,8 @@ export function validateClawPackageContents(input) { }; } const parsed = parseManifestDocument(manifestFile.text, manifestPath); - if (parsed.issues) + if ("issues" in parsed) return { ok: false, issues: parsed.issues }; - if (parsed.markdownBody !== undefined && parsed.markdownBody.trim().length === 0) { - return { - ok: false, - issues: [ - issue("empty_claw_body", manifestPath, "CLAW.md must contain a non-empty Markdown body."), - ], - }; - } const validated = validateClawManifest(parsed.value); if (!validated.ok) { return { @@ -403,15 +395,11 @@ export function validateClawPackageContents(input) { issues: validated.issues.map((entry) => issue("invalid_claw_manifest", entry.path, entry.message)), }; } - if (parsed.markdownBody !== undefined && - (validated.manifest.workspace?.bootstrapFiles?.["SOUL.md"] !== undefined || - (validated.manifest.workspace?.files ?? []).some((entry) => portablePathKey(entry.path) === portablePathKey("SOUL.md")))) { - return { - ok: false, - issues: [ - issue("duplicate_claw_body_destination", "SOUL.md", "The CLAW.md body is the managed SOUL.md source and cannot be combined with an explicit SOUL.md declaration."), - ], - }; + const hasClawMarkdownBody = (parsed.clawMarkdownBody?.trim().length ?? 0) > 0; + const hasExplicitSoul = validated.manifest.workspace?.bootstrapFiles?.["SOUL.md"] !== undefined || + (validated.manifest.workspace?.files ?? []).some((entry) => portablePathKey(entry.path) === portablePathKey("SOUL.md")); + if (hasClawMarkdownBody && hasExplicitSoul) { + issues.push(issue("claw_body_soul_conflict", "$.workspace", "CLAW.md body content and an explicit SOUL.md workspace declaration cannot both be present.")); } const openClawProfilePath = validated.manifest.metadata?.["openclaw.config"]; if (openClawProfilePath !== undefined) { @@ -443,25 +431,13 @@ export function validateClawPackageContents(input) { } if (issues.length > 0) return { ok: false, issues }; - const summary = summarizeClawManifest(validated.manifest); - const implicitWorkspaceFile = parsed.markdownBody === undefined - ? undefined - : { path: "SOUL.md", text: parsed.markdownBody }; return { ok: true, value: { manifestPath, manifest: validated.manifest, - ...(implicitWorkspaceFile ? { implicitWorkspaceFile } : {}), - summary: implicitWorkspaceFile - ? { - ...summary, - workspace: { - ...summary.workspace, - bootstrapFiles: [...summary.workspace.bootstrapFiles, "SOUL.md"], - }, - } - : summary, + summary: summarizeClawManifest(validated.manifest, { clawMarkdownBody: hasClawMarkdownBody }), + hasClawMarkdownBody, }, }; } diff --git a/packages/schema/dist/clawPackage.js.map b/packages/schema/dist/clawPackage.js.map index 5422aa324f..b385cdd877 100644 --- a/packages/schema/dist/clawPackage.js.map +++ b/packages/schema/dist/clawPackage.js.map @@ -1 +1 @@ -{"version":3,"file":"clawPackage.js","sourceRoot":"","sources":["../src/clawPackage.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"clawPackage.js","sourceRoot":"","sources":["../src/clawPackage.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/schema/dist/claws.d.ts b/packages/schema/dist/claws.d.ts index 3b6bf6041e..b0e2a0c520 100644 --- a/packages/schema/dist/claws.d.ts +++ b/packages/schema/dist/claws.d.ts @@ -174,4 +174,6 @@ export declare function validateClawManifest(value: unknown): { ok: false; issues: ClawManifestValidationIssue[]; }; -export declare function summarizeClawManifest(manifest: ClawManifest): ClawManifestSummary; +export declare function summarizeClawManifest(manifest: ClawManifest, options?: { + clawMarkdownBody?: boolean; +}): ClawManifestSummary; diff --git a/packages/schema/dist/claws.js b/packages/schema/dist/claws.js index 077b2c6129..4dc2bbdb84 100644 --- a/packages/schema/dist/claws.js +++ b/packages/schema/dist/claws.js @@ -615,7 +615,7 @@ export function validateClawManifest(value) { } return issues.length > 0 ? { ok: false, issues } : { ok: true, manifest: parsed }; } -export function summarizeClawManifest(manifest) { +export function summarizeClawManifest(manifest, options = {}) { const packages = manifest.packages ?? []; const agentName = truncateSummaryText(manifest.agent.name, CLAW_SUMMARY_AGENT_NAME_MAX_CHARS); const agentDescription = truncateSummaryText(manifest.agent.description, CLAW_SUMMARY_AGENT_DESCRIPTION_MAX_CHARS); @@ -627,7 +627,8 @@ export function summarizeClawManifest(manifest) { ...(agentDescription ? { description: agentDescription } : {}), }, workspace: { - bootstrapFiles: CLAW_BOOTSTRAP_FILE_NAMES.filter((name) => manifest.workspace?.bootstrapFiles?.[name] !== undefined), + bootstrapFiles: CLAW_BOOTSTRAP_FILE_NAMES.filter((name) => manifest.workspace?.bootstrapFiles?.[name] !== undefined || + (name === "SOUL.md" && options.clawMarkdownBody === true)), fileCount: manifest.workspace?.files?.length ?? 0, }, packages: { diff --git a/packages/schema/dist/claws.js.map b/packages/schema/dist/claws.js.map index 69d09f82ca..094f575e84 100644 --- a/packages/schema/dist/claws.js.map +++ b/packages/schema/dist/claws.js.map @@ -1 +1 @@ -{"version":3,"file":"claws.js","sourceRoot":"","sources":["../src/claws.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"claws.js","sourceRoot":"","sources":["../src/claws.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/schema/src/clawPackage.test.ts b/packages/schema/src/clawPackage.test.ts index 9c9e0e97a3..0278ab05f9 100644 --- a/packages/schema/src/clawPackage.test.ts +++ b/packages/schema/src/clawPackage.test.ts @@ -48,7 +48,7 @@ function packageJson(claw = "CLAW.md") { }; } -function files(manifestText = `---\n${JSON.stringify(manifest)}\n---\n# GitHub Triage\n`) { +function files(manifestText = `---\n${JSON.stringify(manifest)}\n---\n`) { return [ { path: "package.json", text: JSON.stringify(packageJson()) }, { path: "CLAW.md", text: manifestText }, @@ -72,7 +72,7 @@ describe("validateClawPackageContents", () => { }); }); - it("validates CLAW.md and derives its safe summary", () => { + it("validates frontmatter-only CLAW.md and derives its safe summary", () => { const result = validateClawPackageContents({ packageName: "@acme/github-triage", version: "1.0.0", @@ -84,10 +84,7 @@ describe("validateClawPackageContents", () => { ok: true, value: expect.objectContaining({ manifestPath: "CLAW.md", - implicitWorkspaceFile: { - path: "SOUL.md", - text: "# GitHub Triage\n", - }, + hasClawMarkdownBody: false, summary: expect.objectContaining({ agent: { id: "github-triage", @@ -95,85 +92,113 @@ describe("validateClawPackageContents", () => { description: "Reviews issues.", }, packages: { skillCount: 1, pluginCount: 0 }, - workspace: { bootstrapFiles: ["SOUL.md"], fileCount: 1 }, + workspace: { bootstrapFiles: [], fileCount: 1 }, }), }), }); }); - it("accepts one UTF-8 BOM before CLAW.md frontmatter", () => { + it("treats a non-empty CLAW.md body as the portable SOUL.md source", () => { + const bodyManifest = { + ...manifest, + workspace: { files: manifest.workspace.files }, + }; const result = validateClawPackageContents({ packageName: "@acme/github-triage", version: "1.0.0", packageJson: packageJson(), - files: files(`\uFEFF---\n${JSON.stringify(manifest)}\n---\n# GitHub Triage\n`), + files: files(`---\n${JSON.stringify(bodyManifest)}\n---\nBe precise.\n`).filter( + (file) => file.path !== "workspace/SOUL.md", + ), }); - expect(result.ok).toBe(true); + expect(result).toEqual({ + ok: true, + value: expect.objectContaining({ + hasClawMarkdownBody: true, + summary: expect.objectContaining({ + workspace: { bootstrapFiles: ["SOUL.md"], fileCount: 1 }, + }), + }), + }); + if (result.ok) expect(result.value).not.toHaveProperty("clawMarkdownBody"); }); - it.each(["", "\n \t\n"])("rejects an empty CLAW.md body", (body) => { + it.each([ + [ + "bootstrap file", + { + ...manifest, + workspace: { + ...manifest.workspace, + bootstrapFiles: { "SOUL.md": { source: "workspace/SOUL.md" } }, + }, + }, + ], + [ + "workspace file", + { + ...manifest, + workspace: { + files: [...manifest.workspace.files, { source: "workspace/SOUL.md", path: "soul.md" }], + }, + }, + ], + ])("rejects a CLAW.md body combined with an explicit SOUL.md %s", (_label, value) => { const result = validateClawPackageContents({ packageName: "@acme/github-triage", version: "1.0.0", packageJson: packageJson(), - files: files(`---\n${JSON.stringify(manifest)}\n---\n${body}`), + files: files(`---\n${JSON.stringify(value)}\n---\nBe precise.\n`), }); expect(result).toEqual({ ok: false, - issues: [expect.objectContaining({ code: "empty_claw_body", path: "CLAW.md" })], + issues: [expect.objectContaining({ code: "claw_body_soul_conflict" })], }); }); - it("rejects a CLAW.md envelope larger than 1 MiB", () => { + it("accepts one UTF-8 BOM before CLAW.md frontmatter", () => { const result = validateClawPackageContents({ packageName: "@acme/github-triage", version: "1.0.0", packageJson: packageJson(), - files: files(`---\n${JSON.stringify(manifest)}\n---\n${"x".repeat(1024 * 1024)}`), + files: files(`\uFEFF---\n${JSON.stringify(manifest)}\n---\n`), + }); + + expect(result.ok).toBe(true); + }); + + it.each(["", "\n \t\n"])("accepts an empty CLAW.md body without implicit SOUL.md", (body) => { + const result = validateClawPackageContents({ + packageName: "@acme/github-triage", + version: "1.0.0", + packageJson: packageJson(), + files: files(`---\n${JSON.stringify(manifest)}\n---\n${body}`), }); expect(result).toEqual({ - ok: false, - issues: [expect.objectContaining({ code: "claw_manifest_too_large", path: "CLAW.md" })], + ok: true, + value: expect.objectContaining({ + hasClawMarkdownBody: false, + summary: expect.objectContaining({ + workspace: expect.objectContaining({ bootstrapFiles: [] }), + }), + }), }); }); - it.each([ - [ - "bootstrap source", - { - ...manifest, - workspace: { - ...manifest.workspace, - bootstrapFiles: { "SOUL.md": { source: "workspace/SOUL.md" } }, - }, - }, - ], - [ - "case-folded supporting-file destination", - { - ...manifest, - workspace: { - ...manifest.workspace, - files: [{ source: "workspace/reference.md", path: "soul.md" }], - }, - }, - ], - ])("rejects an explicit SOUL.md %s beside the CLAW.md body", (_label, bodyManifest) => { + it("rejects a CLAW.md envelope larger than 1 MiB", () => { const result = validateClawPackageContents({ packageName: "@acme/github-triage", version: "1.0.0", packageJson: packageJson(), - files: files(`---\n${JSON.stringify(bodyManifest)}\n---\n# Prompt\n`), + files: files(`---\n${JSON.stringify(manifest)}\n---\n${"x".repeat(1024 * 1024)}`), }); expect(result).toEqual({ ok: false, - issues: [ - expect.objectContaining({ code: "duplicate_claw_body_destination", path: "SOUL.md" }), - ], + issues: [expect.objectContaining({ code: "claw_manifest_too_large", path: "CLAW.md" })], }); }); diff --git a/packages/schema/src/clawPackage.ts b/packages/schema/src/clawPackage.ts index fafe5ded14..57cb1ae012 100644 --- a/packages/schema/src/clawPackage.ts +++ b/packages/schema/src/clawPackage.ts @@ -17,8 +17,8 @@ export type ClawPackageValidationIssue = { export type ValidatedClawPackage = { manifestPath: string; manifest: ClawManifest; - implicitWorkspaceFile?: { path: "SOUL.md"; text: string }; summary: ClawManifestSummary; + hasClawMarkdownBody: boolean; }; const EXACT_VERSION_PATTERN = @@ -318,7 +318,10 @@ function validateOpenClawProfile( return issues; } -function parseManifestDocument(raw: string, manifestPath: string) { +function parseManifestDocument( + raw: string, + manifestPath: string, +): { value: unknown; clawMarkdownBody?: string } | { issues: ClawPackageValidationIssue[] } { const filename = manifestPath.replaceAll("\\", "/").split("/").at(-1)?.toLowerCase(); if (filename === "claw.md") { const markdown = raw.startsWith("\uFEFF") ? raw.slice(1) : raw; @@ -376,7 +379,7 @@ function parseManifestDocument(raw: string, manifestPath: string) { try { return { value: document.toJSON(), - markdownBody: markdown.slice(match[0].length), + clawMarkdownBody: markdown.slice(match[0].length), }; } catch (error) { return { @@ -513,15 +516,7 @@ export function validateClawPackageContents(input: { }; } const parsed = parseManifestDocument(manifestFile.text, manifestPath); - if (parsed.issues) return { ok: false, issues: parsed.issues }; - if (parsed.markdownBody !== undefined && parsed.markdownBody.trim().length === 0) { - return { - ok: false, - issues: [ - issue("empty_claw_body", manifestPath, "CLAW.md must contain a non-empty Markdown body."), - ], - }; - } + if ("issues" in parsed) return { ok: false, issues: parsed.issues }; const validated = validateClawManifest(parsed.value); if (!validated.ok) { return { @@ -531,23 +526,20 @@ export function validateClawPackageContents(input: { ), }; } - if ( - parsed.markdownBody !== undefined && - (validated.manifest.workspace?.bootstrapFiles?.["SOUL.md"] !== undefined || - (validated.manifest.workspace?.files ?? []).some( - (entry) => portablePathKey(entry.path) === portablePathKey("SOUL.md"), - )) - ) { - return { - ok: false, - issues: [ - issue( - "duplicate_claw_body_destination", - "SOUL.md", - "The CLAW.md body is the managed SOUL.md source and cannot be combined with an explicit SOUL.md declaration.", - ), - ], - }; + const hasClawMarkdownBody = (parsed.clawMarkdownBody?.trim().length ?? 0) > 0; + const hasExplicitSoul = + validated.manifest.workspace?.bootstrapFiles?.["SOUL.md"] !== undefined || + (validated.manifest.workspace?.files ?? []).some( + (entry) => portablePathKey(entry.path) === portablePathKey("SOUL.md"), + ); + if (hasClawMarkdownBody && hasExplicitSoul) { + issues.push( + issue( + "claw_body_soul_conflict", + "$.workspace", + "CLAW.md body content and an explicit SOUL.md workspace declaration cannot both be present.", + ), + ); } const openClawProfilePath = validated.manifest.metadata?.["openclaw.config"]; @@ -597,26 +589,13 @@ export function validateClawPackageContents(input: { } } if (issues.length > 0) return { ok: false, issues }; - const summary = summarizeClawManifest(validated.manifest); - const implicitWorkspaceFile = - parsed.markdownBody === undefined - ? undefined - : { path: "SOUL.md" as const, text: parsed.markdownBody }; return { ok: true, value: { manifestPath, manifest: validated.manifest, - ...(implicitWorkspaceFile ? { implicitWorkspaceFile } : {}), - summary: implicitWorkspaceFile - ? { - ...summary, - workspace: { - ...summary.workspace, - bootstrapFiles: [...summary.workspace.bootstrapFiles, "SOUL.md"], - }, - } - : summary, + summary: summarizeClawManifest(validated.manifest, { clawMarkdownBody: hasClawMarkdownBody }), + hasClawMarkdownBody, }, }; } diff --git a/packages/schema/src/claws.ts b/packages/schema/src/claws.ts index 268ae296de..9c60332eeb 100644 --- a/packages/schema/src/claws.ts +++ b/packages/schema/src/claws.ts @@ -874,7 +874,10 @@ export function validateClawManifest( return issues.length > 0 ? { ok: false, issues } : { ok: true, manifest: parsed }; } -export function summarizeClawManifest(manifest: ClawManifest): ClawManifestSummary { +export function summarizeClawManifest( + manifest: ClawManifest, + options: { clawMarkdownBody?: boolean } = {}, +): ClawManifestSummary { const packages = manifest.packages ?? []; const agentName = truncateSummaryText(manifest.agent.name, CLAW_SUMMARY_AGENT_NAME_MAX_CHARS); const agentDescription = truncateSummaryText( @@ -890,7 +893,9 @@ export function summarizeClawManifest(manifest: ClawManifest): ClawManifestSumma }, workspace: { bootstrapFiles: CLAW_BOOTSTRAP_FILE_NAMES.filter( - (name) => manifest.workspace?.bootstrapFiles?.[name] !== undefined, + (name) => + manifest.workspace?.bootstrapFiles?.[name] !== undefined || + (name === "SOUL.md" && options.clawMarkdownBody === true), ), fileCount: manifest.workspace?.files?.length ?? 0, }, diff --git a/scripts/claws-feed-openclaw-e2e.test.ts b/scripts/claws-feed-openclaw-e2e.test.ts index e1b38bde90..dd49ffdaa6 100644 --- a/scripts/claws-feed-openclaw-e2e.test.ts +++ b/scripts/claws-feed-openclaw-e2e.test.ts @@ -269,6 +269,19 @@ describe("published Claw to OpenClaw dry-run proof", () => { agent: { finalId: "hosted-e2e" }, summary: { blockedActions: 0 }, }); + expect(result.plan.actions).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + kind: "workspaceFile", + id: "SOUL.md", + sourceKind: "clawMarkdownBody", + blocked: false, + }), + ]), + ); + expect(JSON.stringify(result.plan)).not.toContain( + "Use the published Claw package without mutating local state during proof.", + ); }, 30_000, ); diff --git a/specs/claws.md b/specs/claws.md index d25746efb1..8bdbc91650 100644 --- a/specs/claws.md +++ b/specs/claws.md @@ -51,6 +51,9 @@ namespaced key or define their own profile-pointer contract. 4. Add a separately gated hosted Claws feed and a repeatable published-package proof through OpenClaw `claws add --dry-run` ([PR #3092](https://github.com/openclaw/clawhub/pull/3092)). +5. Validate the portable `CLAW.md` prompt body, project it as managed + `SOUL.md` capability metadata, and prove the feed-to-OpenClaw mapping + (follow-up stacked after PR #3092). The hosted projection uses the separate [experimental Claw feed contract](experimental-claw-feed.md), not an extension @@ -83,8 +86,11 @@ Claws use the existing package publication pipeline. `package.json` declares the package identity, version, and package-relative `openclaw.claw` manifest path. Publication parses `CLAW.md` YAML frontmatter or the JSON compatibility form and validates the grouped manifest, referenced workspace files, and any -declared package-local OpenClaw profile. The release retains the exact artifact -and a bounded derived summary rather than duplicating the full manifest or +declared package-local OpenClaw profile. A non-empty Markdown body is the +portable agent prompt and maps to managed `SOUL.md`; publication rejects a body +combined with any explicit `SOUL.md` workspace declaration. The release retains +the exact artifact and a bounded derived summary, including the implicit +`SOUL.md` capability, rather than duplicating the full manifest, prompt body, or OpenClaw profile into Convex storage. The server rejects `family: claw` before mutation when the experimental gate is disabled; the gate does not bypass ownership, moderation, scanning, or release invariants when From d485b08d1763bdfdcfb751873750c6fd0e708d9a Mon Sep 17 00:00:00 2001 From: Gio Della-Libera Date: Fri, 24 Jul 2026 17:40:03 -0700 Subject: [PATCH 2/6] docs(claws): link prompt bridge PR --- specs/claws.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specs/claws.md b/specs/claws.md index 8bdbc91650..aa4f36b211 100644 --- a/specs/claws.md +++ b/specs/claws.md @@ -53,7 +53,8 @@ namespaced key or define their own profile-pointer contract. ([PR #3092](https://github.com/openclaw/clawhub/pull/3092)). 5. Validate the portable `CLAW.md` prompt body, project it as managed `SOUL.md` capability metadata, and prove the feed-to-OpenClaw mapping - (follow-up stacked after PR #3092). + ([PR #3262](https://github.com/openclaw/clawhub/pull/3262), stacked after + PR #3092). The hosted projection uses the separate [experimental Claw feed contract](experimental-claw-feed.md), not an extension From 482a42f1a39db6d6d48b91ea6b0316998507043c Mon Sep 17 00:00:00 2001 From: Gio Della-Libera Date: Fri, 24 Jul 2026 20:33:52 -0700 Subject: [PATCH 3/6] fix(claws): align prompt package validation --- .github/workflows/ci.yml | 5 +-- packages/clawhub/src/schema/clawPackage.ts | 21 +++++------ packages/schema/dist/clawPackage.js | 16 ++++----- packages/schema/dist/clawPackage.js.map | 2 +- packages/schema/src/clawPackage.test.ts | 37 ++++++++++++++------ packages/schema/src/clawPackage.ts | 21 +++++------ scripts/claws-feed-openclaw-workflow.test.ts | 7 ++-- specs/claws.md | 19 ++++++---- 8 files changed, 75 insertions(+), 53 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ebd6ee215..f6accb9dd8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,7 +49,8 @@ jobs: runs-on: blacksmith-8vcpu-ubuntu-2404 timeout-minutes: 25 env: - OPENCLAW_CONTRACT_SHA: 59fc573fb9e938a93b93522be6bf4d7bec0dbc6f + OPENCLAW_CONTRACT_REPOSITORY: giodl73-repo/openclaw + OPENCLAW_CONTRACT_SHA: 4c220a5dfd695d8aac87bbe24b7524ecf4c8aeda steps: - uses: actions/checkout@v7.0.1 @@ -59,7 +60,7 @@ jobs: - name: Check out the pinned OpenClaw contract source uses: actions/checkout@v7.0.1 with: - repository: openclaw/openclaw + repository: ${{ env.OPENCLAW_CONTRACT_REPOSITORY }} ref: ${{ env.OPENCLAW_CONTRACT_SHA }} path: .artifacts/openclaw-contract diff --git a/packages/clawhub/src/schema/clawPackage.ts b/packages/clawhub/src/schema/clawPackage.ts index 57cb1ae012..72ba5b1e92 100644 --- a/packages/clawhub/src/schema/clawPackage.ts +++ b/packages/clawhub/src/schema/clawPackage.ts @@ -28,7 +28,6 @@ const WINDOWS_RESERVED_PATH_SEGMENT = /^(?:con|prn|aux|nul|com[1-9]|lpt[1-9])(?: const UNICODE_CONTROL_CHARACTER = /\p{Cc}/u; const MAX_CLAW_MANIFEST_BYTES = 1024 * 1024; const MAX_OPENCLAW_PROFILE_BYTES = 256 * 1024; -const OPENCLAW_TOOL_PROFILE_IDS = new Set(["minimal", "coding", "messaging", "full"]); const StrictStringArraySchema = type("string[]"); const OpenClawProfileSchema = type({ "+": "reject", @@ -258,11 +257,6 @@ function validateOpenClawProfile( requireNonEmpty("agent.groupChat.mentionPatterns", parsed.agent.groupChat?.mentionPatterns); if (parsed.agent.tools?.profile !== undefined && !isStrictNonEmpty(parsed.agent.tools.profile)) { add("agent.tools.profile", "Must be non-empty without leading or trailing whitespace."); - } else if ( - parsed.agent.tools?.profile !== undefined && - !OPENCLAW_TOOL_PROFILE_IDS.has(parsed.agent.tools.profile) - ) { - add("agent.tools.profile", "Must name a registered OpenClaw built-in profile."); } requireNonEmpty("agent.tools.allow", parsed.agent.tools?.allow); requireNonEmpty("agent.tools.alsoAllow", parsed.agent.tools?.alsoAllow); @@ -527,12 +521,15 @@ export function validateClawPackageContents(input: { }; } const hasClawMarkdownBody = (parsed.clawMarkdownBody?.trim().length ?? 0) > 0; - const hasExplicitSoul = - validated.manifest.workspace?.bootstrapFiles?.["SOUL.md"] !== undefined || - (validated.manifest.workspace?.files ?? []).some( - (entry) => portablePathKey(entry.path) === portablePathKey("SOUL.md"), - ); - if (hasClawMarkdownBody && hasExplicitSoul) { + const implicitSoulPath = "SOUL.md"; + const workspaceTargets = [ + ...Object.keys(validated.manifest.workspace?.bootstrapFiles ?? {}), + ...(validated.manifest.workspace?.files ?? []).map((entry) => entry.path), + ]; + const hasImplicitSoulConflict = + workspaceTargets.some((path) => portablePathKey(path) === portablePathKey(implicitSoulPath)) || + findClawPackagePathHierarchyCollision([implicitSoulPath, ...workspaceTargets]) !== null; + if (hasClawMarkdownBody && hasImplicitSoulConflict) { issues.push( issue( "claw_body_soul_conflict", diff --git a/packages/schema/dist/clawPackage.js b/packages/schema/dist/clawPackage.js index 3aa7269942..f6d4592893 100644 --- a/packages/schema/dist/clawPackage.js +++ b/packages/schema/dist/clawPackage.js @@ -8,7 +8,6 @@ const WINDOWS_RESERVED_PATH_SEGMENT = /^(?:con|prn|aux|nul|com[1-9]|lpt[1-9])(?: const UNICODE_CONTROL_CHARACTER = /\p{Cc}/u; const MAX_CLAW_MANIFEST_BYTES = 1024 * 1024; const MAX_OPENCLAW_PROFILE_BYTES = 256 * 1024; -const OPENCLAW_TOOL_PROFILE_IDS = new Set(["minimal", "coding", "messaging", "full"]); const StrictStringArraySchema = type("string[]"); const OpenClawProfileSchema = type({ "+": "reject", @@ -206,10 +205,6 @@ function validateOpenClawProfile(value, profilePath) { if (parsed.agent.tools?.profile !== undefined && !isStrictNonEmpty(parsed.agent.tools.profile)) { add("agent.tools.profile", "Must be non-empty without leading or trailing whitespace."); } - else if (parsed.agent.tools?.profile !== undefined && - !OPENCLAW_TOOL_PROFILE_IDS.has(parsed.agent.tools.profile)) { - add("agent.tools.profile", "Must name a registered OpenClaw built-in profile."); - } requireNonEmpty("agent.tools.allow", parsed.agent.tools?.allow); requireNonEmpty("agent.tools.alsoAllow", parsed.agent.tools?.alsoAllow); requireNonEmpty("agent.tools.deny", parsed.agent.tools?.deny); @@ -396,9 +391,14 @@ export function validateClawPackageContents(input) { }; } const hasClawMarkdownBody = (parsed.clawMarkdownBody?.trim().length ?? 0) > 0; - const hasExplicitSoul = validated.manifest.workspace?.bootstrapFiles?.["SOUL.md"] !== undefined || - (validated.manifest.workspace?.files ?? []).some((entry) => portablePathKey(entry.path) === portablePathKey("SOUL.md")); - if (hasClawMarkdownBody && hasExplicitSoul) { + const implicitSoulPath = "SOUL.md"; + const workspaceTargets = [ + ...Object.keys(validated.manifest.workspace?.bootstrapFiles ?? {}), + ...(validated.manifest.workspace?.files ?? []).map((entry) => entry.path), + ]; + const hasImplicitSoulConflict = workspaceTargets.some((path) => portablePathKey(path) === portablePathKey(implicitSoulPath)) || + findClawPackagePathHierarchyCollision([implicitSoulPath, ...workspaceTargets]) !== null; + if (hasClawMarkdownBody && hasImplicitSoulConflict) { issues.push(issue("claw_body_soul_conflict", "$.workspace", "CLAW.md body content and an explicit SOUL.md workspace declaration cannot both be present.")); } const openClawProfilePath = validated.manifest.metadata?.["openclaw.config"]; diff --git a/packages/schema/dist/clawPackage.js.map b/packages/schema/dist/clawPackage.js.map index b385cdd877..d2baf54b99 100644 --- a/packages/schema/dist/clawPackage.js.map +++ b/packages/schema/dist/clawPackage.js.map @@ -1 +1 @@ -{"version":3,"file":"clawPackage.js","sourceRoot":"","sources":["../src/clawPackage.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"clawPackage.js","sourceRoot":"","sources":["../src/clawPackage.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/schema/src/clawPackage.test.ts b/packages/schema/src/clawPackage.test.ts index 0278ab05f9..c6d485203b 100644 --- a/packages/schema/src/clawPackage.test.ts +++ b/packages/schema/src/clawPackage.test.ts @@ -158,6 +158,30 @@ describe("validateClawPackageContents", () => { }); }); + it.each(["SOUL.md/child", "soul.MD/child", "SOUL.md/cafe\u0301"])( + "rejects an implicit SOUL.md hierarchy collision at %s", + (path) => { + const result = validateClawPackageContents({ + packageName: "@acme/github-triage", + version: "1.0.0", + packageJson: packageJson(), + files: files( + `---\n${JSON.stringify({ + ...manifest, + workspace: { + files: [...manifest.workspace.files, { source: "workspace/SOUL.md", path }], + }, + })}\n---\nBe precise.\n`, + ), + }); + + expect(result).toEqual({ + ok: false, + issues: [expect.objectContaining({ code: "claw_body_soul_conflict" })], + }); + }, + ); + it("accepts one UTF-8 BOM before CLAW.md frontmatter", () => { const result = validateClawPackageContents({ packageName: "@acme/github-triage", @@ -224,7 +248,7 @@ describe("validateClawPackageContents", () => { } }); - it("rejects an unregistered OpenClaw tool profile", () => { + it("accepts an applying harness profile that ClawHub does not yet know", () => { const profiledManifest = { ...manifest, metadata: { "openclaw.config": "profiles/openclaw.yml" }, @@ -242,15 +266,8 @@ describe("validateClawPackageContents", () => { ], }); - expect(result).toEqual({ - ok: false, - issues: [ - expect.objectContaining({ - code: "invalid_openclaw_profile", - path: "profiles/openclaw.yml.agent.tools.profile", - }), - ], - }); + expect(result.ok).toBe(true); + if (result.ok) expect(result.value).not.toHaveProperty("profile"); }); it("requires the exact UTF-8 profile target", () => { diff --git a/packages/schema/src/clawPackage.ts b/packages/schema/src/clawPackage.ts index 57cb1ae012..72ba5b1e92 100644 --- a/packages/schema/src/clawPackage.ts +++ b/packages/schema/src/clawPackage.ts @@ -28,7 +28,6 @@ const WINDOWS_RESERVED_PATH_SEGMENT = /^(?:con|prn|aux|nul|com[1-9]|lpt[1-9])(?: const UNICODE_CONTROL_CHARACTER = /\p{Cc}/u; const MAX_CLAW_MANIFEST_BYTES = 1024 * 1024; const MAX_OPENCLAW_PROFILE_BYTES = 256 * 1024; -const OPENCLAW_TOOL_PROFILE_IDS = new Set(["minimal", "coding", "messaging", "full"]); const StrictStringArraySchema = type("string[]"); const OpenClawProfileSchema = type({ "+": "reject", @@ -258,11 +257,6 @@ function validateOpenClawProfile( requireNonEmpty("agent.groupChat.mentionPatterns", parsed.agent.groupChat?.mentionPatterns); if (parsed.agent.tools?.profile !== undefined && !isStrictNonEmpty(parsed.agent.tools.profile)) { add("agent.tools.profile", "Must be non-empty without leading or trailing whitespace."); - } else if ( - parsed.agent.tools?.profile !== undefined && - !OPENCLAW_TOOL_PROFILE_IDS.has(parsed.agent.tools.profile) - ) { - add("agent.tools.profile", "Must name a registered OpenClaw built-in profile."); } requireNonEmpty("agent.tools.allow", parsed.agent.tools?.allow); requireNonEmpty("agent.tools.alsoAllow", parsed.agent.tools?.alsoAllow); @@ -527,12 +521,15 @@ export function validateClawPackageContents(input: { }; } const hasClawMarkdownBody = (parsed.clawMarkdownBody?.trim().length ?? 0) > 0; - const hasExplicitSoul = - validated.manifest.workspace?.bootstrapFiles?.["SOUL.md"] !== undefined || - (validated.manifest.workspace?.files ?? []).some( - (entry) => portablePathKey(entry.path) === portablePathKey("SOUL.md"), - ); - if (hasClawMarkdownBody && hasExplicitSoul) { + const implicitSoulPath = "SOUL.md"; + const workspaceTargets = [ + ...Object.keys(validated.manifest.workspace?.bootstrapFiles ?? {}), + ...(validated.manifest.workspace?.files ?? []).map((entry) => entry.path), + ]; + const hasImplicitSoulConflict = + workspaceTargets.some((path) => portablePathKey(path) === portablePathKey(implicitSoulPath)) || + findClawPackagePathHierarchyCollision([implicitSoulPath, ...workspaceTargets]) !== null; + if (hasClawMarkdownBody && hasImplicitSoulConflict) { issues.push( issue( "claw_body_soul_conflict", diff --git a/scripts/claws-feed-openclaw-workflow.test.ts b/scripts/claws-feed-openclaw-workflow.test.ts index 4d03e4d76a..508d47a84d 100644 --- a/scripts/claws-feed-openclaw-workflow.test.ts +++ b/scripts/claws-feed-openclaw-workflow.test.ts @@ -19,12 +19,15 @@ describe("Claw feed OpenClaw contract workflow", () => { >; }; const job = workflow.jobs["claws-openclaw-contract"]; - expect(job?.env?.OPENCLAW_CONTRACT_SHA).toBe("59fc573fb9e938a93b93522be6bf4d7bec0dbc6f"); + expect(job?.env).toMatchObject({ + OPENCLAW_CONTRACT_REPOSITORY: "giodl73-repo/openclaw", + OPENCLAW_CONTRACT_SHA: "4c220a5dfd695d8aac87bbe24b7524ecf4c8aeda", + }); expect(job?.steps).toContainEqual( expect.objectContaining({ uses: "actions/checkout@v7.0.1", with: expect.objectContaining({ - repository: "openclaw/openclaw", + repository: "${{ env.OPENCLAW_CONTRACT_REPOSITORY }}", ref: "${{ env.OPENCLAW_CONTRACT_SHA }}", path: ".artifacts/openclaw-contract", }), diff --git a/specs/claws.md b/specs/claws.md index aa4f36b211..6d39e0d0c2 100644 --- a/specs/claws.md +++ b/specs/claws.md @@ -8,12 +8,14 @@ schema. ClawHub owns publication, ownership, discovery, package detail APIs, and hosted feed export. OpenClaw remains authoritative for local planning, consent, mutation, provenance, update, and removal. -The YAML frontmatter is the portable manifest. A `CLAW.md` package envelope -must have a non-empty body; its exact body text is the implicit managed -`SOUL.md` workspace file. The manifest must not also declare an explicit -`SOUL.md` destination. The exact `CLAW.md` bytes, including the body, remain in -the immutable artifact digest and provenance input. Grouped JSON has no body, -creates no implicit file, and may declare `SOUL.md` explicitly. +The YAML frontmatter is the portable manifest. A `CLAW.md` package envelope may +be frontmatter-only. When its body contains non-whitespace text, the exact body +text is the implicit managed `SOUL.md` workspace file; an empty or whitespace-only +body creates no implicit file. The manifest must not declare a workspace +destination that equals, contains, or is contained by that implicit `SOUL.md` +path. The exact `CLAW.md` bytes, including the body, remain in the immutable +artifact digest and provenance input. Grouped JSON has no body, creates no +implicit file, and may declare `SOUL.md` explicitly. The portable agent object carries only identity and purpose. Harness-specific settings live in package-local profiles addressed through opaque string @@ -28,6 +30,11 @@ again during application, includes it in package integrity, and never copies it into ordinary OpenClaw configuration. Other harnesses may ignore OpenClaw's namespaced key or define their own profile-pointer contract. +ClawHub validates profile shape but treats `agent.tools.profile` as an opaque, +non-empty applying-harness identifier. It does not freeze OpenClaw's evolving +built-in profile registry; OpenClaw resolves the identifier against its current +registry during preview and application. + ## Experimental contract - Backend Claw publication and read surfaces require From b84c8ec891549fd69fc05fd5f68ff40598c04f0d Mon Sep 17 00:00:00 2001 From: Gio Della-Libera Date: Fri, 24 Jul 2026 20:43:02 -0700 Subject: [PATCH 4/6] test(claws): repin OpenClaw prompt contract --- .github/workflows/ci.yml | 2 +- scripts/claws-feed-openclaw-workflow.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f6accb9dd8..fc7829fb8c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: timeout-minutes: 25 env: OPENCLAW_CONTRACT_REPOSITORY: giodl73-repo/openclaw - OPENCLAW_CONTRACT_SHA: 4c220a5dfd695d8aac87bbe24b7524ecf4c8aeda + OPENCLAW_CONTRACT_SHA: 2eae3f1970f9a3126217d95940b77de3aa0cb79a steps: - uses: actions/checkout@v7.0.1 diff --git a/scripts/claws-feed-openclaw-workflow.test.ts b/scripts/claws-feed-openclaw-workflow.test.ts index 508d47a84d..cd39ae536d 100644 --- a/scripts/claws-feed-openclaw-workflow.test.ts +++ b/scripts/claws-feed-openclaw-workflow.test.ts @@ -21,7 +21,7 @@ describe("Claw feed OpenClaw contract workflow", () => { const job = workflow.jobs["claws-openclaw-contract"]; expect(job?.env).toMatchObject({ OPENCLAW_CONTRACT_REPOSITORY: "giodl73-repo/openclaw", - OPENCLAW_CONTRACT_SHA: "4c220a5dfd695d8aac87bbe24b7524ecf4c8aeda", + OPENCLAW_CONTRACT_SHA: "2eae3f1970f9a3126217d95940b77de3aa0cb79a", }); expect(job?.steps).toContainEqual( expect.objectContaining({ From 96e57ebf08779498947836a31db9ac20983e0ab1 Mon Sep 17 00:00:00 2001 From: Gio Della-Libera Date: Fri, 24 Jul 2026 21:17:43 -0700 Subject: [PATCH 5/6] test(claws): repin updated OpenClaw contract --- .github/workflows/ci.yml | 2 +- scripts/claws-feed-openclaw-workflow.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc7829fb8c..598bb12377 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: timeout-minutes: 25 env: OPENCLAW_CONTRACT_REPOSITORY: giodl73-repo/openclaw - OPENCLAW_CONTRACT_SHA: 2eae3f1970f9a3126217d95940b77de3aa0cb79a + OPENCLAW_CONTRACT_SHA: 423cb8a15d53c708c031f0cd78c27a2f97a5408e steps: - uses: actions/checkout@v7.0.1 diff --git a/scripts/claws-feed-openclaw-workflow.test.ts b/scripts/claws-feed-openclaw-workflow.test.ts index cd39ae536d..ae4699359f 100644 --- a/scripts/claws-feed-openclaw-workflow.test.ts +++ b/scripts/claws-feed-openclaw-workflow.test.ts @@ -21,7 +21,7 @@ describe("Claw feed OpenClaw contract workflow", () => { const job = workflow.jobs["claws-openclaw-contract"]; expect(job?.env).toMatchObject({ OPENCLAW_CONTRACT_REPOSITORY: "giodl73-repo/openclaw", - OPENCLAW_CONTRACT_SHA: "2eae3f1970f9a3126217d95940b77de3aa0cb79a", + OPENCLAW_CONTRACT_SHA: "423cb8a15d53c708c031f0cd78c27a2f97a5408e", }); expect(job?.steps).toContainEqual( expect.objectContaining({ From 5df9ef27cefad15848299949ac51e1d28c71df01 Mon Sep 17 00:00:00 2001 From: Gio Della-Libera Date: Mon, 27 Jul 2026 14:33:19 -0700 Subject: [PATCH 6/6] test(claws): pin merged OpenClaw prompt contract --- .github/workflows/ci.yml | 4 ++-- scripts/claws-feed-openclaw-workflow.test.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 598bb12377..448e599e0c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,8 +49,8 @@ jobs: runs-on: blacksmith-8vcpu-ubuntu-2404 timeout-minutes: 25 env: - OPENCLAW_CONTRACT_REPOSITORY: giodl73-repo/openclaw - OPENCLAW_CONTRACT_SHA: 423cb8a15d53c708c031f0cd78c27a2f97a5408e + OPENCLAW_CONTRACT_REPOSITORY: openclaw/openclaw + OPENCLAW_CONTRACT_SHA: e79faff8aa755b201302edd286976a03f9ed79ea steps: - uses: actions/checkout@v7.0.1 diff --git a/scripts/claws-feed-openclaw-workflow.test.ts b/scripts/claws-feed-openclaw-workflow.test.ts index ae4699359f..916ab96b85 100644 --- a/scripts/claws-feed-openclaw-workflow.test.ts +++ b/scripts/claws-feed-openclaw-workflow.test.ts @@ -20,8 +20,8 @@ describe("Claw feed OpenClaw contract workflow", () => { }; const job = workflow.jobs["claws-openclaw-contract"]; expect(job?.env).toMatchObject({ - OPENCLAW_CONTRACT_REPOSITORY: "giodl73-repo/openclaw", - OPENCLAW_CONTRACT_SHA: "423cb8a15d53c708c031f0cd78c27a2f97a5408e", + OPENCLAW_CONTRACT_REPOSITORY: "openclaw/openclaw", + OPENCLAW_CONTRACT_SHA: "e79faff8aa755b201302edd286976a03f9ed79ea", }); expect(job?.steps).toContainEqual( expect.objectContaining({