witnora

AgentCert is now Witnora

AgentCert was renamed to Witnora after the product expanded beyond point-in-time agent testing. Witnora is the evidence and assurance layer for autonomous AI systems: it records behavior, controls high-risk actions, verifies outcomes, and preserves reviewable evidence. Witnora, Inc. is the legal company name.

The migration is intentionally additive. Public branding and new integration defaults move to Witnora while stored evidence, stable protocols, published npm packages, database identifiers, and historical releases remain readable.

Naming map

Legacy Canonical Migration behavior
AgentCert Witnora New public product and company brand
AgentCert Runtime / Onegent Runtime Witnora Runtime Public name; internal module paths stay stable
AgentCert Evidence Witnora Evidence Visible report and UI name
AgentCert Bench Witnora Bench New public name; historical artifact paths stay stable
agentcert CLI witnora CLI witnora owns the implementation; the final legacy package forwards to it
AgentCertClient WitnoraClient Legacy TypeScript export remains an alias
AgentCertRunRecorder WitnoraRunRecorder Legacy TypeScript export remains available
agentcert.app witnora.com Public GET/HEAD pages redirect with path and query preserved
AGENTCERT_* WITNORA_* Witnora names win; legacy names are fallback inputs
.agentcert .witnora New local defaults; old state remains readable where persisted
agentcert.config.json witnora.config.json Runner tries the new file first, then the legacy file

Domain migration

https://witnora.com is canonical in page metadata, documentation, generated email links, CLI defaults, sitemap, and structured data. When both domains point to the same control-plane deployment, public requests to https://agentcert.app/<path>?<query> receive a permanent path-preserving redirect to https://witnora.com/<path>?<query>.

The legacy /v1/* API and /health do not redirect. This prevents an old SDK from losing its authorization header across hosts and keeps production health checks stable. Clients should migrate their base URL explicitly.

CLI and local state

The canonical witnora package owns the complete CLI implementation. agentcert@0.9.0 is the final compatibility facade and forwards to the exact matching Witnora version:

npx witnora@latest try --template workflow
npx agentcert@latest try --template workflow # compatibility alias with one migration notice

New credentials are stored under ~/.witnora/credentials.json. If no new credential file exists, the CLI reads ~/.agentcert/credentials.json. New run configuration defaults to witnora.config.json; agentcert.config.json is a read fallback. Versioned evidence schema names and established artifact filenames are not renamed because external validators and CI integrations rely on them.

npm and SDK packages

The witnora package contains the maintained CLI. The frozen agentcert package contains no assurance logic; it exposes both compatibility binaries and forwards agentcert/cli and agentcert/browser-adapter-kit to Witnora. The SDK exposes primary WitnoraClient, WitnoraClientOptions, WitnoraSigningKey, and WitnoraRunRecorder names alongside compatibility aliases.

New examples use npx witnora@latest. Existing npx --package agentcert@latest witnora and npx agentcert@latest commands remain supported by the final compatibility release. Future CLI features and versions are published only as witnora; lockfiles resolve one implementation and one behavior contract.

Environment variables

New code reads WITNORA_* first and falls back to the matching AGENTCERT_* name. This applies to CLI credentials, hosted deployment configuration, database/corpus settings, customer-owned collector gateways, and generated CI. For example:

WITNORA_BASE_URL       -> AGENTCERT_BASE_URL
WITNORA_PROJECT_ID     -> AGENTCERT_PROJECT_ID
WITNORA_API_KEY        -> AGENTCERT_API_KEY
WITNORA_DATABASE_URL   -> AGENTCERT_DATABASE_URL
WITNORA_GATEWAY_TOKEN  -> AGENTCERT_GATEWAY_TOKEN

The GitHub App writes both generations during the compatibility period so an existing workflow is not broken when CI is reconfigured.

API and persisted-data compatibility

These identifiers intentionally remain unchanged:

New public text says Witnora, but historical bytes are not rewritten. A signed AgentCert-era packet remains valid and is accurately described as originally released under the AgentCert name.

Deprecated identifiers

The agentcert command, AgentCertClient, AgentCertRunRecorder, AGENTCERT_*, .agentcert, and agentcert.config.json are compatibility interfaces. No removal date is set in this migration. Removing any of them requires a separately versioned breaking-change proposal and usage evidence.

Manual external actions

Repository changes cannot perform account-level operations. The owner must:

  1. Point witnora.com and www.witnora.com at the production service and keep agentcert.app attached so the application can issue redirects.
  2. Change Supabase/Auth redirect allowlists and third-party OAuth callbacks to https://witnora.com, retaining the legacy callback during migration.
  3. Add WITNORA_* production secrets alongside existing AGENTCERT_* values, validate a deployment, then retire legacy names only after client telemetry shows they are unused.
  4. Decide whether to rename the GitHub repository. Until that exists, internal links and git remotes correctly remain https://github.com/Kakarottoooo/agentcert.
  5. Keep npm Trusted Publishing for witnora bound to .github/workflows/publish-witnora-npm.yml. The final AgentCert facade is published once through .github/workflows/publish-npm.yml; no later AgentCert feature release is permitted.
  6. Configure ziwei@witnora.com and any desired security@, support@, or alerts@ aliases before changing external sender identities.
  7. Update Stripe, LinkedIn, X, GitHub social preview/topics, Resend/Supabase sender branding, status pages, webhook destinations, and customer allowlists.

Positioning boundary

Witnora produces evidence and assurance decisions for declared scopes. It is not a government body, accredited certification authority, or guarantee that an autonomous system cannot fail. Prefer “verified by Witnora,” “backed by Witnora evidence,” and “outcome verified” over “certified by Witnora.”