BigPizzaV3/CodexPlusPlus · error
manifest keyId 或 createdAt 无效
Error message
manifest keyId 或 createdAt 无效
What it means
Thrown by validate_manifest when the optional manifest.key_id is present but fails valid_key_id, or created_at fails the RFC 3339 check. This is a provenance guard on signing metadata: the offending inputs are manifest.keyId and/or manifest.createdAt; a bad value means the package's authorship/issuance metadata cannot be trusted or sorted.
Source
Thrown at crates/codex-plus-core/src/dream_skin_package.rs:974
.bytes()
.all(|byte| byte.is_ascii_alphanumeric() || matches!(byte, b'_' | b'-'))
|| manifest.license.is_empty()
|| manifest.license.len() > 64
|| !manifest.license.bytes().enumerate().all(|(index, byte)| {
byte.is_ascii_alphanumeric()
|| (index > 0 && matches!(byte, b' ' | b'.' | b'+' | b'(' | b')' | b'-'))
})
|| !safe_manifest_text(&manifest.provenance.summary, 1, 500, true)
{
bail!("manifest 发布者、许可证或来源说明为空");
}
if manifest
.key_id
.as_deref()
.is_some_and(|key| !valid_key_id(key))
|| !valid_rfc3339(&manifest.created_at)
{
bail!("manifest keyId 或 createdAt 无效");
}
if manifest.files.len() < 2 || manifest.files.len() > 8 {
bail!("manifest.files 数量无效");
}
Ok(())
}
fn validate_theme(
theme: &Value,
manifest: &DreamSkinPackageManifest,
image_name: &str,
) -> anyhow::Result<()> {
let object = theme.as_object().context("theme.json 必须是对象")?;
const REQUIRED: &[&str] = &["schemaVersion", "id", "name", "image"];
const OPTIONAL: &[&str] = &[
"brandSubtitle",
"tagline",
"projectPrefix",View on GitHub (pinned to f2074595a2)
Solutions
- 修正 keyId 格式或留空
- 把 createdAt 改为 RFC3339 格式,如 2026-01-01T00:00:00Z
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/codex-plus-core/src/dream_skin_package.rs:974 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23).
Data as JSON: /api/errors/6bdc55e7cd16e458.
Report an issue: GitHub.