openmerit 0.1.7-preview.2 → 0.1.7-preview.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/README.md +1 -1
- package/docs/agent-evaluations.md +1 -1
- package/docs/commands.md +1 -1
- package/docs/scout.md +142 -30
- package/docs/security.md +11 -0
- package/docs/testing.md +8 -0
- package/package.json +1 -1
- package/docs/site-artwork-linocut.md +0 -23
- package/docs/site-artwork-miniature-diverse.md +0 -28
- package/docs/site-artwork-miniature.md +0 -26
- package/docs/site-demo.md +0 -181
- package/docs/site-design.md +0 -100
- package/docs/site-documentation.md +0 -89
- package/docs/site-domain-migration.md +0 -57
- package/docs/site-dynamic-og.md +0 -35
- package/docs/site-faq-maintenance.md +0 -317
- package/docs/site-hero-resolution.md +0 -62
- package/docs/site-illustration-sequences.md +0 -229
- package/docs/site-illustration-transparency.md +0 -80
- package/docs/site-inference-terminal.md +0 -203
- package/docs/site-memo.md +0 -45
- package/docs/site-og-image.md +0 -38
- package/docs/site-og-workshop.md +0 -21
- package/docs/site-publication-2026-10-14.md +0 -29
- package/docs/site-scout-decisions-experiment.md +0 -87
- package/docs/site-scout.md +0 -254
- package/docs/site-section-artwork.md +0 -56
- package/docs/site-skill-review.md +0 -57
- package/docs/site-terminal-preview.md +0 -242
- package/docs/site-themes.md +0 -30
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# Focused design and motion review
|
|
2
|
-
|
|
3
|
-
## Current illustration implementation
|
|
4
|
-
|
|
5
|
-
On 2026-09-23 the user rejected the displacement effect because it visibly stretched a single illustration. It has been removed and replaced with [separately generated pose sequences](site-illustration-sequences.md). The earlier filter reviews below are historical and do not describe the current player.
|
|
6
|
-
|
|
7
|
-
| Before | After | Why |
|
|
8
|
-
| --- | --- | --- |
|
|
9
|
-
| SVG displacement stretched the same pixels to simulate gestures. | Canvas playback selects complete, separately illustrated poses from a sprite atlas. | Hands, tools, and bodies change their actual pose and silhouette. |
|
|
10
|
-
| A rendering loop ran at approximately 30Hz. | Timers wake only at illustrated frame boundaries, with holds at each end. | Deliberate stop-motion pacing with fewer redraws. |
|
|
11
|
-
| Pausing reset the illustration to the source image. | Pausing freezes the current pose; reduced motion uses a matching static poster. | Pause behaves as expected while preserving the static accessibility fallback. |
|
|
12
|
-
|
|
13
|
-
## Earlier implementation
|
|
14
|
-
|
|
15
|
-
Reviewed 2026-09-22 using three selected skills from [emilkowalski/skills](https://github.com/emilkowalski/skills), installed with Codex's skill-installer:
|
|
16
|
-
|
|
17
|
-
- [emil-design-eng](https://github.com/emilkowalski/skills/blob/main/skills/emil-design-eng/SKILL.md): interaction decisions, restraint, and press feedback.
|
|
18
|
-
- [review-animations](https://github.com/emilkowalski/skills/blob/main/skills/review-animations/SKILL.md): review of existing motion, including frequency, easing, and rendering cost.
|
|
19
|
-
- [mobile-native](https://github.com/emilkowalski/skills/blob/main/skills/mobile-native/SKILL.md): capability-based hover styles and touch feedback.
|
|
20
|
-
|
|
21
|
-
Installed under `/Users/lazim/.codex/skills/`. The rest of the collection was not needed for this static marketing page. No UI or animation library was added.
|
|
22
|
-
|
|
23
|
-
## Findings and applied changes
|
|
24
|
-
|
|
25
|
-
| Before | After | Why |
|
|
26
|
-
| --- | --- | --- |
|
|
27
|
-
| Link and button hover effects applied on every input type. | All hover effects use `(hover: hover) and (pointer: fine)` in [styles.css](/Users/lazim/Documents/GitHub/openmerit/site/styles.css:97). | Touch should not inherit a persistent hover treatment. |
|
|
28
|
-
| No custom press feedback after browser tap highlighting was suppressed. | The primary CTA scales to 0.97 over 160ms and returns over 100ms; other controls use immediate color/opacity feedback. See [styles.css](/Users/lazim/Documents/GitHub/openmerit/site/styles.css:24). | Make pointer-down visible while keeping the page quiet. The curve comes directly from the skill's standards. |
|
|
29
|
-
| Opening an FAQ replayed a decorative scene, including when using the keyboard. | FAQ activation only reveals the answer; keyboard activation changes the indicator instantly. Illustration playback is independent of FAQ interaction. See [illustrations.js](/Users/lazim/Documents/GitHub/openmerit/site/illustrations.js) and [styles.css](/Users/lazim/Documents/GitHub/openmerit/site/styles.css:84). | Repeated reading actions do not need a fresh decorative performance. |
|
|
30
|
-
| Hover/indicator movement used the generic `ease` curve. | Short 160ms transitions use `cubic-bezier(.23, 1, .32, 1)`. | Responsive, explicit timing for small UI changes. |
|
|
31
|
-
| SVG displacement attributes were written on every display frame, including unchanged values. | Writes are limited to about 30 updates/second and unchanged values are skipped in [illustrations.js](/Users/lazim/Documents/GitHub/openmerit/site/illustrations.js:155). | Reduce paint work on high-refresh displays without altering the slow gestures. |
|
|
32
|
-
|
|
33
|
-
## Verification
|
|
34
|
-
|
|
35
|
-
- Desktop Chromium at 1440px: CTA press reached scale 0.97 and returned to its initial state; keyboard FAQ activation worked with no indicator transition or illustration replay; no runtime errors.
|
|
36
|
-
- Touch emulation at 390px: hover and fine-pointer queries were false; hovering caused no arrow movement; taps opened and closed the menu and FAQ; no horizontal overflow; body copy remained selectable.
|
|
37
|
-
- Reduced motion on initial load produced no illustration layers or entrance animation.
|
|
38
|
-
- A sampled hero gesture produced 26 attribute updates over one second, versus writing every display frame previously.
|
|
39
|
-
- JavaScript syntax and whitespace checks passed.
|
|
40
|
-
|
|
41
|
-
## Verdict
|
|
42
|
-
|
|
43
|
-
**Performance:** The photographic illustrations still use painted SVG displacement rather than compositor-only transforms. There is no equivalent transform-only change that preserves local breathing and hand/head movement in the flattened artwork. These effects remain finite, localized, throttled, and disabled offscreen or for reduced motion; this is a deliberate tradeoff, not a claim of GPU-only rendering.
|
|
44
|
-
|
|
45
|
-
**Accessibility and mobile:** Keyboard behavior, capability queries, and reduced-motion behavior were checked in the browser. Physical-phone touch feel, Safari tap behavior, and performance on older hardware have not been verified.
|
|
46
|
-
|
|
47
|
-
**Approve the targeted code changes based on the code and browser checks above.** Physical-device validation remains a separate, unverified check.
|
|
48
|
-
|
|
49
|
-
Published to the existing Cloudflare Worker as version `59b9ebf7-092e-4902-a55f-c7ebb71da8ea`. The updated CSS and illustration script on both public domains match the local files; the production page loads and starts the hero animation without runtime errors.
|
|
50
|
-
|
|
51
|
-
## Playback follow-up
|
|
52
|
-
|
|
53
|
-
The user found the motion difficult to see. The initial one-pass behavior also permanently stopped a scene if it left the viewport mid-gesture. Playback now alternates finite gestures with scene-specific rest periods, restarts on re-entry, and has a persistent footer pause control. The hero gestures are slightly stronger. Reduced motion remains respected, and FAQ activation remains independent of the decorative scene.
|
|
54
|
-
|
|
55
|
-
Actual before/after frame comparisons confirmed visible changes in every scene, rather than checking animated attributes alone. Repeat cycles, interrupted re-entry, pause/resume persistence, reduced motion, and 320px/390px overflow checks passed.
|
|
56
|
-
|
|
57
|
-
Follow-up deployment: `2ec895d2-f206-4d30-aa63-6a673fd602b8`. The live HTML, CSS, and illustration script on both domains match the local files. A complete play–rest–replay cycle and the footer dog playback were verified on the production page with no runtime errors.
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
# Hosted Inference Terminal sample
|
|
2
|
-
|
|
3
|
-
Domain operations: see the [primary domain migration](site-domain-migration.md) for current routing, email, auth, and deployment constraints. Historical publication records below retain their original domains.
|
|
4
|
-
|
|
5
|
-
This separate preview is configured for `https://dash.openmerit.ai/`. It uses the isolated terminal branch and its own Cloudflare Worker, `openmerit-terminal-preview`. It does not deploy `wrangler.jsonc`, the main website, or the main website’s interactive inference demo. The terminal-specific comparison lives at `/demo` on this Worker.
|
|
6
|
-
|
|
7
|
-
## Build and deploy
|
|
8
|
-
|
|
9
|
-
```sh
|
|
10
|
-
npm ci
|
|
11
|
-
npm run verify
|
|
12
|
-
npm run deploy:dash-preview
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
The deploy command pins Wrangler 4.136.3 and uses `wrangler.terminal.jsonc`. Its build hook rebuilds the terminal preview, runs documentation checks, and checks/tests the terminal workspace before upload. The `openmerit-domains` router owns the `dash.openmerit.ai` custom domain and forwards requests to this Worker through its `TERMINAL` service binding. Both Workers use the existing Cloudflare account. No storage, container, AI, secret, or external service binding is configured. The only binding serves bundled public assets from `dist/terminal-preview/`.
|
|
16
|
-
|
|
17
|
-
`scripts/build-terminal-preview.mjs` creates this asset directory from the same browser bundle and icons as the local terminal. It adds preview metadata, noindex, and a sample-only bootstrap marker; it never copies a project snapshot. `packages/terminal/hosted/worker.mjs` imports only the fictional sample generator, never the collector or local CLI. The Worker reuses each generated sample for its 15-second time bucket. Browser polling and reduced-motion behavior remain the same as the local interface.
|
|
18
|
-
|
|
19
|
-
`/api/info` selects sample mode and identifies the hosted preview. `/api/sample` exposes the fictional enterprise environment, `/api/demo` exposes the comparison, and `/api/sample-seed` supplies the small deterministic browser seed. Remaining API paths return 404, and mutations return 405. The visible sample disclosure remains present, and the workspace picker offers no real environment. Static assets and API responses carry a same-origin content policy and indexing restrictions. HTML responses use `no-transform` so the zone’s automatic analytics script injection cannot alter the preview HTML. Script and stylesheet responses allow Cloudflare compression to reduce transfer time; main-site analytics settings are unchanged. `/robots.txt` also requests exclusion. This is public link sharing, not password protection.
|
|
20
|
-
|
|
21
|
-
## Package delivery
|
|
22
|
-
|
|
23
|
-
The terminal ships within the existing `openmerit` npm package. `npm pack` and `npm publish` use the root manifest and compiled core, protocol, Pi adapter, and terminal under `dist/`. The file allowlist excludes the hosted sample, website source, repository tooling, dependencies, and local evidence. Browser assets are prebuilt; registry installs do not require a repository checkout. Node engine requirements, runtime dependencies, exports, and the legal license file remain intact.
|
|
24
|
-
|
|
25
|
-
For friends' testing, publish a prerelease with the `preview` dist-tag while `latest` remains the stable version. Run `npm run verify`, inspect `npm pack --dry-run`, install the actual tarball in an isolated npm prefix, and validate existing application activity before `npm publish --tag preview`. Confirm the registry version and both tags, then repeat installation with `npm install -g openmerit@preview`. The first registry preview is `0.1.6-preview.0`; confirm publication and install evidence in the deployment record before announcing availability.
|
|
26
|
-
|
|
27
|
-
The earlier domain-hosted package was an interim delivery method. Its deployment record below is historical. The source build no longer produces installer downloads; deploy the sample only after npm delivery is verified so the already-shared interim URL remains usable during the transition.
|
|
28
|
-
|
|
29
|
-
## Sharing image
|
|
30
|
-
|
|
31
|
-
The page title and social preview title are `Inference Terminal by OpenMerit`. `packages/terminal/hosted/social-image.svg` is the editable 1200 × 630 artwork. `scripts/terminal-social-image.mjs` renders it with the bundled Inter font; the preview build writes a content-hashed PNG and its absolute HTTPS URL into Open Graph and Twitter large-card metadata. Rendering needs no network or system fonts. The card and its metadata deploy with the preview assets. The preview robots file permits named link-preview crawlers while keeping the general exclusion and noindex headers; its API remains disallowed to those crawlers.
|
|
32
|
-
|
|
33
|
-
## Validation
|
|
34
|
-
|
|
35
|
-
The terminal test suite covers hosted API boundaries, sample identity/counts/freshness, asset headers, and HEAD requests. Before declaring a deployment complete, verify the live custom domain over HTTPS, all six tabs on desktop/mobile, inspector and selector interactions, the sample disclosure, absence of a live-environment switch, read-only API behavior, local asset loading, and no runtime errors. Check the live page title, Open Graph/Twitter image URLs, PNG content type and dimensions when changing the sharing card. A successful local build alone is not publication.
|
|
36
|
-
|
|
37
|
-
## Deployment record
|
|
38
|
-
|
|
39
|
-
Published on 7 October 2026 as Worker version `f9c37164-aa44-4a84-9c09-e61272bb87c3`, at [dash.openmerit.site](https://dash.openmerit.site/). The earlier first upload was `fa5114d4-fa78-47c8-98fc-085d8b0e58e9`; the final version adds the scoped `no-transform` response header after live browser testing detected automatic zone-level beacon injection.
|
|
40
|
-
|
|
41
|
-
`npm run verify` passed 158 tests plus syntax, typecheck, build, demo, and documentation checks. Both deployments repeated the preview build, documentation checks, and all 48 terminal tests. The public HTTPS page returned 200 and matched the built HTML; its sample API returned 40 agents, 140 tasks, 21 models, and 9,600 fictional requests. The live snapshot API returned 404, and POST to the sample API returned 405.
|
|
42
|
-
|
|
43
|
-
All six tabs were checked at 1440 px and 390 px with no page overflow. Keyboard agent selection, agent and model inspectors, the fictional-data disclosure, and absence of a live-environment switch passed. The final browser check recorded no JavaScript errors, console errors, or external requests. Browser TLS verification used the published Cloudflare addresses while this machine's resolver retained its earlier negative DNS result; Cloudflare and Google public resolvers returned the new domain's A records. Physical phones were not tested.
|
|
44
|
-
|
|
45
|
-
Only the separate terminal Worker and its 19 public assets were published. No main-site deployment, npm release, provider call, upload, or local environment exposure was introduced. Deployment and verification logs are retained locally as `/private/tmp/terminal-hosted-deploy.log` and `/private/tmp/terminal-hosted-verify.log`; the final screenshot is `/private/tmp/terminal-hosted-final.png`.
|
|
46
|
-
|
|
47
|
-
### Sharing card update — 7 October 2026
|
|
48
|
-
|
|
49
|
-
Published Worker version `09a8e6ad-1185-4e27-9252-78e368755949`. The 1200 × 630 PNG is 41,977 bytes and is served as `/inference-terminal-og-2330cc415994.png`. Live page title, Open Graph, and Twitter card metadata use `Inference Terminal by OpenMerit`. Requests with browser, Twitterbot, Facebook, WhatsApp, and Slack link-preview user agents returned 200 for both HTML and image; the PNG matched the local build byte for byte. Named preview crawler rules permit the page and image, but disallow API crawling. These checks verify origin responses, not the state of third-party preview caches.
|
|
50
|
-
|
|
51
|
-
Full verification passed before deployment. The deployment hook repeated documentation checks and all 48 terminal tests after the crawler-rule adjustment. A fresh Chrome session loaded the public domain using normal DNS, rendered the overview, and reported no JavaScript errors. Logs: `/private/tmp/terminal-og-verify.log`, `/private/tmp/terminal-og-deploy.log`, and `/private/tmp/terminal-og-live.json`.
|
|
52
|
-
|
|
53
|
-
### Service identity update — 8 October 2026
|
|
54
|
-
|
|
55
|
-
The sample now includes fictional Baseten, Groq, and Cerebras connections with separately declared model creators. Its catalog remains 21 models and 27 deployments, with 14 shared pools (12 recent, one stale, one missing). It illustrates environment-variable evidence, shared and dedicated serving modes, and unreported cloud hardware. Official service icons are bundled locally. The hosted Worker still imports only the fictional sample generator; it does not run environment detection or collect visitor data.
|
|
56
|
-
|
|
57
|
-
Before publication, the real collector was exercised against an isolated synthetic project with fake inherited credentials, an OpenAI-compatible endpoint override, activity metadata, deployment configuration, and an accelerator export. Groq, Cerebras, and Baseten were identified without labeling the overridden OpenAI client as OpenAI. Credential values and raw URLs were absent from the snapshot. Cloud deployments retained unreported hardware. Browser checks covered all six sample tabs at 1440 px and 390 px, separate creator/service details, configuration evidence, and locally served icons, with no overflow or JavaScript errors.
|
|
58
|
-
|
|
59
|
-
Published at `dash.openmerit.site` as Worker version `27295601-f3a5-4c32-a6f9-68b71911b40f`. Full verification passed 163 tests; deployment repeated all 53 terminal tests and documentation checks. Live HTTPS verification confirmed the three service icons, configuration evidence, creator/service separation, and sample counts. The snapshot API remains 404. The browser reported no JavaScript errors or external requests. Logs are `/private/tmp/terminal-services-final-verify.log` and `/private/tmp/terminal-services-deploy.log`; the live inspector screenshot is `/private/tmp/terminal-services-live.png`. The isolated collector test used synthetic credentials and metadata, not customer cloud accounts.
|
|
60
|
-
|
|
61
|
-
### Services inventory update — 8 October 2026
|
|
62
|
-
|
|
63
|
-
Services replaces Connections while keeping six top-level tabs. Its default inventory groups the fictional environment's 18 services into five Model APIs, three Inference clouds, four Routers, three Gateways, and three Runtimes. Unclassified entries remain available when a source does not establish a type. The environment map is a secondary view; old `#connections` links still open it. Service details link models, deployments, reported paths, explicitly associated limits, and identification evidence. Creators alone never create API connections.
|
|
64
|
-
|
|
65
|
-
Local verification passed 171 tests, including eight new service-aggregation cases, plus syntax, typecheck, build, demo, and documentation checks. Browser verification covered type filters, search/reset, service-to-model and source details, command search, the overview map link, legacy hashes, keyboard focus across passive refreshes, and all six tabs at 1440 px and 390 px. A synthetic browser fixture verified configured-only and unclassified entries with no activity, redacted endpoint identity, and an inspector without horizontal overflow on an emulated touch screen. No JavaScript errors or external requests were observed. Physical phones and customer cloud accounts were not tested. Logs: `/private/tmp/terminal-service-inventory-verify.log`; screenshots: `/private/tmp/terminal-service-inventory-desktop.png` and `/private/tmp/terminal-service-inventory-detail.png`.
|
|
66
|
-
|
|
67
|
-
Published at `dash.openmerit.site` as Worker version `be6cbecd-0094-42e9-943d-58d63158dabd`. The deployment hook repeated documentation checks and all 61 terminal tests. Live HTTPS checks confirmed the Services tab, 18 service rows, all three inference clouds, service/source inspectors, the secondary map, and no page overflow at 390 px. The title and fictional-data boundary remain intact: `/api/snapshot` returns 404, sample mutations return 405, and there is no local-environment switch. No browser or console errors or external requests were observed. Deployment log: `/private/tmp/terminal-service-inventory-deploy.log`; live screenshot: `/private/tmp/terminal-service-inventory-live.png`. Only the separate terminal preview was deployed.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
### Application scope and complete maps — 9 October 2026
|
|
71
|
-
|
|
72
|
-
Published source commit `43ad7c5` at `dash.openmerit.site` as Worker version `a16b01be-b280-448b-9dbe-503b20a1dfdd`. This includes the complete grouped environment map, the separately bundled `?map=flow` experiment, and application-only source guidance. The sample still contains 9,600 fictional requests, 40 agents, 140 tasks, and 21 models. Local application collectors and VM data are not included in the Worker.
|
|
73
|
-
|
|
74
|
-
The first upload (`1cd39eb1-a394-43e6-9a1e-573910400108`) exposed a public-network loading problem: a compressed sample transfer took about 13 seconds while the browser used a 5-second localhost deadline. The final build allows 30 seconds for hosted sample refreshes, preserving 5 seconds for local snapshots and the existing single-request guard. This is a response deadline, not a change to the 15-second polling cadence or data retention. A follow-up fixes script/style headers so Cloudflare can compress the larger optional map bundle; HTML retains `no-transform` to prevent zone-level analytics injection.
|
|
75
|
-
|
|
76
|
-
The deployment hook passed all 92 terminal tests, 11 documentation checks, and syntax checks. Live HTML, app JavaScript, styles, and both map assets matched the built files byte for byte. The sample-only info and API counts were verified over HTTPS; `/api/snapshot` returned 404 and sample mutations returned 405. All six default tabs passed browser checks at desktop and 390-pixel widths without page overflow. Agent selection represented the complete focused request count, the agent inspector opened, and the environment selector offered only the fictional sample. The optional map represented all 9,600 requests, workload search returned its recorded member, and its 390-pixel view had no page overflow. A fresh browser load and subsequent refresh succeeded with no console errors. The compressed map script transferred 585,941 bytes instead of 1,934,755 bytes and matched the built file after decoding. One Node HTTP check timed out; the HTTP/2 transfer and fresh browser load succeeded.
|
|
77
|
-
|
|
78
|
-
Deployment log: `/private/tmp/terminal-application-scope-compressed-deploy.log`. Asset and API evidence: `/private/tmp/terminal-application-scope-live.json`. Live screenshot: `/private/tmp/terminal-application-scope-live.png`. The published npm package and main website were not changed.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
### Friends’ install download — 9 October 2026
|
|
82
|
-
|
|
83
|
-
Published source commit `9c62859` as Worker version `9453d410-b7bc-4719-a0e7-9dc4139049c4`. The public test download is `openmerit@0.1.5-dash.d1288465e28b`, 1,026,220 bytes, with SHA-256 `0fd079d4ab241d8e83010ad147cbe6559c39aa37fcd803fff57afbb06b60b13d`. The stable npm release and main website were not changed. Only two new static assets were uploaded: the package and its build information; the sample's browser assets and Worker collection boundaries are unchanged.
|
|
84
|
-
|
|
85
|
-
Full verification passed 205 tests plus syntax, typecheck, build, and documentation checks. The deployment hook repeated all 95 terminal tests and 11 documentation checks. A disposable VM npm prefix installed directly from `https://dash.openmerit.site/install/openmerit-preview.tgz` in seven seconds. Its installed `openmerit dash`, run from the existing application directory, retained all 240 requests, 40 worker IDs, and 120 task IDs across a passive refresh, with 111 evidence files unchanged and zero inference calls. The public package metadata matched the deployed build. Local macOS acceptance verified actual default-browser opening; headless Linux acceptance verified the printed URL. Windows desktop opening remains unit-tested only.
|
|
86
|
-
|
|
87
|
-
Logs: `/private/tmp/terminal-friends-verify.log`, `/private/tmp/terminal-friends-deploy.log`, and `/private/tmp/terminal-friends-public-install.log`. Default-browser proof: `/private/tmp/terminal-friends-browser-open.png`.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
### npm preview release — 9 October 2026
|
|
91
|
-
|
|
92
|
-
Published `openmerit@0.1.6-preview.0` to the existing npm package under the `preview` dist-tag. Registry metadata confirms `latest` remains `0.1.5`. The 96-file package is 1,027,818 bytes; its registry SHA-1 is `f24084567529a6bcfcace5b73c1578ca4fe53d92`, and its SHA-512 integrity matches the tested tarball. npm first accepted the upload for publish-time scanning; availability and the preview tag were verified after processing, before the successful installation test.
|
|
93
|
-
|
|
94
|
-
`npm run verify` passed 205 tests plus syntax, typecheck, build, demo, and documentation checks. The normal root `npm pack` contains the compiled core, protocol, Pi adapter, and terminal, with documentation and legal files. Package export checks and installed-package smoke tests passed. The sample-only build also passes after removal of the separate installer builder.
|
|
95
|
-
|
|
96
|
-
A fresh npm cache and disposable global prefix in the isolated Linux VM installed directly with `npm install -g openmerit@preview`. The cold install added 86 packages in approximately three minutes. Running its installed `openmerit dash` from the existing application directory retained all 240 requests, 40 worker IDs, and 120 task IDs across a passive refresh. All 111 evidence files remained unchanged, and the terminal made zero inference calls. The headless session printed its localhost URL. Actual macOS default-browser opening was verified for the same CLI implementation before this release; Windows desktop opening remains unit-tested only.
|
|
97
|
-
|
|
98
|
-
The package is now available through npm without a repository checkout or build step. The separate sample Worker and main website were not redeployed by this release; the earlier domain-hosted test download remains at its last deployed version. The source sample build no longer generates that download.
|
|
99
|
-
|
|
100
|
-
Evidence: `/private/tmp/terminal-npm-preview-verify.log`, `/private/tmp/terminal-npm-preview-smoke.log`, `/private/tmp/terminal-npm-registry-release.json`, and `/private/tmp/terminal-npm-registry-vm.log`. Publication screenshot: `/private/tmp/openmerit-npm-preview-published.png`.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
### Historical activity — npm preview release, 9 October 2026
|
|
104
|
-
|
|
105
|
-
Published `openmerit@0.1.6-preview.1` under the `preview` dist-tag, 1,031,362 bytes and 97 files, with SHA-1 `58be1c9606e3e39e33033e8479960eb68e67d03d`. Registry metadata and SHA-512 integrity match the tested package; `latest` remains `0.1.5`. This update removes collector and project-log age cutoffs, adds 7d/30d/default All time, and shows earliest/latest retained evidence with known partial-coverage disclosure. Existing file/read/cache bounds remain; it is not a persistent or complete project-lifetime archive. npm availability was confirmed after publish-time processing completed.
|
|
106
|
-
|
|
107
|
-
Full verification passed 210 tests plus syntax, typecheck, build, demo, and documentation checks. Browser checks covered exact 24h/7d/30d/All time request counts, keyboard range selection, calendar labels, partial-history disclosure, the enterprise sample and optional map, and a 390-pixel layout without page overflow. No browser warnings or errors were observed. A synthetic stopped Groq project retained three requests from 2020–2022 across separate installed-CLI invocations in the VM; future-dated evidence was excluded and its files were unchanged. The existing real VM workload separately retained all 240 requests, 40 workers, and 120 tasks across a passive refresh, with 111 evidence files unchanged and no inference calls.
|
|
108
|
-
|
|
109
|
-
Evidence: `/private/tmp/terminal-history-verify.log`, `/private/tmp/terminal-history-pack.json`, `/private/tmp/terminal-history-vm.log`, and `/private/tmp/terminal-history-vm-archive.log`. Browser screenshot: `/private/tmp/openmerit-history-desktop.png`.
|
|
110
|
-
|
|
111
|
-
A separate disposable global prefix in the Linux VM installed directly with `npm install -g openmerit@preview` and resolved `0.1.6-preview.1`. The registry-installed CLI repeated both acceptance checks: the existing real application retained all 240 requests, 40 worker IDs, and 120 task IDs across a passive refresh, with 111 evidence files unchanged; the synthetic dormant Groq project retained its three 2020–2022 requests across CLI restarts and rejected future-dated evidence. Neither check generated inference traffic. Friends can update with the same npm command and restart `openmerit dash`. The sample Worker and main website were not redeployed.
|
|
112
|
-
|
|
113
|
-
Registry-install evidence: `/private/tmp/terminal-history-registry-release.json`, `/private/tmp/terminal-history-registry-vm.log`, and `/private/tmp/terminal-history-registry-vm-archive.log`.
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
### Project evidence corrections — npm preview release, 9 October 2026
|
|
117
|
-
|
|
118
|
-
Published source commit `eb2f6c4` as `openmerit@0.1.6-preview.2` under the `preview` channel. The 98-file package is 1,037,558 bytes, with SHA-1 `f6d1885ac219e34df6e63d63f1e829be94015592`. npm registry metadata and SHA-512 integrity match the verified tarball. It removes inferred project services and physical placement, separates task summaries from request metrics, retains unknown request metadata, discloses inventory omissions, and distinguishes unknown activity from measured zero. Publication completed after npm's upload processing. The stable `latest` tag remains `0.1.5`; the hosted sample and main website were not deployed.
|
|
119
|
-
|
|
120
|
-
The same implementation, packaged locally before the version bump, passed 230 repository tests and VM acceptance. Plain `openmerit dash` started in 106 ms, preserved all 240 existing request records, 40 original agent IDs, and 120 original task IDs, and refreshed passively. Two additional direct local Ollama calls were automatically read from a new application log within about nine seconds, bringing totals to 242 requests, 41 agents, and 122 tasks. All 125 original project files were unchanged. No terminal configuration was needed and no paid provider calls were made. Separate temporary projects verified that ambient shell keys and unrelated Ollama do not create inventory, native project endpoint declarations return the three installed models, and explicit host links match the VM's real hostname and current resident model list. The retained local acceptance report is `/private/tmp/terminal-evidence-vm/acceptance.json`.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
The VM subsequently updated directly from npm with `npm install -g openmerit@preview` (using sudo for its root-owned global prefix). Installation completed in 13 seconds and resolved `0.1.6-preview.2`. Plain `openmerit dash` started in 109 ms and preserved all 242 request records, 41 agent IDs, and 122 task IDs through passive refresh. All 126 project files were unchanged; no new inference calls were made during this registry acceptance. Core, protocol, and Pi exports imported successfully, and the headless browser fallback printed the local URL. The registry-installed CLI repeated the empty-project, declared-Ollama, and explicit-host checks against real VM inventory. The persistent service was restarted and verified at the private forwarded URL `http://127.0.0.1:4313/`.
|
|
124
|
-
|
|
125
|
-
Friends can update with `npm install -g openmerit@preview`, stop the old terminal process, and run `openmerit dash` again in their application directory. Full release verification passed 230 tests plus syntax, typecheck, build, demo, and documentation checks. Registry evidence: `/private/tmp/terminal-evidence-release/registry.json`, `/private/tmp/terminal-evidence-release/tags.json`, and `/private/tmp/terminal-evidence-release/registry-vm.json`. The package remains a test preview; these checks do not establish universal application-log compatibility.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
### Endpoint coverage and review corrections — npm preview release, 10 October 2026
|
|
129
|
-
|
|
130
|
-
Published source commit `d9b4c17` as `openmerit@0.1.6-preview.3` under the `preview` dist-tag. The package contains 101 files, is 1,064,965 bytes, and has SHA-1 `1724996b2826aaf93ab1dee5e7701b7f9aabe886`. Registry SHA-512 integrity matches the exact tested tarball. Availability was confirmed after npm publish-time processing completed; stable `latest` remains `0.1.5`. The release includes the shared 39-service endpoint registry, separate Hugging Face dedicated/router identities, bounded JSONL continuity checks, outcome conflict reporting, fresh multi-host residency precedence, and unavailable model-usage handling.
|
|
131
|
-
|
|
132
|
-
Full release verification passed 256 tests (146 terminal tests) plus syntax, types, build, demo, and documentation checks. Before publication, the exact preview.3 tarball was installed into an isolated VM prefix and passed plain `openmerit dash`, a passive refresh, and separate temporary endpoint fixtures. The preceding implementation acceptance also passed 47 targeted Linux regression tests. Endpoint fixtures test declaration recognition and redaction; they do not establish live connectivity to all supported providers.
|
|
133
|
-
|
|
134
|
-
After publication, the VM updated directly with `npm install -g openmerit@preview` (using sudo for its existing root-owned global prefix). The installed version is `0.1.6-preview.3`. Its persistent dashboard was restarted and verified at `http://127.0.0.1:4313/`. All 242 retained request records, 41 agent IDs, and 122 task IDs stayed deeply equal across a 15-second passive refresh; all 126 application files remained unchanged. Installed endpoint-registry and served-client hashes match the tested build. Core, protocol, and Pi package exports import successfully. Temporary endpoint fixtures repeated configuration-only, unknown-override, saved-metadata, and credential/resource-redaction checks and were removed. No new inference calls were made.
|
|
135
|
-
|
|
136
|
-
Friends can update with `npm install -g openmerit@preview`, stop any running terminal, and run `openmerit dash` again from their application directory. The main website and hosted sample were not deployed. The source branch remains `codex/inference-terminal-preview`; this is a preview release, not a stable-channel release or a claim of universal log compatibility.
|
|
137
|
-
|
|
138
|
-
Evidence: `/private/tmp/terminal-preview3-release/verify.log`, `pack.json`, `registry.json`, `tags.json`, `tarball-vm.json`, and `registry-vm.json`. Publication screenshot: `/private/tmp/terminal-preview3-release/npm-published.png`.
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
### Repository index — npm preview release, 10 October 2026
|
|
142
|
-
|
|
143
|
-
Published source commit `38d294f` as `openmerit@0.1.6-preview.4` under the `preview` dist-tag. The 103-file package is 1,080,626 bytes, with SHA-1 `f5217dc0e49f89cb48c129d65cd046443667a56a`. npm registry SHA-512 integrity matches the exact tested tarball. Availability and the preview tag were verified after npm processing; stable `latest` remains `0.1.5`. The release adds bounded repository syntax indexing, nested configuration and custom endpoint references, file/line evidence, and counts-only diagnostics. Static declarations remain distinct from recorded usage.
|
|
144
|
-
|
|
145
|
-
Full release verification passed 272 tests (162 terminal tests) plus syntax, typecheck, build, demo, and documentation checks. Before publication, the exact release tarball was installed in an isolated VM prefix and passed plain `openmerit dash`, a passive refresh, diagnostics, package-export imports, and installed/served asset hashes. It preserved all 246 request records and all 128 application files.
|
|
146
|
-
|
|
147
|
-
After publication, the VM updated from the registry using `npm install -g openmerit@preview` with sudo for its existing root-owned prefix. Installation completed in 14 seconds; plain `openmerit dash` started in 306 ms. The temporary source-build service override was moved to the VM release evidence directory, restoring the original `/usr/local/bin/openmerit` service command. The persistent dashboard at `http://127.0.0.1:4313/` passed the same checks across a passive refresh. All 246 request records remained deeply equal and all 128 application files stayed unchanged. The four HF records retain three completed requests, one prior credit failure, 99 input tokens, and 30 output tokens. Those calls were made by a separate test application before release acceptance; the application explicitly logged its provider/route metadata. Installation and acceptance generated no new inference calls.
|
|
148
|
-
|
|
149
|
-
Friends can update with `npm install -g openmerit@preview`, stop the running terminal, and launch `openmerit dash` again in the application directory. This verifies the saved VM workload and supported source patterns; it does not establish complete discovery of arbitrary applications or reconstruct missing usage. The hosted sample and main website were not deployed.
|
|
150
|
-
|
|
151
|
-
Evidence: `/private/tmp/terminal-preview4-release/verify.log`, `pack.json`, `build.json`, `registry.json`, `tags.json`, `tarball-vm.json`, `registry-vm.json`, and `persistent-vm.json`. Publication screenshot: `/private/tmp/terminal-preview4-release/npm-published.png`.
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
### Sample synchronized with preview.5 — 10 October 2026
|
|
155
|
-
|
|
156
|
-
Published source commit `0648af7` to `dash.openmerit.site` as Worker version `1cff2493-3b72-4609-ad6c-7bf02d47d669`. The sample now uses the browser assets from npm `0.1.6-preview.5`, including the historical activity ranges, revised evidence displays, service identities, and current map bundles. Repository discovery and phased indexing remain local collector behavior; the hosted Worker still imports only the fictional sample generator. No actual repository, VM history, or local environment was uploaded. The obsolete interim installer assets are no longer included; npm is the documented delivery channel.
|
|
157
|
-
|
|
158
|
-
The deployment hook passed 171 terminal tests, 11 documentation checks, and syntax checks. All 26 public assets matched the local build over HTTPS. The sample matched the current generator (allowing only negligible cross-runtime floating-point differences), with 9,600 requests, 40 agents, 140 tasks, and 21 models. `/api/info` identifies a hosted sample, `/api/snapshot` returns 404, and POST to `/api/sample` returns 405. All six views passed browser checks at desktop and 390-pixel widths with no page overflow or console errors. The 7d/All time controls, agent inspector, and sample-only environment picker worked; the optional map also represented all requests without mobile page overflow. Physical phones were not tested.
|
|
159
|
-
|
|
160
|
-
Only the terminal sample was deployed; the npm package, private VM service, and main website were unchanged. Evidence is retained at `/private/tmp/terminal-sample-preview5/deploy.log`, `live.json`, and `live-overview.png`.
|
|
161
|
-
|
|
162
|
-
### Enterprise comparison — implementation, 10 October 2026
|
|
163
|
-
|
|
164
|
-
The hosted root now uses the enterprise grouped sample described in `inference-terminal.md`. `/demo` and `/demo/` serve the terminal with an explicit before/after switch; all request and token volumes remain identical across the switch. Standard published model rates and provider links are bundled with the deterministic scenario. This is an illustrative cost calculation, not a measured optimization result. Browser loads use a small seed instead of transferring the full 9,600-row snapshot; full sample APIs remain available. The local collector and npm release are unchanged. Deployment verification is recorded below after publication.
|
|
165
|
-
|
|
166
|
-
Published commit `9412b38` as Worker version `4ceaa337-fc28-47fb-af4e-c61b3386fad5`. The root contains 9.6 million represented requests, 200 agent IDs, 699 task IDs, 21 models, 93.5 billion tokens and approximately $118,991 in modeled token cost with partial price coverage. The comparison uses nine model assignments across six providers, with 94.8 billion identical tokens in each state: $248,117.60 before and $89,371.07 after, a computed 64.0% difference. These are scenario totals, not measured OpenMerit results.
|
|
167
|
-
|
|
168
|
-
Full verification passed 288 tests and the applicable syntax, build and documentation checks. The final deployment repeated 178 terminal tests and documentation checks. Local browser checks covered all six tabs at desktop and 390 px, keyboard stage selection, seven-day ranges, model names after switching, and the price inspector's 18 official-source links. The live root's larger totals and unknown-cost explanations were verified, and the published comparison switched all nine model assignments while retaining the request total. No page or inspector overflow or browser errors were observed. Root, `/demo`, `/demo/`, application JavaScript, styles and the optional map bundle matched the local build over HTTPS. The seed response contains only a recipe version and timestamp; `/api/snapshot` remains 404 and sample mutations return 405.
|
|
169
|
-
|
|
170
|
-
The first deployment revealed Cloudflare's canonical-HTML redirect behavior: fetching `/demo/index.html` through the asset binding redirects to `/demo/`. The final Worker fetches that canonical directory directly so both comparison URL forms return 200 without a redirect loop. Evidence: `/private/tmp/enterprise-verify.log`, `/private/tmp/enterprise-deploy-final.log`, `/private/tmp/terminal-enterprise-demo/live.json`, `/private/tmp/terminal-enterprise-demo/live-overview.png` and `/private/tmp/terminal-enterprise-demo/live-models.png`.
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
### Insurance comparison and evidence policy — implementation, 10 October 2026
|
|
174
|
-
|
|
175
|
-
The comparison scenario is now `insurance-tech-demo`: 200 fictional application workers, 700 task IDs, ten insurance workflow families, six model services, and the same 9.6 million represented requests and 94.8 billion tokens before and after. A small reviewed catalog replaces the earlier unconditional cheap-model assignments. A replacement must retain its configured service and output contract, match or improve the selected comparable public tool-use, capability and reasoning scores, and reduce token cost or have a matched latency improvement. Decision workflows additionally require accuracy and calibration evidence. Jev is recognized as a typed-decision model; it is not used without those checks.
|
|
176
|
-
|
|
177
|
-
Three workflows qualify in the reviewed catalog, with seven baselines retained. The scenario computes $277,301.98 before and $228,960.34 after, a 17.4% modeled token-cost reduction. The evidence drawer includes source links, score/configuration details, rejected candidates and the limitations of selected publisher point estimates. This does not establish application-level quality, latency, or universal benchmark superiority. The previous 64.0% comparison in the historical record above is superseded.
|
|
178
|
-
|
|
179
|
-
The After preference menu offers default, ZDR, open weights, no open weights, US-developer and Chinese-developer choices. Biases rank eligible replacements without weakening the checks. The current catalog yields the same three swaps in every preference; no additional ZDR, open-weight or Chinese replacement qualifies. The hard no-open-weights setting flags three incompatible retained baselines as unresolved. ZDR describes the documented endpoint policy and does not establish privacy across routers or application logs; developer origin does not establish residency.
|
|
180
|
-
|
|
181
|
-
Full local verification passed 295 tests, including 185 terminal tests, plus syntax, types, build, demo and documentation checks. Browser checks covered all six views, six preferences, keyboard selection and focus, URL persistence across navigation, seven-day and thirty-day comparisons, and a 390-pixel layout with no page or drawer overflow. No console warnings or errors were observed. These changes affect the hosted fictional demo, not production model routing. Publication verification is recorded below after deployment.
|
|
182
|
-
|
|
183
|
-
Published implementation commit `0c7e9ed` as Worker version `add11fe1-bf20-4fff-808a-2d9a4535a3fe`. Deployment repeated 185 terminal tests and the documentation checks. Live root HTML, both `/demo` URL forms, application JavaScript, styles, and the optional map bundle matched the built assets over HTTPS. The comparison API confirmed 9.6 million requests, 200 workers, 700 task IDs, the three qualified swaps, and three unresolved workloads for the no-open-weights setting; invalid preferences fall back to default. The browser seed is 33 bytes, `/api/snapshot` remains 404, and POST to `/api/demo` returns 405. The root enterprise snapshot remains deeply equal to the prior implementation at a fixed timestamp.
|
|
184
|
-
|
|
185
|
-
All six published views passed desktop and 390-pixel browser checks. Preference persistence, the evidence drawer, keyboard interaction and restored focus passed, with no horizontal page overflow or console warnings/errors. Physical phones were not tested. Only the hosted sample Worker was deployed; npm, the private VM service, and the main website were unchanged. Evidence: `/private/tmp/insurance-verify.log`, `/private/tmp/insurance-deploy.log`, `/private/tmp/terminal-insurance-demo/live.json`, `/private/tmp/terminal-insurance-demo/live-preferences.png`, and `/private/tmp/terminal-insurance-demo/live-evidence.png`.
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
### Expanded insurance comparison — implementation, 10 October 2026
|
|
189
|
-
|
|
190
|
-
The reviewed search now includes 25 model/service offers across all six configured services, plus Jev as an explicitly out-of-stack candidate. Workloads no longer have hand-selected candidate lists or an original-provider-only restriction. Model identity is separate from the serving offer, so a move from Groq to Baseten for the same gpt-oss checkpoint is reported as a service change. Every matched metric on each required benchmark axis must pass; a second passing metric cannot mask a regression. Public model-card evidence does not establish endpoint quality parity or insurance-task performance.
|
|
191
|
-
|
|
192
|
-
At fixed 30-day usage, four model changes and one service change produce $215,363.17 in modeled token cost versus $277,301.98 before, a 22.3% reduction. Five workflows retain their baseline. The soft preferences still converge on these choices under the reviewed evidence: the UI now explicitly reports this and shows match counts, qualifying alternatives, and before/after models and services per workload. The hard no-open-weights option has three unresolved workloads and blocks the entire After plan; no baseline open models or partial savings are presented as a compliant After result. These outcomes supersede the three-change comparison above.
|
|
193
|
-
|
|
194
|
-
Full verification passed 299 tests, including 189 terminal tests, plus syntax, types, build, demo and documentation checks. A new test renders the actual comparison and evidence views for all six preferences, including the blocked plan. Desktop browser checks verified preference selection, keyboard navigation with restored focus, URL state, the model inventory, evidence drawer and disclosure state. The published comparison subsequently passed 390-pixel checks for the expanded decisions table, evidence drawer and blocked plan with no horizontal page overflow. Physical phones were not tested. Changes affect the fictional hosted comparison; no production routing or local collector behavior changed. Publication verification follows after deployment.
|
|
195
|
-
|
|
196
|
-
Published implementation commit `9390c9d` as Worker version `5fa69c0e-3443-4af5-9d0a-d21c16411b15`. The deployment hook repeated 189 terminal tests and documentation checks. Root HTML, both comparison URL forms, application JavaScript, styles and optional map assets match the build over HTTPS. All six API preferences match the local model policy: five feasible options keep 9.6 million requests and the same modeled total; the closed-only option has no After records or models and a null total. It reports three blocking workflows. Invalid preferences fall back to Default. The seed remains 33 bytes, root enterprise inventory remains 21 models, and collector/mutation routes remain unavailable.
|
|
197
|
-
|
|
198
|
-
Live browser verification covered the new model/service decisions, the hard-preference blocked view and return to baseline, restored focus, and the mobile evidence drawer. No console errors or warnings were observed on the live tabs. Only the hosted sample Worker was deployed; npm, the VM service and main website were unchanged. Evidence: `/private/tmp/demo-expand-verify-final.log`, `/private/tmp/demo-expand-deploy.log`, `/private/tmp/terminal-insurance-demo/expanded-live.json` and `/private/tmp/terminal-insurance-demo/expanded-live-choices.png`.
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
### Incomplete comparison plans — implementation, 10 October 2026
|
|
202
|
-
|
|
203
|
-
The closed-only comparison now keeps seven qualifying workload assignments visible and lists three unresolved workloads with their Before model. An incomplete After snapshot contains only qualifying records, models and deployments; it does not silently restore an open-weight baseline. The comparison total and savings stay unavailable, while per-workload costs and the explicitly labeled qualifying-workload summary remain usable. Each comparison window carries baseline requests and qualified requests. Before still shows the complete baseline. This supersedes the whole-plan blocking behavior recorded above. Validation and publication are recorded below after completion.
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
Published implementation commit `85029e6` as Worker version `bd3a939b-6bde-4cf4-a796-8e4147d6b19b`. Full verification passed 299 tests, including 189 terminal tests, plus syntax, types, build, demo and documentation checks. The deployment repeated terminal and documentation checks. All six preference API responses and public asset hashes match the build. Closed-only now exposes 6.72 million represented requests across seven qualifying assignments and six models; all corresponding After assignments are closed-weight. The complete baseline remains 9.6 million requests and the full-plan After total is null. Other preferences retain their prior results.
|
|
207
|
-
|
|
208
|
-
Browser checks covered all six views, range changes, the complete Before baseline, evidence drawer, desktop and 390-pixel layout. No page overflow or console errors/warnings were observed; physical phones were not tested. The live Models view shows both unresolved workflow names and qualifying inventory. Only the hosted sample was deployed; npm, the private VM and main website were unchanged. Evidence: `/private/tmp/partial-demo-verify.log`, `/private/tmp/partial-demo-deploy.log`, `/private/tmp/terminal-insurance-demo/partial-live.json`, and `/private/tmp/terminal-insurance-demo/partial-live-plan.png`.
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
### Preference-sensitive workload expansion — implementation, 10 October 2026
|
|
212
|
-
|
|
213
|
-
The insurance comparison now has fourteen workflows, 280 worker IDs and 980 task IDs, still representing 9.6 million requests. Four new application workers generate reporting/actuarial SQL and reconciliation/reserve-analysis scripts. Fixed declared input/output profiles distinguish those tasks and do not depend on the selected preference. Claude Sonnet 4.5, GLM-4.7 and Gemini 3 Flash are compared using publisher tool-use, code-generation and reasoning scores; LiveCodeBench v6 percent and LiveCodeBench Pro Elo stay in separate cohorts. The catalog contains 26 in-stack model/service offers plus Jev. The new scenarios supplement the existing evidence; they do not relax any benchmark, cost or output-contract gate.
|
|
214
|
-
|
|
215
|
-
Before computes $344,689.33. Default computes $177,125.39; ZDR, open weights and Chinese origin compute $178,440.70 with the same model mix; USA computes $178,782.96. Each soft preference now changes two actual choices relative to Default. The UI discloses equivalent preferences and shows per-workload token costs. Closed-only has eleven qualifying workloads and three unresolved, with 7.542 million qualifying requests and no complete-plan projection. These values supersede the earlier scenario totals. The root enterprise sample, npm, private VM and local collector behavior are unchanged. These are fictional usage projections, not application-quality or latency measurements.
|
|
216
|
-
|
|
217
|
-
Publication and verification results are recorded below after deployment.
|
|
218
|
-
|
|
219
|
-
Published implementation commit `cdfd5e4` as Worker version `5fbafe69-ec30-4ab2-bc6e-ba0b621ca6dc`. Full verification passed 300 tests (190 terminal tests), syntax checks, typecheck, builds, demo checks and documentation checks. The final table-order refinements passed the 19 comparison/renderer tests; deployment repeated all 190 terminal tests, syntax checks and 11 documentation checks. HTTPS verification matched the root, both comparison documents, application JavaScript, styles and optional-map bundle to the local build. All six preference APIs matched the policy, including actual assignment/cost differences from Default and the disclosed ZDR/open/Chinese equivalence. Root inventory remains 21 models; collector access is unavailable and mutation requests are rejected.
|
|
220
|
-
|
|
221
|
-
Desktop browser checks exercised every preference, per-workload prices, reordered decisions, evidence and URL state. A 390-pixel check covered the scrollable decision table, keyboard selection with restored focus, the incomplete plan and seven-day totals, without horizontal page overflow. Published browser checks confirmed Default → USA → ZDR changed both costs and the leading workload assignment, with no console warnings or errors. Physical phones were not tested. Only the hosted sample Worker was deployed. Evidence: `/private/tmp/preferences-proper-verify.log`, `/private/tmp/preferences-proper-deploy.log`, `/private/tmp/terminal-insurance-demo/proper-live.json`, and `/private/tmp/terminal-insurance-demo/proper-live-preferences.png`.
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
### Explicit preference overrides — source, 10 October 2026
|
|
225
|
-
|
|
226
|
-
A non-default preference now selects a qualified matching replacement first, retains an already matching baseline if necessary, then permits an explicitly labeled benchmark/efficiency override. Configured services, output contracts, known prices and the closed-weight exclusion remain required. Ranking favors fewer axes with known regressions, then fewer missing axes, verified efficiency improvement and cost. Evidence keeps original check outcomes, reasons, publisher links and before/after rates. Overrides appear first in the evidence and workload decisions and are included in modeled usage and costs. Default remains strict.
|
|
227
|
-
|
|
228
|
-
All six current plans cover fourteen workloads and 9.6 million requests. Closed weights has three overrides and costs $171,146.32. ZDR costs $38,281.42 with eight overrides; open weights $50,147.49 with seven; USA $162,436.44 with two; Chinese $40,953.91 with nine. Default remains $177,125.39. These replace the earlier preference outcomes; lower costs do not establish task quality. Full verification passed 303 tests, syntax, typecheck, builds, demo checks and documentation checks. The final copy refinement passed all 22 comparison/renderer tests. Browser checks covered all six preferences, override-first evidence, closed-only inventory and keyboard selection at 390 px without page overflow or console errors. Hosted deployment is pending. No npm release or VM change is included.
|
|
229
|
-
|
|
230
|
-
### Preference overrides — published, 10 October 2026
|
|
231
|
-
|
|
232
|
-
Published implementation `5e10c9e` as Worker version `24193c1e-3c75-45ca-9ee8-26eef2681939`, superseding the pending publication note above. The deployment repeated 193 terminal tests, syntax checks and 11 documentation checks. All six live preference APIs match the tested assignments, override reasons, complete request counts and modeled totals. Root, `/demo`, `/demo/`, app, styles and optional map asset hashes match the build. The root enterprise sample remains 21 models, `/api/snapshot` returns 404 and mutations return 405.
|
|
233
|
-
|
|
234
|
-
The published browser confirms fourteen closed-weight assignments, three visible exceptions, and missing benchmark/efficiency evidence for claim tagging. No console warnings or errors were reported. Evidence: `/private/tmp/terminal-overrides-verify.log`, `/private/tmp/terminal-overrides-deploy.log`, `/private/tmp/terminal-insurance-demo/overrides-live.json`, and `/private/tmp/terminal-insurance-demo/overrides-live.png`. The npm package, VM and live application collector are unchanged.
|
|
235
|
-
|
|
236
|
-
### Prominent comparison panel — published, 10 October 2026
|
|
237
|
-
|
|
238
|
-
Published implementation `b602c9f` as Worker version `111171c5-34bb-4a25-91bc-60f8e96f371e`. The comparison now occupies a distinct neutral dark panel with a 28 px heading, larger fluid token-cost figures, a high-contrast selected stage, and the evidence action alongside the modeled difference. Preference disclosures, exception counts and expandable workload decisions remain visible within the panel. Responsive layouts stack the controls and result while preserving access to evidence. No model-selection, pricing or inference behavior changes.
|
|
239
|
-
|
|
240
|
-
Full verification passed 303 tests plus syntax, typecheck, builds and documentation checks. Deployment repeated 193 terminal tests and 11 documentation checks. Local desktop checks exercised Before/After and the evidence action. The published page was checked at 1,336 px and narrow widths down to 389 CSS pixels, with no horizontal page overflow or console errors; the evidence drawer opened and closed successfully. Browser zoom affects the viewport tool's physical-to-CSS width, so these are the observed CSS widths. Physical phones were not tested. Live HTML, app and stylesheet hashes match the build; the closed preference retains 9.6 million requests, three overrides and $171,146.32 modeled cost.
|
|
241
|
-
|
|
242
|
-
Evidence: `/private/tmp/terminal-prominence-verify.log`, `/private/tmp/terminal-prominence-deploy.log`, `/private/tmp/terminal-insurance-demo/prominence-live.json`, and `/private/tmp/terminal-insurance-demo/prominence-live.png`. Only the hosted terminal preview changed; npm and the VM were not updated.
|
package/docs/site-themes.md
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# Device-driven appearance
|
|
2
|
-
|
|
3
|
-
Published to the website and hosted dashboard on 14 October 2026. The npm package is unchanged; npm 0.1.6 retains its previous appearance. See the [publication record](site-publication-2026-10-14.md).
|
|
4
|
-
|
|
5
|
-
The website and Inference Terminal follow `prefers-color-scheme` automatically. There is no theme control, cookie, local-storage preference, or URL override. CSS resolves the initial appearance before application JavaScript runs and updates when the device preference changes. Light is the browser default when no dark preference is supplied. Theme-aware `color-scheme` and media-qualified `theme-color` metadata cover native controls and browser chrome.
|
|
6
|
-
|
|
7
|
-
## Presentation sources
|
|
8
|
-
|
|
9
|
-
- `site/styles.css` owns the warm website palette shared by the homepage, generated docs, memo, and engineering article. Reading surfaces, code, search, tables, navigation, forms, and SVG diagram tokens use it. Print output remains light. The homepage illustrations use [transparent frames and posters](site-illustration-transparency.md), retaining their natural colors directly against either theme without paper panels or blend filters. Animation and reduced-motion behavior are preserved.
|
|
10
|
-
- `site/docs.css`, `site/memo.css`, and `site/memo-access.css` style their components using those tokens. The article's local stylesheet entry points import the shared foundations. Its article-specific code and table colors are also theme-aware.
|
|
11
|
-
- `site/demo/demo.css` covers this checkout's recorded demo. `site/demo/interactive.css` covers the newer deployed interactive demo, including its subdued inspector, syntax colors, status states, and scenario switches.
|
|
12
|
-
- `packages/terminal/public/styles.css` owns the dashboard palette. `client/routes.mjs` uses semantic route colors for both SVG diagrams and HTML legends. `client/theme.js` subscribes React canvas charts to device changes and reads resolved CSS colors; the optional React Flow view uses its system color mode. Inspectors, custom selects, comparison preferences, search, and loading/error states use the same palette.
|
|
13
|
-
|
|
14
|
-
The terminal dark palette retains neutral surfaces. Light surfaces use restrained warm neutrals, with darker route and status colors to retain contrast. Text and controls do not use inversion filters.
|
|
15
|
-
|
|
16
|
-
## Production source mismatch
|
|
17
|
-
|
|
18
|
-
The source divergence documented in [domain migration](site-domain-migration.md) still applies. The running main application includes newer memo authentication, protected content, interactive demo handlers, and article generation that this checkout's root Worker does not contain. Do not publish the root Wrangler configuration to deploy these colors.
|
|
19
|
-
|
|
20
|
-
Presentation-only sources were recovered from `codex/main-before-terminal-2026-10-12` (`d89ebc4`): the memo component stylesheet, memo access stylesheet and view renderer, and interactive demo stylesheet. Auth logic, D1 data, secrets, runtime API handlers, content, package metadata, and domain routing were not replaced. The recovered view renderer carries the two theme-color metadata values for the preserved app's integration. The published interactive demo's HTML received the same metadata (light `#f7f7f5`, dark `#141712`) when integrating its stylesheet. Its existing script and API behavior must be retained.
|
|
21
|
-
|
|
22
|
-
The protected memo was checked using the existing local generated production snapshot, without modifying that snapshot or authenticating a real reader. The newer interactive demo was checked with its public HTML and local CSS; visible state fixtures exercise status and code styling without inference calls. These are presentation checks, not authentication or inference end-to-end tests. The subsequent publication used the preserved production application and live verification recorded in the publication notes. The dashboard can use the existing terminal-preview build/deployment workflow independently.
|
|
23
|
-
|
|
24
|
-
## Verification
|
|
25
|
-
|
|
26
|
-
The full `npm run verify` passes with loopback permissions required by the existing server tests. Documentation is generated from Markdown; no generated files in `site/docs/` are maintained manually.
|
|
27
|
-
|
|
28
|
-
Browser verification covers light and dark at 1440px and 390px across the homepage, documentation, memo, protected memo (including ten SVG diagrams), email gate, reader table, engineering article, recorded demo, interactive demo presentation, all six dashboard tabs, and the hosted comparison. No page-level horizontal overflow or browser runtime errors were observed. A computed-style text contrast audit caught and corrected subdued inspector labels. This audit is limited to visible text on opaque backgrounds, not an exhaustive accessibility certification. Screenshots were inspected for the dashboard, modal, website artwork, memo diagram, and demo.
|
|
29
|
-
|
|
30
|
-
Open dropdowns and inspectors update when the device preference changes. Additional checks cover documentation search, static/no-JavaScript reading, narrow mobile navigation, print, and live canvas/flow behavior. Browser emulation is not a physical-device check.
|