Ship v0.1.1–v0.1.5: first-live-run fixes and dashboard viewer
- v0.1.1: config persistence — FileHelper paths made absolute (/media/startos/volumes/main/...); relative paths resolved into the JS runtime's ephemeral cwd so action saves never reached /data - v0.1.2: preJobStopContainers (Configure Grading) — docker-stop resident vLLM containers on the head Spark at job start, no auto-restart - v0.1.3: preflight auth (LiteLLM master_key gates /models), poll-until-loaded, crash fast-fail (restarting counts as dead) - v0.1.4: HF_HUB_OFFLINE/TRANSFORMERS_OFFLINE in airgapped serving (--internal network has no DNS); grader _post timeout 600→1800s for ~3.6 tok/s GB10 generation - v0.1.5: dashboard viewer survives the periodic background refresh; download buttons for deck reports, deck JSON, and SCORECARD.md - .gitignore: .startos/ build workspace, start-technologies/ Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
1d1074b625
commit
91212322c1
@@ -1,8 +1,13 @@
|
||||
import { VersionGraph } from '@start9labs/start-sdk'
|
||||
import { v_0_1_0 } from './v_0_1_0'
|
||||
import { v_0_1_1 } from './v_0_1_1'
|
||||
import { v_0_1_2 } from './v_0_1_2'
|
||||
import { v_0_1_3 } from './v_0_1_3'
|
||||
import { v_0_1_4 } from './v_0_1_4'
|
||||
import { v_0_1_5 } from './v_0_1_5'
|
||||
|
||||
/** The current version MUST be the first argument (`current`). */
|
||||
export const versions = VersionGraph.of({
|
||||
current: v_0_1_0,
|
||||
other: [],
|
||||
current: v_0_1_5,
|
||||
other: [v_0_1_4, v_0_1_3, v_0_1_2, v_0_1_1, v_0_1_0],
|
||||
})
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
import { VersionInfo } from '@start9labs/start-sdk'
|
||||
|
||||
/**
|
||||
* Packaging fix. ExVer form `<upstream>:<downstream>` — we track our own
|
||||
* packaging revision since Boardroom Map has no separate upstream semver.
|
||||
*/
|
||||
export const v_0_1_1 = VersionInfo.of({
|
||||
version: '0.1.1:0',
|
||||
releaseNotes:
|
||||
'Fix: persist config.json, the Spark SSH key, and the optional HF token ' +
|
||||
'to the main volume (absolute volume paths in the file models). ' +
|
||||
'Previously the Configure actions wrote to an ephemeral runtime directory, ' +
|
||||
'so the orchestrator never saw /data/config.json and configuration was ' +
|
||||
'lost on restart. Re-run the Configure actions after updating.',
|
||||
migrations: {},
|
||||
})
|
||||
@@ -0,0 +1,15 @@
|
||||
import { VersionInfo } from '@start9labs/start-sdk'
|
||||
|
||||
/**
|
||||
* GPU co-residency support. ExVer form `<upstream>:<downstream>`.
|
||||
*/
|
||||
export const v_0_1_2 = VersionInfo.of({
|
||||
version: '0.1.2:0',
|
||||
releaseNotes:
|
||||
'New "Stop These Containers Before Grading" setting (Configure Grading): ' +
|
||||
'container names listed there are docker-stopped on the head Spark at the ' +
|
||||
'start of every grading job, so the job gets the GPU to itself when ' +
|
||||
'another service keeps an always-on vLLM resident. They are deliberately ' +
|
||||
'not restarted afterwards — the owning service reloads its own models.',
|
||||
migrations: {},
|
||||
})
|
||||
@@ -0,0 +1,13 @@
|
||||
import { VersionInfo } from '@start9labs/start-sdk'
|
||||
|
||||
/** Serving-readiness fix. ExVer form `<upstream>:<downstream>`. */
|
||||
export const v_0_1_3 = VersionInfo.of({
|
||||
version: '0.1.3:0',
|
||||
releaseNotes:
|
||||
'Fix wave preflight: the model-proxy probe now authenticates (the router ' +
|
||||
'requires its master key even on /models) and both the proxy check and the ' +
|
||||
'per-model completion check poll until ready instead of failing on a ' +
|
||||
'single early attempt — a 31B model takes minutes to load into GPU ' +
|
||||
'memory. Crashed containers fail fast with their log tail.',
|
||||
migrations: {},
|
||||
})
|
||||
@@ -0,0 +1,13 @@
|
||||
import { VersionInfo } from '@start9labs/start-sdk'
|
||||
|
||||
/** Air-gapped serving fix. ExVer form `<upstream>:<downstream>`. */
|
||||
export const v_0_1_4 = VersionInfo.of({
|
||||
version: '0.1.4:0',
|
||||
releaseNotes:
|
||||
'Air-gapped mode now serves models with HF_HUB_OFFLINE/TRANSFORMERS_OFFLINE ' +
|
||||
'set: the per-job --internal network has no DNS, so without offline mode ' +
|
||||
'the HF hub client crashed on name resolution even with the model fully ' +
|
||||
'cached. Preflight also treats a crash-looping (restarting) vLLM container ' +
|
||||
'as dead and fails fast with its logs instead of waiting out the timeout.',
|
||||
migrations: {},
|
||||
})
|
||||
@@ -0,0 +1,14 @@
|
||||
import { VersionInfo } from '@start9labs/start-sdk'
|
||||
|
||||
/** Dashboard viewer fixes. ExVer form `<upstream>:<downstream>`. */
|
||||
export const v_0_1_5 = VersionInfo.of({
|
||||
version: '0.1.5:0',
|
||||
releaseNotes:
|
||||
'Dashboard: an open deck report / JSON / scorecard viewer now stays open ' +
|
||||
'across the periodic background refresh (previously it silently closed ' +
|
||||
'within ~20s) — it closes only via its close button or when switching ' +
|
||||
'companies. Added ⬇ download buttons: per-deck report downloads in the ' +
|
||||
'deck-history table, plus a download link in the viewer header for ' +
|
||||
'reports, deck JSON records, and SCORECARD.md.',
|
||||
migrations: {},
|
||||
})
|
||||
Reference in New Issue
Block a user