Add stable semantic signatures to Hyperlight-JS host-function manifests
Mantenedores costumam responder em até 6 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- javascript, rust
- Domínio
- backend
Direção de pesquisa
Start by tracing host-function registration, snapshot metadata persistence, and both persistent and in-memory restoration validation. Decide how the stable contract ID or versioned schema is represented and compared, then verify that contracted functions reject incompatible snapshots while functions without contracts retain name-only validation.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem
Hyperlight-JS snapshot compatibility currently validates only module and
function names.
Typed Rust callbacks are erased to a JSON bridge during registration, while
JavaScript callbacks are inherently dynamic. Hyperlight therefore sees only
the fixed CallHostJsFunction bridge signature and cannot verify that logical
functions such as database.query retain compatible argument and return
semantics.
Rust TypeId is process-local and type_name() is not a stable serialized
contract. Neither reliably describes Serde JSON representation.
Proposed solution
Allow host-function registration to include an explicit stable contract ID or
versioned schema, for example:
database.query: database.query/v1
Persist this identifier alongside each module/function name in snapshot
metadata and compare it during persistent and in-memory restoration.
Functions without a contract retain current name-only validation for backward
compatibility.
- Linguagem predominante
- Rust
- Estrelas
- 13
- Forks
- 5
- Merge médio
- 6d 6h
- PRs com merge (30d)
- 17
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de hyperlight-dev/hyperlight-js
-
lifecycle/needs-review
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
hyperlight-dev/hyperlight-js#81 ·
Mantenedores costumam responder em até 6 dias
-
lifecycle/needs-review
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
hyperlight-dev/hyperlight-js#340 ·
Mantenedores costumam responder em até 6 dias
-
lifecycle/needs-review
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
hyperlight-dev/hyperlight-js#338 ·
Mantenedores costumam responder em até 6 dias
-
lifecycle/needs-review
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
hyperlight-dev/hyperlight-js#337 ·
Mantenedores costumam responder em até 6 dias
-
lifecycle/needs-review
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
hyperlight-dev/hyperlight-js#312 ·
Mantenedores costumam responder em até 6 dias
Todas as issues de hyperlight-dev/hyperlight-js
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
pact-foundation/pact-cli#154 ·
Mantenedores costumam responder em até 3 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
antithesishq/bombadil#361 ·
Mantenedores costumam responder em até 1 dia
-
test(executor_l0): assert execute() TaskOutcome, not only bus events / 断言 execute() 返回的 TaskOutcomeAbertatype:debt
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
skaiy/wild_agentos#425 ·
Mantenedores costumam responder em até 1 dia
-
Default-import note suggests `import * as process` for velt:process, which does not name the builtinAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
bug ticket
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
cratestack/cratestack#1154 ·
Mantenedores costumam responder em até 1 dia