fix: repair hook authority fallback and visible blockers - #70
Merged
Conversation
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.
Summary
agent explainreport the arbitration actually applied.Acceptance criteria
just test-one stale_full_lifecycle_hook_authority_falls_back_to_screenpassed 6 tests.just test-one unmatched_output_retires_hook_authoritypassed 3 tests.just test-one fresh_hook_state_wins_over_non_blocker_screenpassed 2 tests, including the complete hook/screen precedence matrix.visible_blockerrules above concurrent Working evidence under fresh authority; stale or quoted blocker text remains non-blocking, andagent explainreports the applied screen/hook/foreground owner.just test-one visible_blocker_overrides_fresh_hook_authoritypassed 4 tests; focused terminal and API explain suites also passed.just test-one claude_kimi_real_screen_fixtures_classify_idle_and_blockedpassed.2026.08.21.1working rules, include the bounded wrap separator from upstream PR fix: detect claude selection dialogs in narrow panes herdrdev/herdr#3165 exact headcb512903cfb5febfe7b4be5d23f91fe77f260e8b, and use fork-local version2026.08.25.1001; Kimi is bumped above2026.06.10.1.python3 scripts/agent_detection_manifest_check.py --require-websitepassed with bundled/website parity and version-floor checks.just test-one closing_block_authority_is_limited_to_live_blocked_gatespassed 3 tests.Runtime and regression evidence
wM:pJempty Claude prompt, ub1wM:pKKimi-through-Claude empty prompt, local native Bash permission, trust-folder, AskUserQuestion, and login-method panels. The ub1 fixtures were previously collected read-only; this slice performed no ub1/ub2 mutation.(?:[ \t]+|[ \t]*\n[ \t]*); blank-line, NBSP, and no-whitespace neighbours are rejected.StateChangedhandling without synthetic Idle/Done or hidden-pane Done flicker.Configuration and validation
agent_detection.full_lifecycle_hook_authority_timeout_seconds, default600, valid range30..=3600; invalid reload preserves the prior live value. Default config, parser/reload, reference JSON, changelog, and staged English/Japanese/Chinese docs are updated.#[cfg(unix)]attributes. A pinned MSVC test build compiles the full Herdr test binary through Rust code generation on macOS; only the unavailable Windows SDK link remains host-limited.just check-parallelpassed lint, Rust, Windows, maintenance, integrations, and marketplace checks with Zig 0.15.2 at head172ccc508d3b4e4a07438fddd04482bfb8e5d04e.Deployment boundary
S3 did not install or deploy any Herdr binary or agent-detection manifest on the Mac, ub1, or ub2, and did not act on any server/session. Mac manifest deployment belongs to the separately authorized final Mac rollout; ub1/ub2 remain untouched pending Matthias's later authorization.