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
#384 moved ufw out of the Ubuntu-only fence, and #412 makes Debian stable 12+
an eligible host. Six of the eight Ufw* entries in KNOWN_ACTIONS still tell
the planner they are Ubuntu-only, and all eight are in the Debian catalogue.
Measured at f5dffd8 with #412 and #415 applied:
$ # "Ubuntu only" still present in the planner description?
UfwEnable YES UfwDisable YES
UfwAllow YES UfwDeny YES
UfwReset YES UfwLimit YES
UfwStatus no UfwDeleteRule no
UfwStatus and UfwDeleteRule lost the phrase in #415, because that PR touched
them. The other six were never touched and kept it.
Why it matters
The description string is not a comment. propose_plan_tool_def builds the tool
definition from KNOWN_ACTIONS filtered by available_on, so the text reaches
the model. Building both catalogues and diffing them shows all eight are offered
on Debian:
No Ufw* action is in that list. So on a Debian 12 host the planner is handed six
actions it is allowed to use, each described as unusable there. The likely
outcome is a model that declines to plan a firewall change on Debian, or plans
one while contradicting its own catalogue. Neither is a crash, which is why
nothing catches it.
Sweep the rest of KNOWN_ACTIONS for the same staleness rather than fixing
only the Ufw* prefix. #384 re-partitioned several families and the
descriptions were not part of that diff.
The interesting part, and the reason this is not a one-line change: add a test
that derives the claim from the fence. An action whose description says
"Ubuntu only" must be in UBUNTU_ONLY_ACTIONS, and one that is in that list
should say so. That is a mechanical check against the production lists, and it
is what stops the next re-partitioning from leaving prose behind.
Difficulty
Easy to fix, and the test in the third bullet is what makes it worth doing.
Without it this recurs on the next family change.
#384moved ufw out of the Ubuntu-only fence, and#412makes Debian stable 12+an eligible host. Six of the eight
Ufw*entries inKNOWN_ACTIONSstill tellthe planner they are Ubuntu-only, and all eight are in the Debian catalogue.
Measured at
f5dffd8with#412and#415applied:UfwStatusandUfwDeleteRulelost the phrase in #415, because that PR touchedthem. The other six were never touched and kept it.
Why it matters
The description string is not a comment.
propose_plan_tool_defbuilds the tooldefinition from
KNOWN_ACTIONSfiltered byavailable_on, so the text reachesthe model. Building both catalogues and diffing them shows all eight are offered
on Debian:
No
Ufw*action is in that list. So on a Debian 12 host the planner is handed sixactions it is allowed to use, each described as unusable there. The likely
outcome is a model that declines to plan a firewall change on Debian, or plans
one while contradicting its own catalogue. Neither is a crash, which is why
nothing catches it.
Scope
two it touched. ufw is a Debian-family tool, not an Ubuntu-identity one.
KNOWN_ACTIONSfor the same staleness rather than fixingonly the
Ufw*prefix.#384re-partitioned several families and thedescriptions were not part of that diff.
that derives the claim from the fence. An action whose description says
"Ubuntu only" must be in
UBUNTU_ONLY_ACTIONS, and one that is in that listshould say so. That is a mechanical check against the production lists, and it
is what stops the next re-partitioning from leaving prose behind.
Difficulty
Easy to fix, and the test in the third bullet is what makes it worth doing.
Without it this recurs on the next family change.