@@ -27,13 +27,11 @@ assembly, and contract enforcement.
|
27 | 27 | belongs to runtime resolution. |
28 | 28 | - Preserve manifest-first behavior: discovery, config validation, and setup |
29 | 29 | should work from metadata before plugin runtime executes. |
30 | | -- Cache concept: metadata stays fresh unless a caller owns an explicit |
31 | | -`PluginMetadataSnapshot`, `PluginLookUpTable`, or manifest registry for the |
32 | | - current flow. Do not add persistent metadata caches for discovery, manifest |
33 | | - registries, installed-index reconstruction, owner lookup, model suppression, |
34 | | - provider policy, public-artifact metadata, or similar control-plane answers. |
35 | | - Runtime loader, jiti/module, and dependency-artifact caches are the allowed |
36 | | - cache layer once code or installed artifacts are actually loaded. |
| 30 | +- Cache concept: gateway plugin metadata is stable while gateway runs. Reuse |
| 31 | + current snapshots, install records, discovery, lookup tables, and bounded |
| 32 | + process caches; avoid per-call stat/read/hash freshness. Plugin metadata |
| 33 | + changes require restart or explicit plugin owner reload/install/doctor flow. |
| 34 | + No broad persistent caches; lifecycle-owned facts only, test-clearable. |
37 | 35 | - Keep loader behavior aligned with the documented Plugin SDK and manifest |
38 | 36 | contracts. Do not create private backdoors that bundled plugins can use but |
39 | 37 | external plugins cannot. |
|