# PubLedge Content Provenance Manifest
#
# Tracks SHA-256 hashes of canonical PubLedge content for tamper detection
# and reproducibility. Run `./scripts/validate-hashes.sh` to verify, or
# `./scripts/validate-hashes.sh --update` to recompute after intentional edits.
#
# Hash mechanism adapted from skill-provenance (https://skillprovenance.dev).
# We do not adopt the full skill-provenance protocol — only the integrity
# pattern.
#
# What gets hashed:
#   - Protocol prose (PROTOCOL.md, PRIOR-ART.md, vocabulary)
#   - All published JIA / RMA instances under data/examples/instruments/
#   - All obligation definitions under data/examples/obligations/
#   - All authority definitions under data/examples/authorities/
#   - Mapping index
#   - JSON Schemas + JSON-LD context (published under schema/)
#   - Vendored upper ontology snapshot (vendor/gist/gistCore.ttl)
#   - License files
#
# What does NOT get hashed:
#   - Build outputs (docs/)
#   - Editor / OS artifacts
#   - This file (MANIFEST.yaml is the control file)
#   - Workshop scratchpad (_workshop/) — not a stable contract
#   - index.html, 404.html — regenerated as the site evolves

bundle: publedge
bundle_version: 0.1.0-pre
bundle_date: 2026-04-18
description: >
  PubLedge — open recordkeeping protocol for fact-specific written
  interpretations between two parties (JIAs, RMAs, no-action letters,
  private letter rulings).

upstream:
  - name: skill-provenance
    url: https://skillprovenance.dev
    used_for: hash mechanism only (validate.sh script pattern)
  - name: gist (Semantic Arts)
    url: https://www.semanticarts.com/gist/
    used_for: upper ontology binding
    pinned_at: vendor/gist/gistCore.ttl

files:
  # License files
  - path: LICENSE
    role: legal
    hash: sha256:17298902087045c8684d1be30cf0e921bb5c52167201d148cc002eaa0763e7cb
    note: License pointer document explaining dual-license split

  - path: LICENSE-APACHE
    role: legal
    hash: sha256:3cbeb832e52ede2c154d4977567b70f204a853342e51d843458f9b785771f069
    note: Apache 2.0 full text — covers code, schemas, scripts

  - path: LICENSE-CC-BY-4.0
    role: legal
    hash: sha256:62a68518848c2fdcd108ff5cc11ba1516440c507bf425d5e76ad36886fd5752a
    note: CC-BY 4.0 reference — covers content (markdown, YAML, HTML)

  - path: ATTRIBUTION.md
    role: legal
    hash: sha256:29fa94ac52d43bd593f3fcd15312d33c031c3ce4d7bb3f9fbbf1b8b29b6b4a60
    note: Credits KaC, gist, EveryAILaw

  # Vendored upstream
  - path: vendor/gist/gistCore.ttl
    role: vendor
    hash: sha256:0d8230f3a4df9aa7782ec79bfa83def34a13a066f60d5f5ef0f00b9cecce08b1
    note: Pinned snapshot of Semantic Arts gist core ontology (CC-BY 4.0)

  - path: vendor/gist/LICENSE.txt
    role: vendor
    hash: sha256:9e5f1b3c610b9c2da5c313bf81d577a7d1acec686bdb0384edefa6df0f90cd94
    note: gist upstream license

  - path: vendor/gist/VERSION.md
    role: vendor
    hash: sha256:1bd18183661c4b62b6e0134380d0559460d419c8eff36d1def309dd194426363
    note: Snapshot provenance and refresh procedure

  # Project configuration
  - path: project.yml
    role: config
    hash: sha256:6903433cdf254bdfee4a135628ba78703144d58e3cc1af84b4ad99987d30b4d9
    note: KaC build config — entity ontology, navigation, theme

  # Data — authorities
  - path: data/examples/authorities/utah-oaip.md
    role: authority
    hash: sha256:fd36fa6e40b3d194b09db4e10b9b512093354e5d10872330bca717c1cf488c2c
    note: Utah Office of AI Policy

  # Data — instruments (JIAs / RMAs)
  - path: data/examples/instruments/utah-mental-health-chatbot-disclosure-2026q2.md
    role: instrument
    hash: sha256:3cd543fdf9279caf4d192cbd5441f1cfb2dec39d63e62401375dd41b7432a695
    note: PL-JIA-0001 — Utah Mental-Health Chatbot Disclosure JIA (draft)

  # Data — obligations
  - path: data/examples/obligations/disclose-genai-on-first-session.md
    role: obligation
    hash: sha256:ff9ba78518a50fd4756d36f216805a39b565fe861577ba775bab793fc9d52366
    note: Primary obligation — display GenAI disclosure on first session

  # Data — mapping
  - path: data/examples/mapping/index.yml
    role: mapping
    hash: sha256:f7c73f9a0b29d998194fe1cf9b97bc6d56235b14a37bff9d4a4c148ad4c39bcc
    note: Connects instruments to obligations via terms

  # Protocol prose
  - path: README.md
    role: protocol
    hash: sha256:fd1d8f186c17f7c8c9fba68ceae27d680e927f46ebe6ee58eee399d607fb01b3
    note: Repository overview rendered on GitHub

  - path: PROTOCOL.md
    role: protocol
    hash: sha256:664c9261a06f9db91433546df41541f46e21009213b7d37b732528a270fcb809
    note: PubLedge protocol specification

  - path: PRIOR-ART.md
    role: protocol
    hash: sha256:33c2f5e390cf0f197f8cd20be06f381d421cd27e3577417629a9e507eca67c97
    note: Survey of analogous instruments PubLedge draws from

  # Templates — Utah JIA + RMA under §13-72a (mental health chatbot) and §13-75 (safe harbor)
  - path: _templates/jia/utah-mental-health-chatbot-first-session-disclosure.md
    role: template
    hash: sha256:0377ecaa1f41762f9c85a9f2cc450b8a9a6d92206e0111508fcbf6eb825f192f
    note: JIA template — §13-72a-203 first-session disclosure

  - path: _templates/jia/utah-mental-health-chatbot-data-protection.md
    role: template
    hash: sha256:ae9f77675905635b3c345fcd9a6fac27b46974ba3516e37c857baf642388c102
    note: JIA template — §13-72a-201 data protection scope

  - path: _templates/jia/utah-mental-health-chatbot-advertising.md
    role: template
    hash: sha256:11669504a7e41869750e72afcbbc22050b9c66bd0db24ac9c58f319c673fcf1c
    note: JIA template — §13-72a-202 advertising and representations

  - path: _templates/rma/utah-ai-sandbox-mitigation-mental-health-chatbot.md
    role: template
    hash: sha256:dc00c539c60fef133dd023bb3b9741d322f4d6b62ac4d15b668cce5a6ac9f50b
    note: RMA template — Utah AI Learning Lab sandbox mitigation enrollment

  - path: _templates/rma/utah-genai-safe-harbor-enrollment.md
    role: template
    hash: sha256:4adaeceb18fbc866d7921c30093fd2f8e29697d2b42714ecc6abefdd33b1c078
    note: RMA template — §13-75-104 GenAI safe-harbor enrollment

  - path: schema/jia.schema.json
    role: schema
    hash: sha256:5819daddb942f5d3a27612761a138902c69da4d3fd69c0b4773c6e19ba7a95c0
    note: JSON Schema for PubLedge JIA instrument frontmatter

  - path: schema/rma.schema.json
    role: schema
    hash: sha256:20417d73c8ac414411ad9af572dde4f0fc6d188598518064ac11af6bf5ccd196
    note: JSON Schema for PubLedge RMA instrument frontmatter

  - path: schema/context.jsonld
    role: schema
    hash: sha256:404c258aefcd446f4272593639d788ee808089b9c1b5a7d793f4322290ff0373
    note: JSON-LD context binding PubLedge properties to gist IRIs

  - path: ROADMAP.md
    role: spec
    hash: sha256:0cdb081794ceb34509b4e14f214cb1a35746fb8de6d766b2c2d22f7d8ea8e284
    note: Living roadmap — housekeeping document for v0.1 / v0.2 tracking
