todo2code

Ticket 046: Generate canonical pipeline event logs

Goal and scope

Implement the first runtime producer of the t2c.event-log/v1 contract from ticket-045. One deterministic codec must parse, validate and render the closed DSL, maintain its SHA-256 chain and publish logs.dsl.txt atomically beside every pipeline manifest.json for succeeded, degraded and failed runs.

The producer records only runtime-owned pipeline facts. A later integration ticket will acquire GitHub ticket, commit, push, PR, review, merge and branch events and render a separate workflow-level stream. It must consume evidence; it must not append to an immutable completed pipeline log.

Acceptance criteria

Participants

Architecture and bounds

Non-goals

Approval boundary

The human owner explicitly approved ticket-046 on 2026-08-05. This authorizes the five implementation files and architecture declared in intent.json; protected publication still requires independent exact-head evidence.

Validation evidence