Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
28c4514
feat(ci): add onboard performance budget signal
amata-human Jun 23, 2026
2eab34e
fix(ci): surface budget diagnostics in scorecard
amata-human Jun 23, 2026
9a634d7
test(ci): keep scorecard tests linear
amata-human Jun 23, 2026
6530f63
fix(ci): clarify onboard budget warnings
amata-human Jun 23, 2026
02983ad
Merge branch 'main' into 3776-define-onboard-performance-budget-and-c…
amata-human Jun 23, 2026
9390fbf
fix(ci): show phases for all budget warnings
amata-human Jun 23, 2026
da1982c
Merge branch 'main' into 3776-define-onboard-performance-budget-and-c…
amata-human Jun 23, 2026
f9ea758
Merge branch 'main' into 3776-define-onboard-performance-budget-and-c…
amata-human Jun 23, 2026
6b290ec
Merge branch 'main' into 3776-define-onboard-performance-budget-and-c…
amata-human Jun 24, 2026
1042e38
Merge branch 'main' into 3776-define-onboard-performance-budget-and-c…
amata-human Jun 24, 2026
e3a67d5
Merge branch 'main' into 3776-define-onboard-performance-budget-and-c…
amata-human Jun 24, 2026
5fdf8ad
Merge branch 'main' into 3776-define-onboard-performance-budget-and-c…
amata-human Jun 24, 2026
65eac0d
Merge branch 'main' into 3776-define-onboard-performance-budget-and-c…
amata-human Jun 24, 2026
d315986
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 26, 2026
c5cd828
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 26, 2026
232eed8
test(ci): keep e2e workflow test under budget
jyaunches Jun 26, 2026
f2786aa
test(ci): format e2e workflow test helper
jyaunches Jun 26, 2026
6bca4de
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 26, 2026
9b1bce5
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 26, 2026
4a96087
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 26, 2026
ac2624a
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 26, 2026
8537768
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 26, 2026
14e1523
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 28, 2026
06ced13
test(ci): split scorecard trace timing tests
jyaunches Jun 28, 2026
702c276
test(ci): avoid conditionals in trace timing tests
jyaunches Jun 28, 2026
a1bedd6
test(ci): format trace timing helper
jyaunches Jun 28, 2026
4cc2c00
test(ci): format workflow imports
jyaunches Jun 28, 2026
d7438fd
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 28, 2026
7596979
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 28, 2026
5d60695
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 29, 2026
5bff8ee
Merge remote-tracking branch 'origin/main' into 3776-define-onboard-p…
jyaunches Jun 29, 2026
00c6fbc
fix(ci): harden onboard budget scorecard
jyaunches Jun 29, 2026
855531e
fix(ci): type scorecard analyzer
jyaunches Jun 29, 2026
10d6bec
fix(ci): close scorecard advisor gaps
jyaunches Jun 29, 2026
1fe6ce5
Merge main into PR 5686 and resolve conflicts
amata-human Jul 2, 2026
160ec67
fix(ci): address scorecard review findings
amata-human Jul 2, 2026
1a15693
test(ci): keep scorecard runtime test linear
amata-human Jul 2, 2026
5267d4f
Merge branch 'main' into 3776-define-onboard-performance-budget-and-c…
amata-human Jul 2, 2026
49452ee
Merge branch 'main' into 3776-define-onboard-performance-budget-and-c…
amata-human Jul 2, 2026
f89b24c
Merge branch 'main' into 3776-define-onboard-performance-budget-and-c…
cv Jul 3, 2026
e09e884
chore(ci): merge current main into #5686
ericksoa Jul 4, 2026
38ea887
fix(ci): make onboard budget signal actionable (#3776)
ericksoa Jul 4, 2026
ed6eb53
chore(ci): merge current main into #5686
ericksoa Jul 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .github/actions/ci-static-checks/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@ runs:
shell: bash
run: npm run validate:configs

# TypeScript checks and version sync run in the build-typecheck job.
- name: Typecheck scorecard analyzer
shell: bash
run: npm run typecheck:scorecard

# General TypeScript checks and version sync run in the build-typecheck job.
- name: Run static hook checks
shell: bash
run: |
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4861,7 +4861,9 @@ jobs:
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
sparse-checkout: scripts/scorecard
sparse-checkout: |
ci/onboard-performance-budget.json
scripts/scorecard
sparse-checkout-cone-mode: false

- name: Generate E2E scorecard
Expand Down Expand Up @@ -4929,8 +4931,9 @@ jobs:
month: 'short',
day: 'numeric',
});
const { traceTimingLine, traceSummaryLines } =
await traceTiming.buildTraceTimingResult({ github, context });
const { budgetWarningMessage, traceTimingLine, traceSummaryLines } =
await traceTiming.buildTraceTimingResult({ github, context, core });
if (budgetWarningMessage) core.warning(budgetWarningMessage);
const lines = [
`## 🌅 NemoClaw E2E Scorecard — ${today}`,
'',
Expand Down
15 changes: 15 additions & 0 deletions ci/onboard-performance-budget.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"$comment": "SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\nSPDX-License-Identifier: Apache-2.0\n\nInitial advisory budget for the cloud-onboard-e2e warm-system trace signal. Profiling traces from #3769 were not available in durable CI artifacts when #3776 was implemented. The latest three release tags only exposed one tag-matching trace artifact, from a failed v0.0.66 nightly run, so this cap is calibrated from the latest ten distinct successful main full-trace samples available on 2026-06-23. Those samples had total durations of 298250 ms, 296926 ms, 304190 ms, 294859 ms, 305013 ms, 316147 ms, 300843 ms, 292702 ms, 201332 ms, and 206250 ms; the cap uses p95 via linear interpolation (index 8.55 between samples 8 and 9) plus 25 percent, rounded up to the nearest 30 seconds.",
"schemaVersion": 1,
"mode": "advisory",
"scope": "cloud-onboard-e2e warm-system",
"totalBudgetMs": 390000,
"regressionWarning": {
"minDeltaMs": 60000,
"minPercent": 20
},
"phaseRegressionWarning": {
"minDeltaMs": 30000,
"minPercent": 30
}
}
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@
"docs:preview:watch": "tsx scripts/watch-fern-preview.ts",
"docs:clean": "rm -rf .fern-cache fern/.fern-cache docs/_build",
"prepare": "if command -v tsc >/dev/null 2>&1 || [ -x node_modules/.bin/tsc ]; then npm run build:cli; fi && (node -e \"require.resolve('p-retry')\" >/dev/null 2>&1 || npm install --omit=dev --ignore-scripts) && if [ -d .git ]; then bash scripts/npm-link-or-shim.sh; if command -v prek >/dev/null 2>&1; then prek install; else echo \"Skipping git hook setup (prek not installed)\"; fi; fi",
"prepublishOnly": "git describe --tags --match 'v*' | sed 's/^v//' > .version && test -s .version && cd nemoclaw && env -u npm_config_global -u npm_config_prefix -u npm_config_omit npm install --ignore-scripts && ./node_modules/.bin/tsc"
"prepublishOnly": "git describe --tags --match 'v*' | sed 's/^v//' > .version && test -s .version && cd nemoclaw && env -u npm_config_global -u npm_config_prefix -u npm_config_omit npm install --ignore-scripts && ./node_modules/.bin/tsc",
"typecheck:scorecard": "tsc --noEmit --types node --strict scripts/scorecard/analyze-trace-timing.ts"
},
"dependencies": {
"@aws-sdk/client-bedrock-runtime": "3.1046.0",
Expand Down
59 changes: 59 additions & 0 deletions schemas/onboard-config.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/NVIDIA/NemoClaw/schemas/onboard-config.schema.json",
"title": "NemoClaw onboard performance budget config",
"description": "Advisory warm-system cloud onboard timing budget consumed by the nightly scorecard.",
"type": "object",
"additionalProperties": false,
"required": [
"$comment",
"schemaVersion",
"mode",
"scope",
"totalBudgetMs",
"regressionWarning",
"phaseRegressionWarning"
],
"properties": {
"$comment": {
"type": "string"
},
"schemaVersion": {
"const": 1
},
"mode": {
"const": "advisory"
},
"scope": {
"type": "string",
"minLength": 1
},
"totalBudgetMs": {
"type": "number",
"minimum": 0
},
"regressionWarning": {
"$ref": "#/$defs/threshold"
},
"phaseRegressionWarning": {
"$ref": "#/$defs/threshold"
}
},
"$defs": {
"threshold": {
"type": "object",
"additionalProperties": false,
"required": ["minDeltaMs", "minPercent"],
"properties": {
"minDeltaMs": {
"type": "number",
"minimum": 0
},
"minPercent": {
"type": "number",
"minimum": 0
}
}
}
}
}
Loading
Loading