ruvnet/ruflo · error · ValidationError
INVALID_DIGEST
INVALID_DIGEST
Error message
Digest must match "sha256:<64 hex chars>" format (got "${manifest.cell.codeRef.digest}") What it means
validateDigest() found cell.codeRef.digest fails the sha256 digest regex (must be 'sha256:' followed by exactly 64 hex characters). The code-integrity reference is malformed — wrong hash length, bad prefix, or non-hex characters — so the cell's code binding cannot be trusted or verified.
Source
Thrown at v3/@claude-flow/guidance/src/manifest-validator.ts:734
if (!manifest.apiVersion) return []; // caught by requiredFields
if (manifest.apiVersion !== SUPPORTED_API_VERSION) {
return [{
code: 'UNSUPPORTED_API_VERSION',
field: 'apiVersion',
message: `API version "${manifest.apiVersion}" is not supported (expected "${SUPPORTED_API_VERSION}")`,
severity: 'error',
}];
}
return [];
}
private validateDigest(manifest: AgentCellManifest): ValidationError[] {
if (!manifest.cell?.codeRef?.digest) return []; // caught by requiredFields
if (!SHA256_DIGEST_RE.test(manifest.cell.codeRef.digest)) {
return [{
code: 'INVALID_DIGEST',
field: 'cell.codeRef.digest',
message: `Digest must match "sha256:<64 hex chars>" format (got "${manifest.cell.codeRef.digest}")`,
severity: 'error',
}];
}
return [];
}
private validateWarnings(manifest: AgentCellManifest): ValidationWarning[] {
const warnings: ValidationWarning[] = [];
// Warn about unknown tools
if (manifest.toolPolicy?.toolsAllowed) {
for (const tool of manifest.toolPolicy.toolsAllowed) {
if (!KNOWN_TOOLS.has(tool)) {
warnings.push({
code: 'UNKNOWN_TOOL',
field: 'toolPolicy.toolsAllowed',View on GitHub (pinned to fa13ee4ad6)
Solutions
- Format the digest as 'sha256:' followed by 64 lowercase hex characters.
- Compute the digest with a known-good SHA-256 implementation rather than hand-assembling the string.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at v3/@claude-flow/guidance/src/manifest-validator.ts:734 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18).
Data as JSON: /api/errors/d8f882642fa6ac38.
Report an issue: GitHub.