fluidfix 0.1.0__tar.gz

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.
Files changed (34) hide show
  1. fluidfix-0.1.0/CHANGELOG.md +44 -0
  2. fluidfix-0.1.0/COMMERCIAL.md +28 -0
  3. fluidfix-0.1.0/LICENSE +662 -0
  4. fluidfix-0.1.0/MANIFEST.in +3 -0
  5. fluidfix-0.1.0/PKG-INFO +190 -0
  6. fluidfix-0.1.0/README.md +163 -0
  7. fluidfix-0.1.0/docs/BENCHMARK.md +61 -0
  8. fluidfix-0.1.0/docs/data/arm_a_full_results.json +1317 -0
  9. fluidfix-0.1.0/docs/data/lean_arm_tokens.json +6 -0
  10. fluidfix-0.1.0/docs/data/lean_obs_raw.json +289 -0
  11. fluidfix-0.1.0/pyproject.toml +40 -0
  12. fluidfix-0.1.0/setup.cfg +4 -0
  13. fluidfix-0.1.0/src/fluidfix/__init__.py +35 -0
  14. fluidfix-0.1.0/src/fluidfix/acts.py +160 -0
  15. fluidfix-0.1.0/src/fluidfix/cli.py +186 -0
  16. fluidfix-0.1.0/src/fluidfix/guard.py +157 -0
  17. fluidfix-0.1.0/src/fluidfix/lanes.py +45 -0
  18. fluidfix-0.1.0/src/fluidfix/localize.py +167 -0
  19. fluidfix-0.1.0/src/fluidfix/loop.py +127 -0
  20. fluidfix-0.1.0/src/fluidfix/observers.py +167 -0
  21. fluidfix-0.1.0/src/fluidfix/oracle.py +86 -0
  22. fluidfix-0.1.0/src/fluidfix/router.py +51 -0
  23. fluidfix-0.1.0/src/fluidfix.egg-info/PKG-INFO +190 -0
  24. fluidfix-0.1.0/src/fluidfix.egg-info/SOURCES.txt +32 -0
  25. fluidfix-0.1.0/src/fluidfix.egg-info/dependency_links.txt +1 -0
  26. fluidfix-0.1.0/src/fluidfix.egg-info/entry_points.txt +2 -0
  27. fluidfix-0.1.0/src/fluidfix.egg-info/requires.txt +8 -0
  28. fluidfix-0.1.0/src/fluidfix.egg-info/top_level.txt +1 -0
  29. fluidfix-0.1.0/tests/test_acts.py +63 -0
  30. fluidfix-0.1.0/tests/test_e2e.py +76 -0
  31. fluidfix-0.1.0/tests/test_guard.py +79 -0
  32. fluidfix-0.1.0/tests/test_lanes.py +28 -0
  33. fluidfix-0.1.0/tests/test_regressions.py +180 -0
  34. fluidfix-0.1.0/tests/test_router_law.py +48 -0
@@ -0,0 +1,44 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0 — 2026-08-30 (r3)
4
+
5
+ - `fluidfix guard`: commit-and-forget maintenance. Mechanical fault-file
6
+ discovery (traceback frames, else failing-test coverage ranking), one-shot
7
+ CI mode (exit 2 on refusal) or `--interval` watch mode, opt-in `--commit`
8
+ of each restoration, and a machine-readable `.fluidfix/last_refusal.json`
9
+ teach-me signal on refusal. Library API: `guard_once`,
10
+ `find_candidate_files`, `commit_repair`, `write_refusal`.
11
+
12
+ ## 0.1.0 — 2026-08-30 (r2, pre-release review applied)
13
+
14
+ - `register()`: teach a new fault class from one registration — observation
15
+ contract + transform; the router infers the act code from the same worked
16
+ example. Mechanical observer now covers registered kinds generically.
17
+ - Review fixes (all reproduced before fixing): site-local zero simplification
18
+ in `_reduce_literal` (was able to eat an unrelated `-0.5` elsewhere on the
19
+ line); byte-preserving file handling (CRLF/FF-safe, no write on refusal);
20
+ path-boundary coverage matching (same-suffix sibling packages can no longer
21
+ shadow the defect file); root-level modules get a correct default `--cov`
22
+ target; CLI timeout flags (`--suite-timeout`, `--test-timeout`,
23
+ `--candidate-timeout`, defaulting consistently); observer errors are
24
+ diagnosable (truncation, missing text, wrong echoed ids raise instead of
25
+ masquerading as refusals); injected observer clients work without the SDK;
26
+ `acts_tried` counts only real candidates.
27
+
28
+ ## 0.1.0 — 2026-08-30
29
+
30
+ Initial release.
31
+
32
+ - Vendored routing kernel (fluid-router, verbatim, `minimal in D∩I`) and
33
+ EMIT/ADVANCE/HALT loop discipline (fluid-router2, verbatim).
34
+ - Mechanical localisation: traceback frames ∪ failing-test coverage
35
+ (pytest-cov `--lf`, no `-x`) ∪ AST statement-span expansion. 33/33 true
36
+ lines captured on the benchmark corpus at 0 tokens.
37
+ - Observers: `MechanicalObserver` (zero-token) and `ClaudeObserver`
38
+ (Claude Opus 5, batched, schema-forced, with server-side refusal fallbacks).
39
+ - Clear-data applier pointers: `literal_value`/`literal_occurrence` (17/27 →
40
+ 26/27 in-vocabulary byte-exact on the corpus) and `op_occurrence` (closes
41
+ the last measured miss).
42
+ - Safety: green-suite refusal, out-of-vocabulary refusal, byte-exact rollback,
43
+ candidate timeouts, defended oracle (five encoded harness-defect classes).
44
+ - `fluidfix` CLI: `repair`, `packet`, `selfcheck`.
@@ -0,0 +1,28 @@
1
+ # Commercial licensing
2
+
3
+ fluidfix is dual-licensed.
4
+
5
+ **Open source.** Under AGPL-3.0-or-later you may use, modify, and
6
+ redistribute fluidfix freely — including commercially — provided you comply
7
+ with the AGPL, including section 13: if you run a modified version as a
8
+ network service, you must offer the complete corresponding source to that
9
+ service's users.
10
+
11
+ **Commercial.** If the AGPL does not suit your use — embedding fluidfix in a
12
+ proprietary product, offering it inside a closed SaaS, or any deployment where
13
+ the source-offer obligation is unacceptable — a commercial license removes
14
+ those obligations.
15
+
16
+ Contact: kanchetiindu9@gmail.com with:
17
+
18
+ 1. how fluidfix will be deployed (product, internal tool, SaaS),
19
+ 2. approximate scale (developers, repositories, or repair volume),
20
+ 3. whether you need the act-dictionary compilation service (a per-repository
21
+ vocabulary trained on your codebase's own bug history — measured at +21
22
+ points on the candidate-containment ceiling for real one-line fixes, 62%
23
+ vs 41% for a general dictionary, with the buggy line supplied; that is a
24
+ ceiling on what the dictionary can reach, not a realized repair rate).
25
+
26
+ The copyright holder for fluidfix and the vendored kernels
27
+ (fluid-router, fluid-router2) is devkancheti4-design; dual licensing is
28
+ offered by the copyright holder, which the AGPL fully permits.