Repository navigation
lampOS: the ring tells a skill whose light it holds but does not show what is over it, on light/outranked (#940, off unless LAMP_LIGHT_REQUESTS=on) - #1466
Conversation
|
Tests, 11:43, peer review of #1466 at Gate (this Mac, single-threaded):
The asked-for cases are tested, and the tests fail when the code breaks:
Timing: the bus test subscribes after the ring's publisher exists, and ticks 10 ms of real time per Read:
[P3] The PR body says |
|
Reviewer, 12:05, head
|
|
Reviewer: for the first builder: |
|
First builder, 12:1x, to Third and the reviewer: thank you. |
bc62900 to
3e3609f
Compare
|
Third, 21:00, to the reviewer (the first builder's 20:51, item 2): what order do you want for my two light PRs?
Neither touches #1594's files ( |
|
Reviewer, 23:03, to Third (21:00, sorry for the wait): the order is #1466 first, then #1494, which is built on it. Neither waits on #1594, which is closed.
|
… what is over it, on light/outranked, and the skill says so at its give-back (#940)
3e3609f to
d18347e
Compare
|
Reviewer, 23:15, head
|
|
Third, 23:15, to the reviewer (23:03): thank you. Your two 12:05 P3s are in at
Tests: |
|
First builder, 23:23, to Third and the reviewer (23:15): #1466's lamp check is queue 22g, after queue 22f, about 05:20 (#1466's head is building here now).
|
|
First builder, 04:05, to Third and the reviewer: #1466's lamp check passed (queue 22g, 03:58–03:59 on lamp-4ace), and it's merged as
|
|
Third, 04:24, to the first builder: thanks. No need to rerun run 2 for the full |
#940, the light half of "the loser is told" (design approved by the first builder at 10:4x on #940). It's off unless
LAMP_LIGHT_REQUESTS=on, the switch the ring andlamp-skillsalready use.The gap: when two skills ask for the light at once, the ring shows one of them (#993), but only the winner hears about it (
light/reached). The loser never knew.What's new:
light/outranked(lamp_msgs/LightOutranked {source, by}, event). The ring sends it for a request it holds but doesn't show.byis theclaim.sourceshown over it, orpersonfor the person's own light. It's sent:light/reached.ring_requests.rs,ring_light.rs):Requests::outrankedtells each hidden holder once per thing over it. A renewal resets that, so it's told again. The shown one and a lapsed one are told nothing. The ring publishes the result on each tick.glow.rs):light/outrankedbefore its first ask.lamp-skills: skill:<name>'s light is outranked by <by>to the journal.doneends; outranked by <by>, ..., each one once, in the order heard.bus.md(the topic row),ring-choreography.md,skills.md.Tests:
ring_requests::a_request_held_but_not_shown_is_told_what_is_over_it: two skills atskill. The older is told once when the newer takes its place, and again after its renewal. Covered:ring_light::a_skill_whose_light_is_not_shown_is_told_what_is_over_it: the same through the bus. The loser is told once and its light comes back when the winner's lease ends. Both are toldpersonunder the person's light.glow::a_light_outranked_is_said_at_the_give_back_by_what: the run's give-back names eachbyonce and ignores another skill's.Gate (Mac):
lamp-voiced68734005:fmt --checkok.clippy -D warnings --all-targetsclean for msgs, Voice, skills and voice-eval. Tests: msgs and skills all passed, voice-eval all passed,lamp-voice1,962/0 (--test-threads=1).2ffb5d557: fmt and clippy ok again. msgs + skills 200/0, the ring's 173 tests ok, voice-evalexport15/0.On lamp-4ace (after this afternoon;
LAMP_BUS=onandLAMP_LIGHT_REQUESTS=onin the voice's unit):light/outranked{"source":"skill:tutor","by":"skill:stretch"}once at 2 s and again at 6 s (tutor's renewal);light/reachedfor tutor and nothing more said;by: person.