gate — one ship/no-ship verdict from aiglare, bouncer, tieline & repoctx. The unified merge gate for the nugehs toolchain: run four deterministic checks, get one normalized verdict.
Single tool 'gate_check' has a well-structured schema with proper enums and descriptions. The tool description is comprehensive (194 chars) and explains the four checks, verdict types, and when to call it. Input parameters are properly typed with enum constraints for 'only'/'skip' and boolean for 'strict'. However, the tool lacks output schema documentation, the response structure (pass|warn|fail verdict, blocking reasons) is described in prose but not formally specified. No error handling guidance is provided. The tool is read-only (no state mutation), which is appropriate.
Run the nugehs gate against the current workspace and return one normalized ship/no-ship verdict. It merges four deterministic checks — aiglare (AI/LLM governance guardrails), bouncer (compliance controls), tieline (frontend/backend contract drift) and repoctx (merge readiness) — into a single verdict (pass | warn | fail) with the blocking reasons. Call this before telling the user a change is ready to merge, ship, or deploy; a 'fail' verdict means do not ship.
Output schema not documented. The tool description mentions 'verdict (pass | warn | fail) with blocking reasons' but does not formally specify the response structure (fields, types, nested objects). LLMs cannot plan downstream actions or extract data without knowing the output shape.
No error handling guidance. If the gate engine is not installed, the workspace is invalid, or a check times out, the tool provides no recovery hints. Error responses should guide the LLM: 'gate engine not found, install via npm i -g @nugehs/gate' or 'workspace invalid, check gate.log for details'.
Tool name 'gate_check' is a noun phrase, not a verb_noun pattern. Stronger names: 'check_ship_readiness' or 'verify_deployment_gates' would immediately signal the action to LLMs. 'gate_check' requires reading the description to understand intent.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Parameter descriptions lack format/constraint details. 'only' and 'skip' describe what they do but not the interaction: can both be set? What if both include 'aiglare'? Does 'skip' override 'only'? Undocumented dependencies cause silent misuse.
No pagination or result limits documented. If the gate engine returns many blocking reasons or detailed findings, the response could be verbose. The tool should document max result size and offer filtering to keep responses token-efficient.