Skip to main content

Product naming

Model-visible agent context uses the WednesdayAI brand. Operator identifiers, disk paths, env vars, and SDK package names stay openclaw. This page is the contract for code and tests that touch either side.

Case map (exact)

Do not invent other spellings (Wednesday AI, wednesday-ai, Openclaw, …).

KEEP classes (never blind-rename)

Even when a string is model-visible or adjacent to REPLACE text, keep these byte-identical:
  • OPENCLAW_* env vars
  • ~/.openclaw/, openclaw.json, service/unit names, sockets
  • TypeScript identifiers (OpenClawConfig, OpenClawPluginApi, …)
  • Import specifier openclaw/plugin-sdk (the wednesdayai/plugin-sdk dual alias is also valid where published)
  • Manifest filename openclaw.plugin.json and the legacy openclaw manifest key
  • __OPENCLAW_REDACTED__, openclaw.inbound_meta.v1, provider: "openclaw"
  • npm package name wednesdayai with dual bin: wednesdayai and openclaw (both point at openclaw.mjs — the alias is permanent)
When a line mixes KEEP and REPLACE (example: profile="openclaw" next to “openclaw-managed browser” prose), change only the prose token.

Surfaces that must say WednesdayAI

  • System prompt identity and section headings, docs block, tool blurbs
  • Subagent / announce / group-intro strings the model reads
  • Tool error and status text reused into model context (session status version line included)
  • Bundled skill descriptions/bodies and workspace templates
  • Model-taught docs base URL https://docs.wednesdayai.dev
  • Model-taught CLI spelling: primary binary wednesdayai (openclaw remains a permanent alias at the process boundary)

Prompt markers (lockstep)

The system-prompt report parser must import these constants — never re-hardcode marker literals. Assembler and parser are same-binary pairs (ADR 0051).

Plugin authoring rules

  • Import from openclaw/plugin-sdk (or the published wednesdayai/plugin-sdk dual alias), never from relative paths into src/.
  • Your manifest filename stays openclaw.plugin.json; either openclaw or wednesdayai works as the package.json manifest key.
  • User-facing prose in your plugin (descriptions, reply text the model echoes) should say WednesdayAI; config keys and file paths you invent should follow the operator convention.

Guard tests

Update colocated string assertions in the same change as a source rename. Prefer at least one test that builds the real prompt (or real tool result) rather than only checking a helper’s return value.

What not to do