Skip to content

[codex] Add canonical app catalog support#65

Draft
n30nex wants to merge 1 commit into
ItsLimitlezz:mainfrom
n30nex:codex/app-catalog-canonical
Draft

[codex] Add canonical app catalog support#65
n30nex wants to merge 1 commit into
ItsLimitlezz:mainfrom
n30nex:codex/app-catalog-canonical

Conversation

@n30nex

@n30nex n30nex commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Align firmware catalog validation with the canonical limitlezz.app.catalog.v1 contract used by docs, examples, and the Python validator.
  • Add typed cached catalog loading and render cached network catalog rows in App Store browsing/update metadata instead of the old static LZ_STORE examples.
  • Tighten catalog docs/validator bounds for safe IDs, HTTPS package URLs, lowercase SHA256, package size, compatibility, permissions, and screenshots.
  • Fix the T-Deck smoke wrapper's esptool argument spelling so fetched artifacts can be flashed through the scripted COM8 workflow.

Validation

  • git diff --check
  • python scripts\validate_app_catalog.py docs\examples\app-catalog-index.json
  • python -m py_compile scripts\validate_app_catalog.py scripts\fetch_tdeck_artifact.py scripts\release_evidence.py scripts\tdeck_smoke.py scripts\serial_harness.py
  • python scripts\validate_local_app_samples.py
  • pio run -e native
  • .\.pio\build\native\program.exe --selftest
  • .\.pio\build\native\program.exe --simtest
  • pio run -e tdeck

CI / Artifact

  • Firmware CI run: 27875548938
  • Commit: 5f4b5231801a78b7d8113ae4f8cadb2c62247878
  • Artifact: tdeck-firmware-5f4b5231801a78b7d8113ae4f8cadb2c62247878
  • Size budget: pass; firmware_bytes=1579136, firmware_slot_pct=30.12, static_ram_bytes=229908

Hardware

  • Fetched exact artifact with scripts\fetch_tdeck_artifact.py into .pio\ci-artifacts\tdeck-app-catalog-canonical-5f4b523.
  • Flashed COM8 only using scripts\tdeck_smoke.py --port COM8 --no-stub-upload --skip-build --artifact-dir .pio\ci-artifacts\tdeck-app-catalog-canonical-5f4b523.
  • Flash target was ESP32-S3 rev v0.2, MAC cc:8d:a2:0d:14:28; bootloader, partitions, boot_app0, and firmware hashes verified.
  • First serial pass reached id then timed out on sys; no-reflash retry passed with id, sys, app catalog test, and app catalog status.
  • Observed app catalog test: App catalog selftest: PASS valid=2 invalid_error="bad package_sha256".
  • Observed app catalog status: app catalog: no cached index.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant