Skip to content
This repository was archived by the owner on Nov 8, 2026. It is now read-only.

Add SDK app generation, runtime contracts and native validation - #609

Merged
techmore merged 80 commits into
devfrom
codex/sdk-starter-literal-names
Oct 27, 2026
Merged

techmore merged 80 commits into
devfrom
codex/sdk-starter-literal-names

Conversation

@techmore

@techmore techmore commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

Scope clarification from the owner: apps do not all need a native experience. Qualify reusable SDK capabilities and representative flows; existing web UIs, wrappers or hybrid frontends can remain. Full native ports/product parity across all consumers are separate work, not SDK release gates. Generic WebView hosting is not currently shipped.

The SDK now generates a standalone typed Cargo/GTK app and packages an explicit native ELF with validated desktop/AppStream/icon/license assets and resolved native dependencies. Starter strings remain literal, checker/schema agree on rules and metadata, and runtime ownership prevents accepted-close leaks and late Host mutation.

Add candidate typed asynchronous service replies, payload validation, explicit extension/version failures, private-safe diagnostics, atomic versioned service manifests and failing CLI/preview exit codes. Owned process groups bound time/output, stream raw bytes through a bounded queue, cancel/reap on owner disposal, and support explicit request generations that discard obsolete queued results. Legacy adapters remain compatible. Explicit typed GTK reply context binding now rejects obsolete queued success/errors, preserves the token across the additional error callback queue, protects synchronous invoke errors and refuses real unscoped fallback after a provider binds then declines. Native cases also check visible GTK labels and Host release. App-specific legacy/feed/built-in/streaming/T3 adapters and real backend protocol negotiation remain open.

A generated read-only Home Storage reference app exercises an actual command error and same-process keyboard retry. Visual review rejected its wrapped raw table; labeled validated values now remain readable at larger text. Unsupported report shapes fail explicitly.

Validation: exact 80-file SDK/fixture fingerprints match qualified code cb77b66. In isolated Ubuntu 26.04 x86_64 / Rust 1.93.1 / GTK 4.22.4, 100 core tests and native CLI/lifecycle/runtime suites pass, as do SDK/generated-app strict lint, generated-model tests, actual keyboard/AT-SPI failure/retry, eight reviewed light/dark 480/900-width 10/15-point captures, package install/reinstall/installed launch/binary equality/removal. Receipts, generated sources, locks, binary/package hashes and rejected-layout evidence are retained under mseries/sdk-tests/receipts/2026-10-26-native-runtime-reference. Mac core validation also passes. ARM developer-path run 40375089386 and SDK/System Monitor run 40375089841 passed on 7a5f4d2, including package/keyboard/render/native checks. Newer GTK context binding is source-matched to 6b7c505, with 100 core tests on Linux/macOS, three native suites and strict lint passing; receipts are under mseries/sdk-tests/receipts/2026-10-26-gtk-context. That new source still needs current ARM CI.

This is not whole-SDK completion. SDK-COMPLETION.md tracks real backend adapters, GTK context/streaming, reusable status module and Windows/elementary hosts, controlled novice/model trials, performance and physical Pantheon/M-series/scale/owner acceptance. No owner desktop, accounts, services, panel or kernel was changed. Signal/Messages remain deferred. Refs techmore/mseries-sdk-apps#3 and proposed Dock contract #605.

Model usability preparation: the pinned qwen3.5:4b JSON-action discovery controller and fixed tool bridge have four passing boundary tests plus an offline uid2000 native/tool preflight. The generated settings smoke actually builds, captures a real window and quits cleanly. Source/seed locks, configured isolation and raw preflight receipts are under mseries/sdk-bench/receipts/2026-10-26-preflight. The unchanged s01 trial was deferred BEFORE inference by admission because another model was resident; no owner worker was evicted or switched and no model-quality result is claimed. Baseline/repeated cohorts and independent full-spec scoring remain open. SDK CI now runs only the helper boundary tests, never model inference.

@techmore techmore changed the title Fix SDK starter generation for literal app names Add standalone SDK app generation and native qualification Oct 26, 2026
@techmore techmore changed the title Add standalone SDK app generation and native qualification Implement SDK app generation, packaging and native validation Oct 26, 2026
@techmore techmore changed the title Implement SDK app generation, packaging and native validation Add SDK app generation, runtime contracts and native validation Oct 26, 2026
Sean Dolbec added 28 commits October 26, 2026 16:51
@techmore
techmore merged commit 2a9123e into dev Oct 27, 2026
29 checks passed
@techmore
techmore deleted the codex/sdk-starter-literal-names branch October 28, 2026 16:44
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant