Skip to content

feature: demo per salvataggio/caricamento JSON di GCC_v1_Block #2

@gcomneno

Description

@gcomneno

Descrizione

Al momento encode_block / decode_block lavorano con un oggetto Python in memoria:

GCC_v1_Block = {
  "header": {...},
  "invariants": {...},
  "residual": {...},
}

Manca un esempio ufficiale di:

    serializzazione di GCC_v1_Block in JSON (file su disco),

    deserializzazione e verifica del round-trip.

Questa cosa è utile sia per chi vuole capire la strutturaon wire”, sia per eventuali integrazioni future.
Cosa va fatto

    Aggiungere un nuovo esempio in examples/, ad es.:

        examples/demo_json_io.py

    Lo script deve:

        prendere un blocco di byte (es. b"Hello, GCC v1!"),

        chiamare encode_block(...),

        serializzare loggetto risultante in JSON (es. json.dump(...)),

        ricaricare da JSON (es. json.load(...)),

        passare loggetto ricaricato a decode_block(...),

        verificare la correttezza del round-trip (decoded == original).

    Stampare a console un mini riepilogo:

        dimensione file JSON,

        chiavi principali della root (header, invariants, residual),

        esito della verifica (OK/FAIL).

    (Opzionale) Aggiungere una nota nel README nella sezioneEsempi veloci”.

Criteri di accettazione

Esiste un nuovo script examples/demo_json_io.py eseguibile tramite:
python examples/demo_json_io.py

Lo script salva un file JSON (es. gcc_block.json) e lo ricarica correttamente.

Il round-trip encode_block -> json -> decode_block è verificato e loggato.

README aggiornato con una breve menzione dellesempio JSON (se ritenuto utile).

pytest -q e pre-commit run --all-files continuano a passare.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:codecEncode/decode, residual models, formato GCC_v1_Blocktype:featureNuova funzionalità / esempio

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions