Skip to content

Lazurio overlay: open Chat with a prompt draft from the shell (not sent) #35

Closed

Description

@immakermatty

Context

The Lazurio shell adds a "+ Nový modul" (new module) tile to the Apps (Launchpad) home of an Environment. Clicking it should open Chat (this fork) in the same Environment, with a prepared prompt already in the composer. The prompt tells the agent to ask what the module is for, and then to found the module with lazurio module create, following the Lazurio Module Standard.

The behaviour is drawn in the shell wireframe (HumanAndMachine-ai/prototypes-lazurio, route #/e/<env>/chat/new-module). In the wireframe the prompt sits in the composer and is not sent: the person reads it, may edit it, and sends it.

What the fork needs

Upstream T3 Code has no way to receive a prompt draft from outside. The fork needs a small overlay entry point, for example a URL parameter or a /.lazurio/ hand-off, that:

  • opens a new thread (or the composer of the current one) in a chosen project;
  • puts the given text into the composer without sending it;
  • accepts text only from the Environment's own origin (the Lazurio shell). An arbitrary link must not be able to inject and run instructions; nothing is sent until the person sends it.

Open questions

  • Which project the new thread should open in: the Organization's root task worktree, or a chooser.
  • How long the text may be, and how it is passed (query string vs. a short-lived handle on the same origin).

Related: #33 (Lazurio shell slot).

Activity

  1. immakermatty commented on Oct 19, 2026

    @immakermatty
    Author

    Closing: implemented in #36 (0.0.45-lazurio.2) and carried into v0.1.0 as overlay row 6 (f38d538389). "+ Nový modul" opens Chat with #lazurio-prompt=<id>&lazurio-org=<login>. The page takes the link off the address before the router runs, keeps only the id and the Organization across the pairing reload (sessionStorage, two minutes, once), fetches the text from its own origin (/.lazurio/prompts/<id>, no redirects, lazurio.prompt.v1, at most 16 KiB) and puts it, unsent, into a new thread of the Lazurio project. The open questions were settled: on a managed Environment the thread always opens in the Lazurio project, and the text never travels in the address (D13). Covered by apps/web/src/lazurio/promptDraft.test.ts and the contract test "the prompt hand-off overlay keeps its seam and never sends".

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions