{ "id": "dd75d354-fc28-4de7-a5db-22a4fe03d806", "title": "Ephemlets · verified work", "purpose": "Real session report: completed fixes, failed attempts, verified gates, remaining manual checks.", "kind": "markdown", "revision": 1, "status": "ready", "source": "# Ephemlets: verified work\n\n## Original goal\nSession-persistent reports + native interactive Pi components, without reloading for each component.\n\n## Fixed\n- [x] Registered generated package in Pi settings.\n- [x] Replaced untyped state schema with recursive JSON schema.\n- [x] Preserved nested object, array, scalar, null state.\n- [x] Added OpenAI Responses/Codex declaration regression coverage.\n- [x] Confirmed live `ephemlet list` succeeds after reload.\n\n## Verification\n- **61 tests passed**, 1 conditional package test skipped in normal run.\n- Conditional relocated-package test passed separately.\n- Extension lint passed.\n- Root checks passed: TS7 + 43 static extension packages.\n- Generated package rebuilt; relocated load verified.\n\n## Failed attempts → corrections\n- Built package without activation → added package entry.\n- Native strict conversion accepted `Type.Unknown()` → provider rejected declaration.\n- Recursive typed JSON → provider declaration now usable.\n\n## Not yet manually verified\n- Keyboard interaction in these demos.\n- Pointer gestures in fullscreen mode.\n- Session reopen retaining edited demo state.\n- Explicit issue-composer follow-up delivery.\n\nLocal checklist edits are not automatic messages to the agent.\n", "state": null, "error": null, "jobId": null }