humanish 0.91.0 → 0.91.1
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/dist/chrome-cdp-probe.d.ts +5 -3
- package/dist/chrome-cdp-probe.js.map +1 -1
- package/dist/cua-actor-lab.d.ts +10 -4
- package/dist/cua-actor-lab.js +19 -8
- package/dist/cua-actor-lab.js.map +1 -1
- package/dist/device-presets.d.ts +4 -4
- package/dist/device-presets.js +8 -10
- package/dist/device-presets.js.map +1 -1
- package/dist/init-templates.js +11 -8
- package/dist/init-templates.js.map +1 -1
- package/dist/lab-config.d.ts +2 -1
- package/dist/lab-config.js.map +1 -1
- package/dist/observer-app.html +5 -5
- package/dist/run-index.js +2 -2
- package/dist/run-index.js.map +1 -1
- package/dist/shared-world-lab.js +1 -0
- package/dist/shared-world-lab.js.map +1 -1
- package/dist/stats.d.ts +9 -2
- package/dist/stats.js +38 -15
- package/dist/stats.js.map +1 -1
- package/dist/study-analysis-job.d.ts +8 -0
- package/dist/study-analysis-job.js +17 -0
- package/dist/study-analysis-job.js.map +1 -1
- package/dist/study-analysis-service.js +10 -3
- package/dist/study-analysis-service.js.map +1 -1
- package/dist/study-analysis-sharing.js +1 -1
- package/dist/study-analysis-sharing.js.map +1 -1
- package/dist/study-analysis-store.d.ts +14 -1
- package/dist/study-analysis-store.js +114 -3
- package/dist/study-analysis-store.js.map +1 -1
- package/dist/study-analysis-validation.d.ts +12 -0
- package/dist/study-analysis-validation.js +4 -0
- package/dist/study-analysis-validation.js.map +1 -1
- package/dist/study-costs.d.ts +27 -0
- package/dist/study-costs.js +108 -0
- package/dist/study-costs.js.map +1 -0
- package/dist/tui-app.js +20 -20
- package/docs/contracts/run-bundle.md +4 -0
- package/docs/contracts/schemas.md +2 -1
- package/docs/contracts/study-analysis.md +32 -0
- package/docs/contracts/study-costs.md +69 -0
- package/docs/goals/current.md +3 -3
- package/docs/ramp/README.md +5 -1
- package/docs/release/0.91.1-study-review-polish.md +28 -0
- package/package.json +1 -1
|
@@ -210,6 +210,10 @@ bundles stay byte-stable. Each lane's own estimate also rides its
|
|
|
210
210
|
from the reserved provider-returned `tokenUsage.costUsd`. See
|
|
211
211
|
[`schemas.md`](schemas.md) → Run Cost Summary And Estimated Actor Cost.
|
|
212
212
|
|
|
213
|
+
This bundle subtotal excludes separate study-analysis requests. Use
|
|
214
|
+
`humanish stats` for the complete retained estimate and explicit accounting
|
|
215
|
+
gaps across run costs and analysis attempts. See [study cost statistics](study-costs.md).
|
|
216
|
+
|
|
213
217
|
`humanish verify` treats cost as ADVISORY on magnitude and FAIL-CLOSED on
|
|
214
218
|
labeling: absence passes, but a claimed dollar figure without its `ratesAsOf`
|
|
215
219
|
date + `source`, or a total that does not match its known lines, fails. Verify
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Date: 2026-06-02 (current-state note updated 2026-07-14)
|
|
4
4
|
|
|
5
5
|
Status: reference map for the major contracts shipped through source version
|
|
6
|
-
`0.91.
|
|
6
|
+
`0.91.1`; it is not an exhaustive inventory of command/result envelopes. Exported types,
|
|
7
7
|
schema constants, parsers, and validators in `src/` are authoritative. Rows
|
|
8
8
|
marked "reserved" name layering intent only — no code emits or validates them
|
|
9
9
|
yet. Do not emit a reserved schema.
|
|
@@ -41,6 +41,7 @@ workflow without leaking private upstream truth into core.
|
|
|
41
41
|
| Study analysis | `humanish.study-analysis.v1` | see [study analysis](study-analysis.md) and synthetic analysis fixtures in `tests/` |
|
|
42
42
|
| Study analysis correction | `humanish.study-analysis-correction.v1` | see [study analysis](study-analysis.md#human-review-and-sharing) |
|
|
43
43
|
| Analysis execution receipt | `humanish.analysis-execution.v1` | see [study analysis](study-analysis.md#durable-records) |
|
|
44
|
+
| Analysis execution start | `humanish.analysis-execution-start.v1` | see [study analysis](study-analysis.md#durable-records) |
|
|
44
45
|
| Verification | `humanish.verify-result.v1` | `five-check-verify` |
|
|
45
46
|
| Policy | `humanish.policy.v1` (fixture-only; not engine-validated) | `public-safety-policy` |
|
|
46
47
|
| Feedback | `humanish.feedback.v1` | `public-safe-feedback` |
|
|
@@ -118,6 +118,19 @@ offset. Nonvisual events retain event identity without invented frame offsets.
|
|
|
118
118
|
Scripted captures without recorded timestamps keep null analysis times; any
|
|
119
119
|
uniform playback pacing is an estimate, not an observed duration.
|
|
120
120
|
|
|
121
|
+
Finding previews select from the finding's cited entries. They prefer a capture
|
|
122
|
+
directly cited as visual evidence, then the number of distinct visual/action
|
|
123
|
+
observations citing it; equal support keeps citation order. Duplicate claims do
|
|
124
|
+
not increase support. This is a display heuristic, not a confidence score or a
|
|
125
|
+
guarantee that the selected capture is the most relevant. Context-only and
|
|
126
|
+
nonvisual evidence retain their basis and original event. All cited moments stay
|
|
127
|
+
available, with exact recording links.
|
|
128
|
+
|
|
129
|
+
Confidence, recovery and the first full evidence limitation remain visible when
|
|
130
|
+
a finding opens. Exposure and remaining unique limits are one disclosure away;
|
|
131
|
+
observation details retain each original claim and its specific limitation.
|
|
132
|
+
This presentation does not rewrite the saved analysis or reviewer corrections.
|
|
133
|
+
|
|
121
134
|
## Durable records
|
|
122
135
|
|
|
123
136
|
The frozen `humanish.observer-data.v1` schema is unchanged. A companion
|
|
@@ -129,6 +142,7 @@ status, usage and validated findings:
|
|
|
129
142
|
.humanish/runs/<run>/
|
|
130
143
|
analysis/<analysis>/analysis.json
|
|
131
144
|
analysis/<analysis>/corrections/<correction>/correction.json
|
|
145
|
+
analysis-attempts/<analysis>/start.json # before transport; outcome initially unknown
|
|
132
146
|
analysis-attempts/<analysis>/receipt.json
|
|
133
147
|
observer/study-analysis.json
|
|
134
148
|
analysis-automatic/job.json # post-run lifecycle; never a retry instruction
|
|
@@ -146,6 +160,24 @@ model, budget, status and known usage even if source changes prevent report
|
|
|
146
160
|
publication. They contain no question, participant text, images, or findings.
|
|
147
161
|
`analyze list --json` includes these receipts.
|
|
148
162
|
|
|
163
|
+
New requests first claim their execution directory and atomically publish
|
|
164
|
+
`start.json` (`humanish.analysis-execution-start.v1`) before provider transport.
|
|
165
|
+
It contains only the attempt/run IDs, input/config/source digests, prompt version
|
|
166
|
+
and timestamp. The live caller retains a binding to that exact directory and
|
|
167
|
+
publishes the final receipt once. A start without usable final accounting means
|
|
168
|
+
dispatch and spend remain unresolved; it is not proof that a provider charged.
|
|
169
|
+
A cancellation before transport can finalize with `usage.dispatched: false`.
|
|
170
|
+
Admission refusals, missing credentials and rejected dispatch guards do not
|
|
171
|
+
create a potentially paid attempt. Reuse does not create a new start.
|
|
172
|
+
|
|
173
|
+
`humanish stats` reads all retained execution IDs, including failed, cancelled,
|
|
174
|
+
unpriced and unresolved attempts. Report/receipt copies and automatic reuse
|
|
175
|
+
count once per run and analysis ID. Legacy report usage can contribute without
|
|
176
|
+
a fresh source or valid findings, but the missing execution receipt is labeled.
|
|
177
|
+
This accounting read never approves findings or requests a provider. See
|
|
178
|
+
[study cost statistics](study-costs.md) for the additive JSON contract and
|
|
179
|
+
run-date attribution.
|
|
180
|
+
|
|
149
181
|
Analysis and execution-history directories each admit 256 entries, including
|
|
150
182
|
interrupted writes; correction history admits 256 entries per analysis. A new
|
|
151
183
|
attempt requires readable inventories with room for its records before dispatch.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Study cost statistics
|
|
2
|
+
|
|
3
|
+
`humanish stats` leads with the known estimated spend across the selected runs:
|
|
4
|
+
participant and desktop estimates plus every distinct retained analysis attempt.
|
|
5
|
+
It separates those components and shows missing usage and incomplete history.
|
|
6
|
+
All amounts are estimates from retained rate-table accounting, not provider bills.
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
humanish stats
|
|
10
|
+
humanish stats --lab sample-study --since 2026-09-01 --json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
The filters select runs by lab and run start date. All later analysis reruns
|
|
14
|
+
belong to their source run for filtering and daily grouping. This is study-cost
|
|
15
|
+
attribution, not a calendar of provider charges.
|
|
16
|
+
|
|
17
|
+
With no filters, a directory whose source metadata is unreadable can still
|
|
18
|
+
contribute valid analysis receipts under `(no lab)` and `(undated)`. Lab/date
|
|
19
|
+
filters exclude such unattributable directories; they remain named in
|
|
20
|
+
`unreadable`. The command does not guess their date or lab from an analysis.
|
|
21
|
+
|
|
22
|
+
## Additive JSON contract
|
|
23
|
+
|
|
24
|
+
The envelope remains `humanish.stats.v1`. Existing fields keep their meanings:
|
|
25
|
+
`totals.estimatedSpendUsd`, `days[].estimatedSpendUsd`, lab `medianCostUsd`,
|
|
26
|
+
`costSamples` and `unpricedRuns` describe participant/desktop run estimates.
|
|
27
|
+
They do not suddenly include a separate analysis request. The bundle's
|
|
28
|
+
`cost.estimatedTotalUsd` and the cached run-index estimate also remain unchanged.
|
|
29
|
+
Observer and terminal run summaries label this narrower scope.
|
|
30
|
+
|
|
31
|
+
The new `costs` object appears on totals, each lab and each day. `costsByRun`
|
|
32
|
+
contains the same accounting per selected run with stable warning codes.
|
|
33
|
+
|
|
34
|
+
| Field | Meaning |
|
|
35
|
+
| --- | --- |
|
|
36
|
+
| `estimatedTotalUsd` | Sum of the retained run and analysis estimates |
|
|
37
|
+
| `runEstimatedUsd` | Participant/desktop estimate; may be a known subtotal |
|
|
38
|
+
| `analysisEstimatedUsd` | Sum of all distinct retained analysis estimates |
|
|
39
|
+
| `incompleteRunEstimates` | Runs with partial or unknown participant/desktop accounting |
|
|
40
|
+
| `analysisAttempts` | Distinct retained execution IDs, including unresolved claims |
|
|
41
|
+
| `analysisDispatchedAttempts` | Attempts whose final accounting confirms transport |
|
|
42
|
+
| `analysisNotDispatchedAttempts` | Attempts whose final accounting confirms no transport |
|
|
43
|
+
| `analysisUnpricedAttempts` | Dispatched or potentially dispatched attempts without a complete price |
|
|
44
|
+
| `analysisUnresolvedAttempts` | Claims without usable final accounting; a subset of unpriced attempts |
|
|
45
|
+
| `analysisHistoryUncertainRuns` | Runs with absent, legacy report-only, unreadable or conflicting history |
|
|
46
|
+
|
|
47
|
+
The three amount fields are `null` when nothing in that component has an
|
|
48
|
+
estimate. Known zero is retained only when supported: for example, final
|
|
49
|
+
accounting confirms an attempt never dispatched. A known subtotal can coexist
|
|
50
|
+
with unknown costs; inspect the counts alongside it. An absent analysis history
|
|
51
|
+
is not converted into a free analysis.
|
|
52
|
+
|
|
53
|
+
## Accounting rules
|
|
54
|
+
|
|
55
|
+
Execution receipts take part regardless of whether the analysis succeeded,
|
|
56
|
+
its report was published, its findings are current, or the original recording
|
|
57
|
+
later changed. The receipt and report with the same run/analysis ID count once;
|
|
58
|
+
new IDs from explicit reruns count separately. Reusing a prior result adds no
|
|
59
|
+
attempt or expense. Conflicting accounting for the same ID stays unresolved.
|
|
60
|
+
|
|
61
|
+
Older reports without receipts contribute their strictly validated accounting
|
|
62
|
+
metadata with a legacy warning. Provider requests that left no durable record
|
|
63
|
+
in older versions cannot be reconstructed. A missing or corrupt inventory is
|
|
64
|
+
explicitly uncertain. Reads are contained and bounded, and never dispatch,
|
|
65
|
+
repair accounting, update timestamps or write files.
|
|
66
|
+
|
|
67
|
+
The report covers retained study bundles only. It cannot account for separately
|
|
68
|
+
launched preflight desktops, deleted runs, third-party application hosting,
|
|
69
|
+
provider subscriptions, or spending outside the selected project directory.
|
package/docs/goals/current.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Current Goals
|
|
2
2
|
|
|
3
|
-
Status date: 2026-09-15. Release baseline: `0.91.
|
|
3
|
+
Status date: 2026-09-15. Release baseline: `0.91.1`.
|
|
4
4
|
|
|
5
5
|
This page guides work on current merged source. Published behavior is described
|
|
6
|
-
in the [release notes](../release/0.91.
|
|
6
|
+
in the [release notes](../release/0.91.1-study-review-polish.md).
|
|
7
7
|
The [September 9 history](https://github.com/danielgwilson/humanish/blob/main/docs/goals/current-history-2026-09-09.md)
|
|
8
8
|
preserves the former status log; its queues do not supersede this page.
|
|
9
9
|
|
|
@@ -88,7 +88,7 @@ requires decision-equivalent retained evidence and a real deletion branch.
|
|
|
88
88
|
No first-party deletion branch has met that gate. Public demonstrations do not
|
|
89
89
|
substitute for it.
|
|
90
90
|
|
|
91
|
-
## Current Program Truth (source `0.91.
|
|
91
|
+
## Current Program Truth (source `0.91.1`)
|
|
92
92
|
|
|
93
93
|
| Surface | Available in merged source | Remaining boundary |
|
|
94
94
|
| --- | --- | --- |
|
package/docs/ramp/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Status: public-safe contributor and agent ramp.
|
|
4
4
|
|
|
5
|
-
Package/source version in this tree: `0.91.
|
|
5
|
+
Package/source version in this tree: `0.91.1` (2026-09-15). The Observer is phone-usable as a stated requirement (observer/AGENTS.md); interactive primitives start from Base UI. The Observer renderer is the observer/ workspace artifact only; the legacy string-concat renderer was deleted at cutover (#426), and rollback is a version pin to 0.42.0. The containment boundary introduced in
|
|
6
6
|
`0.15.1` remains in force: managed run and output paths bind to validated
|
|
7
7
|
physical filesystem identities, and stored provider IDs are evidence, not
|
|
8
8
|
cleanup authority. The bundled OSS meta-lab is dry-run only until
|
|
@@ -47,6 +47,10 @@ If a change does not improve one of those loops, it probably belongs elsewhere.
|
|
|
47
47
|
|
|
48
48
|
## Current State
|
|
49
49
|
|
|
50
|
+
The [0.91.1 release note](../release/0.91.1-study-review-polish.md) describes
|
|
51
|
+
retained analysis costs in study totals, finding previews and caveats, final
|
|
52
|
+
active-page viewport measurements, and corrected setup guidance.
|
|
53
|
+
|
|
50
54
|
The [0.91.0 release note](../release/0.91.0-analysis-quality-and-defaults.md)
|
|
51
55
|
describes automatic analysis by default on supported live recordings, its
|
|
52
56
|
separate disclosed budget and opt-out, fairer evidence selection, and
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Humanish 0.91.1
|
|
2
|
+
|
|
3
|
+
Study cost summaries include retained analysis attempts alongside participant
|
|
4
|
+
and desktop estimates. Reusing a saved analysis does not add another charge;
|
|
5
|
+
separate retries do. Missing prices and incomplete histories remain explicit.
|
|
6
|
+
The existing stats JSON fields keep their original participant-and-desktop
|
|
7
|
+
meaning; additive cost fields provide the combined retained estimate.
|
|
8
|
+
|
|
9
|
+
Finding previews prefer directly cited visual evidence over nearby context
|
|
10
|
+
captures. Selection is deterministic, but does not establish that the chosen
|
|
11
|
+
image is the best illustration of an issue. Exact source links and reviewer
|
|
12
|
+
corrections remain available.
|
|
13
|
+
|
|
14
|
+
Report qualifications are easier to scan, with the full limitations available
|
|
15
|
+
through a disclosure. This changes presentation without changing saved analysis
|
|
16
|
+
or participant feedback.
|
|
17
|
+
|
|
18
|
+
Final hosted Chromium geometry follows the active page after tab changes.
|
|
19
|
+
Valid CSS viewport measurements survive missing page-reported outer-window
|
|
20
|
+
bounds. Missing measurements remain missing; physical screen dimensions never
|
|
21
|
+
substitute for the page viewport.
|
|
22
|
+
|
|
23
|
+
The own-app guide now describes the hosted reachability probe and its desktop
|
|
24
|
+
cost. Starter comments document the existing opt-in mobile emulation settings.
|
|
25
|
+
|
|
26
|
+
See the [cost accounting contract](../contracts/study-costs.md) and the
|
|
27
|
+
[verification receipt](https://github.com/danielgwilson/humanish/blob/main/docs/goals/computer-use-actor/receipts/study-review-polish-2026-09-15.md)
|
|
28
|
+
for the methods and limits of these checks.
|
package/package.json
CHANGED