fix: correct stale min attribute and MCP wording from inventory removal
Build CutList image / build-and-push (push) Successful in 23s
Build CutList image / build-and-push (push) Successful in 23s
Three small leftovers from Task 7 / the inventory-quantity-tracking removal that a final review caught: - Edit.razor's custom-stock quantity input still had min="1" even though its own helper text says "Use -1 for unlimited", validation already accepts -1, and the add-form defaults Quantity to -1 - so the field rendered pre-populated with a value the browser's native min validation flagged as invalid. Matches the min="-1" fix already applied to the catalog-stock input in Task 7. - optimize_job's MCP tool description still claimed the optimizer falls back to "available inventory" when no stock is configured - that auto-discovery fallback was removed in Task 3. An LLM reads this description as ground truth, so stale wording here actively misleads tool use. Also tightened add_job_stock's stockItemId/ isCustomLength wording, which still said "inventory" for what is now just the stock catalog. - CLAUDE.md's CutListPackingService summary said InStockBins comes "from inventory", nudging future readers back toward the auto-discovery mental model this plan removed.
This commit is contained in:
@@ -257,9 +257,9 @@ public class JobTools
|
||||
string length,
|
||||
[Description("Quantity available (-1 for unlimited, default -1)")]
|
||||
int quantity = -1,
|
||||
[Description("Stock item ID from inventory (optional - links to tracked inventory)")]
|
||||
[Description("Stock item ID from the stock catalog (optional - links to a specific catalog stock item)")]
|
||||
int? stockItemId = null,
|
||||
[Description("True if this is a custom length not from inventory (default false)")]
|
||||
[Description("True if this is a custom length not sourced from the stock catalog (default false)")]
|
||||
bool isCustomLength = false,
|
||||
[Description("Priority - lower number = used first (default 10)")]
|
||||
int priority = 10)
|
||||
@@ -304,7 +304,7 @@ public class JobTools
|
||||
|
||||
#region Optimization
|
||||
|
||||
[McpServerTool(Name = "optimize_job"), Description("Runs bin packing optimization on a job. The job must have parts defined. If stock is defined, it will be used; otherwise the optimizer uses available inventory. Returns optimized cut layouts per material with efficiency stats.")]
|
||||
[McpServerTool(Name = "optimize_job"), Description("Runs bin packing optimization on a job. The job must have parts defined, and stock must be explicitly configured on the job (via add_job_stock) for each material used by its parts - there is no fallback to inventory; parts with no matching stock configured come back as items not placed. Returns optimized cut layouts per material with efficiency stats.")]
|
||||
public async Task<OptimizeJobResult> OptimizeJob(
|
||||
[Description("Job ID")]
|
||||
int jobId,
|
||||
|
||||
Reference in New Issue
Block a user