Skip to content

[Binary formats] Migrate internal JSON state to HBP, HBI and TOML #99

Description

@wesleysimplicio

Parent decision

Objective

Remove JSON/JSONL/NDJSON from workspace/session state, execution plans, Agent/Runtime handoffs, UI IPC, caches, receipts and provider adapters.

Evidence to audit first

Repository code search returned no indexed JSON matches, so add filesystem/build-output/import scans and verify generated desktop/web artifacts rather than assuming compliance.

Search results are starting points only. The implementation must trace producers, readers, generated outputs, package contents and runtime directories.

Target architecture

Consume Runtime/Agent binary envelopes; use HBP for execution/session evidence, HBI for workspace/index snapshots and TOML for configuration; contain provider protocols at explicit adapters.

Implementation steps

  1. Add a reviewed config/json-boundaries.toml inventory containing exact path/module, producer, consumer, lifecycle, category, owner and target format.
  2. Scan source and build outputs for JSON files, imports, serializers, JSONL/NDJSON, JSON-RPC and embedded JSON.
  3. Classify each match as internal persistence/cache/IPC/evidence, external protocol/export, toolchain-mandated or immutable historical documentation.
  4. Map append-only/auditable data to HBP, read-mostly/indexed data to conformant HBI, and human-edited configuration to typed TOML.
  5. Replace inter-Simplicio JSON contracts with versioned binary envelopes and generated typed bindings.
  6. Implement legacy migration with dry-run, bounded parse, backup, atomic write, semantic/integrity verification and idempotent resume.
  7. Remove legacy writers. Any temporary reader or double-write path needs a feature flag, owner, telemetry and removal date.
  8. Update documentation, samples, fixtures and package contents so internal JSON is not regenerated.
  9. Record measured before/after artifact size, latency, allocations and peak RSS.
  10. Link the compatibility/quality issue and block release until it passes.

Required tests

  • unit tests for each new codec/config model;
  • golden HBP/HBI/TOML fixtures;
  • legacy migration from minimum/current/large/corrupt/truncated inputs;
  • interruption and concurrent-reader/writer scenarios;
  • semantic equivalence of representative workflows;
  • no raw external JSON crosses an adapter boundary;
  • clean install, upgrade and rollback;
  • package scan proving removed artifacts are not reintroduced.

Acceptance criteria

  • Every JSON occurrence is classified in the TOML inventory.
  • No owned internal persistence, cache, IPC, queue, evidence or index uses JSON/JSONL/NDJSON.
  • HBP/HBI/TOML ownership follows the ADR and HBI conformance is proven.
  • External/toolchain exceptions are exact, owned, justified and dated.
  • Legacy migration is atomic, idempotent and preserves backups.
  • Legacy writers are removed; temporary readers have an expiry.
  • Representative workflows pass without a JSON internal fallback.
  • Performance evidence uses observed values or null plus a reason, never estimates.

Revisão complementar do projeto: simplicio-code

Responsabilidade avaliada: IDE/orquestração. Esta issue deve ser entendida no contexto da auditoria-mãe do repositório.

Objetivo específico

validar usuário → plano → Agent/Runtime → alteração → testes → PR

Fluxo de testes obrigatório

comando → plano → execução → diff → testes → cancelamento → retomada

  1. Registrar SHA/branch, ambiente, dependências e configuração.
  2. Executar o caminho feliz completo e capturar logs/receipts.
  3. Injetar entrada inválida, timeout, falha externa ou permissão ausente aplicável.
  4. Verificar retry, cancelamento, idempotência e rollback quando o fluxo suportar.
  5. Executar testes unitários, integração, sistema/E2E, regressão, segurança e desempenho aplicáveis.
  6. Reexecutar com os mesmos dados e comparar resultado/hashes.
  7. Confirmar que falha nunca vira sucesso e que recursos são liberados.

Critérios de aceite adicionais

  • O comportamento principal está demonstrado por teste executável.
  • Pelo menos um caminho de falha está coberto e documentado.
  • Contratos entre projetos são validados nas versões/SHAs declarados.
  • Logs e receipts permitem reconstruir a decisão.
  • Métricas não observáveis são null com motivo, nunca estimadas.
  • Segredos, PII e dados privados não aparecem nos artefatos.
  • O procedimento é reproduzível localmente ou em container sem GitHub Actions pago.
  • PR/commit, logs, hashes e riscos residuais estão anexados antes de fechar.

Evidências obrigatórias

  • PR/commit vinculado;
  • comandos e versões;
  • logs do caminho feliz e da falha;
  • testes/coverage/benchmark aplicáveis;
  • receipts, hashes e relatório de rollback;
  • limitações e próximos passos.

Regra de encerramento

Não fechar sem todos os critérios desta issue e da auditoria-mãe atendidos. Se faltar implementação, marcar como NEEDS-IMPLEMENTATION ou BLOCKED, nunca como concluída.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions