Skip to content

v0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Aug 15:19

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.