Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
0d59a96
feat(model): install pinned ARM64 llama engine through Runtime
andersalm Sep 29, 2026
4c41f6e
ci: stage pinned ARM64 engine for Carrier smoke
andersalm Sep 29, 2026
ef1495c
feat(model): bound local queue and release idle engines
andersalm Sep 30, 2026
14db28e
ci: build ARM64 Runtime for Jetson libc baseline
andersalm Sep 30, 2026
6da5d73
feat(model): admit host resources under shared engine lease
andersalm Sep 30, 2026
ef6b495
ci: harden package gate and keep check names stable
andersalm Sep 30, 2026
2cebb64
fix(model): bound compute admission and require cgroup evidence
andersalm Sep 30, 2026
0f8fe26
fix(model): retain uncertainty when engine cleanup fails
andersalm Sep 30, 2026
729e2c7
test(model): prove installed engine resource lifecycle
andersalm Sep 30, 2026
24f304f
fix(model): refuse hidden memory limits and retain idle retry
andersalm Sep 30, 2026
368f55c
fix(model): disable unbudgeted engine snapshot caches
andersalm Sep 30, 2026
fd90733
Merge remote-tracking branch 'origin/feat/0.7.1-models' into feat/0.7…
andersalm Sep 30, 2026
1ab6ead
test(model): keep queue fixture compatible with context requests
andersalm Sep 30, 2026
f145276
merge: include reviewed models base in Jetson runtime task
andersalm Sep 30, 2026
61d96dd
fix(carrier): keep configured loopback endpoints on loopback
andersalm Sep 30, 2026
f481255
fix(carrier): disable router mapping for loopback binds
andersalm Sep 30, 2026
9916583
Merge current models base into Jetson Runtime task
andersalm Sep 30, 2026
26de9c5
fix(setup): honor configured Carrier port during component fetch
andersalm Sep 30, 2026
4d401c3
Merge commit '26de9c5245ba20c7a872b4e68355f8fc26cab5ec' into feat/0.7…
andersalm Sep 30, 2026
00aacac
ci: prove pinned installed Home and model journeys
andersalm Sep 30, 2026
0954cf4
ci: bind journey fixtures to installed artifact schemas
andersalm Sep 30, 2026
46790c4
ci: bind installed gateway with a numeric loopback address
andersalm Sep 30, 2026
36d8edb
ci: keep installed journey scope separate from deferred resource life…
andersalm Sep 30, 2026
7720781
ci: support installed journey hashing on Python 3.9 and 3.10
andersalm Sep 30, 2026
72f6f96
ci: stage declared Kubo and keep failed journey receipts
andersalm Oct 1, 2026
53f1bd2
Merge commit '409dc1d6d07667b46ec4c89b391d498e95f8de3c' into feat/0.7…
andersalm Oct 1, 2026
e70faac
Merge final admitted context fixtures into installed core CI
andersalm Oct 1, 2026
2ac3a70
ci: use current Home setup and app controls
andersalm Oct 1, 2026
e7d7add
ci: use the seeded Kubo executable for model packages
andersalm Oct 1, 2026
8837e66
ci: bound pinned browser preparation on compatible installer Node
andersalm Oct 1, 2026
e3eb044
Merge remote-tracking branch 'origin/develop' into feat/0.7.2-ci-core…
andersalm Oct 1, 2026
0738258
ci: launch the Home gateway for installed journeys
andersalm Oct 1, 2026
7429962
test(ci): bind ARM runner policy to its preserved check name
andersalm Oct 1, 2026
8fb5fe1
test(browser): force private request pipe write failure
andersalm Oct 1, 2026
7022fe9
fix(ci): check installed Home gateway health route
andersalm Oct 1, 2026
84c59b8
ci: use Node 24 for installed journey preparation
andersalm Oct 1, 2026
6a29d17
Merge remote-tracking branch 'origin/develop' into feat/0.7.2-ci-core…
andersalm Oct 1, 2026
fc5cdd9
ci: reserve Mac runner space for installed journeys
andersalm Oct 1, 2026
cd00623
fix(ci): align installed journey data roots on macOS
andersalm Oct 1, 2026
0f2211d
ci: record bounded local model startup stages
andersalm Oct 1, 2026
e3db43f
merge: integrate develop CI cache and step limits
andersalm Oct 2, 2026
f6c66c5
ci: bound the installed greeting reply
andersalm Oct 2, 2026
f0444eb
merge: integrate verified installed CI into model resources
andersalm Oct 2, 2026
9775d3d
merge: integrate current develop cache bounds
andersalm Oct 2, 2026
07c6f4f
ci: prove installed CPU resource lifecycle
andersalm Oct 2, 2026
442b669
ci: build the pinned ARM engine as a normal input
andersalm Oct 2, 2026
ba1f9f2
ci: bind engine build receipt to checkout
andersalm Oct 2, 2026
4fe6085
ci: pin the verified canonical ARM engine archive
andersalm Oct 2, 2026
70c0f3e
merge: integrate reviewed model fixes into ARM CI input
andersalm Oct 2, 2026
98409be
merge: use the pinned ARM CI input for resource lifecycle proof
andersalm Oct 2, 2026
430e364
merge: integrate reviewed front door into ARM CI input
andersalm Oct 2, 2026
77dd1c9
merge: inherit the reviewed current front door baseline
andersalm Oct 2, 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
261 changes: 247 additions & 14 deletions .github/workflows/ci.yml

Large diffs are not rendered by default.

306 changes: 282 additions & 24 deletions capsules/model-provider/src/adapters.rs

Large diffs are not rendered by default.

45 changes: 34 additions & 11 deletions capsules/model-provider/src/execution.rs
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,12 @@ impl ProviderCoordinator {
self.update_tx.clone(),
runtime_sockets.runtime_local_sockets,
runtime_sockets.runtime_hosted_socket,
Some(std::path::PathBuf::from(
runtime_sockets
.journal_dir
.as_deref()
.unwrap_or(&init.config.base_path),
)),
);
let mut provider = ModelProviderState::from_init(init.config, adapter)?;
provider.settle_active_local_text_runs_unknown()?;
Expand Down Expand Up @@ -3522,8 +3528,6 @@ mod tests {
fn local_llama_cancel_with_active_backend_settles_unknown_without_redispatch() {
let root = temp_root("local-llama-cancel");
let (offer, events, root) = local_llama_offer(&root, "active_after_disconnect");
let active = events.with_extension("active");
let release = events.with_extension("release");
let mut provider = ProviderCoordinatorHandle::start();
init_provider(&provider, &root, vec![offer.clone()]);

Expand All @@ -3535,9 +3539,18 @@ mod tests {
let cancelled = cancel_run(&provider, run_id, &access_binding(&binding));
assert_eq!(cancelled["data"]["status"], "reconciling");
let terminal = wait_for_terminal(&provider, run_id, &access_binding(&binding));
wait_for_fake_llama_event(&events, "disconnected:stall");
assert!(active.exists(), "backend work outlives the HTTP consumer");
assert!(!release.exists());
wait_for_fake_llama_event(&events, "term");
let pid: i32 = fake_llama_events(&events)
.iter()
.find_map(|event| event.strip_prefix("start:"))
.unwrap()
.parse()
.unwrap();
assert_eq!(
unsafe { libc::kill(pid, 0) },
-1,
"cancelled engine was retained"
);
assert_eq!(terminal["data"]["status"], "settlement_unknown");
let run = load_run(&root, run_id);
assert_eq!(run.status, crate::contract::RunStatus::SettlementUnknown);
Expand Down Expand Up @@ -3571,17 +3584,13 @@ mod tests {
page["data"]["events"]
);
}
assert!(active.exists());
assert_eq!(
fake_llama_events(&events)
.iter()
.filter(|line| *line == "request:stall")
.count(),
1
);
std::fs::write(&release, b"release").unwrap();
wait_for_fake_llama_event(&events, "work_stopped:stall");
assert!(!active.exists());

let later_input = text_input("later");
let later_binding = create_binding("request:local-later", &offer, &later_input);
Expand All @@ -3603,7 +3612,7 @@ mod tests {
.iter()
.filter(|line| line.starts_with("start:"))
.count(),
1
2
);
provider.shutdown_on_eof();
let settled_events = fake_llama_events(&events);
Expand Down Expand Up @@ -3689,7 +3698,21 @@ mod tests {
let blocked_binding =
create_binding("request:local-timeout-blocked", &offer, &blocked_input);
let blocked = create_run(&provider, &offer, &blocked_binding, &blocked_input);
assert_eq!(blocked["data"]["terminal"]["error"]["code"], "model_busy");
assert_eq!(blocked["data"]["status"], "running");
let queued_id = blocked["data"]["run_id"].as_str().unwrap();
cancel_run(&provider, queued_id, &access_binding(&blocked_binding));
assert_eq!(
wait_for_terminal(&provider, queued_id, &access_binding(&blocked_binding))["data"]
["status"],
"cancelled"
);
assert_eq!(
fake_llama_events(&events)
.iter()
.filter(|line| line.starts_with("start:"))
.count(),
1
);

assert_eq!(
wait_for_terminal(&provider, first_run_id, &access_binding(&first_binding))["data"]
Expand Down
2 changes: 2 additions & 0 deletions capsules/model-provider/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ mod contract;
mod execution;
mod journal;
mod local_llama;
mod local_memory;
mod local_resources;
mod process;
mod state;
#[cfg(test)]
Expand Down
Loading
Loading