feat(I198): InvocationContext wire shape (spec 21) #1

Merged
buildagent merged 1 commit from feat/i198-invocation-context into main 2026-05-27 13:54:51 +02:00
Member

Lockstep with h-dv/ixt#173 per spec doc/concept/21-invocation-context.md §9 + §10.1.

What changed

  • schemas/module.capnp:
    • DELETED outright (pre-1.0, no compat shim per feedback_no_premature_compat): RequestContext, SecurityContext, SecurityLevel.
    • ADDED: InvocationContext — request_id, correlation_id, trace_id, span_id, source_module, target, actor, deadline_ms, metadata.
    • ADDED: ActorIdentity — subject union, opaque token_ref bytes (spec 21 §7 — never raw token material), capabilities.
    • ADDED: ActorSubject union: System / Module(Text) / Operator { fingerprint, name } / External(Text).
    • ADDED: MessageTarget union: Service / Module / Broadcast / Reply / DynamicEndpoint.
    • ADDED: MetadataEntry — bounded key/value pair.
    • IxtModule.handle second parameter retyped to InvocationContext.
  • schemas/ipc.capnp: HandlePayload.context comment updated to document the new shape.

Test plan

  • Consumer-side (h-dv/ixt PR #173): cargo check / clippy / test all green — verified locally.
  • Consumer-side (h-dv/ixt-sdk-rust PR): mirror types compile against this schema.
  • Follow-up (out of scope here): non-Rust SDK submodule pins bump in h-dv/ixt-sdk-{python,nodejs,csharp,go,wasm}.

Merge order: this PR first, then h-dv/ixt-sdk-rust, then h-dv/ixt#173.

🤖 Generated with Claude Code

Lockstep with [h-dv/ixt#173](https://git.h-dv.de/h-dv/ixt/pulls/173) per spec `doc/concept/21-invocation-context.md` §9 + §10.1. ## What changed - `schemas/module.capnp`: - DELETED outright (pre-1.0, no compat shim per `feedback_no_premature_compat`): `RequestContext`, `SecurityContext`, `SecurityLevel`. - ADDED: `InvocationContext` — request_id, correlation_id, trace_id, span_id, source_module, target, actor, deadline_ms, metadata. - ADDED: `ActorIdentity` — subject union, opaque `token_ref` bytes (spec 21 §7 — never raw token material), capabilities. - ADDED: `ActorSubject` union: `System` / `Module(Text)` / `Operator { fingerprint, name }` / `External(Text)`. - ADDED: `MessageTarget` union: `Service` / `Module` / `Broadcast` / `Reply` / `DynamicEndpoint`. - ADDED: `MetadataEntry` — bounded key/value pair. - `IxtModule.handle` second parameter retyped to `InvocationContext`. - `schemas/ipc.capnp`: `HandlePayload.context` comment updated to document the new shape. ## Test plan - [ ] Consumer-side (`h-dv/ixt` PR #173): cargo check / clippy / test all green — verified locally. - [ ] Consumer-side (`h-dv/ixt-sdk-rust` PR): mirror types compile against this schema. - [ ] Follow-up (out of scope here): non-Rust SDK submodule pins bump in `h-dv/ixt-sdk-{python,nodejs,csharp,go,wasm}`. Merge order: this PR first, then `h-dv/ixt-sdk-rust`, then `h-dv/ixt#173`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
- ipc.capnp: HandlePayload.context now carries InvocationContext
- module.capnp: replace legacy RequestContext with InvocationContext
- ActorIdentity union (System/Module/Operator/External) with redacted token_ref

Lockstep with ixt-core branch feat/i198-invocation-context-lockstep.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
h-dv/ixt-public!1
No description provided.