Artifacts derived from a Rust source of truth — most are regenerated by
mise run gen-specs. A handful of files in this tree are hand-maintained
package metadata (package descriptions, dependency declarations, README
copy). They live here because they sit next to the regenerated code, not
because they're themselves generated.
mise run gen-specs-check runs the generators and diffs the result against
the checked-in tree, so hand edits to a regenerated file will be reverted on
the next regen.
These are committed under generated/ for proximity to the generated code
they accompany, but the regeneration pipeline never writes to them. Edit them
directly:
dart-ws/pubspec.yaml— Dart package metadata.dart-ws/README.mddart-rest/pubspec.yaml— Dart package metadata, version, deps (dio,retrofit,json_annotation+ theswagger_parser/build_runnercodegen dev-deps).dart-rest/swagger_parser.yaml— generator config (schema path, serializer,client_postfix).dart-rest/README.mdpython-ws/pyproject.toml— Python package metadata, version, deps.python-ws/README.mdpython-ws/et_ws/__init__.py— Package exports / re-imports.python-rest/pyproject.toml— Python package metadata, version, runtime deps (httpx,attrs).openapi-python-clientis invoked with--meta none, so it only writes the source package and never touches this file.rust-rest/Cargo.toml— Crate name, deps (inherited from[workspace.dependencies]), feature flags.progenitor(driven in-process byet-int-gen) only writessrc/lib.rs, leaving this file untouched. The[lints] workspace = truetable is intentionally omitted — progenitor's generated source contains patterns the workspace lint set flags (doc-comment shapes that trip rustdoc's invalid-code-block lint, etc.), so the lint-inheritance schema (config/taplo/require-lints-section.schema.json) exempts this Cargo.toml. The deps-inheritance schema does not.zig-rest/build.zig.zon— Zig package manifest (name, version, fingerprint). Regen writes onlysrc/et_rest_client.zig.specs/wit/world.wit— The top-levelet:ws-wasi@0.1.0package (thewsandentryinterfaces plus therunner/moduleworlds). Static content with no Rust-derived parts; edit directly. The companionspecs/wit/deps/et-ws-messages/messages.witis generated from theClientMessage+ServerMessageschemas and lives in the next section.
specs/ws.yaml— AsyncAPI 3.0 description of the WebSocket protocol. Source:edge_toolkit::ws::{ClientMessage, ServerMessage}annotated forasyncapi-rust, emitted byutilities/int-gen.specs/rest.yaml— OpenAPI 3.0 description of the ws-server's REST surface. Source:#[utoipa::path]annotations on handlers inservices/{ws-server,modules,storage}, aggregated byutilities/int-gen.specs/wit/deps/et-ws-messages/messages.wit— Typed WIT mirror ofClientMessage+ServerMessage(records + two tagged unions). Built withwit-encoderinutilities/int-gen/src/wit/messages.rs.dart-ws/lib/ws_messages.dart— Dart 3 sealed-class client for the WS protocol. Pipeline:ClientMessage+ServerMessageJSON Schemas → KDL (utilities/int-gen/src/kdl.rs) →dart-typegen→.dart.python-ws/et_ws/messages.py— Pydantic v2 models for the WS protocol. Pipeline:ClientMessage+ServerMessageJSON Schemas →datamodel-code-generator→.py.python-rest/et_rest_client/— Typed Python (httpx-based) client for the REST surface. Pipeline:specs/rest.yaml→openapi-python-client→et_rest_clientpackage.rust-rest/src/lib.rs— Typed Rust client for the REST surface, generated byprogenitor(driven in-process byet-int-gen) fromspecs/rest.yaml.dart-rest/lib/— Typed Dart (retrofit-on-dio) client for the REST surface. Pipeline:specs/rest.yaml→swagger_parser→build_runner. Two files are post-processed bygen:dart-restafter swagger_parser and are therefore not safe to hand-edit (regen overwrites):clients/ storage.dart(binary octet-stream body/response made browser-usable) andrest_client.dart(sub-client import paths corrected). The rest oflib/is verbatim generator output.zig-rest/src/et_rest_client.zig— Typed Zig client for the REST surface. Pipeline:et-int-genwritestarget/int-gen/rest.json, invokesopenapi2zigas a subprocess, then usestree-sitter-zigto swaprequestRaw's body for a singleextern fn js_rest_requestcall (the JS host bridges that tofetch()via SharedArrayBuffer + Atomics). Zig's lazy compilation + DCE drops the remainingstd.http/std.Iomachinery automatically.
specs/wit/deps/wasi-*/ — WASI interface packages pulled verbatim from
upstream at pinned tags/SHAs by mise run fetch-wit-deps. Not regenerated
by gen-specs; bump them by editing the version pins in
utilities/int-gen/src/wit/upstream.rs and rerunning fetch-wit-deps.