Skip to content

id: investigate: app packaging — apps as folders (code + resources), TUI/web interface parity, web-native specialization #2026

Closed

Description

@dezren39

LIST 6a. ID apps should live as their own folders in an apps source directory: code + images/resources as one set. Investigate how an app declares itself, and how the SAME app renders through the TUI-style interface and the web — with web-native components supported two ways: build the app directly for web, or build the general app plus a specialization/adapter for web-native capabilities. Deliverable: app manifest + folder-layout proposal with one existing example app sketched both ways.

Program: Drew's 2026-10-28 directive (full text: hatch-personal memory/topics/id-program-2026-10-28.md).
Working pattern: parallel investigations, then the named synthesis issue merges them into a full design. Route guidance: Workhorse by default; Specialist/Summit for synthesis and ramification-heavy work. A result that says "done" is not the endpoint — the orchestrator reviews it and may commission another round. Deliverables: a markdown design/investigation doc (mermaid/SVG diagrams welcome) linked from this issue, plus follow-up issues for anything buildable. Build a proof of concept where the design calls for one, but do NOT build the permanent feature on top of an unreviewed PoC.

Activity

  1. added
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    on Oct 29, 2026
  2. developing-today commented on Oct 29, 2026

    @developing-today
    Contributor
  3. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    Parent epic: #2056 — ID platform expansion (2026-10-28 directive).

  4. added
    priority/highImportant and time-sensitive
    queue/queuedHas a queued task in the Supabase agent queue
    on Oct 29, 2026
  5. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    Top priority — ID program wave-1. Drew directed this be picked up in the next runs (2026-10-29): enqueued directly as triage task 3343 in repo-health-code-pilot at queue priority 20 (only breakage-class work at priority 10 outranks it). Wave-1 is the ungated investigations and designs; syntheses and PoCs stay gated on their named inputs. Investigation route: Workhorse.

  6. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · triaged

    • Agent: queue worker (repo-worker-code), Lane B shift
    • Session / ID: queue task 3343
    • Found via: queue claim
    • Task: Triage id: investigate: app packaging — apps as folders (code + resources), TUI/web interface parity, web-native specialization #2026 (LIST 6a) — verify the current app-packaging state and route the investigation.
    • Verdict: CONFIRMED — greenfield, with the two interface stacks already present separately. Verified at origin/main 2026-10-29 ~10:45Z:
      • No apps source directory exists: git ls-tree pkgs/id/ at HEAD shows no apps/ (or equivalent) — pkgs/id is a single crate tree (src/, web/, examples/, doc/). No app declares itself today; there is no app manifest format.
      • The only "manifests" at HEAD are different concepts: pkgs/id/web/scripts/build-manifest.ts (web asset build manifest) and the world manifest in src/commands/world.rs (the F12/id: F12.1 apply wiring — module install + schedules reconciliation #807 module+schedules apply manifest — runtime modules over the wire, not UI app packaging). The design must explicitly disambiguate all three uses of "manifest" or the term will collide.
      • Both render paths exist, un-unified: TUI/CLI-style via src/cli.rs + src/commands/* (+ repl), web via TWO layers — server-side src/web/* (routes, templates, world_ws, explore, identity) and the separate pkgs/id/web/ frontend package (bun, its own lockfile). "The same app renders through TUI and web" is currently true only in the loose sense that the same features (world, groups, identity) are reachable from both stacks with hand-duplicated wiring; there is no shared app definition either path consumes.
      • Example-app candidates for the doc's two-way sketch: world (CLI commands/world.rs + web src/web/world_ws.rs/explore.rs) or groups (commands + web identity/explore surfaces) — both already live on both stacks, so the sketch can be grounded in real call sites rather than invented.
      • Design questions the follow-up must answer: where the apps dir lives (inside pkgs/id/ vs repo-level); manifest fields (identity, entry points per interface, resources/images, capabilities); whether the web-specialization is an adapter over a general app definition or a fully separate web build — the issue names both as supported, so the manifest needs a way to declare which mode an app uses; and how resources travel with the folder (the artifact/blob machinery in src/artifact.rs/blob_gate.rs is the obvious substrate — the design should say whether it reuses it).
    • Expectation: done — follow-up design-doc packet enqueued this shift. No code change in triage.
    • Links: follow-up task id in the completion note.
  7. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Oct 29, 2026
  8. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

  9. 94 remaining items

  10. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  11. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked (gate recheck)

  12. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked (Lane C shift, gate recheck 22:59Z)

  13. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked (merge-queue stall)

  14. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor
  15. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor

    Lane A (queue task 3389): verified fresh — PR #2326 MERGED 2026-10-30T01:04:40Z (merge commit 167727f) once blocker #2403 cleared. Task 3389 completing as already_done; stale queue/status/work labels removed.
    🤖 Agent note · picked up → done (already_done)

  16. removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    work/assignedQueue worker lifecycle state
    on Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)priority/highImportant and time-sensitive

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions