Skip to content

v2.0.1 — the switchboard opens on what a clone would carry

Choose a tag to compare

@AleksandarBisevac AleksandarBisevac released this 01 Sep 08:19
· 6 commits to main since this release

v2.0.0 taught four
surfaces to say whether a capability would survive a clone — and missed the fifth. The Policy
tab
is the one place a reader goes to ask what governs this project, and it was still listing
everything on the machine.

Reported from a real repository: a project using a handful of committed skills listed a hundred
and twenty capabilities, every row reading policy.skills.default is allow.

What changed

Every row now carries the verdict and the basis behind it. One that stays on this machine is
badged and dimmed. Under portability: "strict" the table opens narrowed — with a control that
says how many are hidden and brings them back in one click.

What it will never hide is a row somebody wrote a rule about. The narrowing needs two things
to be true at once: the capability would not survive a clone and the policy says nothing about
it. A denied capability, an allow-listed one, and one audit itself requires all stay on screen
wherever they live — this table previews what the guard will do, and a refusal nobody can see is
a lie about that.

Both halves of that condition are proven by mutation, and the browser gate drives the real panel:
it asserts the denied row survives the narrowing, because that is the failure that would look
perfectly fine in a screenshot.

The empty state gained a third answer for the same reason. "Everything discovered here stays on
this machine"
is not "nothing matched your filter" — and the Clear-filters button would not
have brought those rows back.

Also

The portability tier was being resolved in three places after 2.0.0.
_config_rules.portability_mode owns the fallback now, and the doctor, the panel's write refusal
and the switchboard all call it.

Nothing about the manifest, the config vocabulary or the gate changed — this is a patch.

Full detail in CHANGELOG.md.