Fission-AI/OpenSpec · error
Some rules for '${artifactId}' are empty strings, ignoring t
Error message
Some rules for '${artifactId}' are empty strings, ignoring them What it means
Error "Some rules for '${artifactId}' are empty strings, ignoring them" thrown in Fission-AI/OpenSpec.
Source
Thrown at src/core/project-config.ts:337
// Artifact ids are intentionally not restricted to the built-in naming
// convention, so keys such as "constructor" remain valid for custom
// schemas. A null-prototype map preserves those keys as data without
// letting "__proto__" mutate the lookup object's prototype.
const parsedRules: Record<string, string[]> = Object.create(null);
let hasValidRules = false;
for (const [artifactId, rules] of Object.entries(raw.rules)) {
const rulesArrayResult = z.array(z.string()).safeParse(rules);
if (rulesArrayResult.success) {
// Filter out empty strings
const validRules = rulesArrayResult.data.filter((r) => r.length > 0);
if (validRules.length > 0) {
parsedRules[artifactId] = validRules;
hasValidRules = true;
}
if (validRules.length < rulesArrayResult.data.length) {
console.warn(
`Some rules for '${artifactId}' are empty strings, ignoring them`
);
}
} else {
console.warn(
`Rules for '${artifactId}' must be an array of strings, ignoring this artifact's rules`
);
}
}
if (hasValidRules) {
config.rules = parsedRules;
}
} else {
console.warn(`Invalid 'rules' field in config (must be object)`);
}
}
View on GitHub (pinned to 6926ccb18a)
When it happens
Trigger: Thrown at src/core/project-config.ts:337 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Fission-AI/OpenSpec@6926ccb18a (2026-08-25).
Data as JSON: /api/errors/74d20bb032b02698.
Report an issue: GitHub.