1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
[]
= "ikigai-cli"
= "ikigai — a REPL client for resource-resolution kernels (native + WebAssembly)."
= true
= true
= true
= true
= true
[[]]
= "ikigai"
= "src/main.rs"
[]
= ["embedded", "ipc"]
= ["dep:ikigai-embedded"]
= ["dep:ikigai-ipc"] # Unix only; the dep is empty elsewhere
= ["dep:ikigai-quic", "dep:ikigai-discovery", "dep:ikigai-wire"] # opt-in; pulls quinn/rustls/tokio
= ["dep:ikigai-web", "dep:tokio", "dep:serde_yaml"] # opt-in inbound HTTP face; pulls Tokio (like quic)
[]
= "0.1"
= { = true }
# Sibling crates carry an explicit version — a path-only dependency is unpublishable.
# The number is the LOCKSTEP version, NOT a floor: these siblings are released together at
# one version, so same-version-across-the-set is the only combination anything has ever
# packaged, published or tested. A floor would name a combination CI has never built, and
# no local build could contradict it — in-tree the path dependency always wins, so the
# version half is never exercised here. The full argument, and why this is constitution
# rule 5 APPLIED rather than broken, lives in the root manifest's `[workspace.dependencies]`.
# The per-pin notes below stay as API HISTORY: they record which release first carried the
# API named, which is what a reader needs when asking whether an older sibling would compile
# at all. They no longer set the number. `tests/lockstep_pins.rs` fails if any of them falls
# out of step with `workspace.package.version` — six of the seventeen sibling pins a lockstep
# bump has to touch are in this file.
= { = "../ikigai-engine", = "0.1.21" } # API history — 0.1.16 = with_width_routing + last_fan_out: the fan-out switch and the note the REPL prints
= { = true }
= { = true }
= { = "../ikigai-embedded", = "0.1.21", = true } # API history — 0.1.16 = set_width_routing/width_routing: the --width-routing channel, beside set_scheduler_spec
= { = "../ikigai-mcp", = "0.1.21" } # API history — 0.1.12 = row collapse: every same-named manifold row stays reachable
= { = "../ikigai-ipc", = "0.1.21", = true } # API history — 0.1.13 = heal-on-use: a broken established connection redials
= { = "../ikigai-quic", = "0.1.21", = true } # API history — 0.1.14 = the
# first published quic carrying `Minter`, `PeerIdentity` and `fingerprint_of_pem` (#286,
# per-identity grants), all three named in main.rs. The pin read 0.1.6 — a version that
# EXISTS on crates.io and does not have them, so the claim was false in the one direction a
# resolver can actually take. No local build could ever have contradicted it.
# mDNS announce/browse. Rides the `quic` feature: the only thing worth finding on the
# network is a QUIC-served kernel.
= { = "../ikigai-discovery", = "0.1.21", = true }
= { = true, = true }
# Inbound HTTP face — published as `ikigai-web`; this workspace owns that crates.io name
# (the standalone server repo of the same directory name publishes as `ikigai-web-server`).
# Gated behind `web`.
= { = true, = true }
# A runtime for the `web` serve loop (ikigai-web is async). Feature-gated so the
# default/wasm binary never pulls Tokio; matches the `quic` transport's posture.
# net+time so the runtime's `enable_all()` has the io+time drivers on its own.
= { = "1", = ["rt-multi-thread", "net", "time"], = true }
# YAML authoring of the non-LD route table (parses to the same value tree as JSON). Only the
# `web`-featured loader uses it. (serde_yaml 0.9 is archived-but-stable; swap to serde_yml if
# a maintained fork is preferred.)
= { = "0.9", = true }
# The full-screen TUI is native-only (crossterm). The browser frontend (ratzilla)
# lands in a later slice; on wasm the binary falls back to the line REPL.
[]
= "0.30.1"
= "0.29.0"
[]
# `block_on` for the one assertion the adapter cannot make: issuing the step's request at
# the KERNEL, under the session's own capability, to see the TYPED `Denied` — the engine's
# `Entry.result` is `Result<String, String>`, so the taxonomy reaches a face as prose only.
= { = true }
# Read this workspace's own manifests back in `tests/lockstep_pins.rs`. A real TOML parse
# rather than line matching: the invariant must hold for a dependency written as an inline
# table, a `[dependencies.x]` table or a target-gated one, and a hand-rolled scan that
# silently skips a form it does not recognize is a guard that passes by not looking.
= "0.8"