Skip to content

Spool Interpreter

flan-t5-base seq2seq model that reads sanitized z/OS spool output and emits a structured SpoolInterpretation JSON object. Full fine-tune (no LoRA).

Version: 0.1.0 (model.yml). Bump major for breaking output-schema changes, minor for retrain/data/config changes, patch for metadata-only edits.

Targets

  • Cross-platform local inference: Mac, Windows, Linux with 16 GB RAM minimum.
  • Final artefact: safetensors checkpoint.
  • Disk footprint: ~600 MB at fp16.

Output shape

{
  "summary": "Build job ABENDed at STEP02 (S0C7).",
  "status": "abended",
  "returnCode": null,
  "rootCause": "Data exception (S0C7) reading numeric field with invalid packed-decimal data in INFILE record 17.",
  "suggestedFix": "Validate INFILE before submission; clean or reject record 17.",
  "explanation": "STEP02 failed with S0C7 while reading INFILE. Record 17 contained invalid packed-decimal data in a numeric field.",
  "relatedDocs": ["s0c7-data-exception"],
  "failureCategory": "execution_abend",
  "confidence": 0.91
}

status is one of: completed, failed, abended, skipped, running. failureCategory is one of 8 enum values (see node_contracts.json) or null on status: completed. explanation must be non-empty when status != "completed"; relatedDocs is a list of doc keys.

Full enumeration in datasets/node_contracts.json and the JSON Schema at datasets/spool_interpretation_schema.json.

Layout

examples/spool-interpreter/
├── README.md
├── model.yml
└── datasets/
    ├── prompt_spec.json
    ├── spool_interpretation_schema.json
    ├── node_contracts.json
    └── samples/
        ├── seed_samples.jsonl
        └── test_prompt_set.jsonl

Workflow

maatml prepare  examples/spool-interpreter/
maatml train    examples/spool-interpreter/ --smoke
maatml train    examples/spool-interpreter/
maatml evaluate examples/spool-interpreter/

Expand the seed corpus by hand-authoring rows in datasets/samples/seed_samples.jsonl (each row: {sample_id, source, category, request, expected_interpretation, split?}) and re-running maatml prepare before training — or regenerate via examples/spool-interpreter/scripts/build_seeds.py.

Quality gates

Metric Target
json_parse_rate ≥ 0.95
schema_conformance_rate ≥ 0.90
status_accuracy ≥ 0.90
failure_category_accuracy ≥ 0.80
return_code_accuracy ≥ 0.85 (when present)
explanation_present_rate ≥ 0.95 (when status ≠ completed)
related_docs_coverage_rate ≥ 0.90

Browse this example on GitHub