Skip to content

action handler: B2-lift applicabilities + B2-transport scorecard reflection#123

Merged
AdaWorldAPI merged 1 commit into
mainfrom
claude/actionhandler-b2lift-applicabilities
Jun 24, 2026
Merged

action handler: B2-lift applicabilities + B2-transport scorecard reflection#123
AdaWorldAPI merged 1 commit into
mainfrom
claude/actionhandler-b2lift-applicabilities

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Jun 24, 2026

Copy link
Copy Markdown
Owner

What

Completes B2-lift (the REST registration instance lift) and records the B2-transport daemon (shipped in rs-graph-llm #18) in the parity scorecard.

B2-lift applicabilities — ogar-from-schema/registration.rs + ogar-action-handler

The capabilities half shipped in #122; this adds the applicabilities half the same way, so OGAR reads its whole deployed registration from REST.

  • Producer (parser-free): RegisteredApplicability + RegisteredApplicabilities (MapOfApplicabilities, keyed by handler id) + lift_applicabilitiesBTreeMap<handler, Vec<KausalSpec>>. Inner filter-list field name accepts modelFilters / model / filters via serde aliases (the spec didn't pin it); the element mapping ModelFilter{Var,Mode,Value}StateGuard is exact.
  • Runtime (owns I/O): parse_applicabilities — the serde_json read of a GET /applicabilities body. rest_applicabilities_lift_to_per_handler_guards proves it.

The lifted guards are the same StateGuards the hard gate's commit_via evaluates — so the instance lift now feeds both halves of an ActionDef: capabilities → ActionParam[], applicabilities → StateGuard.

B2-transport scorecard reflection (code in rs-graph-llm #18)

Docs-only update recording the live daemon: graph-flow-action-ogar::daemon is a transport-agnostic core (Daemon::react/serve) + a Transport trait + the action-ws WsTransport edge, with the connection identity shaped after OGIT NTO/Auth/Configuration. HIRO is multi-wire (WebSocket + Kafka), so the dispatch is written once and the wire is a thin edge — Kafka reserved. Captured as D-ACTIONHANDLER-TRANSPORT + E-ACTIONHANDLER-TRANSPORT.

Parity state

B2-lift fully shipped; B2-transport WebSocket edge shipped. Remaining for a live drop-in: the Kafka transport edge (HIRO's internal bus — needs the topic/record shape) and the non-native executor targets (SSH/REST).

Tests

58 green (49 ogar-from-schema + 7 ogar-action-handler + 2 integration), clippy-clean. D-ACTIONHANDLER-B2LIFT regraded G with a cited append-only canon-pass correction.

Sources: github.com/arago/ActionHandlers, arago/python-hiro-stonebranch-actionhandler, and the HIRO 7 Action API spec.

🤖 Generated with Claude Code

…es read

Completes B2-lift (the REST registration instance lift). The capabilities half
shipped in #122; this adds the applicabilities half the same way.

- ogar-from-schema/src/registration.rs (producer, parser-free):
  RegisteredApplicability DTO + RegisteredApplicabilities (MapOfApplicabilities,
  keyed by handler id) + lift_applicabilities -> BTreeMap<handler, Vec<KausalSpec>>.
  The inner filter-list field name isn't pinned by the harvested spec, so the DTO
  accepts modelFilters / model / filters via serde aliases (defaults empty) — a
  real response binds without a code change once the name is confirmed. The
  element mapping (ModelFilter{Var,Mode,Value} -> StateGuard) is the documented,
  exact part.
- ogar-action-handler::parse_applicabilities — the serde_json read of a
  GET /applicabilities body (runtime owns I/O). Proven by
  rest_applicabilities_lift_to_per_handler_guards (real JSON -> per-handler
  StateGuard sets, alias accepted).

The lifted guards are the same StateGuards the hard gate's commit_via evaluates
before executing — so the instance lift now feeds both halves of an ActionDef:
capabilities -> ActionParam[] signature, applicabilities -> StateGuard.

Docs: ARAGO-ACTIONHANDLER-PARITY (applicabilities row → SHIPPED, §3 bullet,
verdict, cross-refs); D-ACTIONHANDLER-B2LIFT regraded G with a cited canon-pass
correction (append-only — original body kept, "Remaining" note superseded).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYvNjD8M8LMNYbRy3gq2FP
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@AdaWorldAPI AdaWorldAPI merged commit 149a73b into main Jun 24, 2026
1 check passed
@AdaWorldAPI AdaWorldAPI changed the title action handler: B2-lift applicabilities envelope (GET /applicabilities → StateGuards) action handler: B2-lift applicabilities + B2-transport scorecard reflection Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants