fux-engine 3.0.0-alpha.0 → 3.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -75,9 +75,12 @@ it, and the two are held byte-equal by a differential law.**
75
75
  generated file, so a fux upgrade is a one-file diff and a tampered reader is
76
76
  detectable by rebuilding it. Before 2026-09-12 it was 47 of fux's own `.mjs`
77
77
  files in your tree; `fux setup` deletes them when it upgrades you.
78
- - **It never writes and never fetches.** `ingest`, `build`, `add`, `enrich`
79
- and every other write verb belongs to Python fux, and typing one here tells
80
- you so rather than saying *unknown command*.
78
+ - **It never fetches, and it writes one thing: the derived plane.** `fux
79
+ build` rebuilds the gitignored `.fux/runtime/` from the committed index,
80
+ byte-identical to Python's build, under the same write lock, and `--fast`
81
+ then answers from it. `ingest`, `add`, `enrich` and every other write verb
82
+ belongs to Python fux, and typing one here tells you so rather than saying
83
+ *unknown command*.
81
84
  - **Same answers as Python.** Same ids, same order, same locators, same band;
82
85
  scores equal after `round(9)`, which is the sort key's own resolution.
83
86
  - **Two things it deliberately does not do.** It cannot read a document that
package/fux.mjs CHANGED
Binary file
package/mcp-tools.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "tools": [
4
4
  {
5
5
  "name": "fux_search",
6
- "description": "Search the committed index for documents relevant to a natural-language question. Returns ranked documents with content hashes and the headings that match your query -- section-level, not line-level; call fux_passage for the lines. This is the call to make first for any 'where is X' or 'why did we decide Y' question about this repository. READ THE `confidence` BLOCK BEFORE USING THE RESULTS. If `confidence.answerable` is false, do not answer from these results at all -- say what was searched and stop. If `confidence.band` is 'partial', answer but name every term in `confidence.missing`: those are words from the question that appear in no document here. If it is 'weak', the ranking could not separate the top hits -- `answerable` is false there too, so abstain: say that the documents do not say, name what was searched, and report the candidates rather than a conclusion. The payload also carries `related`: documents that NO query word matched, returned because the ranked results above LINK to them, each with the `route` it was reached by. They are not matches and must never be cited as one -- read a related document with fux_passage before you use it, and say that you followed a link to it rather than found it.",
6
+ "description": "Search the committed index for documents relevant to a natural-language question. Returns ranked documents with content hashes and the headings that match your query -- section-level, not line-level; call fux_passage for the lines. This is the call to make first for any 'where is X' or 'why did we decide Y' question about this repository. READ THE `confidence` BLOCK BEFORE USING THE RESULTS. If `confidence.answerable` is false, do not answer from these results at all -- say what was searched and stop. If `confidence.band` is 'partial', answer but name every term in `confidence.missing`: those are words from the question that appear in no document here. If it is 'weak', the ranking could not separate the top hits -- that is a SIGNAL and not a refusal (`answerable` stays true): read the near-tied candidates and judge, and if neither answers, say the documents do not say and report what was searched rather than a conclusion. The payload also carries `related`: documents that NO query word matched, returned because the ranked results above LINK to them, each with the `route` it was reached by. They are not matches and must never be cited as one -- read a related document with fux_passage before you use it, and say that you followed a link to it rather than found it.",
7
7
  "inputSchema": {
8
8
  "type": "object",
9
9
  "properties": {
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "fux-engine",
3
- "version": "3.0.0-alpha.0",
3
+ "version": "3.0.0-alpha.10",
4
4
  "description": "Read a fux index from Node. Ranked, cited answers from a small index committed to git — no server, no model, no Python.",
5
5
  "type": "module",
6
- "engines": { "node": ">=20" },
6
+ "engines": { "node": ">=22" },
7
7
  "bin": { "fux": "./fux.mjs" },
8
8
  "exports": { ".": "./fux.mjs" },
9
9
  "files": ["fux.mjs", "mcp-tools.json", "README.md"],