nvx-rs: share one byte-level EXEC and MAPS decoder between the host and the guest
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 22/100
Direzione di ricerca
The duplicated logic sits in nvx::protocol: compare decode_exec_payload and decode_maps_payload with decode_guest_exec_payload and decode_guest_maps_payload to map the shared framing, flags, and length checks. Keep the host's inherit_default_env rule and the guest's separate rule explicit, and check the result against the C agent parity fixtures that #358 adds. Done means one structural parser feeding both decoders, with the host API, its diagnostics, and guest acceptance unchanged. The issue says to wait until #358 is finished, so do not start before then.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
nvx::protocol decodes the NVXC EXEC and MAPS payloads twice. decode_exec_payload and decode_maps_payload produce the host's UTF-8 types, and decode_guest_exec_payload and decode_guest_maps_payload, which #531 adds, produce the guest's byte strings. Each pair repeats the framing, flags, lengths, and field validation, so a later format or validation change can update one decoder and leave the other behind.
Found in the #531 review. #531 keeps a faithful port of the C agent, so this waits until the #358 series is done.
Proposal
Share the byte-oriented structural parsing, and keep the host's UTF-8 types behind conversions:
- Keep the public host API and its diagnostics, and keep accepting non-UTF-8 guest arguments, paths, and environment entries.
- Make intentional host and guest differences explicit rather than substituting one type for the other. For example, the two
inherit_default_envfields differ when no explicit environment is supplied: the host's istrue(flags & EXEC_ENVIRONMENT_PRESENT == 0 || flags & EXEC_INHERIT_DEFAULT_ENV != 0), and the guest's followsEXEC_INHERIT_DEFAULT_ENValone.
#537 and #545 can then build on one parsing implementation rather than another pair of codecs.
Tasks
- Share the structural parsing of
EXECandMAPSbetween the host and guest decoders, with the host API, its diagnostics, and the guest's acceptance unchanged. - Check the shared decoder against the C agent's parity fixtures, which #358 checks in before it removes the C agent. Their expected outcomes must not come from the new decoder.
- Lingua principale
- Python
- Stelle
- 408
- Fork
- 28
- Merge medio
- 13h 46m
- PR unite (30g)
- 275
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/nvx
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
-
Track sandbox live share bugs: the time ABI bind hides or breaks shares at /run targetsForse già presa @jay23606 l’ha presa 3 giorni fa. Apertabug-hunt confirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 Mezza giornata Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microsoft/nvx
Issue simili
-
comp/cli P3 type/security
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
NousResearch/hermes-agent#141420 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
vendor-pitch
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
I maintainer di solito rispondono entro 1 giorno
-
bug llm p2
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
New tool: ZIPZAX Python Notebook StudioForse già presa @github-actions l’ha presa oggi. Apertasubmission triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
kausalflow/tools#226 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100