Skip to main content

Fux

Deterministic knowledge retrieval for AI-assisted codebases — rank from a small git-carried index, fetch content from the systems that own it, verify at answer time.

Status (2026-08-19): M2 shipped — the accelerator is in. From any repo:

fux setup                # writes the files you own, write-if-missing
fux ingest               # builds the committed .fux/index/*.jsonl (+ the accelerator)
fux ask "your question"  # ranks with BM25F, cites the source file
fux find "your question" # ranked locations, one per line
fux answer "a question"  # the single best answer the index can give

What fux indexes is two committed files, not config. .fux/sources/dirs and .fux/sources/urls, one entry per line, on one grammar — so a 5 000-entry corpus diffs and merges line by line, and the loader sorts so file order can never change a committed byte. Warm ask is measured at a worst-case p95 of 27.2 ms on 8 870 RFC documents — against a pre-registered 150 ms bar, where the reference scan takes 4.2 s (prediction R3 PASS, the run).

The speed comes from a derived index under .fux/runtime/ — never committed, rebuilt from the committed shards by fux build. It is bound by a differential law: its results are byte-identical to the reference scan's, asserted over thousands of comparisons rather than spot-checked. fux ask --scan forces the reference path.

A dense lane exists behind ask --hybrid and is off by default — on the graded corpus it closes three known gaps and breaks nine working queries, so the default is a measurement rather than a preference.

URLs join the corpus through a consumer-owned fetcher file. fux setup writes two — http.py (a plain stdlib GET, the default) and cdp.py (Chrome DevTools Protocol, also pure stdlib) — into .fux/fetchers/, where they become your code and fux never rewrites them. Record a URL with fux url <URL> [--cdp] [--plain], then fux ingest --refresh-urls — the only networked path in the engine. A line picks its own fetcher; nothing escalates automatically (ADR-URL-LIST · ADR-FETCHER). No graph query lane yet (M3). The v0.26 engine and its docs are archived under archive/v0.26/, reference-only. The new architecture is specified in work/paper/the-fux-index-paper.md (§4–§6 knowingly stale until M6) and built against the ADR register.

The pruning gate closed (2026-08-09): FAIL. Keeping only each document's top-k terms was measured, twice, against a corpus that could actually test it — no selector came within 35.9 points of preserving candidate recall at a 6 % budget. The committed index carries full postings, permanently — P1-RERUN.

The idea

  • Sources own content. Repo docs stay in git; Confluence pages stay in Confluence. Fux never keeps a durable copy (except explicit per-source snapshot policy).
  • Git carries the index — doc-major, sharded, human-readable JSONL; full per-document postings, dense binary codes, an extracted link graph, and a source ledger, one line per document, sorted and content-sharded so git itself diffs and merges it — work/compare/index-format.compare.md.
  • Answers verify themselves. Rank in the index, fetch the cited documents live (through a version-keyed cache), re-score passages on the fetched bytes, cite the fresh sha. (The refer plane is M4; M1's ask cites straight from the committed index.)
  • Laws: $0 default · stdlib-only · byte-deterministic · offline by default · one ADR per feature, every rule referenced.

The .fux/ directory

Everything fux puts in your repo lives here, and every child is declared as committed or derived (ADR-DOTFUX):

entry kind what it is
index/ committed the sharded JSONL index
sources/ committed the source lists — dirs and urls, one entry per line
fetchers/ committed your code (http.py, cdp.py) — written by fux setup, never rewritten
runtime/ derived M2's accelerator segments (gitignored, CACHEDIR.TAG)
cache/ derived M4's fetch cache (gitignored, CACHEDIR.TAG)

Scaffolding has two moments. Every fux ingest writes .fux/README.md and a narrow .fux/.gitignore (derived names only, never *) if they are missing, and never touches them again — a fresh clone has to be correct before a byte is written. fux setup is the one that writes code: the fetchers and the source lists, explicitly, once. Ingest never puts a fetcher in a repo that only wanted an index.

fux doctor fails if the index has been git-ignored and warns about anything undeclared.

Reading order

  1. work/paper/the-fux-index-paper.md — architecture + falsifiable predictions
  2. work/compare/index-format.compare.md — the committed format, measured
  3. the ADR register — milestones M0–M8
  4. work/adr/0004_index-format.md — the frozen M1 schema
  5. ../fux-playground/PLAYGROUND.md — a graded 10-doc corpus to try it on, in a separate sibling repository (clone it next to this one)
  6. work/WORKLOG.md — the running build log

License: MIT.

Release files for fux-engine 0.33.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fux-engine 0.33.0
File Size Uploaded
fux_engine-0.33.0.tar.gz 8.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for fux-engine 0.33.0
File Interpreter ABI Platform
fux_engine-0.33.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.2 MB

Release files / fux_engine-0.33.0.tar.gz

Download URL fux_engine-0.33.0.tar.gz
Size 8.2 MB
Tags Source
SHA-256 checksum
How to use checksums
e09d8395b73e1be5ec6032d0ab2180d4ee36e4da14d100317449068ea0eab4cc
BLAKE2b-256 checksum
How to use checksums
2d40a2e56dd54508264c2c591dd60145c0aab43357fccb6d220565afa278e937
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release files / fux_engine-0.33.0-py3-none-any.whl

Download URL fux_engine-0.33.0-py3-none-any.whl
Size 7.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e76e17ef5d42710e393ec7b521366f6771243fb9921c9a0e76d8397b4e871328
BLAKE2b-256 checksum
How to use checksums
d4807147a80f69fa68c7d056d22df362eff01926028b6e5e2c70339b27608408
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.

Transparency log

Release history Release notifications | RSS feed

2.0.1

2 release files

2.0.0

2 release files

1.0.0

2 release files

0.37.1

2 release files

0.37.0

2 release files

0.36.0

2 release files

0.35.0

2 release files

0.34.0

2 release files

This release

0.33.0 This release

2 release files

0.32.0

2 release files

0.30.0

2 release files

0.26.0

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page