docs: resync skills with smg HEAD (v1.9.0) - #21
Merged
Conversation
Skills were last verified against smg 72ec2bfa (v1.6.0, 2026-07-15);
235 commits and three releases have landed since (origin/main 732a42bf).
Audited every skill against the current code (not commit messages) via
per-file audits, put each finding to an independent reviewer instructed
to refute it, then applied the survivors: 24 blockers, 118 major,
105 minor. 6 findings were refuted and dropped; 11 more were skipped
during application because their premise did not hold.
New subsystems with no prior coverage:
- zmq-backend.md (new recipe): the ZMQ direct backend — crate
engine-zmq-client, ConnectionMode::Zmq, BackendClient::{Grpc,Zmq},
background-handshake worker lifecycle, grouped DP engine workers,
the append-only positional-msgpack wire contract, mock-worker/e2e
lanes. Reachable via a new detection row; grpc-backend.md gains a
"not this recipe" pointer.
- rate-limit-feature.md: per-tenant token/request limits
(model_gateway/src/rate_limit/, RateLimitManager, reserve/settle,
--tenant-rate-limit-*), wired only into the gRPC pipeline.
Blockers (text that named a deleted symbol, or would not compile):
- rate-limit: ConcurrencyLimiter/QueueProcessor/QueuedRequest are gone;
admission is AdmissionQueue (Semaphore) + TokenPermit with FIFO
handoff on the bucket. Refill coercion inverted — unset/0 now means
no refill. Timeout sheds 503, not 408. Core sections rewritten.
- provider-api, tenancy: RouterTrait typed-JSON route methods take the
body by value (T, not &T) since the RequestLease work.
- map, discovery: handle_pod_event was removed; discovery is a
level-triggered reconcile (compute_desired_state -> compute_actions
-> Job::AddWorker/RemoveWorker) over an informer store.
- routing-policy: is_load_aware() replaced by
LoadBalancingPolicy::needs_backend_loads(); a policy that skips it
compiles and never receives update_loads.
- config-plumbing: the to_server_config snippet did not compile
(ServerConfig is its own struct); RouterConfigBuilder is hand-written
and was never named; added the config/validation.rs step.
- observability: the metrics example interned a request model_id
through the unbounded interner — the series-explosion vector closed
upstream. Now teaches the bounded path.
- scheduler: QueueTimeout maps to 503 + Retry-After, not 408.
- wasm: guest scaffold missing [workspace] did not build; guest
failures fail open; the component build step double-wrapped.
Cross-cutting:
- Worker eligibility is Worker::is_available() (health + circuit
breaker + overload veto); routing-policy, review-pr and
anti-patterns all taught the pre-veto two-term check.
- contribute: gate rebuilt from CI — pre-commit hooks, ruff/mypy/pytest
at an 80% coverage floor, the Go gate, cargo metadata --locked
against the now-tracked Cargo.lock, branch-name rules that auto-close
PRs, and the OpenCV prerequisite for --all-features. Five steps -> six;
README, implement/SKILL.md and .agents/workflows/verify-pr.md follow.
- review-pr: severity markers now match the repo's own REVIEW.md
contract; e2e marker set corrected (registered in fixtures/hooks.py,
plus kind in pyproject.toml).
- Counts/versions: tool parsers 14 -> 17 modules / 22 factory keys,
reasoning families 8 -> 9, Router params ~110 -> 140,
data-connector 2.3.2 -> 2.3.3, rmcp locks to 1.8.
- Org move lightseekorg -> smg-project across README install commands
and all three plugin manifests; upstream docs now live in smg-docs.
- Recipe count 19 -> 20.
Verified against smg@732a42bf.
Signed-off-by: Alex McC <319643551+hello-alexmcc@users.noreply.github.com>
slin1237
approved these changes
Aug 22, 2026
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.
Skills were last verified against smg
72ec2bfa(v1.6.0, 2026-07-15).origin/mainis now732a42bf— 235 commits and three releases later. This resyncs them.Every skill was audited against the current code (not commit messages) against a clean
origin/mainsnapshot, each finding was put to an independent reviewer instructed to refute it, and the edited files were then re-read against the code by a third pass. Result: 24 blockers, 118 major, 105 minor applied. 6 findings were refuted and dropped; 11 more were skipped at apply time because their premise did not hold on inspection.Full audit report (evidence and per-finding proposed fixes): https://claude.ai/code/artifact/bc643be0-85de-4c83-bafd-b58c073c4159
New coverage
Two subsystems landed after the baseline with zero skill coverage:
skills/implement/zmq-backend.md(new recipe) — the ZMQ direct backend: crateengine-zmq-client,ConnectionMode::Zmq,BackendClient::{Grpc,Zmq}, the background-handshake worker lifecycle, grouped DP engine workers, the append-only positional-msgpack wire contract, and GPU-free testing viamock-worker. It gets its own recipe rather than a section ingrpc-backend.mdbecause every step there is inapplicable (no tonic client, no probe, no metadata RPC, and the polymorphism point isBackendClient, notGrpcClient). Previously the detection table actively mis-routed ZMQ requests togrpc-backend.md; there is now a detection row and a "not this recipe" pointer.model_gateway/src/rate_limit/) — added torate-limit-feature.md, which previously asserted no such thing existed.Blockers
Text naming a deleted symbol, or snippets that no longer compile:
rate-limit-featureConcurrencyLimiter/QueueProcessor/QueuedRequest; refill falls back tomax_concurrent_requests; timeout 408AdmissionQueue(Semaphore) +TokenPermit, FIFO handoff on the bucket; unset/0means no refill; timeout sheds 503provider-api,tenancy-featurebody: &CreateMessageRequestRouterTraittyped-JSON methods take the body by valuemap,discovery-featurehandle_pod_event()compute_desired_state→compute_actions→Job::AddWorker/RemoveWorkerrouting-policyis_load_aware()LoadBalancingPolicy::needs_backend_loads()— skipping it compiles and silently never receivesupdate_loadsconfig-plumbingmy_field: self.my_fieldin theServerConfigliteralServerConfigis its own struct; aRouterConfigfield rides in.router_config. Adds the missingRouterConfigBuilderandconfig/validation.rsstepsobservability-featureintern_string(&model_id)scheduler-featureQueueTimeout→ 408Retry-Afterwasm-plugin[workspace]; unconditionalwasm-tools component newCross-cutting
Worker::is_available()(health + circuit breaker + overload veto).routing-policy,review-prandanti-patternsall taught the pre-veto two-term check — which silently routes to overload-vetoed workers.contributegate rebuilt from CI: pre-commit hooks,ruff/mypy/pytestat an 80% coverage floor, the Go gate,cargo metadata --lockedagainst the now-trackedCargo.lock, branch-name rules that auto-close non-conforming PRs, and the OpenCV prerequisite for--all-features. Five steps → six, withREADME,implement/SKILL.mdand.agents/workflows/verify-pr.mdupdated to match.review-prseverity markers now match this repo's ownREVIEW.mdcontract (🔴/🟡/🟣); e2e marker set corrected (registered infixtures/hooks.py, pluskindinpyproject.toml).Routerparams ~110 → 140;data-connector2.3.2 → 2.3.3;rmcplocks to 1.8.lightseekorg→smg-projectacross every README install command and all three plugin manifests. Upstream docs now live insmg-docs.Checks
path.rs:123line-number citations (the de-brittled convention from docs: resync skills with smg HEAD (v1.5.0) #19 holds); every@recipe.mdcross-reference resolves.codespell --skip=LICENSEreports 15 hits on bothmainand this branch — all pre-existing false positives onWIT(the WebAssembly Interface Types format name). None introduced.Reviewer notes
kv-index-feature.mdandmultimodal-feature.md.bindings/python/src/smg/serve.py's_zmq_handshake_portdocstring points atmodel_gateway/src/worker/worker.rs, butderive_handshake_portlives inrouters/grpc/zmq_client.rs; and the doc comments onprotocol/mod.rs::EngineLoadandZmqEngineClient::engine_loadstill say TokenSpeed carries no load, whichBatchTokenIDOutSlimnow contradicts.Verified against smg@732a42bf.