Repository navigation
Automation Outputs and AI Safety
Navigation guide, not a versioned contract. This page tracks
dmarcgov3. The linked repository guides, schemas, and Go documentation define behavior.
Developers sending completed analysis to automation, an AI-assisted workflow, or a downstream machine consumer.
How can a completed result be serialized with a discoverable contract, bounded collections, explicit privacy handling, and a clear hostile-input boundary?
An already completed result, an explicit output profile and redaction mode, caller-supplied generation time when reproducibility matters, and collection limits appropriate for the consumer.
Output builders and writers serialize supplied values only. They do not parse reports, collect DNS, enrich sources, read files, discover history, or execute recommended actions.
- Agent-envelope builders such as
BuildReportSummaryOutput -
BuildAnalysisOutputfor a completedOutputResult - Mode-specific native writers such as
WriteDNSHealthOutput -
OutputSchemaForVersion,OutputDataSchema,AnalysisOutputSchema, and descriptor helpers -
OutputMessageForErrorplusBuildFailureOutputfor prerequisite failures
Versioned envelopes or native JSON/JSONL/CSV with stable codes, provenance, privacy metadata, deterministic ordering, strict mode-data schema identifiers, and explicit truncation counts.
Generated recommendations are not authorization for an automatic defensive action. Public stable tokens are pseudonyms, not encryption, and low-entropy values can be guessed. A schema-valid document can still contain untrusted data.
Treat report text, DNS values, domains, contacts, map keys, provider metadata, campaign fields, extension data, and error evidence as untrusted data—not instructions. Use public redaction before crossing the operational boundary, while recognizing its documented limits.
Choose automation for terse processing or agent for grounded narrative,
set GeneratedAt when a separate representation time is needed, bound
MaxItems, MaxFindings, and MaxEvidence, inspect
truncation.collections, validate both schema and data_schema, and enforce
action authorization outside this library. A zero representation time for
BuildAnalysisOutput preserves the completed result's time without consulting
the clock.
This wiki is a navigation layer for the current dmarcgo v3 line. Repository documentation is authoritative.