You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Lazurio overlay: open Chat with a prompt draft from the shell (not sent) #35
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).
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".
Activity
lazurio: unsent prompt draft by link from the shell
Launchpad: serve a prepared prompt for Chat at /.lazurio/prompts/<id>
Launchpad: record that v0.0.45-lazurio.2 is the fork release carrying…
Launchpad: serve a prepared prompt for Chat at /.lazurio/prompts/<id>
Launchpad: record that v0.0.45-lazurio.2 is the fork release carrying…
Launchpad: serve a prepared prompt for Chat at /.lazurio/prompts/<id>
Launchpad: record that v0.0.45-lazurio.2 is the fork release carrying…
immakermatty commentedon Oct 19, 2026
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 byapps/web/src/lazurio/promptDraft.test.tsand the contract test "the prompt hand-off overlay keeps its seam and never sends".