Repository navigation
v0.80.0
Pre-release
Pre-release
Changed
- Rule values are never silently weakened. Every rule kind reads
denyandblockas the same value. An unknownseverityin a command rule, or an unknownactionin a path or arming rule, used to fall back to the weakest level (warn,note, or dropping the arming rule); it now applies atconfirm(a deny-list rule staysdeny), and a config warning names the rule, the value, and the valid values. - Arming durations: a number in
arms.foris milliseconds and a string without a unit is minutes, as before; a string also takesms,s,m, orhwith decimals ("1.5h") in every code path. A config warning names a rule that arms for under one second and a string with no unit. - A project file may make the action guard and security stricter, never weaker. It can no longer set
enabled,action.enabled, orsecurity.enabledtofalse, raiseaction.irreversible.warn,action.irreversible.confirm, orsecurity.thresholdabove the user's value, remove a tool fromaction.tools(it may add one), or setaction.failOpentotrueover the user'sfalse. Each ignored value gives one config warning. Other guards stay tunable both ways from a project file. - Config warnings: a value pi-warden cannot apply as written is shown once when a session starts and again in
/warden status. action.shouldProceed.holdis renamedaction.shouldProceed.threshold; it never held a call. The old name is still read through 1.x and is deprecated.- An arming rule with no
actionis still ignored, and now gives a config warning naming the rule. - Removed the settings nothing read:
learning.adaptiveThresholds,learning.minHoldsForAdaptive,learning.adaptationRate, andconscience.loadThreshold. A config file that still sets them loads as before.
Fixed
learning.retentionDays: 0keeps every hold record, as documented; it used to become 365.- The capability index files that
/warden indexwrites are owner-only, as documented: the folders are created0700and each file is written0600through an atomic replace; before, they had the default permissions.
Docs
docs/configuration.mdlists the project-file keys that only get stricter, documentswidget.barModeandstuck.churnThreshold, and the lab profile now turns the security guard off in the user file.docs/commands.mdhas a row for/warden enableand shows/warden init [--force].docs/data-handling.mdlistssteer-stats.json, the capability index files, and the migration notice marker.docs/extension-authors.mdnames exactly the exports semver covers; every other export is internal.README.mdhas a Versioning section that says what semver covers from 1.0.CONTRIBUTING.mdgives the hold threshold as 0.9.