Skip to content

Commit 5097e29

Browse files
docs: replace empty "boundary" labels with the concrete role
"is the XDR/K-execution boundary" named no fact the reader could use. State what each component actually does instead: TransactionEncoder decodes Stellar's binary XDR (the wire format K cannot read); NodeInterpreter runs request envelopes through the K semantics. Applied across the architecture/interpreter/transaction docs and the matching class docstrings. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent ff0a610 commit 5097e29

5 files changed

Lines changed: 6 additions & 6 deletions

File tree

docs/architecture.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ The server implements six RPC methods — `getHealth`, `getNetwork`, `getLatestL
4545

4646
### `transaction.py``TransactionEncoder`
4747

48-
`TransactionEncoder` is the XDR boundary. It decodes a `stellar_sdk` transaction envelope into a JSON request envelope containing the RPC method, the transaction hash, the envelope XDR, and the decoded operations as JSON "steps". For the one case K cannot consume as JSON — a wasm upload, whose `ModuleDecl` has no JSON form — it produces the kasmer steps in K-AST form for direct injection into the `<program>` cell.
48+
`TransactionEncoder` decodes Stellar's binary XDR, the wire format K cannot read. It turns a `stellar_sdk` transaction envelope into a JSON request envelope containing the RPC method, the transaction hash, the envelope XDR, and the decoded operations as JSON "steps". For the one case K cannot consume as JSON — a wasm upload, whose `ModuleDecl` has no JSON form — it produces the kasmer steps in K-AST form for direct injection into the `<program>` cell.
4949

5050
**[Detailed documentation](transaction.md)**
5151

5252
---
5353

5454
### `interpreter.py``NodeInterpreter`
5555

56-
`NodeInterpreter` is the K-execution boundary. It builds the initial configuration, runs a request envelope through the LLVM interpreter against `state.kore`, and persists the resulting state. It knows nothing about Stellar. It performs **no** whole-configuration `kast``kore` conversions — the initial config is built directly in KORE and request steps are spliced into the `<program>` cell at the KORE level.
56+
`NodeInterpreter` runs request envelopes through the K semantics. It builds the initial configuration, feeds a request envelope to the LLVM interpreter against `state.kore`, and persists the resulting state. It knows nothing about Stellar. It performs **no** whole-configuration `kast``kore` conversions — the initial config is built directly in KORE and request steps are spliced into the `<program>` cell at the KORE level.
5757

5858
**[Detailed documentation](interpreter.md)**
5959

docs/interpreter.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# `interpreter.py``NodeInterpreter`
22

3-
`NodeInterpreter` is the K-execution boundary of komet-node. It builds the initial configuration, runs RPC request envelopes through the compiled K semantics with the LLVM backend, and persists the resulting world state. It knows nothing about Stellar — XDR decoding lives in [`TransactionEncoder`](transaction.md), and RPC dispatch / bookkeeping / response formatting live in [`node.md`](node-semantics.md).
3+
`NodeInterpreter` runs komet-node's RPC requests through the compiled K semantics (LLVM backend). It builds the initial configuration, feeds each request envelope to the interpreter against `state.kore`, and persists the resulting world state. It knows nothing about Stellar — XDR decoding lives in [`TransactionEncoder`](transaction.md), and RPC dispatch / bookkeeping / response formatting live in [`node.md`](node-semantics.md).
44

55
---
66

docs/transaction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# `transaction.py``TransactionEncoder`
22

3-
`TransactionEncoder` is the XDR boundary of komet-node — the part the K semantics cannot cross. It decodes a Stellar transaction envelope into the JSON *request envelope* consumed by [`node.md`](node-semantics.md), computes the transaction hash and contract ids, and (for wasm uploads only) parses the bytecode into a `ModuleDecl`.
3+
`TransactionEncoder` decodes Stellar's binary XDR, the wire format the K semantics cannot read. It turns a transaction envelope into the JSON *request envelope* consumed by [`node.md`](node-semantics.md), computes the transaction hash and contract ids, and (for wasm uploads only) parses the bytecode into a `ModuleDecl`.
44

55
---
66

src/komet_node/interpreter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ class NodeInterpreter:
8282
"""
8383
Runs the K node semantics against a saved KORE world-state configuration.
8484
85-
This is purely the K-execution boundary: it builds the initial configuration, runs RPC
85+
Its sole responsibility is K execution: it builds the initial configuration, runs RPC
8686
request envelopes through the LLVM interpreter, and persists the resulting state. It
8787
knows nothing about Stellar — XDR decoding lives in :class:`TransactionEncoder`, and RPC
8888
dispatch / bookkeeping / response formatting live in ``node.md``.

src/komet_node/transaction.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class TransactionEncoder:
4040
"""
4141
Decodes Stellar XDR transactions into the request envelope consumed by ``node.md``.
4242
43-
This is the boundary K cannot cross: parsing the XDR envelope, computing the
43+
It performs the work K cannot do itself: parsing the XDR envelope, computing the
4444
transaction hash and contract ids, and (for wasm uploads) parsing the bytecode into a
4545
``ModuleDecl`` via ``wasm2kast``. It produces a JSON request envelope and, only for the
4646
wasm-upload case, the kasmer steps to inject into the ``<program>`` cell.

0 commit comments

Comments
 (0)