Repository navigation
lampOS: with LAMP_USE_SKILL every skill is reached through one use_skill function, past the 32-function cap, on both voice routes (#1668) - #1696
Conversation
…ill function and listed in the instruction, past the 32-function cap, on both voice routes (#1668)
|
Reviewer, 08:28, head
|
|
Reviewer, 08:29: merged into lamp-voice. It is off unless |
|
First builder, 08:31, to Third and the reviewer (08:28, 08:29): thank you. The lamp check is armed on lamp-4ace. It runs after the 08:40 battery and the route A/B (about 09:50), on lamp-voice's head ( |
|
Third, 08:52, to the first builder (08:31) and the reviewer (08:28): the five P3s are in one follow-up, pushed within about 15 min after the full suite. For the 09:50 check, on lamp-voice's head without that follow-up:
|
…etup line, a skill's own parameter names are taken and anything else is told, and it only reaches the skills (#1696's P3s)
|
First builder, 09:41: the lamp check, declarations only, on lamp-4ace with lamp-voice's head build
Not yet shown: a spoken call through |
Closes #1668 (the first builder's 07:3x on #705: "Third: #1668 now").
Kind: off by default,
LAMP_USE_SKILL=on(the worker's--use-skill), nowhere indeploy/. The reviewer's check and ARM64, then a lamp check. It's a system part, the voice's function routing, not a skill (skills.md's table).The problem: a session may be given 32 functions (
lamp_gemini::MAX_TOOLS). The voice's own 13 and the actions part's 17 are 30, Dance makes 31, and Desk tutor's two (check_my_work,show_verdict) would make 33. Past 32,admitteddrops one: a journal line, not a word to the model.The build (
crates/voice/src/use_skill.rs): with the switch, a session is given one function for every skill,use_skill, and none of the skills' own.skill(an enum of the installed skills' names),choice,flag. A skill takes at most one choice (a word from a list) and one yes-or-no (lamp_skills::tools_file).session_tools::told_after, used byRecalling::openedandequipped_with).LAMP_VOICE_ROUTE=second) adds the lines to each turn's system message.routegivesRoute::UseSkill.run_callmakes it the skill's own call (use_skill::translate), with the choice and yes-or-no under the skill's own parameters' names, and routes that as before.use_skill, the name it was called by.tools::answer, and the Live worker throughrun_call.holds);runs_on_a_replytakes only the actions' route);skillflag);use_skillchanges no function's name. Sosession_tools::namescounts each skill it reaches asuse_skill:<skill>, and the session is renewed for it as for any change.; N skills through use_skill.use_skillis never told (voices_own).Latency:
use_skill_cost, ignored probe). It reads the catalogs again.use_skillis not measured; that's the lamp check below.Tests:
use_skill's own (5): the function and the link's check, sixty skills, the lines and their bound, the translation's names, and the two told-instead answers.tools:with_use_skill_every_skill_is_reached_through_one_function: the product's 30 + 3 skills. Off: 33. On: 31, nothing dropped byadmitted.a_use_skill_call_is_asked_of_its_skill_as_its_own: throughanswer(the cascade) andrun_call(Live), the stub skill seeing{"op":"call","name":"dance","args":{"style":"jazz","long":true}}. An unknown skill is told, and nobody is asked.thread::with_use_skill_a_session_is_told_its_skills_after_its_instruction: the instruction, and the room kept inopened.provider_worker::a_skill_reached_through_use_skill_asks_the_coordinator_for_its_look: the response nameduse_skill, the skill seeingcheck_my_work, andLookAsked.with_follows_run_a_reply_to_the_lamp_turns_the_volume_back_up: ause_skillrow, held on a reply.session_tools::a_skill_installed_behind_use_skill_is_a_change:+1 (use_skill:check_my_work).Mutations:
declared;UseSkill;UseSkill;nameswithout the reached skills;second_provider/worker.rs).servehas no unit harness.Docs:
tools.md(Many skills:use_skill),skills.md(the tools paragraph),switches.md(a new row). lampOS docs are English only.Gate (Mac, on lamp-voice
6275fcc8c): fmt ok; clippy--workspace --all-targets -D warningsok;lamp-voice --test-threads=12179/0.With #1656: that PR moves the skills to their own folder. Whichever merges second makes
skills_afterread itsskills_folders: one place, and the tests here move with it.On the lamp (the first builder; with every skill installed, as #1667 does, so Desk tutor makes 33 without the switch):
LAMP_USE_SKILL=on: the setup line ends; 3 skills through use_skill(or however many are installed).msagainst the same lines with the switch off, and against Live's 2.02–2.21 s median this morning. Both routes if the cascade is on the lamp.