Repository navigation
Closed
Labels
app/idPackage/app: id (pkgs/ or apps/ in this repo)Package/app: id (pkgs/ or apps/ in this repo)effort/sSmall: expected under 2 hours of workSmall: expected under 2 hours of workenhancementNew feature or requestNew feature or requestkind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedmode/onlineFully doable remotely: design, config, code, cloudFully doable remotely: design, config, code, cloudpriority/lowNice to have; do when convenientNice to have; do when convenientsource/humanFiled directly by a humanFiled directly by a humantask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this item
Description
What and why
Two examples still use older patterns (hand-built JSON and a plain-text view), and RocText is imported by no example. Examples are what authors copy, and two of them still show the old hand-built JSON and plain-text patterns.
Source
- RPT §2 'Migration leftovers'
doc/2026-10-16T13-00-00Z_feature_world_apps_structured_migration/
RPT = doc/2026-10-18T18-40-00Z_report_platform_world_state/2026-10-18T18-40-00Z_report_platform_world_state.md, REF = doc/2026-10-18T00-00-00Z_reference_platform_state/2026-10-18T00-00-00Z_reference_platform_state.md. Both are uncommitted reports in the platform-world-apps-migration worktree.
Current status
Not started. grep -n 'RocJson\|Screen' pkgs/id/examples/tic-tac-toe/main.roc pkgs/id/examples/roc-counter/main.roc finds nothing; grep -l RocText pkgs/id/examples/*/main.roc finds nothing.
Acceptance criteria
- tic-tac-toe uses RocJson instead of hand-built JSON
- roc-counter renders through Screen
- At least one example imports RocText
- Modules are rebuilt with the pinned compiler and example tests pass
Size
S
Prerequisites
- id(roc): F11.18 pin the Roc compiler for checked-in example modules and rebuild them in CI #541 — D1-018 F11.18 Pinned Roc compiler for checked-in example modules + CI rebuild job
Metadata
Metadata
Assignees
Labels
app/idPackage/app: id (pkgs/ or apps/ in this repo)Package/app: id (pkgs/ or apps/ in this repo)effort/sSmall: expected under 2 hours of workSmall: expected under 2 hours of workenhancementNew feature or requestNew feature or requestkind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedmode/onlineFully doable remotely: design, config, code, cloudFully doable remotely: design, config, code, cloudpriority/lowNice to have; do when convenientNice to have; do when convenientsource/humanFiled directly by a humanFiled directly by a humantask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this item
Activity
dezren39 commentedon Oct 24, 2026
id train triage (2026-10-24): blocked-on-#541 — example migration rebuilds the examples; #541 (F11.18) pins the Roc compiler first so the rebuilt artifacts are the pinned ones.
docs(id): Phase 14 plan — close-out: finish, measure, verify, open th…
dezren39 commentedon Oct 26, 2026
Intake review
Fleet-monitor intake pass (2026-10-26). Body already carries a full
## Acceptance criteriasection, so this pass is label normalization plus a liveness check — no body edit.Verified live on main
e3467560(2026-10-26):grep -c 'RocJson\|Screen' pkgs/id/examples/tic-tac-toe/main.roc pkgs/id/examples/roc-counter/main.rocreturns 0 for both files, and no example'smain.rocimports RocText. The migration leftovers described in the issue are still exactly as filed.Related: prerequisite #541 (pinned Roc compiler + CI rebuild job) is itself still open and unenriched — the rebuild-with-pinned-compiler acceptance bullet cannot be verified until it lands. Sibling example-size work: #555.
Risks / notes: low risk; examples are the copy-source for authors, so the patterns matter more than the size suggests. The two source reports cited in the body live in an uncommitted worktree per the body's own note — the issue body is self-contained enough to work from without them.
Suggested approach: after #541 lands, migrate tic-tac-toe to RocJson and roc-counter to Screen in one PR, add RocText to the example where it fits most naturally, rebuild all examples with the pinned compiler, and run the example tests.
30 remaining items
dezren39 commentedon Nov 3, 2026
agent-note:v1
state: triaged (coverage pass)
Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 30 (priority/low). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
Found via: coverage pass 2026-11-03
dezren39 commentedon Nov 3, 2026
🤖 Agent note · done
roc checkclean on both examples, bothbuild.shrebuilds +wasm-tools validatepassed, andcargo test --lib -- counter tic_tac_toe10 passed / 0 failed.pkgs/id/apps/tic-tac-toe/by PR feat(id): package tic-tac-toe as the first apps/ folder + host discovery (#2324) #3926 (commit df3f836, 2026-11-01, for id: PoC: package tic-tac-toe as the first apps/ folder — app.toml + host discovery #2324); on current mainpkgs/id/apps/tic-tac-toe/program/main.rocline 3import pf.RocJson, lines 65-68 build the records object withRocJson.Object— the hand-built JSON is gone.pkgs/id/examples/roc-counter/main.rocline 3import pf.Screen, lines 33-34Screen.boxed(...)/Screen.render_json(Screen.put_text(...)).import pf.RocText, used at line 16 (RocText.trim(ev))..wasmartifacts and its tests passed as recorded above.already_done. No follow-up fix task needed.