Skip to content

fix: reject unsafe health and diagnostics timeouts - #1744

Merged
kang-heewon merged 4 commits into
trunkfrom
fix/1686-validate-runtime-timeouts
Aug 5, 2026
Merged

fix: reject unsafe health and diagnostics timeouts#1744
kang-heewon merged 4 commits into
trunkfrom
fix/1686-validate-runtime-timeouts

Conversation

@kang-heewon

@kang-heewon kang-heewon commented Aug 4, 2026

Copy link
Copy Markdown
Member

Outcome

  • Reject non-finite, non-positive, fractional, and Node-unsafe health or diagnostics timeout values during setup.
  • Expose stable validation Problems and preserve validated timeout snapshots so caller mutation cannot reintroduce timer clamping.
  • Publish the timeout contract through package docs, generated API references, Problem registry artifacts, and patch changesets.

Verification

  • pnpm --filter @croco/health-core test (44 passed)
  • pnpm --filter @croco/diagnostics-core test (34 passed)
  • package build, typecheck, and lint for both affected packages
  • pnpm check (24 passed, 1 not applicable before commit)
  • pre-push full test (234 tasks) and typecheck (233 tasks)
  • public API snapshot (115 packages) and Problem registry (567/567)
  • changeset requirement check

pnpm docs:api:check confirms the new diagnostics references match generation. Its remaining drift is the same unrelated protocols, testing, and transport drift reproduced on the exact base commit 31636bb.

Review gates

  • Correctness: PASS — invalid/default/per-registration values, both valid boundaries, readiness, diagnostics, and post-registration mutation are covered.
  • API/security/release: PASS — stable Problems, public exports, lockfile, registries, generated docs, and changesets are aligned.
  • Maintainability/minimality: PASS — validated scalar snapshots close the mutation bypass without changing cancellation semantics.
  • Independent adversarial review: PASS after the mutable-options bypass and generated timeout documentation were corrected.

Fixes #1686

Summary by CodeRabbit

  • 새 기능

    • 진단 및 헬스 체크 타임아웃이 1~2,147,483,647ms 범위의 유효한 정수인지 사전에 검증합니다.
    • 잘못된 타임아웃 설정에 대해 표준 문제 코드와 상세 오류 정보를 제공합니다.
    • 기본값과 provider·indicator별 타임아웃을 지원합니다.
    • 관련 오류 클래스, 타입, 최대 허용값 상수를 공개 API로 제공합니다.
  • 문서

    • 새로운 타임아웃 오류 및 설정 옵션의 API 문서를 추가했습니다.
    • 문제 복구 가이드와 공개 문제 코드 레지스트리를 업데이트했습니다.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@kang-heewon, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 59 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 68e01489-bbfe-48e9-8361-35aee0d6be19

📥 Commits

Reviewing files that changed from the base of the PR and between 28d9461 and 0475804.

⛔ Files ignored due to path filters (2)
  • packages/problems-core/src/generated/problem-code-registry.ts is excluded by !**/generated/**
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (28)
  • .changeset/safe-health-timeouts.md
  • docs/problem-code-registry.json
  • packages/diagnostics-core/README.md
  • packages/diagnostics-core/src/index.ts
  • packages/diagnostics-core/src/libs/DiagnosticsCollector.ts
  • packages/diagnostics-core/src/libs/problems/DiagnosticsProblems.ts
  • packages/diagnostics-core/src/libs/types.ts
  • packages/diagnostics-core/src/tests/DiagnosticsIntegration.spec.ts
  • packages/docs/src/content/docs/api/diagnostics-core/src/classes/InvalidDiagnosticsTimeoutProblem.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/type-aliases/DiagnosticsCollectorOptions.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/type-aliases/DiagnosticsProviderOptions.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/type-aliases/DiagnosticsTimeoutSource.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/variables/MAX_DIAGNOSTICS_TIMEOUT_MS.md
  • packages/docs/src/content/docs/api/health-core/src/classes/InvalidHealthCheckTimeoutProblem.md
  • packages/docs/src/content/docs/api/health-core/src/type-aliases/HealthCheckServiceOptions.md
  • packages/docs/src/content/docs/api/health-core/src/type-aliases/HealthCheckTimeoutSource.md
  • packages/docs/src/content/docs/api/health-core/src/variables/MAX_HEALTH_CHECK_TIMEOUT_MS.md
  • packages/docs/src/content/docs/api/problems-core/src/classes/Problem.md
  • packages/docs/src/content/docs/api/problems-core/src/variables/CROCO_PROBLEM_CODE_REGISTRY.md
  • packages/docs/src/content/docs/en/reference/problem-recovery-cookbook.md
  • packages/health-core/README.md
  • packages/health-core/package.json
  • packages/health-core/src/index.ts
  • packages/health-core/src/libs/HealthCheckService.ts
  • packages/health-core/src/libs/problems/HealthProblems.ts
  • packages/health-core/src/tests/HealthCheckService.spec.ts
  • packages/health-core/vitest.config.ts
  • public-api-surface.snapshot.json
📝 Walkthrough

Walkthrough

diagnostics-core와 health-core가 기본 및 provider/indicator별 타임아웃을 검증합니다. 잘못된 값은 안정적인 Problem으로 거부합니다. 유효한 타임아웃만 검사에 사용하며, 공개 API·레지스트리·문서·테스트를 갱신합니다.

Changes

타임아웃 검증 구현

Layer / File(s) Summary
진단 타임아웃 검증 및 저장
packages/diagnostics-core/src/libs/problems/DiagnosticsProblems.ts, packages/diagnostics-core/src/libs/DiagnosticsCollector.ts, packages/diagnostics-core/src/index.ts, packages/diagnostics-core/src/libs/types.ts
기본 및 provider별 타임아웃을 1~2_147_483_647 범위의 정수로 검증합니다. 잘못된 값은 InvalidDiagnosticsTimeoutProblem으로 처리합니다. 검증된 provider 타임아웃만 저장합니다.
헬스 체크 타임아웃 검증 및 실행
packages/health-core/src/libs/problems/HealthProblems.ts, packages/health-core/src/libs/HealthCheckService.ts, packages/health-core/src/index.ts, packages/health-core/package.json
서비스 및 indicator 타임아웃을 검증합니다. 검증된 값만 등록 정보와 검사 실행에 사용합니다. 관련 Problem API와 @croco/problems-core 런타임 의존성을 추가합니다.
경계값 및 등록 불변성 검증
packages/diagnostics-core/src/tests/DiagnosticsIntegration.spec.ts, packages/health-core/src/tests/HealthCheckService.spec.ts, packages/health-core/vitest.config.ts
잘못된 값의 거부, 최소·최대 경계값의 타이머 전달, 등록 후 옵션 변경과 무관한 타임아웃 보존을 검증합니다. Vitest 별칭을 추가합니다.
Problem 레지스트리 및 공개 문서
.changeset/safe-health-timeouts.md, docs/problem-code-registry.json, packages/diagnostics-core/README.md, packages/health-core/README.md, packages/docs/src/content/docs/api/..., packages/docs/src/content/docs/en/reference/problem-recovery-cookbook.md, packages/docs/src/content/docs/api/problems-core/src/classes/Problem.md, public-api-surface.snapshot.json
두 timeout Problem, 상수, source 타입의 공개 레지스트리·API 문서·복구 문서·README·API 스냅샷을 갱신합니다.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Client
  participant DiagnosticsCollector
  participant HealthCheckService
  participant Problem
  participant setTimeout
  Client->>DiagnosticsCollector: 기본 또는 provider timeout 설정
  DiagnosticsCollector->>Problem: 잘못된 값이면 InvalidDiagnosticsTimeoutProblem 생성
  Client->>HealthCheckService: 기본 또는 indicator timeout 설정
  HealthCheckService->>Problem: 잘못된 값이면 InvalidHealthCheckTimeoutProblem 생성
  DiagnosticsCollector->>setTimeout: 검증된 timeout 전달
  HealthCheckService->>setTimeout: 검증된 timeout 전달
Loading

Possibly related PRs

  • croco-dev/framework#1109: diagnostics-core의 Problem 정의와 레지스트리 메타데이터를 함께 수정합니다.
  • croco-dev/framework#1361: HealthCheckService와 관련 테스트를 수정하며, registerReadiness() 흐름과 연결됩니다.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 health 및 diagnostics의 안전하지 않은 timeout 거부라는 주요 변경을 정확하고 간결하게 설명합니다.
Linked Issues check ✅ Passed 두 패키지의 timeout 검증, 오류 Problem 공개, 경계값 테스트, 검증된 timeout 보존 요구를 충족하는 변경이 확인됩니다.
Out of Scope Changes check ✅ Passed 문서, 레지스트리, API 스냅샷, changeset 및 테스트 설정 변경은 timeout 계약 공개와 검증에 직접 관련됩니다.
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch fix/1686-validate-runtime-timeouts
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/1686-validate-runtime-timeouts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

📊 Benchmark Results

✅ All benchmarks passed

Benchmark p75 Threshold Baseline vs Baseline Status Notes
CrocoApp constructor 37.1μs 30.0ms 8.2μs +353.7% -
CrocoApp lambdaHandler (10 controllers) 2.2ms 50.0ms 258.4μs +765.8% -
Lambda cold-start simulation 1.9ms 80.0ms 418.1μs +344.8% -
Lambda cold-start with headers 1.5ms 80.0ms 369.7μs +299.2% -
Lambda cold-start with binary body 1.5ms 80.0ms 339.1μs +334.7% -
Lambda cold-start with query params 1.5ms 80.0ms 301.3μs +381.6% -
Lambda cold-start with authorizer context 1.4ms 80.0ms 299.8μs +379.7% -
Lambda cold-start realistic scenario 1.4ms 80.0ms 299.2μs +374.7% -
EventBusConfig.start (10 handlers) 2.0μs 10.0ms 1.4μs +36.3% -
EventPublisher.publishNow single event 2.1μs 2.0ms 1.7μs +26.1% -
DefaultHandlerResolver.resolve × 10 0.1μs 5.0ms 0.1μs +0.0% -
Container.get singleton (cold) 65.8μs 5.0ms 70.3μs -6.4% -
Container.register × 50 components 3.3ms 10.0ms 3.2ms +3.1% -
Container.validate (50 components) 3.8ms 20.0ms 3.4ms +11.0% -
Container.get singleton (warm) 1.7μs 500.0μs 1.6μs +2.4% -
TelemetryRuntime.init (lambda preset) 2.5μs 200.0ms 1.1ms -99.8% -
lambdaPreset config creation 1.4μs 2.0ms 1.4μs +1.4% -

Updated: 2026-08-05T04:12:38.914Z · Commit: 34b3365

@kang-heewon
kang-heewon force-pushed the fix/1686-validate-runtime-timeouts branch 2 times, most recently from e55c3be to 30443ec Compare August 4, 2026 10:08

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.changeset/safe-health-timeouts.md:
- Around line 2-3: Update the changeset entries for `@croco/diagnostics-core` and
`@croco/health-core` from patch to minor, preserving the existing package list and
changeset structure.

In `@packages/health-core/src/libs/HealthCheckService.ts`:
- Around line 18-22: Update the timeout documentation for
HealthCheckServiceOptions in packages/health-core/src/libs/HealthCheckService.ts
lines 18-22 and the corresponding public API documentation in
packages/health-core/src/index.ts line 48 to state that invalid values throw
InvalidHealthCheckTimeoutProblem during service setup or indicator registration.
Ensure the wording matches the behavior of register and registerReadiness.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 2ce16477-14f4-439a-a968-c19bffc01f32

📥 Commits

Reviewing files that changed from the base of the PR and between e3bb85e and 30443ec.

⛔ Files ignored due to path filters (2)
  • packages/problems-core/src/generated/problem-code-registry.ts is excluded by !**/generated/**
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (28)
  • .changeset/safe-health-timeouts.md
  • docs/problem-code-registry.json
  • packages/diagnostics-core/README.md
  • packages/diagnostics-core/src/index.ts
  • packages/diagnostics-core/src/libs/DiagnosticsCollector.ts
  • packages/diagnostics-core/src/libs/problems/DiagnosticsProblems.ts
  • packages/diagnostics-core/src/libs/types.ts
  • packages/diagnostics-core/src/tests/DiagnosticsIntegration.spec.ts
  • packages/docs/src/content/docs/api/diagnostics-core/src/classes/InvalidDiagnosticsTimeoutProblem.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/type-aliases/DiagnosticsCollectorOptions.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/type-aliases/DiagnosticsProviderOptions.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/type-aliases/DiagnosticsTimeoutSource.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/variables/MAX_DIAGNOSTICS_TIMEOUT_MS.md
  • packages/docs/src/content/docs/api/health-core/src/classes/InvalidHealthCheckTimeoutProblem.md
  • packages/docs/src/content/docs/api/health-core/src/type-aliases/HealthCheckServiceOptions.md
  • packages/docs/src/content/docs/api/health-core/src/type-aliases/HealthCheckTimeoutSource.md
  • packages/docs/src/content/docs/api/health-core/src/variables/MAX_HEALTH_CHECK_TIMEOUT_MS.md
  • packages/docs/src/content/docs/api/problems-core/src/classes/Problem.md
  • packages/docs/src/content/docs/api/problems-core/src/variables/CROCO_PROBLEM_CODE_REGISTRY.md
  • packages/docs/src/content/docs/en/reference/problem-recovery-cookbook.md
  • packages/health-core/README.md
  • packages/health-core/package.json
  • packages/health-core/src/index.ts
  • packages/health-core/src/libs/HealthCheckService.ts
  • packages/health-core/src/libs/problems/HealthProblems.ts
  • packages/health-core/src/tests/HealthCheckService.spec.ts
  • packages/health-core/vitest.config.ts
  • public-api-surface.snapshot.json

Comment thread .changeset/safe-health-timeouts.md Outdated
Comment thread packages/health-core/src/libs/HealthCheckService.ts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/health-core/src/index.ts (1)

82-82: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

HealthCheckTimeoutSource를 마지막 type export 블록으로 이동하세요.

현재 Line 82의 type export 뒤에 Line 175-182의 type export가 이어집니다. index.ts의 type export를 파일 마지막에 모아 barrel export 그룹을 일관되게 유지하세요.

As per coding guidelines, index.ts에서는 barrel export를 카테고리별로 그룹화하고 type export를 마지막에 배치해야 합니다.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/health-core/src/index.ts` at line 82, Move the
HealthCheckTimeoutSource type export from its current position near the top of
index.ts to the final type-export block around the existing exports near lines
175–182. Preserve the export itself and keep index.ts barrel exports grouped by
category with all type exports last.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@packages/health-core/src/index.ts`:
- Line 82: Move the HealthCheckTimeoutSource type export from its current
position near the top of index.ts to the final type-export block around the
existing exports near lines 175–182. Preserve the export itself and keep
index.ts barrel exports grouped by category with all type exports last.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 9edf7566-27ca-4bae-bd00-ed4ef21a5670

📥 Commits

Reviewing files that changed from the base of the PR and between 30443ec and 49eb232.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (5)
  • .changeset/safe-health-timeouts.md
  • packages/docs/src/content/docs/api/health-core/src/type-aliases/HealthCheckServiceOptions.md
  • packages/health-core/src/index.ts
  • packages/health-core/src/libs/HealthCheckService.ts
  • pnpm-workspace.yaml

@kang-heewon
kang-heewon force-pushed the fix/1686-validate-runtime-timeouts branch 5 times, most recently from 5f2ec06 to 46b22fc Compare August 4, 2026 15:30

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
public-api-surface.snapshot.json (1)

29091-29095: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

SagaOutboxStatus를 타입 전용 export로 이동하세요.

./libs/saga/types에서 SagaOutboxStatusexport type으로만 선언되어 런타임 named export가 아닙니다. 스냅샷의 exportKind: "named"는 실제 public API 선언과 불일치하므로 typeExports에서 관리해 주세요.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@public-api-surface.snapshot.json` around lines 29091 - 29095,
SagaOutboxStatus 항목을 런타임 named export 목록에서 제거하고 타입 전용 export를 나타내는 typeExports로
이동하세요. 이름과 source("./libs/saga/types")는 유지해 실제 public API 선언과 일치시키세요.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/diagnostics-core/src/index.ts`:
- Line 20: Move the DiagnosticsTimeoutSource type export in
packages/diagnostics-core/src/index.ts to the final type-export block, after all
other exports. Apply the same ordering change to HealthCheckTimeoutSource in
packages/health-core/src/index.ts at lines 78-82; both type exports must be last
in their respective barrel entrypoints.

---

Outside diff comments:
In `@public-api-surface.snapshot.json`:
- Around line 29091-29095: SagaOutboxStatus 항목을 런타임 named export 목록에서 제거하고 타입 전용
export를 나타내는 typeExports로 이동하세요. 이름과 source("./libs/saga/types")는 유지해 실제 public
API 선언과 일치시키세요.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: b23f3c79-9579-4cbc-a810-c3fead3295f9

📥 Commits

Reviewing files that changed from the base of the PR and between 49eb232 and 46b22fc.

⛔ Files ignored due to path filters (2)
  • packages/problems-core/src/generated/problem-code-registry.ts is excluded by !**/generated/**
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (28)
  • .changeset/safe-health-timeouts.md
  • docs/problem-code-registry.json
  • packages/diagnostics-core/README.md
  • packages/diagnostics-core/src/index.ts
  • packages/diagnostics-core/src/libs/DiagnosticsCollector.ts
  • packages/diagnostics-core/src/libs/problems/DiagnosticsProblems.ts
  • packages/diagnostics-core/src/libs/types.ts
  • packages/diagnostics-core/src/tests/DiagnosticsIntegration.spec.ts
  • packages/docs/src/content/docs/api/diagnostics-core/src/classes/InvalidDiagnosticsTimeoutProblem.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/type-aliases/DiagnosticsCollectorOptions.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/type-aliases/DiagnosticsProviderOptions.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/type-aliases/DiagnosticsTimeoutSource.md
  • packages/docs/src/content/docs/api/diagnostics-core/src/variables/MAX_DIAGNOSTICS_TIMEOUT_MS.md
  • packages/docs/src/content/docs/api/health-core/src/classes/InvalidHealthCheckTimeoutProblem.md
  • packages/docs/src/content/docs/api/health-core/src/type-aliases/HealthCheckServiceOptions.md
  • packages/docs/src/content/docs/api/health-core/src/type-aliases/HealthCheckTimeoutSource.md
  • packages/docs/src/content/docs/api/health-core/src/variables/MAX_HEALTH_CHECK_TIMEOUT_MS.md
  • packages/docs/src/content/docs/api/problems-core/src/classes/Problem.md
  • packages/docs/src/content/docs/api/problems-core/src/variables/CROCO_PROBLEM_CODE_REGISTRY.md
  • packages/docs/src/content/docs/en/reference/problem-recovery-cookbook.md
  • packages/health-core/README.md
  • packages/health-core/package.json
  • packages/health-core/src/index.ts
  • packages/health-core/src/libs/HealthCheckService.ts
  • packages/health-core/src/libs/problems/HealthProblems.ts
  • packages/health-core/src/tests/HealthCheckService.spec.ts
  • packages/health-core/vitest.config.ts
  • public-api-surface.snapshot.json

Comment thread packages/diagnostics-core/src/index.ts Outdated
@kang-heewon
kang-heewon force-pushed the fix/1686-validate-runtime-timeouts branch from 46b22fc to 11dfa90 Compare August 4, 2026 15:49
@kang-heewon

Copy link
Copy Markdown
Member Author

@coderabbitai resolve

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown
✅ Action performed

Comments resolved and changes approved.

@kang-heewon
kang-heewon force-pushed the fix/1686-validate-runtime-timeouts branch from 11dfa90 to ab64aa1 Compare August 4, 2026 16:03
@kang-heewon
kang-heewon force-pushed the fix/1686-validate-runtime-timeouts branch from ab64aa1 to 0475804 Compare August 5, 2026 04:07
@kang-heewon
kang-heewon merged commit c0c9679 into trunk Aug 5, 2026
19 of 20 checks passed
@kang-heewon
kang-heewon deleted the fix/1686-validate-runtime-timeouts branch August 5, 2026 05:10
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.

[health-core] Reject unsafe health and diagnostics timeout configuration

1 participant