feat(implement): add recipes for scheduler, tenancy, rate-limiting, memory, and provider APIs - #17
Merged
Merged
Conversation
…emory, provider APIs Five subsystems built since the guide was written had no step-by-step recipe — they were only listed in the "no recipe yet" table. Each new recipe was written by reading the current code and modeling examples on real implementations, verified against source. - scheduler-feature: configure the priority scheduler (classes, tenant policies, reservations via PrioritySchedulerYaml) + extend the ClassQueue / TenantPolicyResolver traits - tenancy-feature: read the resolved TenantKey/RouteRequestMeta to make a feature tenant-aware, and add a new TenantIdentity source - rate-limit-feature: the single global TokenBucket (concurrency cap + rate limit), how to tune it, and how to add a knob - memory-feature: concise guide for the MemoryExecutionContext/ MemoryPolicyMode parse-decide layer (honestly flagged as in-progress — the execution consumers are still TODO stubs) - provider-api: add a provider-compatible API surface (RoutingMode variant + RouterTrait impl + factory wiring + route), modeled on AnthropicRouter implement/SKILL.md: move these five from the "subsystems without a recipe yet" table into the detection table; keep Responses/Conversations/Realtime, the skills subsystem, the TUI, and client-gen as still-uncovered. Verified against smg@a18d64f5. Signed-off-by: Simo Lin <25425177+slin1237@users.noreply.github.com>
The five new recipes (scheduler, tenancy, rate-limit, memory, provider-api) bring the total to 20. Update the README recipe table and the "20 Implementation Recipes" line, and the "(with 20 subsystem recipes)" string in the Claude plugin, marketplace, and Cursor manifests. Signed-off-by: Simo Lin <25425177+slin1237@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Five subsystems built since the guide was written (priority scheduler, multi-tenancy, rate-limiting, memory, and the Anthropic/Gemini provider routers) had no step-by-step recipe — they were only listed in the "subsystems without a recipe yet" table in
implement/SKILL.md.Solution
Wrote five new recipes, each by reading the current code for the subsystem and modeling examples on real implementations (every path/type/method/command verified against source), then wired them into the detection table.
Changes
New recipes (
feat):scheduler-feature— configure the priority scheduler (classes, tenant policies, reservations viaPrioritySchedulerYaml) + extend theClassQueue/TenantPolicyResolvertraitstenancy-feature— read the resolvedTenantKey/RouteRequestMetato make a feature tenant-aware, and add a newTenantIdentitysourcerate-limit-feature— the single globalTokenBucket(concurrency cap + rate limit), how to tune it, and how to add a knobmemory-feature— concise guide for theMemoryExecutionContext/MemoryPolicyModeparse-decide layer; honestly flagged as in-progress (the execution consumers are still TODO stubs)provider-api— add a provider-compatible API surface (RoutingModevariant +RouterTraitimpl + factory wiring + route), modeled onAnthropicRouterimplement/SKILL.md: moved these five from the "no recipe yet" table into the detection table (kept Responses/Conversations/Realtime, the skills subsystem, the TUI, and client-gen as still-uncovered).Metadata (
docs): bumped recipe count 15 → 20 in the README recipe table + "Implementation Recipes" line and the "(with 20 subsystem recipes)" string in the Claude plugin, marketplace, and Cursor manifests.Affected Skills
smg:mapsmg:contributesmg:review-prsmg:implementsmg.md)plugin.json,marketplace.json, cursor)Checklist
git commit -s)claude plugins add .locally@file.mdreferences in skills