Skip to content

Output: include metadata object in JSON output #46

@unclesp1d3r

Description

@unclesp1d3r

Summary

JSON output is missing the metadata object specified in Core Flow 8 (JSON Output with Metadata).

Context

The spec defines JSON output should include:
```json
{
"filename": "sample.bin",
"matches": [...],
"metadata": {
"file_size": 8192,
"evaluation_time_ms": 2.3,
"rules_evaluated": 45,
"magic_file": "/usr/share/file/magic/Magdir/"
}
}
```

Current state: JSON output only includes filename and matches. The metadata fields exist in EvaluationResult and EvaluationMetadata but are not serialized to JSON output.

Acceptance Criteria

  • JSON output includes metadata object with file_size, evaluation_time_ms, rules_evaluated
  • magic_file path included when available (None for built-in rules)
  • JSON Lines format for multiple files also includes metadata per file
  • Existing JSON integration tests updated
  • New tests for metadata field accuracy

Files to Modify

  • src/output/json.rs - Include metadata in serialization
  • src/output/mod.rs - Ensure metadata flows through to formatter

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestoutputResult formatting and output generationpriority:normalStandard work item
    No fields configured for Feature.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions