Repository navigation
v0.4.0
Desk v0.4.0
Jobs can now identify calculated values, show how their inputs were bound, and explain why a calculator returned no value. The bundle advances Runner and its source worker to v0.3.0; Runtime remains v0.24.0 and Gateway remains v0.8.0.
Calculated job inputs
- The integration picker identifies a calculator by its name and pinned version. The mapping review shows its input-to-parameter bindings and each reference table's maximum age in localized words.
- Run input lineage shows whether a value was calculated, an input was missing, or the calculator could not compute it. Each reported input names its parameter, its case or earlier-source origin, and the corresponding pointer. Reference tables show localized as-of dates and times.
- A calculated source skipped because a dependency was unavailable has no invented calculation details. Ordinary source and lineage displays retain their existing behavior.
- Choosing a calculator profile adds the required empty calculation binding. Replacing it with an ordinary source removes that binding; switching calculators resets it. Source details explain how to fill it in using Advanced mapping → Edit mapping.
What an owner must configure
A calculator must already be declared in an installation's trusted input profile. Desk does not install one or infer its input bindings. Bind each reported input to a source parameter and give each table a maximum age in the mapping JSON. Empty bindings reject answers that report inputs or tables.
Runner checks the signed answer against the pinned calculator, the supplied case parameters, and the mapping's limits. It does not establish that the calculator is deterministic, that its arithmetic is correct, or that its reported as-of times are true. No new binding editor is included.
Existing job releases retain their frozen mappings and Runtime. To use a new calculator mapping, preview it and create a new job release. State epoch remains 1; updating the executable bundle does not migrate stored data.
Other changes since v0.3.0
- Component versions in Updates compares the running companions with the commits this Desk pins. Missing metadata remains Unknown; a different or modified build is not reported as a match.
- Component release freshness reports newer unadopted releases without modifying the lock. The development launcher starts Desk with its locked companions.
- Test case table wrapping and review dialog spacing are improved. The Triggers screen describes reading an occurrence's result.
Verification
Frontend behavior, all twelve locale catalogues, component integration, and native archive checks pass in CI. Twenty-four deliberate frontend mutations were caught by the new tests. A separate check used the real Runner v0.3.0 HTTP planner and preparation endpoints with Desk-generated mappings and signed synthetic responses, covering all calculation statuses, unbound inputs/tables, and case and earlier-source lineage.
The calculator check did not exercise a live Gateway acquisition, external calculator, or scheduled job evaluation. It makes no claim about an external calculator's correctness.
| Component | Pin |
|---|---|
| Runtime | v0.24.0 |
| Runner and source worker | v0.3.0 |
| Gateway and required Desk adapters | v0.8.0 |
Platforms
This release contains complete Linux/amd64, macOS Apple Silicon (arm64), and
macOS Intel (amd64) archives. All three archives were built and smoke-tested on
native GitHub-hosted runners before publication; neither macOS archive is merely
cross-compiled. Component versions come from the same release lock.
macOS executables are not Developer ID signed or notarized. Gatekeeper may block
downloaded executables; verify the release and checksums, then use Apple's
Privacy & Security → Open Anyway procedure
for the blocked executable. Native CI does not exercise these dialogs. The Codex
subscription subprocess bridge remains Linux-only.
No Windows archive is published. Windows execution is untested, and the managed
installer supports only Linux and macOS.