Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Operator limits: tier selection in settings, no model names for managed workspaces

Open
#283 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
22/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript

Research direction

This depends on #280, which is not merged, so confirm that work lands first. Start with the review-settings routes and the settings form, then the copy in src/copy/, the place where credentials are masked in results, and the comment-publishing path for Diff and Dynamic runs. Done means test cases T01 to T09 pass, including the scan that finds no tier model id in any managed-workspace output.

Written by the indexing model from the issue text.

Description

area: app area: ui type: feature

Part of #268. Depends on #280.

Problem

With managed tiers (#280) a workspace on the operator's key chooses a level, not a model. The review settings still show model fields, and models can leak through places nobody designed to show them: a run's log tail, an error message, a published comment.

Behavior

  • Settings form. For a workspace whose key mode is managed, the project and workspace-default review settings replace the model, fallback model and Dynamic model fields with one Quality choice: Low, Medium, High. Each level is described in a sentence by speed and depth only ("faster, lighter" … "slower, deeper"); never by model, vendor or cost. The three descriptions and the labels are copy in src/copy/. For other workspaces nothing changes.
  • API. The review-settings routes return and accept modelTier for a managed workspace and do not return model fields for it; they refuse a model field in a write from a managed workspace's member with the stable code MODEL_MANAGED_BY_INSTANCE.
  • No leaks. Before a result, a log tail or an error message of a job that ran on a managed workspace is stored, every configured tier model id (all of them, not only the one used) is removed (replaced by [model]), in the same place the app masks credentials in results. The Runs view never shows a model for such a run.
  • Published text. A Diff or Dynamic review comment for a managed job contains no model id. If PR-Agent's output carries one, the runner removes or the configuration disables it; a test pins the comment of a fake run.
  • The instance admin's view of the Runs and of the settings is unchanged (the admin is the operator).

Scope

Settings form and routes for the managed case, completion-time redaction, comment check, copy, docs, tests.

Out of scope

Choosing which models back the tiers, tier descriptions beyond speed and depth, per-tier limits.

Test cases

ID kind level case expected
T01 behavior ui managed workspace opens project review settings one Quality choice (Low/Medium/High); no model field
T02 regression ui own-key workspace the model fields exactly as before
T03 security unit copy for the three levels no model name, vendor or cost; speed and depth wording only (a test scans the strings)
T04 negative integration managed member PUTs model refused MODEL_MANAGED_BY_INSTANCE
T05 security integration a job result and log tail containing a tier model id stored with [model]; every tier id is removed, not only the used one
T06 security integration error message of a managed run containing a model id redacted before storage and display
T07 security integration run list, run detail, usage page and settings API of a managed workspace no tier model id anywhere (search)
T08 security integration published comment of a fake Diff and Dynamic run on a managed workspace no model id
T09 behavior integration instance admin still sees everything it saw before
Dominant language
TypeScript
Stars
0
Forks
1
Avg merge
1h 18m
Merged PRs (30d)
186

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ExpidetGames/code-reviewer

All issues in ExpidetGames/code-reviewer

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.