jjongguet/gjc-plugin includes jev-advisor, which recommends a fast, balanced, or strong tier for a child task in Gajae Code. The interesting part is what it refuses to infer: advice is not model selection, a completed process is not accepted code, and confidence is not a probability of task success.

I inspected the advisor README, provider/response code, pre-task hook, and result observer at revision 6debe26e0b2b3f81246066f2252f9542f1ed2062. The plugin and its verifier were not run: this host has no bun executable. I made no provider calls, measured no delegation benefit, and performed no security audit.

Ask about a task without leaking the desired answer

  • The advisor prompt uses the child’s role, description, assignment, and shared context—not its requested tier or previous results.
  • The inspected hook dispatches at most four sequential requests within an eight-second batch budget; these are configured limits, not measured latency.
  • Oversized input is rejected instead of silently losing context; unavailable or malformed advice becomes an explicit no-decision.
  • The provider code really supports TypeSafe’s state plus typed questions endpoint, alongside other explicitly configured providers.

Shadow first; enforcement is narrower than routing

Shadow mode is the default. Optional enforcement can block an entire task call when a complete child explicitly requests a weaker tier than its sufficiently confident recommendation.

  • The hook does not rewrite the task input or choose the actual execution model.
  • Missing advice, provider failure, and rate limiting fail open rather than justify a block.
  • Parsed confidence must be a finite number in range; supplied distributions must contain the expected tiers and sum approximately to one.
  • Valid JSON and a high confidence score still do not establish that the recommended tier is appropriate.

Match execution by identity, not resemblance

The result observer joins a launch to a terminal job only for an eligible original single-child call with explicit identifiers. It does not guess a multi-child mapping from text, array position, or a task fingerprint.

Requested tier, recommendation, requested model, observed effective model, and process status remain separate. Unknown fields stay unknown; contradictory observations are retained as conflicts instead of overwritten into a success story.

A report named “calibration” is not a calibration study

The README explicitly describes report="calibration" as retained-window monitoring, not a benchmark. Recommendation agreement is not correctness; missing durations are not zero. Journals and correlation state are bounded, so they cannot establish lifetime totals or account for records that failed to persist.

Typed output is not a correct decision. This is a reusable implementation pattern for honest observability—not evidence that Jev selects cheaper or better subagents. That claim would need representative tasks, independent quality judgments, actual execution-model records, and a controlled comparison.