Skip to content

0.1.4 — the tool was pointed at itself

Latest

Choose a tag to compare

@moongioh moongioh released this 13 Jul 07:31

Source release — PyPI and npm still serve 0.1.3. pip install hscope / npx -y hscope give
you 0.1.3 until this is uploaded. To run 0.1.4 today, use this tag from source
(docs/RUN-FROM-SOURCE.md).

Two rules were reporting things that were not true, and a third was reporting a number that could
not be false. All three were found by pointing HarnessScope at the workspace that builds it — and
not believing its top finding.

Fixed

  • A paged read is not a re-read. The duplicate key was (agent_id, path), so reading a large
    file in chunks (offset=501) was indistinguishable from reading it twice, and R8 charged every
    new chunk as tokens the context already held. 692,292 of 854,334 reported waste tokens (81%)
    were that.
    The key now carries the span. R13 (dead-context) goes up as a result: reads that
    were wrongly deduped had been excluded from its analysis, so it had been under-reporting.
  • R6 no longer reads today's disk to judge a past session. Plan status came from the status:
    frontmatter at judge time, so approving a plan rewrote the verdicts of sessions that had already
    ended: 21 fail-severity violations vanished from a three-week-old session that had not changed
    by a byte — and, the other way, sessions that really did implement under a proposed plan were
    absolved the moment it was approved. The status now comes from the session's own transcript, and
    a status the transcript never showed is not judged at all: the harness records a read's
    length, not its content, so inferring one from disk was the bug itself.

Changed

  • R1, R2 and R6 ship disabled, each carrying its measured false-positive rate in a new
    first-class precision field. They answer semantic questions — is this a domain question? was
    this fan-out warranted? — with syntactic tests, and 84% of R2's violations were turns invoking a
    command whose whole job is to fan out. A proxy that does not track the concept cannot be tuned
    into one. Off is not the point; off, and here is why, with the number is the point.
  • R8 is a meter: its opportunities are its violations by construction, so "0% compliance"
    was an identity, not a finding. It reports its quantity and no ratio.
  • A first run now judges with 10 rules, all of them things a transcript can actually settle.
    hscope onboard names the rest out loud: disabled, so not judged at all.

A finding you cannot reproduce from the raw records is a claim, not a measurement. hscope doctor
already enforced that on the parser; this release turns the same standard on the rules.
docs/MULTI-AGENT.md
carries the query that catches it.

verify_all 20/20 on Windows, macOS and Linux. doctor holds every invariant over 289 sessions
spanning Claude Code 2.1.165 … 2.1.207 (29 harness versions).