Skip to content

Commit b966c0f

Browse files
authored
docs: tighten release trust surfaces (#27)
1 parent d553104 commit b966c0f

File tree

9 files changed

+65
-38
lines changed

9 files changed

+65
-38
lines changed

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# CHANGELOG — Protocol-Commercial
2+
3+
## v1.1.0
4+
5+
Current release.
6+
7+
- adopts the flat per-verb schema layout under `schemas/v1.1.0/`
8+
- treats `v1.1.0` as the canonical line for new integrations
9+
- retains `v1.0.0` as a published legacy line for compatibility and audit
10+
- ships release metadata, examples, and checksum tooling aligned to the current line
11+
12+
## v1.0.0
13+
14+
Initial release.
15+
16+
- published the original commercial schema and example surface
17+
- used the historical nested `requests/` and `receipts/` path model retained for compatibility

GOVERNANCE.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,9 @@ Steward duties include:
2424
| New version line | Steward approval with release metadata refresh |
2525
| Public current-path model change | Steward approval with cross-repo doc alignment |
2626
| In-place published mutation | Prohibited |
27+
28+
## Steward succession
29+
30+
If the current steward becomes unavailable, they may designate a successor publicly in repository governance records or release metadata.
31+
32+
If no prior designation exists, maintainers controlling the canonical repository may appoint a successor by public repository record, with the expectation that version immutability and published path continuity are preserved.

INTEGRATOR.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Normative interpretive docs:
3434

3535
## Safe consumer path
3636

37-
1. Confirm the package version is `1.1.0` and that `manifest.json` reports `status: current`.
37+
1. Confirm the release version is `1.1.0` and that `manifest.json` reports `status: current`.
3838
2. Load `schemas/v1.1.0/index.json` and select the request and receipt schema paths you need.
3939
3. Configure your validator from the flat per-verb schema files under `schemas/v1.1.0/commercial/<verb>/`.
4040
4. Run checksum verification before mirroring or vendoring artifacts using the canonical commands in `README.md#validation-commands`.
@@ -51,7 +51,7 @@ Do not teach `v1.0.0` paths as current implementation guidance.
5151

5252
## Checksums and provenance
5353

54-
The checksum-covered payload for this release is intentionally narrow:
54+
The authoritative checksum-boundary and release-state rules live in `SPEC.md` and `POLICY.md`.
5555

5656
- `schemas/v1.1.0/`
5757
- `examples/v1.1.0/`

ONBOARDING.md

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,14 @@ This document is an orientation guide for the active v1.1.0 release line. Contri
66

77
Use this document to understand the repository shape, release line, and maintainer intent before editing.
88

9+
For the authoritative version policy, checksum boundary, and validation requirements, see `POLICY.md` and `SPEC.md`.
10+
911
## External consumer workflow
1012

11-
1. Install dependencies or the published package.
12-
```bash
13-
npm install @commandlayer/commercial
14-
```
13+
1. Use the repository contents directly, or a published distribution only after release metadata confirms it.
1514
2. Confirm the current line in `manifest.json` and use `schemas/v1.1.0/index.json` as the authoritative schema map.
1615
3. Choose flat schemas under `schemas/v1.1.0/commercial/<verb>/` for validator configuration.
17-
4. Verify the machine-artifact set before mirroring or vendoring.
18-
```bash
19-
npm run validate:integrity
20-
sha256sum -c checksums.txt
21-
```
16+
4. Run the maintained verification commands listed in `SPEC.md` before mirroring or vendoring.
2217
5. Treat `examples/v1.1.0/commercial/<verb>/valid/` and `invalid/` as conformance fixtures.
2318
6. Use `v1.0.0` only when compatibility with the historical nested path model is required.
2419

@@ -51,13 +46,10 @@ High-level maintainer sequence:
5146
1. Never mutate a published version directory in place after release.
5247
2. Create a new `schemas/vX.Y.Z/` and `examples/vX.Y.Z/` tree.
5348
3. Update `package.json`, `manifest.json`, README, SPEC, policy docs, and workflow assumptions.
54-
4. Draft release notes for the new line before publication.
49+
4. Draft release notes and changelog updates for the new line before publication.
5550
5. Regenerate checksums for the new current line's machine-artifact set.
5651

57-
For the current line, the canonical path model is flat:
58-
59-
- `https://commandlayer.org/schemas/vX.Y.Z/commercial/<verb>/<verb>.request.schema.json`
60-
- `https://commandlayer.org/schemas/vX.Y.Z/commercial/<verb>/<verb>.receipt.schema.json`
52+
For the canonical path model and namespace rules, see `SPEC.md`.
6153

6254
## Manual publication follow-up
6355

@@ -76,4 +68,4 @@ The repository does not automate publication, GitHub Release publication, IPFS p
7668
- Keep schema paths flat and mirror-safe.
7769
- Keep checksum scope explicit.
7870
- Keep GitHub Releases and repository docs in sync.
79-
- Prefer exactness over deduplication.
71+
- Prefer linking over duplication.

README.md

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Protocol-Commercial v1.1.0 is the current CommandLayer commercial schema line.
44

5-
This README describes the current v1.1.0 release line and its release packaging surface. Repo-wide governance, security posture, and checksum-boundary provenance live in the dedicated meta docs.
5+
This README is a release-orientation document for the current line. The normative specification lives in `SPEC.md`. Release policy, checksum-boundary policy, and version-lifecycle rules live in `POLICY.md`.
66

77
It defines the canonical commercial overlays that sit on top of Protocol-Commons v1.1.0. Commons defines base semantic actions. Commercial defines the monetized, settlement-aware request and receipt contracts that agents and runtimes use when value moves.
88

@@ -24,11 +24,16 @@ This README is a repo-wide orientation document for the current release line and
2424
- **Current canonical schema root:** `https://commandlayer.org/schemas/v1.1.0/`
2525
- **Current package entrypoint:** `schemas/v1.1.0/index.json`
2626
- **Historical legacy line:** `v1.0.0`, retained under `schemas/v1.0.0/` and `examples/v1.0.0/`
27+
- **Changelog:** `CHANGELOG.md`
2728
- **Release note draft for GitHub Releases:** `releases/v1.1.0.md`
2829

29-
`v1.1.0` is flat. Its canonical schema URIs are the exact file-mirror paths published under `https://commandlayer.org/schemas/v1.1.0/commercial/<verb>/`.
30+
For the authoritative version policy and checksum-boundary rules, see `POLICY.md`. For normative identity and path rules, see `SPEC.md`.
3031

31-
`v1.0.0` is historical only. Its older nested `requests/` and `receipts/` directories remain published for compatibility and audit, not as current teaching.
32+
## Canonical namespace and source of truth
33+
34+
The `commandlayer.org` `$id` namespace is canonical for published Protocol-Commercial schemas.
35+
36+
This repository is the source of truth for those schema files and release metadata. Public mirrors or hosted copies under `commandlayer.org` may be unavailable temporarily; that does not change the canonical `$id` values or the repository-local release contents.
3237

3338
## Schema identity and trust
3439

@@ -70,6 +75,8 @@ For consumers who need the shortest safe path:
7075
5. Ignore `v1.0.0` unless you are maintaining compatibility with historical nested paths. Current automated validation targets `v1.1.0`; retained `v1.0.0` artifacts remain published for compatibility and audit without equal current-line guarantees.
7176
6. Treat schemas and `manifest.json` as normative machine artifacts. Treat examples as illustrative conformance fixtures. Treat prose docs as normative interpretation and release-process guidance.
7277

78+
Package-install instructions are intentionally omitted here because npm publication for `@commandlayer/commercial` could not be verified from this repository alone.
79+
7380
A longer external-consumer workflow lives in `INTEGRATOR.md`.
7481

7582
## Commercial execution model
@@ -150,6 +157,7 @@ protocol-commercial/
150157
│ └── v1.1.0/commercial/<verb>/{valid,invalid}/
151158
├── manifest.json
152159
├── checksums.txt
160+
├── CHANGELOG.md
153161
├── INTEGRATOR.md
154162
└── scripts/
155163
```
@@ -262,19 +270,14 @@ Protocol-Commons and Protocol-Commercial therefore tell one coherent story:
262270

263271
## Checksum boundary and provenance summary
264272

265-
The v1.1.0 checksum-covered machine-artifact set is intentionally limited to:
266-
267-
- `schemas/v1.1.0/`
268-
- `examples/v1.1.0/`
269-
- `manifest.json`
273+
The checksum boundary is defined normatively in `SPEC.md` and governed by `POLICY.md`.
270274

271275
`checksums.txt` is the generated hash ledger for that machine-artifact set; it describes that surface but is not itself part of the hashed payload, so checksum verification confirms covered files only relative to the checked-in `checksums.txt` ledger and does not independently authenticate that ledger. Release-defining prose docs such as `README.md`, `SPEC.md`, `POLICY.md`, `SECURITY_PROVENANCE.md`, `INTEGRATOR.md`, and `ONBOARDING.md` are authoritative guidance, but they are outside the checksum surface unless the tooling is expanded deliberately in a later release.
272276

273277
For external verification, the minimal path is:
274278

275-
1. Install or vendor the package.
276-
2. Inspect `manifest.json` to confirm the current line is `v1.1.0`.
277-
3. Validate checksum coverage with `npm run validate:integrity`.
278-
4. Verify local file hashes with `sha256sum -c checksums.txt`.
279-
5. Load `schemas/v1.1.0/index.json` and bind validators from the listed request and receipt schema paths.
280-
6. Ignore `v1.0.0` unless compatibility requires the historical line.
279+
1. Inspect `manifest.json` to confirm the current line is `v1.1.0`.
280+
2. Run `npm run validate:integrity`.
281+
3. Run `sha256sum -c checksums.txt`.
282+
4. Load `schemas/v1.1.0/index.json` and bind validators from the listed request and receipt schema paths.
283+
5. Ignore `v1.0.0` unless compatibility requires the historical line.

SECURITY.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ Protocol-Commercial provides schema-level security properties, not transaction o
2929
- keep x402 references typed and minimal
3030
- do not let current-line docs teach superseded path models
3131

32-
## Verification commands
32+
## Verification summary
3333

3434
Use the canonical validation command surface in `README.md#validation-commands`. For security review, `npm run validate:schemas` is the direct schema/metadata drift check, and `sha256sum -c checksums.txt` verifies only the checksum-covered machine-artifact surface, not release prose docs.
3535

3636
Security contact: `dev@commandlayer.org`
37+
38+
PGP: none currently provided for this repository.

SPEC.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,13 @@ Release-defining prose docs remain normative for interpretation, but they are ou
3636
## 3. Version and identity rules
3737

3838
1. Every v1.1.0 schema MUST use a stable `$id` under `https://commandlayer.org/schemas/v1.1.0/...`.
39-
2. A schema file path and its `$id` MUST agree exactly.
40-
3. A v1.1.0 schema MUST NOT be mutated in place after release publication.
41-
4. Breaking or meaning-changing edits require a new version directory.
42-
5. `manifest.json` MUST identify the current release line and any retained legacy lines.
43-
6. `checksums.txt` MUST enumerate the canonical machine-verifiable release artifact set and MUST NOT be described as protecting prose docs it does not hash.
39+
2. The `commandlayer.org` namespace is canonical, but this repository is the source of truth for the corresponding schema files and release metadata.
40+
3. Public hosting or mirrors for `commandlayer.org` MAY be unavailable temporarily; that does not change canonical `$id` values or repository-local release contents.
41+
4. A schema file path and its `$id` MUST agree exactly.
42+
5. A v1.1.0 schema MUST NOT be mutated in place after release publication.
43+
6. Breaking or meaning-changing edits require a new version directory.
44+
7. `manifest.json` MUST identify the current release line and any retained legacy lines.
45+
8. `checksums.txt` MUST enumerate the canonical machine-verifiable release artifact set and MUST NOT be described as protecting prose docs it does not hash.
4446

4547
## 4. Current path model
4648

@@ -149,6 +151,8 @@ A conformant release MUST satisfy all of the following:
149151
- `manifest.json` and `schemas/v1.1.0/index.json` agree on the current verb set and path inventory
150152
- `npm test` passes as the current-line validation aggregate
151153
- `npm run validate:schemas` passes
154+
- `npm run validate:examples` passes
155+
- `npm run validate:integrity` passes
152156
- `sha256sum -c checksums.txt` passes for the checksum-covered machine-artifact set
153157
- repository metadata does not drift from the published current line
154158

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
"checksums.txt",
4646
"manifest.json",
4747
"README.md",
48+
"CHANGELOG.md",
4849
"SPEC.md",
4950
"POLICY.md",
5051
"GOVERNANCE.md",

schemas/v1.1.0/index.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,7 @@
3434
"receipt_schema": "schemas/v1.1.0/commercial/verify/verify.receipt.schema.json",
3535
"examples": "examples/v1.1.0/commercial/verify"
3636
}
37-
]
37+
],
38+
"document_type": "inventory",
39+
"description": "Machine-readable inventory of the current Protocol-Commercial release line. This file is an index, not a validation schema."
3840
}

0 commit comments

Comments
 (0)