PackageTrack
Sign in Get early access

github.com/lajosdeme/mole

v0.1.0 #2787 most downloaded on Go modules lajosdeme/mole

What this package is like to depend on

Last release 11 days ago

13 Aug 2026

Too new to tell

only 1 dated releases

Nearly every release is documented

notes for 1 of 1 stable releases

Nothing withdrawn

no release was ever pulled

0 months old

1 releases · first in 2026

1 release in the last 12 months

see the full history below

Release timeline

1 releases · Aug 2026 to Aug 2026
Release Pre-release

Releases

latest 1
  1. v0.1.0 13 Aug 2026
    Release notes

    Changelog

    • c696058 Clean up CLA by removing review markers and notes
    • eb6b873 Delete docs/DESIGN.md
    • 400adb1 Delete mole-architecture-sketch.md
    • 38122d8 Revise README to simplify claim verification section
    • 2f8a1dc Update README by removing unneeded sections
    • fcb9237 delete docs folder
    • d18a585 docs(dataset): M9 in the README, including the two measures that failed
    • 5ab1a53 docs(eval): adjudicator verdicts depend on batch size, measured across 261 pairs
    • a035a14 docs(eval): the adjudicator agrees with itself 80% of the time
    • ad9df1b docs(go): package docs read as documentation, not as a build log
    • cf2c180 docs(readme): toolkit mode, with what it costs
    • a0568b8 docs(toolkit): the proposal now describes the code, plus two smaller fixes
    • 9f64cd6 eval(corpus): re-record with the confirm pass on
    • dd49f65 eval(corpus): record the contradiction corpus, and bound the labelling to 159 pairs
    • 4ab93da eval(pairs): contradiction precision is 51%, and the scorer was hiding it
    • 95c525d eval: draft the contradiction-recall question set (§14.2)
    • dd8a61c feat(academic): PubMed search and resolve, with PMC full text
    • ecd3107 feat(academic): Unpaywall — DOI to a copy mole can actually read
    • 5f1bc71 feat(academic): arXiv search and resolve — tier 0 of the ladder
    • 5a7b31a feat(academic): the provider seam, and the contact-email gate (§10.3)
    • 63b8e04 feat(actors): consult Unpaywall at escalation, and correct its billing
    • 68275ff feat(actors): share the mining pipeline, and add the AcademicActor
    • d6e2b65 feat(actors): tier 1 — escalate to ranked full text when the abstract falls short
    • c92e1e9 feat(ask): research.ask — query a finished session's graph (§13)
    • eb022fd feat(budget): warm the cost estimator from this install's history
    • bd32de7 feat(cli): mole ask — query a finished session from a terminal
    • 60da7fb feat(cli): report progress during a run, so planning does not look like a hang
    • 408e983 feat(compute): CodeRunner — the boundary moves inside the container
    • 12fa1bd feat(compute): detect the sandbox, verify its flags, require neither
    • 43de428 feat(compute): register local data behind a handle that cannot write
    • 19cd98f feat(compute): statistical validity, so two means are not a finding
    • 4dc9cd6 feat(compute): the LocalComputeActor — a model chooses the question, never the SQL
    • b89c7b1 feat(compute): the aggregation gate, enforced by a type rather than by discipline
    • 9920dbd feat(compute): the audit trail as a table, and §14.3's exfil number measured
    • aaa8f4f feat(compute): the parse gate, half of it over tokens because Walk has holes
    • 802e7ad feat(daemon): mole serve — unix socket, peer checks, graceful stop
    • 99cd343 feat(dataset): persistence, --mode dataset end to end, and mole dataset
    • 2e3080d feat(dataset): rows extracted in the same call as claims, verified the same way
    • 3a62118 feat(dataset): the cross-source merge, and the numbers that justify it
    • d78cd14 feat(dataset): the schema, the row, and two output formats that are not equivalent
    • fe39e25 feat(dev): measure academic PDF coverage, and act on the number
    • 41e9f86 feat(doctor): check the MCP socket for real, and the config file for keys
    • 6136304 feat(eval): M6 verified live; citation accuracy no longer fails on moved offsets
    • 0e4068b feat(eval): effect-weighted accuracy, and the first labelled pair score
    • 629d61b feat(eval): measure whether the adjudicator is RIGHT, not just what it found
    • bb7bae4 feat(eval): re-judge a session's pairs with another model, and measure self-consistency
    • 443d1b2 feat(eval): score judge agreement by what it changes, not what it says
    • 4194f02 feat(eval): the dataset numbers that need no labelled data
    • 6dad9c9 feat(executor): default to four workers, and refuse a pool with a cassette
    • a7a1274 feat(executor): per-session worker pool with a replan barrier
    • 1b0f7aa feat(llm): give a reasoning model its own token allowance
    • e866060 feat(llm): make the call timeout and the adjudication batch size configurable
    • 6c27580 feat(m1): Brave and Tavily search providers, user-selectable
    • 5317b9f feat(m1): WebActor — search to cited claims, with quote verification
    • 3ba134f feat(m1): guarded fetch layer with outcome classification
    • 90bcf26 feat(m1): llm provider layer, chunker, and credential auto-detection
    • 4bea2d0 feat(m1): mole research — one lead, end to end, through the real ledger
    • 1132d1e feat(m1): readability + structured-data extractor
    • 7677b25 feat(m2): a corpus runner, so regressions can block a merge
    • 6709a1a feat(m2): cassette wiring and mole stats --fetch
    • 2f404c6 feat(m2): citation accuracy, and --always-fetch so it can be collected
    • 80585d7 feat(m2): mechanical scorer — mole eval
    • e83466c feat(m3): artifact cache — result-returning, keyed on the artifact
    • 7c5e8bc feat(m3): executor loop and the §9.5 error policy
    • a1e3e8f feat(m3): lead queue with leases and crash recovery
    • c2ac84a feat(m3): planner — rolling digest, batched replan, depth cap
    • fafa32c feat(m3): reclaim abandoned sessions at boot — the third half of §9.4
    • a270dff feat(m3): report output, and mole research on the planner loop
    • dc91f93 feat(m4): budgeted re-fetch grounding
    • 641f6df feat(m4): derived confidence from graph structure
    • 8a3d542 feat(m4): edge inference, batched and deduped from the start
    • f316589 feat(m4): lexical candidate retrieval for the claim graph
    • 2218840 feat(m4): the Verifier runs in the loop, and its caps can actually bind
    • 4da86ee feat(m4): the claim graph store, with the invariants the schema cannot hold
    • 3b447fe feat(m4): the report collapses duplicates and discloses disagreement
    • 3e12dc9 feat(mcp): mole-mcp — the disposable stdio shim
    • 672c6cb feat(mcp): the daemon speaks MCP — five tools over the socket
    • 3b881b9 feat(mcp): toolkit slice 1 — sessions, search, fetch behind --toolkit
    • c02e782 feat(mcp): toolkit slice 2 — a claim an agent's model cannot fabricate
    • 46ca552 feat(mcp): toolkit slice 3 — §12's boundary, for somebody else's model
    • fbd7b2d feat(pricing): register DeepSeek, measured rather than assumed
    • d4b2ade feat(release): five install channels from one tag
    • d665cae feat(session): background supervisor for daemon-run sessions
    • e777621 feat(stats): compare every pair of groups, with a Holm correction
    • ed40a5b feat(stats): holdout stability, the last column of §4's row
    • 2a9c95a feat(store): the document store, with a retention rule that holds (toolkit slice 0)
    • abfbd39 feat(toolkit): slice 4 — the agent judges pairs, mole keeps the graph
    • 49151cf feat(toolkit): slice 5 — a dataset the agent fills in, under the same quote rule
    • eee907a feat(verifier): confirm an edge before writing it
    • 85bbe6b feat: M0 foundations — store, ledger, cassettes, tracing
    • 8e7685a feat: a separate model for judging claims
    • c5c3837 feat: wire the AcademicActor into the CLI, behind --actors
    • c2e27d1 fix(actors): "no claims" is an answer, not a parse failure
    • 01c6053 fix(actors): a quote may not drop the qualification it was supposed to carry
    • 57813c6 fix(actors): persist a local session's claims, found by a live run
    • 4ea617e fix(actors): salvage complete claims from a truncated model response
    • 21a0f11 fix(budget): count leads inside the reservation, so MaxLeads binds under concurrency
    • c6bda46 fix(budget): one bad reservation must not abort the whole recovery sweep
    • 556611d fix(cli): a fresh install is not a broken one, and version reports the build
    • 515fb7a fix(cli): actually wire the progress printer, and test the wiring
    • 3105705 fix(cli): isolate the CLI tests, and classify an interrupted plan as cancelled
    • 413c0e2 fix(cli): parse flags after positionals, and refuse a key from another vendor
    • 4c950ea fix(compute): the M8 review's connector, sandbox and contract findings
    • 399d84e fix(compute): the M8 review's privacy and statistics findings
    • 643958e fix(compute): the rest of the M8 review — duplication, tests, and honesty
    • 45bf963 fix(dataset): M9 verified live, and the three defects that run exposed
    • b81059d fix(dataset): a CSV that a spreadsheet executes, and an accent table that drifted
    • e7f267f fix(dataset): the M9 review's findings, and the counters that were missing
    • a45ae22 fix(dev): the coverage command could report a wrong number four ways
    • 7d1e27e fix(eval): a local claim cites a connector, not a URL
    • 5f2e05c fix(eval): report metric values in the unit their label claims
    • 4536610 fix(llm): diagnose empty output from a reasoning model, and give it headroom
    • c919d01 fix(m1): close the four gaps between what the docs claim and what the code did
    • e34cab4 fix(m3): bound the actor by its reservation, and three injection/collision bugs
    • d195ea7 fix(m3): budget accounting, crash recovery, and lease correctness
    • 64bd14f fix(m4): four defects a live run exposed
    • 7d02b59 fix(m4): max_leads blocked verification, and a skipped grounding pass said nothing
    • df03837 fix(m4): review round two — the cap erased disagreements, and four untested paths
    • 770010a fix(m4): review round — two budget/liveness bugs, five injection paths
    • b76f882 fix(m4): stop the extractor's self-reported confidence from ordering the report
    • 3c56fdf fix(planner): guard the Digest, and record the shared-state audit
    • 76ba73b fix(planner): tell the replan how much allowance is left, and name the depth cap
    • 5339018 fix(pricing): a dated model snapshot prices as its base model
    • 76336a8 fix(record): a prompt fence made every LLM interaction unreplayable
    • 7780354 fix(store): pin claim order with an explicit sequence
    • 851f73a fix(toolkit): a toolkit session is now distinguishable, closeable and scored
    • ed38897 fix(toolkit): retention that runs, dates that survive, citations read from disk
    • 33cfcb8 fix(toolkit): the graph the agent builds is now the graph mole would have built
    • 00b9f4e fix(toolkit): the phase review's severe findings — audit, budget, provenance
    • 2fbdd25 fix(verifier): deterministic scoring — a map range was summing floats
    • bbc42f5 fix(verifier): report a batch that answered fewer pairs than it was asked
    • b257254 fix(verifier): tell the adjudicator how many verdicts it owes
    • 93c8631 fix(verifier): the adjudicator's output budget was sized for a non-reasoning model
    • 32c4b18 fix: M5 review round — six defects that could end or corrupt a session
    • e9d02d4 fix: M6 review round — silent text corruption, dead escalation, and six false claims
    • 87c2cb2 fix: M7 review round — ceiling bypass, lost reports, orphaned sessions
    • 154f7b7 fix: clear the M7 deferred review list
    • 7ae0f94 fix: four review leftovers — publisher identity, one toolCall, corpus actors, dead fields
    • ecd4335 fix: six problems the first live run exposed
    • b69bf26 refactor(cli): port the command tree to cobra
    • 560da9a refactor(m4): output stops re-deriving the graph, and four smaller review items
    • 5c22ed1 refactor(m4): share the JSON-tolerance layer, record the grounding fetch, drop dead code
    • 6b92680 refactor(session): extract the research loop from the CLI
    • 5cf517b refactor(verifier): three relations, because three is what the graph reads
    • 8ae56d9 release: the name is taken twice, and the installer could not resolve a version
    • 7283c93 spike(toolkit): measure whether a fence holds in an agent's prompt
    • 562edd7 spike(toolkit): verify Instructions and the fence over a real MCP socket
    • 08e35cd test(cli): pin both halves of the product/dev command split
    • cc0b6ff test(coderunner): run real Python in the sandbox, closing the interpreter gap
    • bdc96c7 test(compute): the exfil property, and the two leaks it found
    • 5b6cb08 test(eval): update two fixtures the vocabulary normalisation invalidated
    • 4aabd40 test(executor): pin the pre-M5 concurrency baseline
    • c959ccc test(m3): fix nine vacuous tests, cover four untested guarantees, drop dead code
    • 357aaf0 test(sandbox): verify the podman path, and fix the helper that hid it
    • 68ec937 test(toolkit): the bounds this surface declares now have tests

    Install

    curl -fsSL https://raw.githubusercontent.com/lajosdeme/mole/main/install.sh | sh

    Or see the README for Homebrew,
    AUR, .deb and building from source.

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive