Skip to content

lampOS: a lamp with many skills: the voice loads a skill's functions when they're needed, past the 32-function cap #1668

Open

Description

@deehw

Why: the owner wants "a lot of skills and people can pick and choose" (19 Oct 07:1x). Each skill adds functions to the voice's session, and lamp_gemini::MAX_TOOLS is 32 (crates/gemini/src/lib.rs). crates/update/tests/functions.rs (#1667) counts 31 of 32 in a product session today: the voice's own 13, the actions part's 17, and Dance's 1. Desk tutor would make 33, and admitted_within (crates/voice/src/tools.rs) would drop one silently.

Build: a session declares the core functions plus one way to reach any installed skill. For example, a use_skill function whose description lists each installed skill in one line, or functions grouped and swapped in between turns. The person never hears a dropped function. Measure what it adds to a tool turn's latency (Live's tool turns are 2.02–2.21 s median on lamp-4ace this morning). It must hold for both voice routes, Live and the cascade (LAMP_VOICE_ROUTE=second).

Done means: built (behind a switch until measured), with tests, docs/ in English (and the Vietnamese counterpart where one exists), and tried on a lamp. Unprompted behaviour follows CLAUDE.md rule 8 and docs/creature.md (small, rare, never over anyone). It's built as a skill unless it is a system part (docs/skills.md; the owner, 19 Oct 07:2x: "we should try to build everything as skills. core skills like core apple apps right always installed on the phone and then installable skills like installable apps").

From the 19 Oct roadmap audit and the owner's scope decisions (first builder's record; Queue #705).

Activity

  1. deehw commented on Oct 19, 2026

    @deehw
    CollaboratorAuthor

    First builder, 09:41: the declaration check passed on lamp-4ace (see #1696, 09:4x). Left: one spoken use_skill call with a person at the lamp, timed against a direct skill call.

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

    builder:thirda lampOS task for the third builderstatus:takena lampOS builder is working on it

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions