Skip to content

Canonical Target IR bytes + digest (reviewed goldens), then integrate into bundle assembly #105

Description

@flyingrobots

Context: v0.9 shipped deterministic in-memory Echo/git-warp Target IR review artifacts but deliberately deferred canonical Target IR bytes, digests, and reviewed golden artifacts (a non-goal). v0.11 contract-bundle assembly therefore accepts targetIrDigest as a supplied digest-locked reference, not a value it computes — see docs/design/contract-bundle-assembly-v0.11.md.

This issue tracks closing that gap on the target-IR track (not under bundle pressure), mirroring the discipline the Core path already followed (executable canonical encoder → reviewed bytes → exact digest fixture → regeneration command → hash lock).

Scope

  • A canonical CBOR/value model for the supported Target IR artifacts (echo.span-ir/v1, gitwarp.commit-reducer-ir/v1).
  • A digest_target_ir_artifact function reusing the edict.digest/v1 domain-separated framing.
  • Checked-in reviewed Target IR byte + digest golden fixtures with an xtask check/regenerate path.
  • Then: integrate into bundle assembly so targetIrDigest can be computed from a real Target IR artifact (replacing the supplied reference), and upgrade the v0.11 bundle test matrix from "targetIrDigest reference changed" to "target IR bytes rehashed".

Acceptance criteria

  • Canonical Target IR encoder + digest + reviewed goldens land with their own RED/GREEN evidence.
  • Bundle assembly can compute targetIrDigest from a real artifact; the v0.11 design doc's "Non-claim" about target-IR byte tamper detection is updated/removed.

Activity

  1. added this to the v0.11.0-alpha.1 milestone on Jun 29, 2026
  2. coderabbitai commented on Jun 29, 2026

    @coderabbitai
    🔗 Related PRs

    #32 - docs: add workflow standards [merged]
    #37 - Add v1 lowerability and target-profile conformance checks [merged]
    #41 - Add Gate C admission boundary checks [merged]
    #67 - Add Echo Target IR lowering [merged]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestrelease:target-irRelease work for Target IR generationrelease:target-profilesTarget-profile contract and authority source release work

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions