stablyai/orca · error
No historical released snapshot is available for ${name}
Error message
No historical released snapshot is available for ${name} What it means
historicalRelease() walks releaseMapping.releases in reverse (newest first) looking for the most recent release whose skills[name] revision is a number strictly less than the current skill's releaseRevision, and that has a matching snapshot in snapshot-registry.json. It throws when no prior release shipped an older revision of that skill with a preserved snapshot — i.e. there is no valid previous version to round-trip the update from.
Source
Thrown at config/scripts/verify-skill-update-roundtrip.mjs:73
if (!skill) {
throw new Error(`Current manifest is missing ${name}`)
}
return skill
}
function historicalRelease(name) {
const current = currentSkill(name)
for (const release of releaseMapping.releases.toReversed()) {
const revision = release.skills[name]
if (typeof revision !== 'number' || revision >= current.releaseRevision) {
continue
}
const snapshot = registry.skills[name]?.find((entry) => entry.releaseRevision === revision)
if (snapshot) {
return { tag: `v${release.appVersion}`, snapshot }
}
}
throw new Error(`No historical released snapshot is available for ${name}`)
}
async function materializePackage(name, tag, destination) {
const prefix = `skills/${name}/`
const entries = execFileSync('git', ['ls-tree', '-r', '-z', tag, '--', `skills/${name}`])
.toString('utf8')
.split('\0')
.filter(Boolean)
if (entries.length === 0) {
throw new Error(`${tag} does not contain ${name}`)
}
for (const entry of entries) {
const match = /^(\d+) (\w+) ([a-f0-9]+)\t(.+)$/.exec(entry)
if (!match || match[2] !== 'blob') {
throw new Error(`Unsupported historical tree entry: ${entry}`)
}
const relativePath = match[4].slice(prefix.length)
const destinationPath = path.join(destination, ...relativePath.split('/'))View on GitHub (pinned to 1136503c6a)
Solutions
- Confirm the skill has shipped in at least one prior release by inspecting release-mapping.json releases[].skills[name].
- Verify snapshot-registry.json contains an entry for that skill at the older releaseRevision.
- If this is a new skill, add a prior snapshot or skip the round-trip test until a release has shipped it.
- Regenerate the snapshot and release-mapping artifacts with the documented tooling to restore consistency.
Defensive patterns
Strategy: validation
Validate before calling
// Before the round-trip, confirm a historical snapshot exists:
function hasHistorical(name) {
const current = currentSkill(name)
return releaseMapping.releases.some((r) => {
const rev = r.skills[name]
return typeof rev === 'number' && rev < current.releaseRevision &&
registry.skills[name]?.some((s) => s.releaseRevision === rev)
})
}
if (!hasHistorical(targetName)) {
console.warn(`Skipping round-trip: no historical snapshot for ${targetName}`)
process.exit(0)
} Prevention
- Ship at least one release containing the skill before enabling the round-trip gate for it.
- Keep release-mapping.json and snapshot-registry.json in the same commit when adding/changing a skill.
- Treat a missing historical snapshot for a brand-new skill as a skip, not a failure, until first release.
When it happens
Trigger: A brand-new skill with no prior release history; the snapshot registry missing the historical revision entry; release-mapping.json malformed or lacking releases entries that reference this skill; all prior releases reference the same or higher revision than current.
Common situations: Adding the first skill to the update system before any release ships it; regenerating snapshot-registry.json and dropping older revisions; release-mapping.json not updated after a release; skill's releaseRevision was decremented or left unchanged across releases.
Related errors
- Current manifest is missing ${name}
- ${tag} does not contain ${name}
- Unsupported historical tree entry: ${entry}
- Renderer manifest is missing entry: ${key}
- Renderer entry ${sourceEntry} executes entry ${dependency}
AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12).
Data as JSON: /api/errors/b6a02f56697f8927.
Report an issue: GitHub.