Skip to content

RFC 029: Typed metadata attachments #63

@dannymeijer

Description

@dannymeijer

Use this issue to track InQL RFC 029, proposed in PR #60 at docs/rfcs/029_metadata_attachments.md.

Area

  • Specification (RFCs)
  • Documentation

Summary

RFC 029 defines typed metadata attachments for InQL semantic targets. Attachments let authors, library code, sessions, adapters, and inspection tooling associate structured metadata with plans, fields, expressions, read roots, quality checks, policy checkpoints, and execution evidence without collapsing those facts into comments or untyped maps.

Motivation

Relational evidence needs a common attachment model. Without one, lineage, policy, data quality, adapter coverage, and export metadata will each invent their own ad hoc key/value structure, making evidence hard to validate, compare, serialize, or consume.

Proposal sketch

Define typed metadata attachment records that bind a target, attachment type, source, lifecycle, and structured payload. The RFC should distinguish authored metadata from derived or observed metadata and require versioned, inspectable schemas for serialized evidence.

Alternatives considered

The draft rejects untyped string maps, embedding all metadata directly into every plan node, and letting downstream systems attach arbitrary facts without a shared InQL target model.

Impact / compatibility

This is additive. Existing plans can remain metadata-free. Tools that require metadata must distinguish absent metadata from an empty metadata set.

Implementation notes (optional)

Review PR #60 for the draft. This work depends on RFC 028 semantic targets and feeds the quality, governance, bundle, and export RFCs.

Checklist

  • I checked for an existing RFC or issue covering this.
  • I can describe how this impacts existing code and how to migrate (if needed).

Metadata

Metadata

Assignees

No one assigned

    Labels

    RFCRFC design and planningdocumentationImprovements or additions to documentationspecificationdocs/rfcs/ normative RFCs

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions