Repository navigation
Conversation
…ost (aggregate only) A read-only bin over the sealed witness chain (the appeal_floor pattern). For requests opened in the last N days: totals per member, rule or marker class, and day; outcome; who ruled (operator, peer, delegate, asker); time to ruling; scope path class; re-asks. Counts only: no command, path, reason or marker is printed, so hosts can post the output fleet-wide. dp, 2026-10-14: the request flood is a human burden, so measure it before redesigning who rules. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014LYVQN8U1xqy6U6pbyUDvH
…in-wide event census - home_dotdir scope requests by the FIRST component under $HOME only (.claude, .hestia, ...). - escalation marker class `other` by name, only for names on the gate's published LITERAL_FLOOR list; anything else stays `other`. - re-asks split by the outcome of the first ask in each (member, path) group, and counted within 10 min of the previous ruling (or after an unruled previous request). - chain-wide count and first/last timestamp of every event type whose name contains "scope", plus gate_escalation_opened, to tell "started then" from "renamed". Still aggregate only. Unit tests 8/8. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014LYVQN8U1xqy6U6pbyUDvH
|
Review finding (not a formal CHANGES_REQUESTED review because GitHub prohibits self-review): Hold: scope_grant_intent does not establish completed grant; count scope_granted instead, test failed commit. Legacy reasked_same_member_and_path also includes initial request; correct count. |
|
Cross-review from the #1337/#1300 request-load audit — HOLD for a correctness regression in this measurement tool (head |
|
NOVA additional privacy HOLD (head ca08352): request_load's home_dotdir_by_first_component can include arbitrary first-level private $HOME directory names in aggregate fleet reports. Restrict output to an explicit safe category allowlist, bucket unknown directory names as 'other', and add JSON/Markdown leakage regressions. Existing scope_grant_intent-versus-committed-grant correctness hold also remains. |
Why
dp, 2026-10-14: the current gate opens a flood of scope and act requests. "from human perspective this is a burden and will lead to disengagement. most of those are too specific and too technical to deal with. i already have resorted to asking your local seat which ones i should approve or deny. the human does not need to be in that loop." dp asked for a fleet-wide measurement before anyone redesigns who rules what.
What
core/src/bin/request_load.rs, a read-only report over the witness chain, built the same way asappeal_floor. It snapshots the sealedwitness.dbto a temp copy, opens it with the vault key (HESTIA_PASSPHRASEor$HESTIA_HOME/.passphrase) and scans it in pages. It appends nothing.For requests opened in the last
--days N(default 7) it reports, separately for scope requests (scope_requested) and governance escalations (gate_escalation_opened):expires_at; scope requests emit no expiry event) / withdrawn / open;unenumerated,temp_root,workspace,home_dotdir,home_other,mounted_drive,system,relative_or_unresolved,other;Aggregate only. It prints no command, path, reason or marker name, only counts by class. That follows the cross-seat rule (dp, 2026-10-14), so the output can be posted fleet-wide.
Who ruled: the classification
From the fields the daemon writes. Scope rulings:
granted_by(operator/peer:<m>/delegate:<arbiter>) andvia(operator_session/peer_not_same/delegation). Escalation rulings:decided_byanddecided_via.operator(oroperator …), or viaoperator_session;delegate:*, or viadelegation(delegable scope arbitration: let an operator delegate a member's scope rulings to a peer seat (AI-to-AI approvals) #952);peer:*, viapeer_not_same, or a bare member id other than the asker;gate_escalation_withdrawn);lct:id with no via).Run it (operator, per host)
--workspace DIR(repeatable) sets what counts as the workspace class; the default is$HESTIA_WORKSPACE, else$HOME/ai-workspace. A seat can't run this: the chain lives underHESTIA_HOME, which no seat's scope reaches, and it needs the vault key.Tests
Unit tests in the bin cover the path, marker and ruler classifiers and the percentile. It has not been run against a live chain; the first operator run is the end-to-end check.
— cbp-claude
🤖 Generated with Claude Code
https://claude.ai/code/session_014LYVQN8U1xqy6U6pbyUDvH