Skip to content

fix(runtime): name the group pin a node timeout pin falls back to (#675) - #1273

Merged
aviggiano merged 2 commits into
unstablefrom
fix/675-timeout-warning-polish
Oct 5, 2026
Merged

aviggiano merged 2 commits into
unstablefrom
fix/675-timeout-warning-polish

Conversation

@aviggiano

@aviggiano aviggiano commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Follow-up to #1256 (issue #675).

Problem

Change

  • timeout-shadowing.ts: for a node pin whose group also pins, the message now ends with "Raise the pin, or remove it to fall back to groups.<g>.defaults.timeout_seconds=." Other pins keep the old text. The comparison and the set of reported pins do not change.
  • The doc comment in timeout-shadowing.ts and the CHANGELOG now keep only the resolution-order claim.
  • docs/reference/configuration.md and the CHANGELOG now say validate, doctor and run.

Tests

  • New: a run default equal to the packaged 7200 s pins reports no warning.
  • New: a node fanned out to claude (5400), deepseek (10800) and default (run default 3600) with a 1800 pin is reported once, against model profile deepseek (10800).
  • Extended: the plan test has a node pinned at 3000 inside a group pinned at 7200. Its warning names the group fallback. The other warnings keep the old remediation text.
  • To check that the tests catch bugs, I ran them against broken versions of the source:
  • Ran: runtime tests matching timeout|doctor and ^validate|^plan , eslint and prettier on changed files, pnpm --filter @ultrafuzz/runtime typecheck, ESLINT_PLUGIN_DIFF_COMMIT=origin/unstable pnpm -w lint:strict:ci, pnpm -w docs:check.

🤖 Generated with Claude Code

RetriggerConfidence Score: 5/5

The PR appears safe to merge; no actionable issue was found in its changeset.

Summary

This PR clarifies timeout-shadowing diagnostics for node pins inside pinned groups, corrects the documented commands that report the warning, and adds boundary and model-fan-out coverage.

Reviews (2) · Last reviewed commit: "Merge branch 'unstable' into fix/675-tim..."

Follow-up to #1256.

- A node pin inside a group that also pins falls back to the group pin
  when removed, not to the profile or run default. The warning now says
  so and names the group pin, instead of "remove the pin to use the
  longer default".
- validate, doctor and run report the warning; there is no plan command.
  Fix the docs and CHANGELOG.
- The 7200 s pins did not cause the goal node timeouts in #675 (the
  oversized goal statement did, #680/#690). Keep only the resolution
  order claim in the CHANGELOG and the doc comment.
- Test that a pin equal to the default stays silent, and that a node
  fanned out to several profiles is reported against the longest one.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@aviggiano
aviggiano requested a review from a team as a code owner October 2, 2026 18:07
Resolve the CHANGELOG.md conflict: keep this branch's #675 entry and unstable's #1231 entry.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@aviggiano
aviggiano merged commit 7b8d3d0 into unstable Oct 5, 2026
4 of 5 checks passed
@aviggiano
aviggiano deleted the fix/675-timeout-warning-polish branch October 5, 2026 21:00
aviggiano added a commit that referenced this pull request Oct 6, 2026
- Predict `OpenRouterAgent`'s home (`<root>/openrouter`), which its adapter requires to be 0700 like DeepSeek's; the Bun parity test covers it.
- Report a relative `CODEX_HOME`, `CLAUDE_CONFIG_DIR`, `KIMI_CODE_HOME` or `KIMI_SHARE_DIR` as `PROVIDER_HOME_UNSAFE` ("set it to an absolute path"), as the adapters refuse it, instead of resolving it against the cwd.
- Without `HOME` in the launch environment, fall back to `os.homedir()` as the adapters do, instead of skipping the check.
- Quote the path in the printed `chmod 700` / `chmod go-w` command when it needs quoting, and report an unsearchable directory with `chmod u+x <parent>`, naming the directory that blocks the search.
- Drop the `index.ts` re-export; only `validate.ts` uses the module.
- Give a private `HOME` to the tests that validate a project with no environment, with `env: {}`, or with an environment that has neither `HOME` nor `ULTRAFUZZ_PROVIDER_HOME_ROOT`. This covers the dashboard prompt-save test, which otherwise falls back to `process.env`, and the two #1273 timeout-pin tests.
- Fold the follow-up into the existing #1265 CHANGELOG entry instead of adding a second one.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants