affaan-m/ECC · error · ProviderDisabledError
provider generation requires explicit separately authorized…
Error message
provider generation requires explicit separately authorized execution; this package ships no provider adapters and performs no network calls. Use apply_local() (deterministic, offline) instead.
What it means
apply_generate is a deliberate fail-closed stub: this package ships no provider adapters and performs no network calls, so any attempt at provider-based generation raises ProviderDisabledError. It directs you to apply_local, the deterministic offline path.
Solutions
- Use apply_local(sp, media=[...]) instead — it is the supported deterministic, offline path.
- Remove or rewire dispatch/config that selects apply_generate.
- If provider generation is truly needed, obtain an explicitly authorized package that ships provider adapters; this one never will.
- Update any tutorials/scripts referencing apply_generate to the apply_local API.
Example fix
// before
report = apply_generate(sp, brief="cinematic b-roll")
// after
report = apply_local(sp, media=[{"path": "clip.mp4"}], duration=6.0) Defensive patterns
Strategy: fallback
Validate before calling
if route == "generate":
raise ValueError("provider generation is disabled in this package; use apply_local") Try / catch
try:
report = apply_generate(sp, brief=brief)
except ProviderDisabledError:
report = apply_local(sp, media=collect_clips(brief)) Prevention
- Never call apply_generate; it always fails closed by design.
- Route all apply flows through apply_local.
- Audit config/mode flags that could select generate paths.
When it happens
Trigger: Calling apply_generate(sp, brief="...") directly, or wiring generic dispatch/config that routes to apply_generate instead of apply_local.
Common situations: Following older docs or examples that used a provider generation API; a config flag like mode="generate" selecting apply_generate; trying to port code from a fork that had provider adapters.
Related errors
- AuraUntrusted
- live distillation requires explicit separately authorized…
- orch-review: args.changedFiles must be an array of paths
- orch-review: args.changedFiles must contain only string…
- orch-review: args.diff must be a non-empty unified diff
AI-assisted analysis of affaan-m/ECC@8321021c54 (2026-09-16).
Data as JSON: /api/errors/700da6359c787a53.
Report an issue: GitHub.
Appendix: source
Thrown at skills/taste-application/scripts/tasteforge/apply.py:242
"rhythm_variance": cadence.get("rhythm_variance", 0.0),
"cuts_per_min": cadence.get("cuts_per_min", 0.0),
},
"notes": [
"shot durations drawn from the pack's measured cadence (seeded, "
"deterministic); no provider generation was requested or run",
],
}
problems = schema.validate(report, schema.APPLICATION_REPORT_SCHEMA)
if problems:
raise ValueError(f"apply_local produced an invalid report: {problems}")
return report
def apply_generate(
sp: pack_mod.StylePack, brief: str, **_: Any
) -> dict[str, Any]:
"""Refuse provider generation. Fails closed, always."""
raise ProviderDisabledError(_FAIL_CLOSED)
View on GitHub (pinned to 8321021c54)