Skip to content

[codex] Add environment-aware artifact fetching#63

Draft
n30nex wants to merge 1 commit into
ItsLimitlezz:mainfrom
n30nex:codex/fetch-artifact-env
Draft

[codex] Add environment-aware artifact fetching#63
n30nex wants to merge 1 commit into
ItsLimitlezz:mainfrom
n30nex:codex/fetch-artifact-env

Conversation

@n30nex

@n30nex n30nex commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add --env tdeck|tdeck-meshcore to scripts/fetch_tdeck_artifact.py
  • select env-specific artifact names and default output directories
  • clear stale generated bundle files before re-downloading into an existing artifact directory
  • validate FLASH_MANIFEST.txt against the requested artifact environment, treating missing env as standard tdeck
  • teach scripts/release_evidence.py to generate matching standard or MeshCore evidence commands and detect stale manifest/env mismatches
  • update release/flash/troubleshooting/upgrade docs for the opt-in MeshCore TDM artifact path

Validation

  • git diff --check
  • python -m py_compile scripts\\fetch_tdeck_artifact.py scripts\\release_evidence.py scripts\\tdeck_smoke.py scripts\\tdm_airtime_smoke.py
  • python scripts\\tdm_airtime_smoke.py --selftest
  • python scripts\\fetch_tdeck_artifact.py --env tdeck --repo ItsLimitlezz/LimitlezzOS --run-id 27872850182 --commit 378bde99cf23ebd35e123d0d2759b945f91dca92 --out .pio\\ci-artifacts\\fetch-env-standard-test
  • python scripts\\fetch_tdeck_artifact.py --env tdeck-meshcore --repo ItsLimitlezz/LimitlezzOS --run-id 27872850182 --commit 378bde99cf23ebd35e123d0d2759b945f91dca92 --out .pio\\ci-artifacts\\fetch-env-meshcore-test
  • negative guard: requesting --env tdeck-meshcore with the standard artifact name fails with Downloaded artifact environment mismatch: manifest has tdeck, expected tdeck-meshcore.
  • python scripts\\release_evidence.py --env tdeck-meshcore --repo ItsLimitlezz/LimitlezzOS --branch codex/display-safe-chat-text --commit 378bde99cf23ebd35e123d0d2759b945f91dca92 --artifact-dir .pio\\ci-artifacts\\fetch-env-meshcore-test --port COM8
  • GitHub Actions Firmware CI run 27873369637 passed for head 6810b85e2c4f1d1407ddaacf7bbf747410d9d6f3
  • exact PR artifact fetched with python scripts\\fetch_tdeck_artifact.py --env tdeck-meshcore --repo ItsLimitlezz/LimitlezzOS --run-id 27873369637 --commit 6810b85e2c4f1d1407ddaacf7bbf747410d9d6f3
  • manifest: env=tdeck-meshcore, meshcore_enabled=1, budget_status=pass, firmware_bytes=1578368, static_ram_bytes=230196

Hardware

  • COM8 enumerated as USB Serial Device (COM8), VID/PID 303A:1001, status OK
  • flashed the exact tdeck-meshcore artifact from run 27873369637 to COM8 with direct no-stub esptool; ESP32-S3 rev v0.2, MAC cc:8d:a2:0d:14:28, all write hashes verified
  • python scripts\\tdeck_smoke.py --port COM8 --env tdeck-meshcore --skip-upload --open-timeout 60 --boot-timeout 90 --timeout 45 --no-expect --commands id sys net rf stats wifi "companion test" -> PASS
  • smoke evidence: identity !a20d1428 "limitlessdeck" (LIMI), battery 100% USB, RAM 42/151KB, Meshtastic on, MeshCore on, companion test PASS
  • python scripts\\tdm_airtime_smoke.py --port COM8 --open-timeout 60 --boot-timeout 60 --timeout 30 -> PASS
  • TDM evidence: verified MT/MC split modes 60/40, balanced 50/50, and 40/60; switch count advanced from 342 to 350 with zero late timing; restored to Meshtastic on, MeshCore off

@n30nex n30nex force-pushed the codex/fetch-artifact-env branch from a3a18e6 to 6810b85 Compare June 20, 2026 14:00
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