io.github.Whatsonyourmind/oraclaw
NPM · @ORACLAW/MCP-SERVER · SCANNED AUG 4
Decision intelligence MCP — 17 tools (optimize, simulate, predict, score, graph). Sub-25ms.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security83
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known medium-severity CVE affects hono 4.12.33, reached via @modelcontextprotocol/sdk > hono. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 41 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3215 tokens (~189/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 83% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @oraclaw/mcp-server
claude mcp add whatsonyourmind-oraclaw -- npx -y @oraclaw/mcp-server
codex mcp add whatsonyourmind-oraclaw -- npx -y @oraclaw/mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"whatsonyourmind-oraclaw": {
"type": "local",
"command": [
"npx",
"-y",
"@oraclaw/mcp-server"
],
"enabled": true
}
}
} openclaw mcp add whatsonyourmind-oraclaw --command npx --arg -y --arg @oraclaw/mcp-server
mcp_servers:
whatsonyourmind-oraclaw:
command: "npx"
args: ["-y", "@oraclaw/mcp-server"] {
"mcpServers": {
"whatsonyourmind-oraclaw": {
"command": "npx",
"args": [
"-y",
"@oraclaw/mcp-server"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Aug 26 +4
- CVE-2026-69207 affects this package: medium ▼ security
- Known CVEs: partial → fail ▼ security
- Stability: unverified → 0.30 ▲ functional
- 2 Aug 26 +44
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Schema quality: unverified → excellent ▲ functional
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Licence: MIT functional
- 1 Aug 26 −6
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 31 Jul 26 −18
- Malware scan: pass → unverified ▼ security
- Security disclosure: unverified → fail ▼ functional
- 29 Jul 26 0
- Security disclosure: fail → unverified ▼ functional
- 27 Jul 26 42
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Aug 2026 · Analysed npm/@oraclaw/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-8j4g-w8fx-2239 | CVE-2026-69207 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L | yes |
Dependencies 94 packages
94 packages in the resolved dependency tree · 94 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
analyze_graph ~182
[Premium] Compute structural metrics of a directed weighted graph: PageRank centrality, Louvain community clusters, an optional critical path between two given nodes, and bottleneck nodes. Use to find the most influential nodes, cluster a dependency/knowledge graph, or locate chokepoints in supply or process networks. Returns per-node PageRank and community index, cluster summaries, the critical path with its weight, and bottlenecks. For a single source-to-goal route, use plan_pathfind (free). Premium: needs an ORACLAW_API_KEY OR a per-call x402 payment (no signup).
| Name | Type | Req | Description |
|---|---|---|---|
| edges | array | yes | — |
| nodes | array | yes | — |
| sourceGoal | string | — | Optional: node ID to use as start of critical path. |
| targetGoal | string | — | Optional: node ID to use as end of critical path. |
| Name | Type | Req | Description |
|---|---|---|---|
| bottlenecks | array | — | Nodes whose removal most disconnects the graph. |
| clusters | array | — | — |
| communities | object | yes | Node ID → community index. |
| criticalPath | array | — | Node IDs from sourceGoal to targetGoal. |
| criticalPathWeight | number | — | — |
| pageRank | object | yes | Node ID → PageRank score. |
| totalNodes | integer | yes | — |
No examples provided.
analyze_risk ~294
[Premium] Compute portfolio Value-at-Risk and Conditional VaR (Expected Shortfall) from a historical [asset][time] return matrix and portfolio weights, accounting for cross-asset correlation. Use to size downside risk on a weighted multi-asset book, attribute risk, or run drawdown scenarios with auditable inputs. Returns VaR and CVaR (loss as a positive number) at the requested confidence, plus expected return, volatility, and the horizon used. To sample outcomes from a parametric distribution instead, use simulate_montecarlo. Premium: needs an ORACLAW_API_KEY OR a per-call x402 payment (no signup).
| Name | Type | Req | Description |
|---|---|---|---|
| ciLevel | number | — | Two-sided confidence level for the estimation-error CIs in the certificate (default: 0.95). |
| confidence | number | — | VaR confidence level (default: 0.95). |
| horizonDays | integer | — | Horizon in days, scales VaR by sqrt(horizon) (default: 1). |
| realizedExceedances | array | — | Optional backtest hit sequence (1 = VaR breach); enables a Kupiec unconditional-coverage test in the certificate. |
| returns | array | yes | [asset][time] matrix of period returns (e.g. daily). Each row same length. |
| weights | array | yes | Portfolio weights per asset. Length must equal returns.length. Should sum to 1. |
| Name | Type | Req | Description |
|---|---|---|---|
| assets | integer | — | — |
| certificate | object | — | Re-checkable estimation-error certificate: delta-method SE/CI for VaR and ES under the iid-normal assumption, esStatisticallyDistinctFromVaR, effectiveSampleSupport (the estimation window T), an opti… |
| confidence | number | — | — |
| cvar | number | yes | Conditional VaR (mean loss beyond VaR threshold). |
| expectedReturn | number | yes | — |
| horizonDays | integer | — | — |
| var | number | yes | Value-at-Risk at the requested confidence (loss expressed as positive number). |
| volatility | number | yes | — |
No examples provided.
detect_anomaly ~196
[Premium] Flag outlier points in a numeric series using a Z-score test (parametric, assumes near-normal) or IQR test (robust to skew/heavy tails). Use for metric monitoring, fraud/abuse signals, sensor noise, or quality control. Returns each anomaly's index, value, and score, plus the underlying statistics (mean/stdDev/threshold for Z-score; q1/q3/IQR/bounds for IQR) and an anomaly count. To project a series forward instead, use predict_forecast. Premium: needs an ORACLAW_API_KEY OR a per-call x402 payment (no signup).
| Name | Type | Req | Description |
|---|---|---|---|
| data | array | yes | Numeric series to scan. |
| method | string | — | Default: zscore. |
| threshold | number | — | Z-score: standard deviations above mean (default: 3.0). IQR: multiplier on IQR (default: 1.5). |
| Name | Type | Req | Description |
|---|---|---|---|
| anomalies | array | yes | — |
| anomalyCount | integer | yes | — |
| method | string | yes | — |
| stats | object | — | For zscore: {mean, stdDev, threshold}. For iqr: {q1, q3, iqr, lowerBound, upperBound}. |
| totalPoints | integer | — | — |
No examples provided.
optimize_bandit ~159
Select the next option to try from 2+ variants that each have observed pull/reward history, balancing exploitation against exploration (UCB1, Thompson sampling, or epsilon-greedy). Use when you must pick one arm now from A/B test variants, ad/email/copy options, or ranked recommendations and have past trial counts. Returns the chosen arm plus exploitation score, exploration bonus, and a regret estimate. For per-call context features use optimize_contextual; for continuous parameters use optimize_cmaes.
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | — | Selection algorithm (default: ucb1). UCB1 is deterministic; thompson/epsilon-greedy sample. |
| arms | array | yes | Candidate options to choose between (at least 2). |
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | yes | Which algorithm produced the selection. |
| exploitation | number | — | Pure mean-reward component. |
| exploration | number | — | Uncertainty bonus added to exploitation. |
| regret | number | — | Cumulative regret estimate (lower is better). |
| score | number | yes | Combined exploitation + exploration score. |
| selected | object | yes | The chosen arm. |
No examples provided.
optimize_cmaes ~216
[Premium] Optimize N continuous parameters against a weighted-sum objective using CMA-ES, suited to non-convex/noisy/gradient-free landscapes. Use for hyperparameter search, simulator calibration, or control-policy tuning where you supply per-dimension objective weights. Returns the best parameter vector, its objective value, iteration/evaluation counts, and a converged flag; stochastic init means repeated runs may differ. Use optimize_evolve for discrete spaces and solve_constraints for linear/MIP constraints. Premium: needs an ORACLAW_API_KEY OR a per-call x402 payment (no signup).
| Name | Type | Req | Description |
|---|---|---|---|
| dimension | integer | yes | Number of parameters to optimize. |
| initialMean | array | — | Optional starting point in parameter space. |
| initialSigma | number | — | Initial step size (default: 0.5). |
| maxIterations | integer | — | Max generations (default: 1000, capped at 5000). |
| objectiveWeights | array | yes | Per-dimension weight in the linear default objective. Length must equal dimension. |
| Name | Type | Req | Description |
|---|---|---|---|
| bestFitness | number | yes | Objective value at bestSolution (caller's sign convention). |
| bestSolution | array | yes | Best parameter vector found. |
| converged | boolean | yes | Whether convergence criteria were met before maxIterations. |
| evaluations | integer | — | Total objective evaluations. |
| executionTimeMs | number | — | — |
| iterations | integer | yes | Generations actually run. |
No examples provided.
optimize_contextual ~156
Select the best option given a numeric context/feature vector, using a LinUCB contextual bandit that learns per-context preferences from optional history. Use when the best choice changes with situational features that vary call-to-call (user/segment attributes, time of day, current regime). Returns the chosen arm with its LinUCB expected reward and confidence width. If you have no per-call features, use optimize_bandit.
| Name | Type | Req | Description |
|---|---|---|---|
| alpha | number | — | Exploration coefficient (default: 1.0). Higher = more exploration. |
| arms | array | yes | — |
| context | array | yes | Numeric feature vector describing the current situation. Length must match across calls. |
| history | array | — | Optional past observations to seed the model. |
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | yes | — |
| confidenceWidth | number | yes | Uncertainty bound on the estimate. |
| expectedReward | number | yes | LinUCB point estimate of reward. |
| score | number | yes | expectedReward + alpha * confidenceWidth. |
| selected | object | yes | — |
No examples provided.
optimize_evolve ~268
Run a genetic algorithm over a fixed-length gene vector (binary, integer, real, or permutation bounds) against a weighted-sum fitness, with an optional Pareto frontier for multi-objective runs. Use for discrete or mixed search spaces (feature selection, integer allocation, permutation/TSP-style problems) or when you want several non-dominated solutions. Returns the best chromosome and fitness, the Pareto frontier when applicable, the convergence generation, total generations, and recent fitness history; results vary run to run (stochastic). For smooth continuous objectives, use optimize_cmaes.
| Name | Type | Req | Description |
|---|---|---|---|
| bounds | object | — | — |
| crossoverMethod | string | — | Default: single-point. |
| crossoverRate | number | — | Crossover probability (default: 0.8). |
| fitnessWeights | array | — | Per-gene weights in the default linear fitness sum. Length should equal geneLength. |
| geneLength | integer | yes | Number of genes (variables) per chromosome. |
| maxGenerations | integer | — | Default: 100, capped at 500. |
| mutationRate | number | — | Per-gene mutation probability (default: 0.01). |
| populationSize | integer | — | Default: 100, capped at 500. |
| selectionMethod | string | — | Default: tournament. |
| Name | Type | Req | Description |
|---|---|---|---|
| bestChromosome | object | yes | — |
| convergenceGeneration | integer | — | Generation at which best fitness stopped improving. |
| executionTimeMs | number | — | — |
| fitnessHistory | array | — | Last 20 generations' best fitness. |
| paretoFrontier | array | — | Non-dominated solutions (multi-objective only). |
| totalGenerations | integer | yes | — |
No examples provided.
plan_pathfind ~203
Find the shortest path (or k-shortest paths) between a start and end node in a weighted directed graph using A* with selectable heuristic (zero=Dijkstra, time, cost, risk, weighted) and Yen's algorithm for alternatives. Use for routing, dependency resolution, or 'how do I get from X to Y' over a graph; set kPaths>1 for alternatives. Returns the path node IDs, total cost, a time/cost/risk breakdown, nodes explored, and a found flag. For centrality/communities use analyze_graph; for task-to-slot assignment use solve_schedule.
| Name | Type | Req | Description |
|---|---|---|---|
| edges | array | yes | — |
| end | string | yes | Goal node ID. |
| heuristic | string | — | A* heuristic. 'zero' = Dijkstra (default). |
| kPaths | integer | — | Return up to k alternative paths (default: 1). |
| nodes | array | yes | — |
| start | string | yes | Start node ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| alternativePaths | array | — | Only present when kPaths > 1. |
| breakdown | object | — | — |
| executionTimeMs | number | — | — |
| found | boolean | yes | False if no path exists. |
| nodesExplored | integer | — | — |
| path | array | yes | Node IDs from start to end. |
| totalCost | number | yes | — |
No examples provided.
predict_bayesian ~167
Update a prior probability with weighted evidence signals using a Beta posterior (the prior seeds Beta(prior*10, (1-prior)*10)). Use for incremental belief revision: start from a baseline probability and fold in signals, each a value in [0,1] with a weight, to get a revised posterior. Returns the updated posterior, the prior, per-factor contributions, posterior mean and variance, and a sharpness/calibration score. To combine N independent point predictions use predict_ensemble; to sample a full distribution use simulate_montecarlo.
| Name | Type | Req | Description |
|---|---|---|---|
| evidence | array | yes | Pieces of evidence to fold in. |
| prior | number | yes | Prior probability of the event (0..1). Used to seed Beta(prior*10, (1-prior)*10). |
| Name | Type | Req | Description |
|---|---|---|---|
| calibrationScore | number | — | 1 - sqrt(variance); higher = sharper posterior. |
| factors | array | — | — |
| posterior | number | yes | Updated probability after folding in evidence. |
| posteriorMean | number | yes | — |
| posteriorVariance | number | yes | — |
| priorProbability | number | — | — |
No examples provided.
predict_ensemble ~155
Combine 2+ model point predictions into one consensus using weighted voting, stacking, or Bayesian model averaging, weighting each model by its confidence or supplied historicalAccuracy. Use to fuse heterogeneous predictors (statistical, ML, and human forecasters) into a single number with an uncertainty estimate. Returns the consensus value and confidence, per-model weight share, Shannon entropy of the weights, a cross-model agreement score, epistemic/aleatoric/total uncertainty with a confidence interval, and per-model contributions. To score agreement on a single event probability instead, use score_convergence.
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | — | Combination method (default: weighted-voting). |
| predictions | array | yes | Predictions from each model (at least 2). |
| Name | Type | Req | Description |
|---|---|---|---|
| agreement | number | — | Cross-model agreement score (1=all agree, 0=disagree). |
| confidence | number | yes | Aggregate confidence. |
| consensus | number | yes | Combined point prediction. |
| entropy | number | — | Shannon entropy of the weight distribution (higher = more diversified). |
| method | string | yes | — |
| modelContributions | object | — | — |
| uncertainty | object | — | — |
| weights | object | — | modelId → weight used. |
No examples provided.
predict_forecast ~216
[Premium] Forecast the next N values of one evenly-spaced numeric time series using ARIMA (non-seasonal trend) or Holt-Winters (additive seasonal, set seasonLength). Use for short-to-medium horizon point forecasts of demand, KPIs, or capacity. Returns the point forecast array plus lower/upper confidence bands and the fitted model description. ARIMA requires at least 20 observations; Holt-Winters needs at least 2 x seasonLength. To flag outliers instead of projecting, use detect_anomaly. Premium: needs an ORACLAW_API_KEY OR a per-call x402 payment (no signup).
| Name | Type | Req | Description |
|---|---|---|---|
| data | array | yes | Historical values, evenly spaced. ARIMA needs ≥20 points; Holt-Winters needs ≥2 × seasonLength. |
| method | string | — | Default: arima. |
| seasonLength | integer | — | Period of seasonality (only used by holt-winters). Default: 4. |
| steps | integer | yes | Number of future periods to forecast. |
| Name | Type | Req | Description |
|---|---|---|---|
| confidence | object | — | — |
| forecast | array | yes | Point forecasts, length = steps. |
| inputLength | integer | — | — |
| method | string | yes | — |
| model | string | — | Fitted model description. |
| steps | integer | yes | — |
No examples provided.
score_calibration ~146
Measure how well a set of probability predictions matched observed binary outcomes, returning the Brier score and log score (lower is better). Use to evaluate a forecaster's or model's calibration: predictions[i] is the probability assigned to event i and outcomes[i] is 1 if it occurred, else 0 (arrays must be equal length). Returns brier_score, log_score, the number of predictions, and the mean predicted vs mean observed rate. To measure agreement across multiple sources instead, use score_convergence.
| Name | Type | Req | Description |
|---|---|---|---|
| outcomes | array | yes | Binary realised outcomes. Must be the same length as predictions. |
| predictions | array | yes | Predicted probabilities in [0,1]. |
| Name | Type | Req | Description |
|---|---|---|---|
| brier_score | number | yes | Mean squared error between probability and outcome (lower is better). |
| log_score | number | yes | Negative log-likelihood (lower is better; -inf possible if a 0-prob event happens). |
| mean_outcome | number | — | — |
| mean_prediction | number | — | — |
| n_predictions | integer | yes | — |
No examples provided.
score_convergence ~135
Score how strongly multiple independent sources agree on a single event's probability, using Hellinger-distance agreement plus penalties for dispersion/uncertainty and a freshness weight (recency, source volume, and confidence). Use to fuse 0..1 estimates from polls, prediction markets, or model outputs into one number. Returns a 0..1 convergence score, the volume-weighted consensus probability, source count, and component breakdown. To combine N point predictions instead, use predict_ensemble.
| Name | Type | Req | Description |
|---|---|---|---|
| config | object | — | Optional weighting overrides. |
| sources | array | yes | Independent estimators each emitting a probability for the same event. |
| Name | Type | Req | Description |
|---|---|---|---|
| components | object | — | Per-component scores feeding the aggregate. |
| consensusProbability | number | — | Weighted aggregate probability. |
| convergenceScore | number | yes | Overall agreement (1=consensus, 0=divergent). |
| sources | integer | — | Number of sources used. |
No examples provided.
simulate_montecarlo ~297
Draw N samples from one parametric distribution (normal, lognormal, uniform, triangular, beta, or exponential) and summarize the resulting spread. Use to quantify uncertainty around a single random factor: an NPV under an uncertain growth rate, a latency tail, or a reserve estimate. Returns the mean, standard deviation, p5/p25/p50/p75/p95 percentiles, a histogram, and the iteration count; each call re-samples (non-deterministic) and is capped at 2000 iterations. For correlated multi-asset risk, use analyze_risk.
| Name | Type | Req | Description |
|---|---|---|---|
| confidenceLevel | number | — | Two-sided confidence level for the MCSE intervals (default 0.95). |
| distribution | string | yes | Distribution family to sample from. |
| params | object | yes | Distribution parameters. Required keys depend on distribution: normal/lognormal={mean,stddev}, uniform={min,max}, triangular={min,mode,max}, beta={alpha,beta}, exponential={lambda}. |
| seed | integer | — | Optional integer seed for a reproducible run; recorded in the certificate so anyone can re-derive the same draws. |
| simulations | integer | — | Number of samples (default: 1000, max: 2000 free). |
| targetHalfWidth | number | — | Optional ABSOLUTE precision target for the mean's CI half-width; the certificate reports replicationAdequacy = (meanHalfWidth <= this). |
| Name | Type | Req | Description |
|---|---|---|---|
| certificate | object | — | Re-checkable precision certificate: MCSE of the mean (analytic + batch-means), bootstrap MCSE per percentile, replicationAdequacy vs targetHalfWidth, the resolved seed, and a sha256 contentHash bindi… |
| executionTimeMs | number | — | — |
| histogram | array | — | Bucketed counts. |
| iterations | integer | yes | — |
| mean | number | yes | — |
| percentiles | object | yes | — |
| stdDev | number | yes | — |
| timedOut | boolean | — | — |
No examples provided.
simulate_scenario ~148
Compare named what-if scenarios against a base case where the outcome metric is the sum of the input variables, and rank which variables swing the outcome most. Use for budget sensitivity, deal/forecast what-ifs, or capacity planning across demand assumptions: define a base case of variable=value, then scenarios that override a subset. Returns the base outcome, each scenario's outcome with absolute and percent delta and per-variable changes, plus a sensitivity ranking by total absolute swing. For random sampling from a distribution, use simulate_montecarlo.
| Name | Type | Req | Description |
|---|---|---|---|
| baseCase | object | yes | Variable name → baseline value. |
| scenarios | array | yes | Named what-if scenarios. Each overrides any subset of baseCase variables. |
| Name | Type | Req | Description |
|---|---|---|---|
| baseCase | object | yes | — |
| results | array | yes | — |
| scenarioCount | integer | yes | — |
| sensitivityRanking | array | — | Variables ranked by total absolute swing across scenarios. |
No examples provided.
solve_constraints ~170
[Premium] Solve a linear / mixed-integer / quadratic program with the HiGHS solver and return a provably optimal assignment. Use when your objective and constraints are linear (or quadratic) over named continuous/integer/binary variables: budget allocation, supply or capacity planning with integer counts, allocation with hard caps. Returns solver status (optimal/infeasible/unbounded), the objective value, and the solved value per variable. Use optimize_cmaes for black-box objectives and solve_schedule for task-to-slot assignment. Premium: needs an ORACLAW_API_KEY OR a per-call x402 payment (no signup).
| Name | Type | Req | Description |
|---|---|---|---|
| constraints | array | yes | — |
| direction | string | yes | — |
| objective | object | yes | Map of variable name → coefficient in the objective function. |
| variables | array | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| certificate | object | — | Re-checkable result certificate: verify the answer without trusting the solver. Recompute feasibility + objective from `solution`, check `contentHash` binds them, and (for LPs) check the KKT duality… |
| objectiveValue | number | — | Objective at the optimum (when status='optimal'). |
| solution | object | — | Map of variable name → solved value. |
| solveTimeMs | number | — | — |
| status | string | yes | e.g. 'optimal', 'infeasible', 'unbounded'. |
No examples provided.
solve_schedule ~107
Assign tasks to time slots to maximize total score by matching each task's energy requirement to a slot's energy level (and respecting duration). Use for deep-work blocking, shift or session planning, or any task-to-slot fit where high-energy work should land in high-energy slots. Returns the assignments, any unassigned task IDs, and a total score. For arbitrary linear constraints use solve_constraints; for routing use plan_pathfind.
| Name | Type | Req | Description |
|---|---|---|---|
| slots | array | yes | — |
| tasks | array | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| assignments | array | yes | — |
| totalScore | number | — | — |
| unassignedTasks | array | — | Task IDs that did not fit. |
No examples provided.