Repository navigation
Words: three kinds of Environment, and your computer without a kind (F28 addendum, DEV-6612) - #497
Merged
Merged
Conversation
…thout a kind
People now read only Osobní, Pracovní and Týmové Prostředí (Personal, Work
and Team Environment). An automated Environment shows as a work one, and the
person's own computer has no kind: it is "Váš počítač" / "Your computer"
(root decision 0207, addendum of 2026-10-18; plan DEV-6612).
One helper, src/shell/kind-name.ts, ports the prototype's kindName,
kindShort and kindDetail (six Czech cases, "this"/"your", plus English).
The shell's picker line, gear label ("Nastavení Týmového Prostředí"), switch
name, missing-app titles and public notice take their words from it. The
Launchpad's Obecné presets, Toto Prostředí's title and Druh, and about a
hundred sentences per language about this Environment now name its kind:
the catalog writes them with the prototype's tokens ({tomto}, {this}, ...)
and messages(locale, kind) fills them for the page's kind; without a kind
the plain words stay. lazurio.shell.v1 and every identifier are unchanged.
The wording guard now forbids the old kinds in both languages and any plain
"toto Prostředí" / "this Environment" left in a catalog filled for a kind.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… without a kind Records Matěj's decision of 2026-10-18 (root decision 0207, its addendum of the same day) for this repository: the helper and its tokens, what changes in the shell and the Launchpad, what stays (lazurio.shell.v1, identifiers, the Folder's agent rules, the CLI), the alternatives, honest limits and the verification. A short F36 addendum points the shell's words to it, and docs/launchpad-development.md names the helper. The Launchpad preview takes `team` or `automated` after its mode, so a Team and an Automated Environment can be checked in a browser; the fixture's organizationWithEntry gains the handover's assignment for that. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
agentrozjedemeai
approved these changes
Oct 18, 2026
agentrozjedemeai
left a comment
Collaborator
There was a problem hiding this comment.
@immakermatty Exact-head review: APPROVED at cb03483. The Czech declensions and v/na prepositions, three displayed kinds, workstation without a kind, shell consumer and first-paint/prompt wiring agree with decision 0207 and the F28/F36 addenda. No shell.v1 fields, identifiers, preset keys or routes changed; the public diff uses synthetic fixtures and contains no observed private material. In an isolated detached checkout, bun run check:static passed and 218 focused tests across 13 affected files passed; git diff --check passed. Exact-head CI static checks and both test shards succeeded. Remaining surfaces are explicitly tracked in #498. No merge performed.
immakermatty
added a commit
that referenced
this pull request
Oct 18, 2026
…28 addendum of 2026-10-18) After the rebase onto #497, which makes a text about a specific Environment name its kind: Settings → Obecné → Téma Prostředí says "Barvy Chatu, Apps a Automate v {tomto}." ("in {this}"), so a Work Environment reads "v tomto Pracovním Prostředí"; the Team note says "this Team Environment" in English too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
immakermatty
added a commit
that referenced
this pull request
Oct 18, 2026
…28 addendum of 2026-10-18) After the rebase onto #497, which makes a text about a specific Environment name its kind: Settings → Obecné → Téma Prostředí says "Barvy Chatu, Apps a Automate v {tomto}." ("in {this}"), so a Work Environment reads "v tomto Pracovním Prostředí"; the Team note says "this Team Environment" in English too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
immakermatty
added a commit
that referenced
this pull request
Oct 18, 2026
…mputer reads "on this computer" Pablo's review of 490fc1f found that "v {tomto}" and "in {this}" read "v tomto počítači" and "in this computer" on a workstation. #497 has tokens that carry their preposition for that: {v tomto} is "v tomto Pracovním Prostředí" but "na tomto počítači", {in this} "in this Team Environment" but "on this computer". The note now uses them. Test: the note for a workstation (cs, en), a Work and a Team Environment and an unknown kind (it fails with the earlier "v {tomto}"). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
immakermatty
added a commit
that referenced
this pull request
Oct 18, 2026
…wed by Chat, Apps and Automate (root 0208, F36 addendum) (#493) * Theme: vendor T3 Code's built-in palettes from Lazurio/t3code v0.1.0-lazurio.2 (MIT) Root decision 0208 offers T3 Code's built-in themes Grove, Ocean, Ember and Iris as Environment themes beside Lazurio. Their palettes are copied byte for byte from packages/shared/src/themePalettes.ts of the T3 Code fork at its release tag v0.1.0-lazurio.2 (the file is upstream T3 Code v0.1.0's unchanged), with T3 Code's MIT licence beside it and both hashes in src/theme/vendor/README.md, as the shell's own vendored files are recorded. Biome skips the vendored directory so the file stays exactly upstream's; TypeScript still checks it. docs/licensing.md lists it among the bundled third-party assets. T3 Chat, T3's own brand palette, is in the file but is never offered. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Shell: the Environment theme in every app's document (F36 addendum, interface v1 additive) lazurio.shell.v1 gains an optional `theme` ({id, label, revision, light, dark?}, every promised colour name as a literal #rrggbb), refused on a page that belongs to no Environment. /.lazurio/shell.js declares it in the app's document: one <style data-lazurio-environment-theme> right after the tokens it installs (or in a host's own place), the light values on :root and, where the theme has them, the dark values for a host that shows dark itself (class "dark") or follows the device (data-lazurio-appearance="device"). The root is marked data-lazurio-environment-theme and data-lazurio-theme-dark only where the values hold; data-lazurio-theme="light" stays. The tokens the shell installs now end with --lazurio-color-scheme: light, so every document says the scheme of its values from the moment the script evaluates; a theme's dark values set it to dark. As the script evaluates, the theme this origin remembers (localStorage lazurio.shell.theme) is declared synchronously, before the app's own module runs; the document's theme replaces it where it differs. The elements read /.lazurio/shell.json again when the page is shown again (visibilitychange, focus), follow another tab's newer theme at once (storage) and announce every change as lazurio-theme. Interface v1 grows by declares.environmentTheme, the host attribute data-lazurio-appearance and the event; nothing is renamed or removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Theme: one record per Environment, palettes projected onto the promised names, and lazurio theme The Environment's theme record {theme, revision, setAt} (root decision 0208 point 1) lives in the install base, <base>/theme/<Folder digest>.json, beside the record of the Organization's settings: never in FolderPreferences or the profile, which feed the agents' instructions, and not in the Folder's .lazurio/, which releases before this one would refuse with an unknown entry. Every change is compare-and-set on the revision under a per-Folder flock shared by the CLI and the Launchpad; an unreadable record is Lazurio at revision 0 and the next change replaces it. The themes: Lazurio, exactly the vendored tokens' values and light only, then Grove, Ocean, Ember and Iris, each T3 Code role projected onto the promised name the fork's theme.css maps it to, converted to literal sRGB hex. Muted ink takes the sidebar's muted foreground and the quiet grey T3 Code's muted surface, so muted text holds 4.5:1 on the paper and the grey; the success colours stay the design system's (its green-300 in dark). Contrast is tested per theme and appearance. lazurio theme show|set, built as lazurio chat defaults is, gives agents the same record; set takes --expected-revision and is refused on a public Environment, whose visitors share the one theme. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Launchpad: the theme API, shell.json's theme, Apps following it and Settings → Obecné → Téma Prostředí GET /api/theme answers the record and every theme with its values; POST /api/theme/set takes {theme, revision} and changes the theme only at that revision (409 theme-changed with the current one otherwise). On a public Environment the read answers and the change is 403 public-environment: a guardrail of the Launchpad's own interfaces, not a security boundary. /.lazurio/shell.json and the page's boot document always carry the theme. The page takes its colours from the promised token names wherever the design system's own value is the same, so Lazurio looks exactly as before and another theme reaches its surfaces, lines, buttons and signals; under such a theme it also sets the twelve colour roles, so the rail and the column head follow. Apps stays light: it hands the shell the theme without its dark values, with data-lazurio-appearance="device" for later. A hosted Launchpad serves its page with the theme already in its head and on <html>, after the bundled tokens. Settings → Obecné gains Téma Prostředí: a card per theme with its light and dark miniatures, a radio group whose choice applies at once; the current theme when it changed elsewhere meanwhile; for whoever can open Settings, a Team's every member; withheld on a public Environment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Docs: the Environment theme, F36's addendum of 2026-10-18 (root decision 0208) decisions.md records the addendum: the record and why it lives in the install base, the themes and the projection table with its contrast rule, the shell document's theme, what the shell declares and when, interface v1's additions, the Launchpad's following and light-only Apps, Settings' group, the public Environment's fixed theme, the CLI, the forks' parts and the release order (the Platform before the T3 Code and MausBot forks). launchpad-development.md describes the record, the API, the CLI, the style the shell writes and the Settings group for the next developer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Theme: a public Environment reads the default Lazurio, whatever its record keeps (root 0208 point 6) Pablo's review of #493 found that an Environment which chose Ocean and later became public kept showing Ocean: only the writes were refused. Now every read on a public Environment is the default Lazurio record: `GET /api/theme`, `/.lazurio/shell.json`, the page's boot document and `lazurio theme show`. One store wrapper does it (`fixedThemeReads`), on the same `isPublicEnvironment` rule, so a theme chosen before the Environment became public, or a record written past the Launchpad, never reaches its visitors; the record itself is left as it is. Tests: the transition through a started hosted Launchpad, with a record kept in an install base before it starts, and a non-public control (it fails without the server wiring); the wrapper itself; and `lazurio theme show` over a kept Ocean on a public Environment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Launchpad: the theme's note names the kind of Environment it is in (F28 addendum of 2026-10-18) After the rebase onto #497, which makes a text about a specific Environment name its kind: Settings → Obecné → Téma Prostředí says "Barvy Chatu, Apps a Automate v {tomto}." ("in {this}"), so a Work Environment reads "v tomto Pracovním Prostředí"; the Team note says "this Team Environment" in English too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Launchpad: the theme's note takes the kind's own preposition, so a computer reads "on this computer" Pablo's review of 490fc1f found that "v {tomto}" and "in {this}" read "v tomto počítači" and "in this computer" on a workstation. #497 has tokens that carry their preposition for that: {v tomto} is "v tomto Pracovním Prostředí" but "na tomto počítači", {in this} "in this Team Environment" but "on this computer". The note now uses them. Test: the note for a workstation (cs, en), a Work and a Team Environment and an unknown kind (it fails with the earlier "v {tomto}"). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Launchpad: a public Environment hides the theme's group in a rule of its own Pablo's review of e15c728: #495 pins the exact selectors of the rule that hides Integrace, Trezor, Nástroje and Začínáme's refresh on a public Environment (tests/launchpad-apps-vault.test.ts), and this branch had added the theme's group to it. The group now has its own rule, so the pinned one stays exactly as #495 wrote it, and a test pins the new rule. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
immakermatty
added a commit
that referenced
this pull request
Oct 19, 2026
… in Apps, three kinds of words, the theme Brings #467 up to date with main (dbee5f6) after the guide F56 (#501-#503, #509), Apps → Trezor (#495, #500), three kinds of Environment (#497), one colour theme per Environment (#493) and the tour's gear stop (#475). One textual conflict, in scripts/preview-launchpad.ts: main's `team` flag for a hosted Team Environment and this branch's `workspace-tabs` flag sit side by side; each keeps its own option. The section head keeps main's accent colour (`--lz-accent`, #493) for its flag and rule. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Status: ready for review
Why
On 2026-10-18 the Organization Admin decided that people see only three kinds of Environment (root decision 0207, its addendum of 2026-10-18; plan DEV-6612, after the Lazurio prototype
HumanAndMachine-ai/prototypes-lazurio#65):Today the shell and the Launchpad still say "Automatizované", "Místní", "Tento počítač", "Lokální pracovní stanice", "Pracovní týmové", "Personal Remote Environment" and a bare "toto Prostředí" in about a hundred sentences per language.
What changes
src/shell/kind-name.ts. A port of the prototype'skindName,kindShortandkindDetail, with English added:kindDetailfor a choice that must tell an automated Environment apart: "Pracovní Prostředí s automatizacemi" / "Work Environment with automations".{tomto},{tohoto},{Toto},{v tomto},{this},{in this}…, the prototype's own tokens for its explainers), andmessages(locale, kind)fills them once per language and kind. The page takes the kind from this Environment's shell document; the server's first paint and prepared prompts take it from the same document or the Folder's preset. On a computer "v"/"in" become "na"/"on".docs/launchpad-development.md.scripts/preview-launchpad.tstakesteamorautomatedafter its mode, so a Team and an Automated Environment can be seen in the browser.For the T3 Code rebuild thread: the column head it draws takes these words from
shell.jsas they are (the kind line, the gear's label, a missing app's title). Nothing oflazurio.shell.v1or interface v1 changes, and the column head's layout and "Dokončit nastavení" are untouched.What stays
lazurio.shell.v1and its kinds (automated,workstation), preset names, message keys, routes and every click.hosted-organization-steward).Verification
bun run check:static(lint, typecheck, public-input guard, proof build and smoke): clean.bun test, the whole suite locally on a heavily loaded machine: 3958 pass, 9 skip, 9 fail. Eight failures were 5-second timeouts or their follow-on errors in process-heavy tests (module-declared-preparation,legacy-paths,organization-module-create,recover,organization-settings-surfaces,install-script); one was a wording expectation inmodule-view, fixed on this branch. Each of those files then passed on its own (6, 4, 18, 17, 6, 10 and 7 tests). CI runs the whole suite on both runners.tests/kind-name.test.ts: every kind in every case and determiner, cs and en; tokens for every kind and for none; prepositions on a computer.tests/environment-wording.test.ts: the old kinds are forbidden in Czech and English in the catalog filled for every kind and in the shell's words; a catalog filled for a kind has no plain "toto Prostředí"/"this Environment" outside the two texts above, and no token is ever left unfilled.tests/shell-picker.test.ts,tests/shell.test.ts,tests/shell-identity.test.ts,tests/apps-view.test.ts: names, kind lines, gear labels and missing-app titles per kind, cs and en.tests/machine-view.test.ts: the kind of each preset and of an unknown one, the assignment line.tests/launchpad-routes.test.ts: Toto Prostředí's title per kind.tests/vault-requests-view.test.ts,tests/module-view.test.ts,tests/first-run-shell.test.ts: the vault and prompt sentences per kind.scripts/preview-launchpad.ts, at 1440 × 900, in Czech and English, on a work, a Team, an Automated and a personal Environment and on a computer (10 runs). Each run checked the picker and its list, Obecné, and Toto Prostředí. What the page said, for example:Risks
src/launchpad/messages.ts. About two hundred lines change from "toto Prostředí" to tokens, so open PRs that touch the catalog (Apps: an Organization's own tabs in Workspace (supersedes #446's per-browser groups) #467, Apps: add Work and Administration groups within Workspace #446, Launchpad Files: grid view with image previews, colour by file kind, shorter copy #357, Tools: logo beside each tool, quieter tier names, no restating lines #320) will need a rebase; whoever lands second re-applies the tokens. A new sentence written with a plain "toto Prostředí" fails the guard test, which tells the author to use the token.environmentWordingstill lists "Místní, Automatizované Prostředí" for agents speaking to people, and the manual's glossary still names "Místní prostředí"; changing them re-renders every Folder and needs its own template revision. Nová karta, the Environment browser and the CLI keep their wording for now.🤖 Generated with Claude Code