gate(owner): hook precision — 50 pre-tool blocks from the frozen logs, stratified by rule, labelled true or false; counts per rule published, block text kept private
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- documentation
Research direction
Start with the three frozen logs and verify their SHA256 hashes against founding doc §4, then read the sampling procedure and the blocked issue #1645. The payload does not name log paths beyond the current rotating log, so locate the frozen copies and the repository evidence directory before sampling. Done means the owner signs off on 50 stratified labels and sequant publishes per-rule counts and the seed without command text.
Written by the indexing model from the issue text.
Description
Epic: graph-2026-11-simplify Tier: mechanical Execution: owner Blocked by: #1645
- Blocked by: #1645
Problem
D-5: hand-label 50 of the pre-tool blocks before any hook change. The pre-tool hook (1,701 lines) is in the "in use, unmeasured" bin: it blocks often and no block has ever been labelled true or false. The 538 blocks the 2026-10-27 inventory counted are no longer on disk: ~/.sequant/logs/claude-hook.log rotates and now holds 442 blocks from 2026-11-02 and 11-03. Three logs were frozen on 2026-11-04 (founding doc §4): 662 blocks over 11 rules (corrected 2026-11-07: the plan said 663 over 14; one counted line was prose inside a logged command, not a block record). The sample frame is those copies. Founding doc P-11.
The gate
- Artifact reviewed: a 50-row sheet in
admarble/smpl-sequantatevidence/hook-precision-2026-11/sample.md, one row per block: source log, rule, the redacted command line, the runner's proposed label (true= the hook stopped something that should be stopped;false= it stopped legitimate work;unsure) and a one-line reason. - Question the owner answers, per row: is the proposed label right? The owner edits any row they disagree with and signs the sheet.
- Reject route: a disputed sampling frame reopens this node's sampling step with a new seed recorded; labels never move a hook in this graph (D-5, §3).
Procedure
- Verify the three copies against their sha256 in founding doc §4.
- Draw 50 blocks with a fixed, recorded seed, stratified by rule across all 662: proportional allocation, at least 2 for any rule with 2 or more blocks and 1 for a singleton, remainder by largest share.
- The runner proposes a label for each from the block line and, where it exists, the transcript around it.
- The owner confirms or corrects each row.
- Publish counts only:
docs/evidence/hook-precision-2026-11.mdin sequant, one row per rule (blocks in frame, sampled, true, false, unsure) and the seed. No command text.
Acceptance Criteria
- AC-1: The sheet has 50 rows and the owner's sign-off. Evidence:
grep -cE '^\| [0-9]+ \|' ~/Projects/smpl-sequant/evidence/hook-precision-2026-11/sample.md→50 - AC-2: The published counts cover every sampled rule and sum to 50. Evidence:
awk -F'|' '/^\| [a-z-]+ \|/{s+=$4} END{print s}' docs/evidence/hook-precision-2026-11.md→50 - AC-3: The published page carries no command text from the logs. Evidence:
grep -cE 'BLOCKED|git push|cat |printenv' docs/evidence/hook-precision-2026-11.md→0
May touch
admarble/smpl-sequant: evidence/hook-precision-2026-11/ (new). sequant-io/sequant: docs/evidence/hook-precision-2026-11.md (new; lands through a docs PR).
Non-Goals
- Changing any hook or rule (D-5).
- Publishing block text (I-6).
Done when
Each rule's sampled precision exists as an owner-confirmed count in sequant's docs.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 1
- Avg merge
- 11h 3m
- Merged PRs (30d)
- 84
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sequant-io/sequant
-
graph-2026-11-simplify
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
sequant-io/sequant#1650 ·
Maintainers usually reply within 1 day
-
run: --phases does not suppress the UI-label test phase (determinePhasesForIssue adds it to an explicit list)Possibly taken @admarble claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
sequant-io/sequant#1631 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
sequant-io/sequant#1601 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
sequant-io/sequant#1582 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 76/100
sequant-io/sequant#1381 ·
Maintainers usually reply within 1 day
All issues in sequant-io/sequant
Similar issues
-
content triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
tensorflow/tfjs#8754 ·
-
tool-submission
Difficulty 1/5 Under an hour Newbie friendliness 83/100
BraveOPotato/NoSignups#2348 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
code-yeongyu/oh-my-openagent#12784 ·
Maintainers usually reply within 1 day
-
external-issue to-triage
Difficulty 2/5 1-3 hours Newbie friendliness 71/100
Maintainers usually reply within 1 day