record_print_dna
Record a print outcome with model fingerprint, slicer settings, and quality result to enable cross-user matching and learning from successes or failures.
Instructions
Record a print outcome with full model DNA.
Saves the model fingerprint alongside print settings and outcome
for cross-user learning. Use ``fingerprint_model`` first to
compute the fingerprint fields.
Args:
file_hash: SHA-256 hash of the model file.
geometric_signature: Geometric signature from fingerprinting.
triangle_count: Number of triangles in the model.
surface_area_mm2: Total surface area in mm^2.
volume_mm3: Model volume in mm^3.
overhang_ratio: Ratio of overhanging triangles (0.0-1.0).
complexity_score: Model complexity (0.0-1.0).
printer_model: Printer model name.
material: Material used (e.g. ``"PLA"``).
settings: The slicer settings the print used, as a flat
name→value dict (e.g. ``{"layer_height_mm": 0.2,
"infill_percent": 20, "nozzle_temp_c": 215}``). Stored
as given and hashed for matching; no key is required.
outcome: ``"success"``, ``"failed"``, or ``"partial"``.
quality_grade: One of ``"A"``, ``"B"``, ``"C"``, ``"D"``,
``"F"`` (default ``"B"``).
failure_mode: Optional failure description.
print_time_seconds: Print duration in seconds.
geometric_signature_v2: ``fingerprint_model``'s
``geometric_signature_v2``. Pass it: it is what lets
this print be told apart from a different design that
happens to share the older signature. Omitted, the row
is stored with the older key only and can never be
separated from that design later.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"file_hash": "<file_hash>",
"geometric_signature": "<geometric_signature>",
"triangle_count": "<triangle_count>",
"surface_area_mm2": "<surface_area_mm2>",
"volume_mm3": "<volume_mm3>",
"overhang_ratio": "<overhang_ratio>",
"complexity_score": "<complexity_score>",
"printer_model": "<printer_model>",
"material": "<material>",
"settings": "<settings>",
"outcome": "<outcome>"
},
"name": "record_print_dna"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| outcome | Yes | ``"success"``, ``"failed"``, or ``"partial"``. | |
| material | Yes | Material used (e.g. ``"PLA"``). | |
| settings | Yes | The slicer settings the print used, as a flat name→value dict (e.g. ``{"layer_height_mm": 0.2, "infill_percent": 20, "nozzle_temp_c": 215}``). Stored as given and hashed for matching; no key is required. | |
| file_hash | Yes | SHA-256 hash of the model file. | |
| volume_mm3 | Yes | Model volume in mm^3. | |
| failure_mode | No | Optional failure description. | |
| printer_model | Yes | Printer model name. | |
| quality_grade | No | One of ``"A"``, ``"B"``, ``"C"``, ``"D"``, ``"F"`` (default ``"B"``). Default: "B". | |
| overhang_ratio | Yes | Ratio of overhanging triangles (0.0-1.0). | |
| triangle_count | Yes | Number of triangles in the model. | |
| complexity_score | Yes | Model complexity (0.0-1.0). | |
| surface_area_mm2 | Yes | Total surface area in mm^2. | |
| print_time_seconds | No | Print duration in seconds. Default: 0. | |
| geometric_signature | Yes | Geometric signature from fingerprinting. | |
| geometric_signature_v2 | No | ``fingerprint_model``'s ``geometric_signature_v2``. Pass it: it is what lets this print be told apart from a different design that happens to share the older signature. Omitted, the row is stored with the older key only and can never be separated from that design later. Default: "". |