Skip to content

Optic Artifact ID And Hash Semantics #565

Description

@flyingrobots

Migrated from a local Wesley Method backlog card after adopting METHOD v2.1.0 tracker doctrine.

  • Source path: docs/method/backlog/bad-code/SOURCE_optic-artifact-id-hash-semantics.md
  • Original filesystem lane: bad-code
  • Canonical Method lane label: lane:bad-code
  • Legend: SOURCE
  • Migration issue: Migrate Wesley Method backlog to GitHub Issues #548
  • Migrated on: 2026-06-04

Original Local Backlog Card

Optic Artifact ID And Hash Semantics

  • Lane: bad-code
  • Legend: SOURCE

Why now

OpticArtifact currently carries both artifact_id and artifact_hash, and
the v0 compiler sets artifact_id = artifact_hash. That is acceptable as an
initial content-addressed implementation, but the semantics need to be made
explicit before more consumers depend on the shape.

There are two coherent futures:

  • collapse the fields if artifact_id is always the content hash
  • keep both and document that artifact_id is a registry/address identity while
    artifact_hash remains the canonical content-integrity digest

The current redundancy is useful only if it is deliberate.

Hill

The optic artifact identity model explains whether artifact_id and
artifact_hash are aliases in v0 or separate concepts with different future
jobs.

Done looks like

  • docs state the v0 relationship between artifact_id and artifact_hash
  • tests assert the intended v0 relationship
  • if the fields can differ later, docs name the condition under which they can
    differ
  • OpticRegistrationDescriptor uses the chosen terminology consistently
  • Echo-facing documentation can explain which field it verifies for content
    integrity

Repo Evidence

  • crates/wesley-core/src/domain/optic.rs
  • crates/wesley-core/src/adapters/apollo.rs
  • docs/NORTHSTAR.md

Activity

  1. added
    triage:bad-codeDebt intake that still needs scheduling, closure, or a repo move
    legend:SOURCESource/schema/docs truth work
    on Jun 4, 2026
  2. Repository owner deleted a comment from coderabbitai on Jun 24, 2026
  3. flyingrobots commented on Jun 25, 2026

    @flyingrobots
    OwnerAuthor

    Closing as superseded by #631. Optic/Echo/Continuum concepts are not Wesley-owned product concepts; Wesley must stay domain-free. #631 tracks the residue purge as a boundary cleanup without preserving this Optic-specific work item as scheduled Wesley scope.

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

    docsDocumentation changeslegend:SOURCESource/schema/docs truth worktriage:bad-codeDebt intake that still needs scheduling, closure, or a repo movework:integrityRemoves lies, drift, flake, or trust debt

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions