@orkestrel/reason 0.0.9 → 0.0.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
@@ -1,18 +1,14 @@
1
1
  # @orkestrel/reason
2
2
 
3
- A synchronous, deterministic **reasoning engine**: declarative,
4
- JSON-serializable **definitions** are evaluated against **subjects** (plain
5
- data records) to produce traceable **results**. Four strategies behind one
6
- dispatch surface — `quantitative` (factor-based numeric scoring), `logical`
7
- (rule-based boolean deduction with forward / backward chaining), `symbolic`
8
- (algebraic equation solving by variable isolation), `inferential` (fact
9
- derivation with unification variables and proof trees) — each a
10
- `ReasonerInterface` registered on the thin `Reason` orchestrator, with three
11
- injectable operators (`Evaluator` / `Transformer` / `Aggregator`) doing the
12
- shared arithmetic. Every result is a fresh object carrying `success`, a
13
- human-readable `trace`, and accumulated `errors`; nothing mutates its inputs.
14
- Environment-agnostic — no I/O, no browser or server assumptions. Part of the
15
- `@orkestrel` line.
3
+ > A synchronous, deterministic reasoning engine: declarative JSON-serializable
4
+ > definitions evaluated against plain subject records to produce traceable
5
+ > results, through the `quantitative`, `logical`, `symbolic`, and `inferential`
6
+ > strategies behind one dispatch surface.
7
+
8
+ Register the reasoners you need on an orchestrator with the `createReason`
9
+ function, build a definition as plain data, then call `reason` with a subject
10
+ and read the traceable result it returns. Environment-agnostic — no I/O, no
11
+ browser or server assumptions. Part of the `@orkestrel` line.
16
12
 
17
13
  ## Install
18
14
 
@@ -51,18 +47,18 @@ if (result.reasoning === 'quantitative') result.value // 35 — narrow by the di
51
47
  result.trace // the step-by-step account of how the value came to be
52
48
  ```
53
49
 
54
- `reason` dispatches by `definition.reasoning` — pass an ARRAY of subjects and
55
- the batch overload maps them in order to an equal-length result array.
50
+ `reason` dispatches by `definition.reasoning` — pass an array of subjects and
51
+ the batch overload maps them in order onto an equal-length result array.
56
52
  Results are a discriminated union (`reasoning` names the axis): narrow with
57
53
  the discriminant and read the strategy-specific payload (`value` /
58
54
  `conclusion` / `solutions` / `derived`).
59
55
 
60
56
  ## Guide
61
57
 
62
- For the full surface — the orchestrator, the four reasoners, the three
63
- operators, the definitions & subjects capability layer, the two workspace
64
- builders (`DefinitionBuilder` / `SubjectBuilder`), validators, errors, and the
65
- observation surface — see [`guides/reason.md`](guides/reason.md).
58
+ For the full surface — the orchestrator, the reasoners, the operators, the
59
+ definitions & subjects capability layer, the `DefinitionBuilder` and
60
+ `SubjectBuilder` workspaces, validators, errors, and the observation surface —
61
+ see [`guides/reason.md`](guides/reason.md).
66
62
 
67
63
  ## Package
68
64