@kudzujs/core 0.11.0 → 0.11.2
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/PERFORMANCE.md
CHANGED
|
@@ -6,6 +6,24 @@ Reproducibility classes: `npm run benchmark`, `npm run benchmark:keyed`, `npm ru
|
|
|
6
6
|
|
|
7
7
|
The maintained 2026-08-13 comparison used Node 24.14.0 and an Intel Core i5-9500 Linux x64 host, one warm-up, and seven alternating fresh-process samples against clean `v0.8.44`. A narrow fast path skips Kudzu semantic transformation for 450 plain `.ts` modules whose runtime edges are exclusively resolvable relative TypeScript imports or exports; all other modules retain the existing transformer. Compile median fell from 2,323.9 ms to 1,413.2 ms (39.2%) and clean-build median from 3,325.3 ms to 2,382.4 ms (28.4%); every paired sample improved. Compile peak-RSS median fell from 571.2 MiB to 552.6 MiB, while build peak RSS was 570.9 MiB versus 568.8 MiB. Compiler scratch fell from 7,328,390 to 1,971,061 bytes. Both targets emitted the same 50 static HTML files, 10,980 bytes, and deploy SHA-256 `e107d78a7f55bc8a1af0ea6e53efeffa19b3d44d21c892484d103fa346e7ba7b`. This is a source-scale compiler comparison, not a cross-framework result.
|
|
8
8
|
|
|
9
|
+
## 0.11.1 Project List/Detail Consistency
|
|
10
|
+
|
|
11
|
+
Measured 2026-08-22 on macOS arm64 with Node 25.6.1 and Chrome
|
|
12
|
+
151.0.7922.172. `RUNS=21 npm run benchmark:project-navigation` waits for both
|
|
13
|
+
route-owned list data and the layout-owned project record before measuring
|
|
14
|
+
list-to-detail completion across fresh Chrome profiles.
|
|
15
|
+
|
|
16
|
+
The two-route session uses 16 unique JavaScript files totaling 55,736 raw /
|
|
17
|
+
21,208 aggregate gzip bytes. Navigation samples are
|
|
18
|
+
`[1.0, 0.7, 0.7, 1.0, 0.9, 0.9, 0.9, 0.9, 0.8, 0.9, 0.8, 0.9, 0.9, 1.2, 0.8, 0.9, 1.1, 1.0, 1.0, 0.8, 0.8]`
|
|
19
|
+
ms, with a 0.9 ms median and 0.7/1.2 ms minimum/maximum.
|
|
20
|
+
|
|
21
|
+
Compared with `0.11.0`, the authored shared record effect, list/detail outputs,
|
|
22
|
+
and mutation handler add 966 raw / 445 aggregate gzip session bytes. The prior
|
|
23
|
+
0.8 ms median and 0.6/1.3 ms range overlap, so no latency change is claimed.
|
|
24
|
+
No compiler or browser-runtime source changed, and `/help` remains 0 B
|
|
25
|
+
JavaScript.
|
|
26
|
+
|
|
9
27
|
## 0.11.0 Project Owned Fetch Lifecycle
|
|
10
28
|
|
|
11
29
|
Measured 2026-08-22 on macOS arm64 with Node 25.6.1 and Chrome
|
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ Kudzu compiles ordinary React-shaped TypeScript and TSX into complete static HTM
|
|
|
14
14
|
|
|
15
15
|
> Experimental `0.11.x`: the compiler API and supported TSX surface may change.
|
|
16
16
|
|
|
17
|
-
**Latest release: 0.11.
|
|
17
|
+
**Latest release: 0.11.2 - Request coordination evidence.** Three unrelated server-data fixtures confirm that one explicit owner, ordinary state, and owned effects remain sufficient; no request registry, cache, or query runtime was added. Read the [release notes](./RELEASES.md#0112---request-coordination-evidence), open the [release page](https://github.com/kudzujs/kudzu/releases/tag/v0.11.2), or follow the [architecture packet](./docs/next-architecture/README.md).
|
|
18
18
|
|
|
19
19
|
- [Documentation](https://kudzujs.cloud/docs)
|
|
20
20
|
- [Installation guide](https://kudzujs.cloud/docs#install)
|
package/RELEASES.md
CHANGED
|
@@ -1,5 +1,100 @@
|
|
|
1
1
|
# Kudzu Releases
|
|
2
2
|
|
|
3
|
+
## 0.11.2 - Request Coordination Evidence
|
|
4
|
+
|
|
5
|
+
Kudzu 0.11.2 reviews three unrelated server-data fixtures and closes shared
|
|
6
|
+
request coordination without adding a new semantic primitive.
|
|
7
|
+
|
|
8
|
+
### Changed in 0.11.2
|
|
9
|
+
|
|
10
|
+
- Reviewed the project application, TanStack Query-shaped product loading, and
|
|
11
|
+
Apache Answer/SWR-shaped question loading.
|
|
12
|
+
- Machine-recorded that all three use one explicit owner, ordinary state, one
|
|
13
|
+
owned fetch effect, dependency invalidation, cleanup, and static exclusion.
|
|
14
|
+
- Recorded no repeated same-key independent owners, subscriber lifetime,
|
|
15
|
+
mutation invalidation, retained query result, or cache-bound requirement.
|
|
16
|
+
- Updated `create-kudzu@0.1.110` to generate projects on
|
|
17
|
+
`@kudzujs/core@^0.11.2`.
|
|
18
|
+
|
|
19
|
+
### Output Evidence
|
|
20
|
+
|
|
21
|
+
- The project application remains byte-identical at 20 files, 69,501 raw /
|
|
22
|
+
24,649 aggregate gzip bytes, and deploy digest
|
|
23
|
+
`bc6335131b7867da2857621211919fad43ebfb9414aac711c45f0c8ed3803022`.
|
|
24
|
+
- The list/detail session remains 55,736 raw / 21,208 aggregate gzip JavaScript
|
|
25
|
+
bytes; `/help` remains 0 B JavaScript.
|
|
26
|
+
- No semantic primitive, compiler pass, production compiler line, runtime
|
|
27
|
+
concept, request registry, subscriber set, invalidation graph, cache, or
|
|
28
|
+
browser byte was added.
|
|
29
|
+
|
|
30
|
+
### Validation
|
|
31
|
+
|
|
32
|
+
- Existing required-Chrome journeys remain the executable evidence for all
|
|
33
|
+
three reviewed fixtures.
|
|
34
|
+
- The full suite, package smoke, registry metadata, and fresh installation are
|
|
35
|
+
release gates.
|
|
36
|
+
|
|
37
|
+
### Limits
|
|
38
|
+
|
|
39
|
+
Automatic same-key deduplication and retained query data remain unsupported.
|
|
40
|
+
They require repeated executable pressure from independent owners before a
|
|
41
|
+
shared primitive can be reconsidered.
|
|
42
|
+
|
|
43
|
+
### Upgrade
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
npm install @kudzujs/core@^0.11.2
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## 0.11.1 - List/Detail Data Consistency
|
|
50
|
+
|
|
51
|
+
Kudzu 0.11.1 proves that ordinary layout-owned state and one native fetch effect
|
|
52
|
+
keep list and detail routes consistent without a query framework.
|
|
53
|
+
|
|
54
|
+
### Changed in 0.11.1
|
|
55
|
+
|
|
56
|
+
- Added one server-backed project record owned by the retained application
|
|
57
|
+
layout and consumed by both project routes.
|
|
58
|
+
- Added a detail mutation whose confirmed result is immediately observed by the
|
|
59
|
+
list without another read.
|
|
60
|
+
- Counted exactly one initial GET, one mutation POST, no navigation GETs, and one
|
|
61
|
+
document-reload GET.
|
|
62
|
+
- Recorded document-lifetime retention and the absence of automatic
|
|
63
|
+
deduplication, invalidation, subscribers, and retained query caches.
|
|
64
|
+
- Updated `create-kudzu@0.1.109` to generate projects on
|
|
65
|
+
`@kudzujs/core@^0.11.1`.
|
|
66
|
+
|
|
67
|
+
### Output Evidence
|
|
68
|
+
|
|
69
|
+
- The application fixture emits 20 files, 69,501 raw / 24,649 aggregate gzip
|
|
70
|
+
bytes, and deploy digest
|
|
71
|
+
`bc6335131b7867da2857621211919fad43ebfb9414aac711c45f0c8ed3803022`.
|
|
72
|
+
- The list/detail session uses 16 unique JavaScript files totaling 55,736 raw /
|
|
73
|
+
21,208 aggregate gzip bytes; `/help` remains 0 B JavaScript.
|
|
74
|
+
- Twenty-one fresh Chrome profiles record a 0.9 ms navigation median and
|
|
75
|
+
0.7/1.2 ms range after both initial fetches complete.
|
|
76
|
+
- No semantic primitive, compiler pass, production compiler line, runtime
|
|
77
|
+
concept, request registry, or query runtime was added.
|
|
78
|
+
|
|
79
|
+
### Validation
|
|
80
|
+
|
|
81
|
+
- Required Chrome proves mutation visibility, exact request counts, retained
|
|
82
|
+
layout identity, route release, and server restoration after reload.
|
|
83
|
+
- The full suite, package smoke, registry metadata, and fresh installation are
|
|
84
|
+
release gates.
|
|
85
|
+
|
|
86
|
+
### Limits
|
|
87
|
+
|
|
88
|
+
Shared data lasts for one document and retained layout owner. Independently
|
|
89
|
+
authored fetch owners are not deduplicated; coordinated requests remain blocked
|
|
90
|
+
until unrelated fixtures require the same missing contract.
|
|
91
|
+
|
|
92
|
+
### Upgrade
|
|
93
|
+
|
|
94
|
+
```sh
|
|
95
|
+
npm install @kudzujs/core@^0.11.1
|
|
96
|
+
```
|
|
97
|
+
|
|
3
98
|
## 0.11.0 - Owned Fetch Lifecycle
|
|
4
99
|
|
|
5
100
|
Kudzu 0.11.0 proves browser-only server data as application-owned state, one
|
|
@@ -317,6 +317,11 @@ Clean-worktree `npm run check`, 273/273 standard tests, the required project
|
|
|
317
317
|
Chrome journey, the focused required-Chrome retry for the one full-suite browser
|
|
318
318
|
timeout, and packed-package smoke pass on 2026-08-22.
|
|
319
319
|
|
|
320
|
+
Release commit `8065d86`, tag `v0.11.0`, both CI jobs, the GitHub release,
|
|
321
|
+
`@kudzujs/core@0.11.0`, `create-kudzu@0.1.108`, registry metadata, and a fresh
|
|
322
|
+
registry-backed scaffold install/check passed on 2026-08-22. Publish workflow
|
|
323
|
+
`32571667242` completed every version, package, publication, and registry gate.
|
|
324
|
+
|
|
320
325
|
### `0.11.1`: List And Detail Data Consistency Evidence
|
|
321
326
|
|
|
322
327
|
- **Purpose:** expose the first real multi-consumer coordination limit.
|
|
@@ -329,6 +334,42 @@ timeout, and packed-package smoke pass on 2026-08-22.
|
|
|
329
334
|
- **Done condition:** existing composition is accepted or the smallest repeated
|
|
330
335
|
missing coordination contract is isolated.
|
|
331
336
|
|
|
337
|
+
**Completion evidence:** one layout-owned project record composes from two
|
|
338
|
+
primitive shared signals and one existing mount effect. The list and detail
|
|
339
|
+
routes observe the same server-confirmed rename without another read. The
|
|
340
|
+
deterministic journey records one initial GET, zero additional GETs across two
|
|
341
|
+
enhanced route changes, one mutation POST, and exactly one new GET after full
|
|
342
|
+
document reload. The refreshed document reconstructs revision 1 from server
|
|
343
|
+
truth while route-owned detail draft state resets. `/help` remains complete HTML
|
|
344
|
+
with 0 B JavaScript.
|
|
345
|
+
|
|
346
|
+
Current composition is accepted. Shared data lasts for one document and retained
|
|
347
|
+
layout owner; independently authored fetch owners are not deduplicated, and no
|
|
348
|
+
request registry, invalidation graph, subscriber set, or retained query cache
|
|
349
|
+
exists. This one fixture does not authorize `0.11.2`: it needs no coordination
|
|
350
|
+
primitive after ownership is placed correctly, while the packet requires two
|
|
351
|
+
additional independent fixtures to demonstrate the same missing contract.
|
|
352
|
+
|
|
353
|
+
This packet adds zero semantic primitives, ModuleIR kinds, compiler passes,
|
|
354
|
+
production compiler lines, runtime concepts, normalization rules, adapter rules,
|
|
355
|
+
public APIs, caches, Providers, or query runtimes. One existing positive fixture
|
|
356
|
+
gains list/detail consistency, counted domain requests, mutation, navigation,
|
|
357
|
+
and reload cases. It emits 20 files totaling 69,501 raw / 24,649 aggregate gzip
|
|
358
|
+
bytes with deploy SHA-256
|
|
359
|
+
`bc6335131b7867da2857621211919fad43ebfb9414aac711c45f0c8ed3803022`.
|
|
360
|
+
The two-route session uses 16 JavaScript files totaling 55,736 raw / 21,208
|
|
361
|
+
aggregate gzip bytes, an authored application increase of 966 raw / 445 gzip
|
|
362
|
+
bytes over `0.11.0`. Twenty-one fresh Chrome profiles record a 0.9 ms median
|
|
363
|
+
list-to-detail completion with a 0.7/1.2 ms range, overlapping the prior
|
|
364
|
+
0.6/1.3 ms range; no latency change is claimed.
|
|
365
|
+
|
|
366
|
+
Clean-worktree `npm run check`, 273/273 required-Chrome tests, and packed-package
|
|
367
|
+
smoke passed on 2026-08-22. Release commit `5bab3fe`, tag `v0.11.1`, feature CI
|
|
368
|
+
`32573961250`, the GitHub release, `@kudzujs/core@0.11.1`,
|
|
369
|
+
`create-kudzu@0.1.109`, registry metadata, and a fresh registry-backed scaffold
|
|
370
|
+
install/check passed. Publish workflow `32574182988` completed every version,
|
|
371
|
+
package, publication, and registry gate.
|
|
372
|
+
|
|
332
373
|
### `0.11.2`: Shared Request Coordination
|
|
333
374
|
|
|
334
375
|
- **Purpose:** implement only the deduplication, subscriber, and invalidation
|
|
@@ -343,6 +384,31 @@ timeout, and packed-package smoke pass on 2026-08-22.
|
|
|
343
384
|
- **Done condition:** architecture review records the reused or new primitive,
|
|
344
385
|
runtime bytes, cache bound, and cleanup behavior.
|
|
345
386
|
|
|
387
|
+
**Completion evidence:** architecture review covers three unrelated executable
|
|
388
|
+
fixtures: the project application, TanStack Query-shaped product loading, and
|
|
389
|
+
Apache Answer/SWR-shaped question loading. Every fixture has one explicit data
|
|
390
|
+
owner, ordinary loading/error/data state, one native fetch effect, dependency or
|
|
391
|
+
owner invalidation, exact cleanup, and static exclusion. None has two independent
|
|
392
|
+
owners requesting one key, independently releasable subscribers, mutation-key
|
|
393
|
+
invalidation, retained results after owner release, or a cache bound.
|
|
394
|
+
|
|
395
|
+
The stop condition is met and this packet closes with no new primitive. The
|
|
396
|
+
project application records `closed-no-new-primitive`, the three reviewed
|
|
397
|
+
fixtures, an empty repeated-missing-contract list, and the reused semantics in
|
|
398
|
+
its machine-readable capability contract. Existing fixture journeys remain the
|
|
399
|
+
executable behavioral evidence. Absence of generic deduplication is not itself
|
|
400
|
+
fixture pressure.
|
|
401
|
+
|
|
402
|
+
This packet adds zero semantic primitives, ModuleIR kinds, compiler passes,
|
|
403
|
+
production compiler lines, runtime concepts, normalization rules, adapter rules,
|
|
404
|
+
public APIs, request registries, subscriber sets, invalidation graphs, caches, or
|
|
405
|
+
browser bytes. One existing machine-readable contract and assertion change;
|
|
406
|
+
all three existing positive fixtures remain behaviorally unchanged. The project
|
|
407
|
+
application retains its 20-file, 69,501 raw / 24,649 aggregate gzip deploy and
|
|
408
|
+
55,736 raw / 21,208 aggregate gzip two-route JavaScript session. Cache bound is
|
|
409
|
+
not applicable because no cache exists; cleanup remains existing effect and
|
|
410
|
+
route/layout owner release.
|
|
411
|
+
|
|
346
412
|
### `0.11.3`: Mutation, Optimistic Update, And Rollback
|
|
347
413
|
|
|
348
414
|
- **Purpose:** complete issue create/edit/delete behavior under failure.
|
|
@@ -953,5 +1019,7 @@ release transaction where possible or document and publish a forward-fix patch.
|
|
|
953
1019
|
| `0.10.1` | Released | Preserve the published state-scale evidence and explicit object-field limit. | None |
|
|
954
1020
|
| `0.10.2` | Released | Preserve the published shared-layout navigation and exact route-release evidence. | None |
|
|
955
1021
|
| `0.10.3` | Released | Preserve the published guarded persistence recipe and zero-runtime exclusion. | None |
|
|
956
|
-
| `0.11.0` |
|
|
957
|
-
| `0.11.1`
|
|
1022
|
+
| `0.11.0` | Released | Preserve the published owned-fetch lifecycle and zero-query-runtime exclusion. | None |
|
|
1023
|
+
| `0.11.1` | Released | Preserve the published single-owner consistency and exact request-count evidence. | None |
|
|
1024
|
+
| `0.11.2` | Active | Review two independent fixtures for the same missing coordination contract before adding semantics. | None |
|
|
1025
|
+
| `0.11.3` onward | Blocked | Wait for the preceding patch acceptance and release record. | Ordered dependency |
|
|
@@ -66,7 +66,7 @@ Keep each patch behavior-preserving and independently reviewable. If a boundary
|
|
|
66
66
|
|
|
67
67
|
## Generator Versions
|
|
68
68
|
|
|
69
|
-
`create-kudzu@0.1.
|
|
69
|
+
`create-kudzu@0.1.110` retains the explicit install instructions and generates projects with `@kudzujs/core@^0.11.2`.
|
|
70
70
|
|
|
71
71
|
## Release Boundary
|
|
72
72
|
|