{"record":{"id":"700da6359c787a53","repo":"affaan-m/ECC","slug":"provider-generation-requires-explicit-separately-authorized","errorCode":null,"errorMessage":"provider generation requires explicit separately authorized execution; this package ships no provider adapters and performs no network calls. Use apply_local() (deterministic, offline) instead.","messagePattern":"provider generation requires explicit separately authorized execution; this package ships no provider adapters and performs no network calls\\. Use apply_local\\(\\) \\(deterministic, offline\\) instead\\.","errorType":"exception","errorClass":"ProviderDisabledError","httpStatus":null,"severity":"error","filePath":"skills/taste-application/scripts/tasteforge/apply.py","lineNumber":242,"sourceCode":"            \"rhythm_variance\": cadence.get(\"rhythm_variance\", 0.0),\n            \"cuts_per_min\": cadence.get(\"cuts_per_min\", 0.0),\n        },\n        \"notes\": [\n            \"shot durations drawn from the pack's measured cadence (seeded, \"\n            \"deterministic); no provider generation was requested or run\",\n        ],\n    }\n    problems = schema.validate(report, schema.APPLICATION_REPORT_SCHEMA)\n    if problems:\n        raise ValueError(f\"apply_local produced an invalid report: {problems}\")\n    return report\n\n\ndef apply_generate(\n    sp: pack_mod.StylePack, brief: str, **_: Any\n) -> dict[str, Any]:\n    \"\"\"Refuse provider generation. Fails closed, always.\"\"\"\n    raise ProviderDisabledError(_FAIL_CLOSED)\n","sourceCodeStart":224,"sourceCodeEnd":243,"githubUrl":"https://github.com/affaan-m/ECC/blob/8321021c54d670126ce3b2969d5deb880b4b0c2a/skills/taste-application/scripts/tasteforge/apply.py#L224-L243","documentation":"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.","triggerScenarios":"Calling apply_generate(sp, brief=\"...\") directly, or wiring generic dispatch/config that routes to apply_generate instead of apply_local.","commonSituations":"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.","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."],"exampleFix":"// before\nreport = apply_generate(sp, brief=\"cinematic b-roll\")\n\n// after\nreport = apply_local(sp, media=[{\"path\": \"clip.mp4\"}], duration=6.0)","handlingStrategy":"fallback","validationCode":"if route == \"generate\":\n    raise ValueError(\"provider generation is disabled in this package; use apply_local\")","typeGuard":null,"tryCatchPattern":"try:\n    report = apply_generate(sp, brief=brief)\nexcept ProviderDisabledError:\n    report = apply_local(sp, media=collect_clips(brief))","preventionTips":["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."],"tags":["fail-closed","disabled-feature","offline-only"],"backgroundTag":"feature-not-enabled","analyzedSha":"8321021c54d670126ce3b2969d5deb880b4b0c2a","analyzedAt":"2026-09-16T10:08:13.343Z","contentChangedAt":"2026-09-16T10:08:13.343Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}