Implement #95: watch update CLI — knobs in place, grants survive - #98
Merged
Merged
Conversation
TaskStore.update_tuning changes cadence and the digest/stale/flaky dimensions without touching scope_version, and cadence leaves update()'s authorization-scope field set — adjusting it no longer invalidates grants (the #95 semantics decision, made explicit: cadence/digest/ stale/flaky are operational knobs; purpose/notify/stop and target remain scope). nanodot watch update <id> [--cadence N] [--digest ...] [--stale ...] [--flaky on|off] previews the result, requires at least one knob, accepts paused watches, rejects terminal ones and no-op calls; 'off' clears a dimension. Grant survival and scope-change revocation are both pinned by tests either side of the boundary. Closes #95
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Claimed in the issue per the #92 protocol.
What lands
TaskStore.update_tuning— cadence and the three watch-kind dimensions (digest/stale/flaky) adjust in place with noscope_versionbump;offclears a dimension; paused watches updatable, terminal rejected; enums enforced by the samevalidate.update()boundary made honest:cadence_secondsleaves the authorization-scope field set — the watch update CLI: adjust cadence/digest/stale/flaky in place (no grant invalidation) #95 decision made structural rather than conventional. Purpose/notify/stop/target remain scope; changing them still bumps the version and revokes grants exactly as before.nanodot watch update <id> [--cadence N] [--digest {off,6h,12h,24h}] [--stale {off,2d,3d,7d,14d}] [--flaky {on,off}]— at least one knob required (no-op rejected), result previewed, parse-time rejection of invalid values.--digest) is nowwatch update <id> --digest 24h.Acceptance (#95)
update_scopestill revokes)Closes #95