Skip to content

Distribution Protocol v0.3 (close open review findings) + repo controls for a hash-pinned spec - #2

Merged
askclaw-vesper merged 7 commits into
mainfrom
cursor/distribution-v03-review-fixes-and-repo-hygiene-3726
Sep 7, 2026
Merged

Distribution Protocol v0.3 (close open review findings) + repo controls for a hash-pinned spec#2
askclaw-vesper merged 7 commits into
mainfrom
cursor/distribution-v03-review-fixes-and-repo-hygiene-3726

Conversation

@BlueBirdBack

Copy link
Copy Markdown
Contributor

What

Two things: the Distribution Protocol moves to v0.3, closing every finding the review of #1 left open when v0.2 merged; and the repository gains the controls a public-channel, hash-pinned spec repo needs (.gitattributes, CI, CONTRIBUTING.md, PR template). AMBER-Core-Specification.md is byte-for-byte unchanged (spec_sha256 = 755af5b7…5755e4).

protocols/distribution.md → v0.3

Open finding from #1 review Resolution
Signature is a manifest field yet said to cover the entire manifest Signature is now detached (manifest.yaml.sig) over the exact bytes of manifest.yaml; manifest carries producer identity + signing-key id. No YAML canonicalization needed. (§3, §5.1)
Redacted summary's "enumerated field set" never enumerated Closed field set enumerated, with explicit exclusions (resolved cutoff commit, provenance, candidate_input_bundle, rubric, allowlist, …). Summary is itself signed. (§5.1)
Validity keyed to retirement (discovery) date, not leak date Validity keyed to the leak date; runs in the leak→retirement window go to pending_adjudication per Core §5.8; fallback to last passed leak check. (§6)
§7.1 contradicts §4 (external consumers can verify oracle.pack sha256 via index) Matrix rewritten with a by possession / by value distinction: external consumers verify spec_sha256 by possession and both artifact hashes by value against the signed index. (§7.1)
"Hash-only index carrying no content" overstates Index described as content-free with cutoff_utc + state; the cutoff_utc disclosure is named as an accepted limit. (§1, §4, §8)
Miscitation: Core §5.1 for leak-status rationale → Core "Purpose and use" + §5.3. (§1)
Miscitation: Core §6 for selection bias Selection bias / difficulty calibration attributed to profile + statistics layers; Core §6 explicitly not claimed. (§8)

Also: §2 now defines "exact bytes" (UTF-8, LF, no BOM, whole file, sha256sum) and §5.1 says where the producer key is published, deferring rotation/witnessing to the index open question. Normative clarifications → minor bump per Core's revision policy. All Core § citations re-checked against the current Core text.

Repository controls

  • .gitattributes — LF/UTF-8 for all text. Without it, a core.autocrlf=true checkout produces a different spec_sha256 from the same commit. git add --renormalize showed zero churn, so existing hashes are unaffected.
  • CI (.github/workflows/docs.yml) — two network-free jobs: lychee --offline relative-link + fragment check, and an encoding check (UTF-8, LF, no BOM, trailing newline) over tracked .md + LICENSE. Both verified locally, including that the link check fails on a broken link/fragment.
  • CONTRIBUTING.md — the no-case-content rule (a leak retires the case; git history is public), the revision policy and what a normative PR must include, and why byte changes to Core are never free.
  • PR template — the above as a checklist.
  • PLAN.md / README.md — pinned to v0.3, M1 exit criteria extended to the detached signature and the closed summary field set, CONTRIBUTING linked.

Deliberately not done

  • No edits to Core (would change spec_sha256; the two candidate nits — §8 layering not listing distribution, AMBER.md "planned" — are not worth a hash change).
  • No schemas/ / M1 tooling: Core §8 says schemas inherit the SHRE v0.1 corpus, which is not in this repository, so authoring them here would be guesswork.

Checklist

  • No case content.
  • Normative document changed: version bumped, dated changelog entry added.
  • Documents pinning to the old version updated (PLAN.md).
  • AMBER-Core-Specification.md unchanged.
  • No Core invariant (§4) or boundary (§5) weakened; Core § citations checked.
  • Relative links resolve (lychee offline, run locally).
Open in Web Open in Cursor 

@BlueBirdBack
BlueBirdBack marked this pull request as ready for review September 6, 2026 01:06

@adaptcom adaptcom Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confidence Score: 2/5

Summary

Score reconciled from 3/5 because the review includes a blocking finding.

Docs-only PR: Distribution Protocol v0.3 plus .gitattributes, CI, CONTRIBUTING, PR template. Core hash unchanged, renormalize clean, CI verified locally. One self-contradiction in the v0.3 changelog; several small normative inconsistencies.

Important Files Changed

File Overview
protocols/distribution.md v0.3: detached signature, closed summary field set, leak-date validity, corrected matrix
.github/workflows/docs.yml Offline lychee link check and UTF-8/LF/BOM/newline check; verified working
.gitattributes Forces LF for all text; renormalize produces no churn
CONTRIBUTING.md No-case-content rule, revision policy, hash-pinning rationale
.github/PULL_REQUEST_TEMPLATE.md Checklist mirroring CONTRIBUTING
PLAN.md Pinned to v0.3; M1 exit criteria extended
README.md Chinese index updated for v0.3 and CONTRIBUTING link

Re-run review · View in Adapt

Comment thread protocols/distribution.md Outdated
Comment thread protocols/distribution.md Outdated
Comment thread protocols/distribution.md
Comment thread protocols/distribution.md Outdated
Comment thread protocols/distribution.md
Comment thread protocols/distribution.md Outdated
Comment thread .github/workflows/docs.yml Outdated
Comment thread CONTRIBUTING.md Outdated
cursoragent and others added 6 commits September 7, 2026 15:52
… findings

Addresses every finding from the review of PR #1 that was left open when
v0.2 merged:

- Manifest signature is now detached (manifest.yaml.sig) so coverage is
  well-defined (§3, §5.1); previously the signature was a manifest field
  said to cover the entire manifest.
- Redacted manifest summary field set enumerated with explicit
  exclusions (§5.1); previously referenced but never published.
- Leak-window runs routed to pending_adjudication; validity keyed to the
  leak date, not the retirement (discovery) date, with a fallback to the
  last passed leak check (§6).
- Verification matrix corrected: external consumers verify all three
  artifact hashes by value against the signed index, spec_sha256 by
  possession, and nothing else by possession (§7.1); previously
  contradicted §4.
- spec_sha256 byte definition fixed: UTF-8, LF, no BOM, whole file (§2).
- Index described as content-free rather than hash-only; public
  cutoff_utc disclosure recorded as a limit (§1, §4, §8).
- Core miscitations corrected: leak-status rationale -> Purpose + §5.3;
  selection bias no longer attributed to Core §6 (§1, §8).

Normative clarifications -> minor bump per Core's revision policy.

Co-authored-by: BlueBirdBack ✨ <BlueBirdBack@users.noreply.github.com>
Distribution Protocol §2 keys comparability to the SHA-256 of the exact
Core specification bytes. Without a .gitattributes, a checkout with
core.autocrlf=true rewrites line endings and yields a different
spec_sha256 from the same commit. Normalize all text to LF so the bytes
on disk match the bytes in the repository on every platform.

Co-authored-by: BlueBirdBack ✨ <BlueBirdBack@users.noreply.github.com>
Codifies the rules a public-channel spec repository needs and that were
previously only implicit: no case content ever (a leak retires the case
permanently), the revision policy and what a normative PR must include,
and the fact that AMBER-Core-Specification.md is hash-pinned so byte
changes are never free. The PR template turns those into a checklist.

Co-authored-by: BlueBirdBack ✨ <BlueBirdBack@users.noreply.github.com>
Two deterministic, network-free jobs for a documentation repository:

- links: lychee in --offline mode verifies that every relative link and
  fragment between the Markdown documents resolves.
- encoding: every tracked .md file and LICENSE must be valid UTF-8 with
  LF line endings, no BOM, and a trailing newline — the byte conditions
  Distribution Protocol §2 places on the hash-pinned Core specification,
  enforced at the boundary rather than trusted to local git config.

Co-authored-by: BlueBirdBack ✨ <BlueBirdBack@users.noreply.github.com>
…ontrols

PLAN: status moved to 2026-09, published protocol version pinned to v0.3
with the closed review findings listed; M1 exit criteria extended to the
detached manifest signature and the closed redacted-summary field set
that v0.3 specifies; index trust-root question cross-referenced to the
new §5.1 deferral. README: distribution bullet updated, CONTRIBUTING
linked.

Co-authored-by: BlueBirdBack ✨ <BlueBirdBack@users.noreply.github.com>
- distribution.md changelog: fix by-value/by-possession self-contradiction
  (external consumers hold spec bytes -> by possession; bundle/oracle -> by value)
- retitle §3 to 'three artifacts, one detached signature' (table has four rows)
- §3 manifest: record leak-check result, not only its last run date (grounds §6 fallback)
- §4: define index_version as a property of the index, not an entry field
- §5.1: cite index_version of the index carrying the case's entry
- §7: comparability extended to cutoff_utc; externally asserted run records
  must be producer-signed (§7.1 consumes signed run records only)
- workflows/docs.yml: pin actions/checkout and lychee-action to commit SHAs
- CONTRIBUTING: attribute LF to .gitattributes, UTF-8/no-BOM to CI
- PLAN: record hash-index/v2026-09 as the live §4 data instance
@askclaw-vesper
askclaw-vesper force-pushed the cursor/distribution-v03-review-fixes-and-repo-hygiene-3726 branch from 8540f55 to 8a34171 Compare September 7, 2026 15:58
…instance

The published index carries a face column and truncated hashes, and omits
manifest sha256/spec_sha256/cutoff_utc/state and a producer signature;
§4 entries carry exactly the listed fields. Conformance is M5 work.
@askclaw-vesper
askclaw-vesper merged commit b765ec7 into main Sep 7, 2026
2 checks passed
@askclaw-vesper
askclaw-vesper deleted the cursor/distribution-v03-review-fixes-and-repo-hygiene-3726 branch September 7, 2026 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants