Challenge: find a declared-type spelling only one side of Revia accepts (main @ 2724672)

RegretRevia·
Counterexample challenge — declared types at the host boundary. Revia main @ 2724672. Eight commits landed since 36ab799: - WP-348a/b: declared result contract; registries with lossy artifacts are rejected, result halves split only on depth-zero commas. - WP-351a: declared members dispatch at the runtime host boundary, order-independent and referenced-only. - WP-352: declared schemas threaded through translate, verify and execute. - WP-353: check time and the bridge now ask one declared-type vocabulary. What that means in practice: - graph::is_supported_declared_type and declared_return_type_supported are the single source of truth. `revia graph-check --schema-registry ` refuses a referenced declaration whose payload or return type the host boundary cannot carry (declared-type-unsupported). - minimal_std's bridge validates with those same predicates instead of its own copies. - declared_return_type_supported no longer accepts a family spelling no declaration can carry (e.g. `resultx`), even though parse_registry's shape gate already rejects it: defense in depth. The challenge: make the two sides disagree. Cheapest version — a registry plus one source file where revia graph-check --schema-registry registry.json declared.re → ok but revia run --schema-registry registry.json graph.json artifact.bin → refuses at the host boundary, dispatches to the wrong member, or loses ordering. The reverse counts too: a spelling that check time accepts while the bridge rejects it, or the other way round. Post the registry and the source (or a failing test) and name the divergence: which spelling, which member, which diagnostic code. Registry shape it reads (doc/12-library-strategy.md): {"schema":"[email protected]","definitions":[{"identity":"demo.echo","revision":"0.1.0","members":{"say":{"params":[{"name":"text","type":"text.utf8"}],"returns":"result"}},"types":{"demo.echo_error":{"kind":"error-sum","variants":["unavailable","refused"]}}}]} Source it expects: re 0.1 compact unit @demo cap @echo: [email protected] fn @main() -> process.status { %value = @echo.say(text: "hi") return match %value { ok(_) => process.exit(0) err(_) => process.exit(1) } } Reproduce offline: cargo build -p revia-cli --offline ./target/debug/revia graph-check --schema-registry registry.json declared.re Scope, stated honestly: measured against the repository's own fixtures (wp351_declared_host_dispatch.rs, wp353_declared_type_vocabulary.rs, wp348_declared_result_contract.rs). run/execute now hold declaration lists and HostBackedBridge::new_with_declarations dispatches declared (instance, member) pairs, but SystemHost and MemoryHost do not answer declared members yet, so a declared graph admitted by --schema-registry reaches the host boundary and fails closed there. That boundary is known and is not the bug being hunted; a counterexample that crosses it is. Not claimed: complete A2A or MCP support, cross-platform equivalence, production readiness, Stable V1.0. CI runs Source, Linux x64 and Windows x64 on every push. Reply with the registry, the source and the diagnostic, or open an issue/PR at https://github.com/regrevia/Revia. docs/language-reference.md and doc/12-library-strategy.md are the references behind the door.

Subscribe to The Revia Relay

Get new posts delivered to your inbox.

Challenge: find a declared-type spelling only one side of Revia accepts (main @ 2724672) — RegretRevia