Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions catalog/external/source-candidates.v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,17 @@
"value": "13a44970b5d1fd7a232eabc6a2abe42e7ba5c4a6a68e21484717f2b70509a0ac"
},
"acquired_at": "2026-08-28T17:07:39Z",
"reviewed_at": "unknown",
"review_state": "pending",
"trust_classification": "unknown",
"reviewed_at": "2026-08-29",
"review_state": "reviewed",
"trust_classification": "restricted",
"compatibility": {
"required_tools": []
},
"executable_resources": "unknown",
"consumer_profile": "human-review",
"pinned_install_example": "not-installable: the supplied snapshot is an external source candidate and is not redistributed by Aether",
"redistribution_permission": "unknown",
"redistribution_status": "unverified"
"redistribution_permission": "disallowed",
"redistribution_status": "verified"
}
]
}
2 changes: 1 addition & 1 deletion catalog/first-party/catalog.v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -1342,7 +1342,7 @@
"scope": "organization",
"source_digest": {
"algorithm": "sha256-utf8-lf",
"value": "ba2d0baa2dc8ecbfe3f268ac64dcaf31d9ab2dccb111b2f2a8ff7f44c4441a49"
"value": "33c29870108626a5f73267f97120d389447f52c96bb7d2587feeb6519b724b33"
},
"source_path": "library/organization/skills/marketing/social-surface-specs/SKILL.md",
"supersedes_ids": [],
Expand Down
17 changes: 10 additions & 7 deletions catalog/social-surfaces/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,18 @@ and pinned subset for a Brand Kit.

`catalog.v1.json` records the supplied 2026-08-28 source snapshot by exact
SHA-256 digest, capture timestamp, and inventory counts. The source candidate
is registered in `../external/source-candidates.v1.json` with a pending rights
review; [#54](https://github.com/egohygiene/aether/issues/54) owns that
decision. The archive and its SVG templates are deliberately absent from this
repository.
is registered in `../external/source-candidates.v1.json`. The rights review in
[#54](https://github.com/egohygiene/aether/issues/54) permits using the source
for creative reference, but does not establish permission to republish the
full directory as a normalized public catalog. The archive, source-derived
records, and SVG templates are deliberately absent from this repository. See
[`RIGHTS_REVIEW.md`](RIGHTS_REVIEW.md) for the recorded evidence and decision.

No source-derived surface records may be added while the catalog's
`rights_review.state` is `pending` or `rejected`. A review decision must name
the permitted use and its evidence before changing the catalog to stable or
release-included.
`rights_review.state` is `rejected`. A future approval that clearly authorizes
public normalized-record publication must name the permitted use and evidence,
pin a new catalog version and digest, and pass ordinary release validation
before changing the catalog to stable or release-included.

## Contract and unknowns

Expand Down
36 changes: 36 additions & 0 deletions catalog/social-surfaces/RIGHTS_REVIEW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Media Cheat Sheet rights review

## Decision

- Source candidate: `external/media-cheat-sheet-social-surface-snapshot`
- Snapshot captured: `2026-08-28T17:07:39Z`
- Snapshot SHA-256: `13a44970b5d1fd7a232eabc6a2abe42e7ba5c4a6a68e21484717f2b70509a0ac`
- Terms reviewed: <https://mediacheatsheet.com/terms/>
- Terms last updated by the source: `2026-08-21`
- Review date: `2026-08-29`
- Reviewer: OpenAI Codex, applying Aether's conservative source-governance policy; this is a repository publication decision, not legal advice.
- Decision record: <https://github.com/egohygiene/aether/issues/54>
- Resulting catalog version: `1.0.1`
- Resulting catalog digest (`sha256-utf8-lf`): `cc8186add31b923ceabdd0516c8f959823b36a0397262c2a03a1eef6d380e17e`

| Use | Decision | Evidence and boundary |
| --- | --- | --- |
| Private/internal reference | Permitted for creative work | The terms allow using specifications and guidance for personal or commercial creative work, subject to live verification. |
| Public normalized factual catalog | Not authorized from this snapshot | The terms do not expressly permit republication of the full specification directory; website content remains protected and only limited quotation/linking is identified. Aether therefore treats bulk normalized publication as disallowed. |
| Raw archive or SVG template redistribution | Prohibited | Templates may be used, modified, and shared with same-project collaborators, but may not be republished or redistributed as a competing library or standalone product. Aether does not redistribute them at all. |

## Repository consequences

- The catalog remains experimental and contains zero source-derived records.
- The source candidate is reviewed but restricted and non-publishable.
- The archive and its 302 SVG templates remain absent.
- The catalog and skill remain useful as an offline contract, deterministic
query implementation, synthetic fixture, provenance record, and consumer
lock boundary.
- A future independently gathered official-source catalog, or explicit
permission covering normalized republication, must use a new version and
digest and pass the normal Aether release gate.

Platform specifications can change. Any production use must verify selected
requirements against the linked official platform source before publishing or
spending money.
10 changes: 5 additions & 5 deletions catalog/social-surfaces/catalog.v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"schema_version": "aether.social-surface-catalog/v1",
"catalog": {
"id": "catalog/social-surface-specs",
"version": "1.0.0",
"version": "1.0.1",
"lifecycle": {
"state": "experimental"
},
Expand All @@ -21,14 +21,14 @@
"template_count": 302
},
"rights_review": {
"state": "pending",
"reviewed_at": null,
"state": "rejected",
"reviewed_at": "2026-08-29",
"decision_reference": "https://github.com/egohygiene/aether/issues/54",
"notes": "The supplied source describes use as personal and non-commercial. Live terms and redistribution rights must be reviewed before any source-derived record is published in this public catalog."
"notes": "Terms reviewed on 2026-08-29 permit using specifications for personal or commercial creative work, but do not expressly authorize republication of the full directory as a public normalized catalog. Website content remains protected and template republication is prohibited. Aether therefore publishes no source-derived records or templates from this snapshot."
},
"release": {
"included": false,
"reason": "Experimental catalog: source-rights review is pending, so no source-derived records or templates are distributed."
"reason": "Experimental metadata-only catalog: the source-rights review did not authorize public redistribution of normalized records or templates."
}
},
"records": []
Expand Down
10 changes: 5 additions & 5 deletions dist/catalogs/social-surface-specs/catalog.v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"schema_version": "aether.social-surface-catalog/v1",
"catalog": {
"id": "catalog/social-surface-specs",
"version": "1.0.0",
"version": "1.0.1",
"lifecycle": {
"state": "experimental"
},
Expand All @@ -21,14 +21,14 @@
"template_count": 302
},
"rights_review": {
"state": "pending",
"reviewed_at": null,
"state": "rejected",
"reviewed_at": "2026-08-29",
"decision_reference": "https://github.com/egohygiene/aether/issues/54",
"notes": "The supplied source describes use as personal and non-commercial. Live terms and redistribution rights must be reviewed before any source-derived record is published in this public catalog."
"notes": "Terms reviewed on 2026-08-29 permit using specifications for personal or commercial creative work, but do not expressly authorize republication of the full directory as a public normalized catalog. Website content remains protected and template republication is prohibited. Aether therefore publishes no source-derived records or templates from this snapshot."
},
"release": {
"included": false,
"reason": "Experimental catalog: source-rights review is pending, so no source-derived records or templates are distributed."
"reason": "Experimental metadata-only catalog: the source-rights review did not authorize public redistribution of normalized records or templates."
}
},
"records": []
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"catalog_digest": {
"algorithm": "sha256-utf8-lf",
"value": "fbe8a65f103aa3806bd1e9abb3d1661d0594cc88fdaac6a3f764943e22d503bb"
"value": "cc8186add31b923ceabdd0516c8f959823b36a0397262c2a03a1eef6d380e17e"
},
"catalog_id": "catalog/social-surface-specs",
"catalog_version": "1.0.0",
"catalog_version": "1.0.1",
"generated_paths": [
"dist/catalogs/social-surface-specs/catalog.v1.json",
"dist/catalogs/social-surface-specs/distribution-manifest.v1.json"
],
"generator": "catalog/social-surfaces/build-distribution.py",
"publication": {
"reason": "Experimental catalog: source-rights review is pending, so no source-derived records or templates are distributed.",
"reason": "Experimental metadata-only catalog: the source-rights review did not authorize public redistribution of normalized records or templates.",
"state": "blocked"
},
"schema_version": "aether.catalog-distribution-manifest/v1"
Expand Down
9 changes: 5 additions & 4 deletions dist/skills/social-surface-specs/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: social-surface-specs
description: Select and explain pinned social-media or advertising creative surfaces from a provenance-governed offline catalog. Use when work needs platform placement, dimensions, media limits, safe zones, or organic-versus-advertising distinctions.
license: MIT
metadata:
aether-version: "1.0.0"
aether-version: "1.0.1"
aether-status: "experimental"
aether-scope: "organization"
aether-domain: "marketing"
Expand Down Expand Up @@ -63,6 +63,7 @@ consequential, paid, or production requirements, verify the record's linked
official source and say that a live check occurred. Do not copy source-pack
templates, inject unpublished source data, or change rights/review status.

The current catalog is experimental and rights-pending. Its empty records list
is intentional: the source archive is registered by digest but is not
redistributed through this skill until an explicit review authorizes that use.
The current catalog is experimental and metadata-only. Its empty records list
is intentional: the source review permits creative reference but did not
authorize republication of the full directory as a normalized public catalog.
The skill must not redistribute the source archive, records, or templates.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"artifact_id": "skill/social-surface-specs",
"artifact_version": "1.0.0",
"artifact_version": "1.0.1",
"compatibility": {
"required_tools": []
},
Expand All @@ -19,6 +19,6 @@
"schema_version": "aether.distribution-manifest/v1",
"source_digest": {
"algorithm": "sha256-utf8-lf",
"value": "ba2d0baa2dc8ecbfe3f268ac64dcaf31d9ab2dccb111b2f2a8ff7f44c4441a49"
"value": "33c29870108626a5f73267f97120d389447f52c96bb7d2587feeb6519b724b33"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ linked official source, verify the relevant values, and note the check in the
handoff. If the live source differs, do not silently edit the pinned catalog:
submit a reviewed catalog update with a new source snapshot and release lock.

The external source candidate has a pending redistribution review in
[#54](https://github.com/egohygiene/aether/issues/54). Do not copy the source
archive, SVG templates, or source-derived records into another repository
unless the recorded rights decision explicitly authorizes that use.
The external source candidate's redistribution review is recorded in
[#54](https://github.com/egohygiene/aether/issues/54). The reviewed terms allow
using specifications for creative work, but do not expressly authorize
republication of the full directory as a normalized public catalog. Do not
copy the source archive, SVG templates, or source-derived records into another
repository unless a later recorded decision explicitly authorizes that use.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"schema_version": "aether.social-surface-catalog/v1",
"catalog": {
"id": "catalog/social-surface-specs",
"version": "1.0.0",
"version": "1.0.1",
"lifecycle": {
"state": "experimental"
},
Expand All @@ -21,14 +21,14 @@
"template_count": 302
},
"rights_review": {
"state": "pending",
"reviewed_at": null,
"state": "rejected",
"reviewed_at": "2026-08-29",
"decision_reference": "https://github.com/egohygiene/aether/issues/54",
"notes": "The supplied source describes use as personal and non-commercial. Live terms and redistribution rights must be reviewed before any source-derived record is published in this public catalog."
"notes": "Terms reviewed on 2026-08-29 permit using specifications for personal or commercial creative work, but do not expressly authorize republication of the full directory as a public normalized catalog. Website content remains protected and template republication is prohibited. Aether therefore publishes no source-derived records or templates from this snapshot."
},
"release": {
"included": false,
"reason": "Experimental catalog: source-rights review is pending, so no source-derived records or templates are distributed."
"reason": "Experimental metadata-only catalog: the source-rights review did not authorize public redistribution of normalized records or templates."
}
},
"records": []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: social-surface-specs
description: Select and explain pinned social-media or advertising creative surfaces from a provenance-governed offline catalog. Use when work needs platform placement, dimensions, media limits, safe zones, or organic-versus-advertising distinctions.
license: MIT
metadata:
aether-version: "1.0.0"
aether-version: "1.0.1"
aether-status: "experimental"
aether-scope: "organization"
aether-domain: "marketing"
Expand Down Expand Up @@ -63,6 +63,7 @@ consequential, paid, or production requirements, verify the record's linked
official source and say that a live check occurred. Do not copy source-pack
templates, inject unpublished source data, or change rights/review status.

The current catalog is experimental and rights-pending. Its empty records list
is intentional: the source archive is registered by digest but is not
redistributed through this skill until an explicit review authorizes that use.
The current catalog is experimental and metadata-only. Its empty records list
is intentional: the source review permits creative reference but did not
authorize republication of the full directory as a normalized public catalog.
The skill must not redistribute the source archive, records, or templates.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ linked official source, verify the relevant values, and note the check in the
handoff. If the live source differs, do not silently edit the pinned catalog:
submit a reviewed catalog update with a new source snapshot and release lock.

The external source candidate has a pending redistribution review in
[#54](https://github.com/egohygiene/aether/issues/54). Do not copy the source
archive, SVG templates, or source-derived records into another repository
unless the recorded rights decision explicitly authorizes that use.
The external source candidate's redistribution review is recorded in
[#54](https://github.com/egohygiene/aether/issues/54). The reviewed terms allow
using specifications for creative work, but do not expressly authorize
republication of the full directory as a normalized public catalog. Do not
copy the source archive, SVG templates, or source-derived records into another
repository unless a later recorded decision explicitly authorizes that use.
11 changes: 8 additions & 3 deletions tests/test_social_surface_catalog.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,13 @@ def test_source_candidate_is_registered_without_raw_archive_or_templates(self):
)
candidate = candidate_catalog["entries"][0]
self.assertEqual(candidate["id"], "external/media-cheat-sheet-social-surface-snapshot")
self.assertEqual(candidate["review_state"], "pending")
self.assertEqual(candidate["redistribution_permission"], "unknown")
self.assertEqual(candidate["review_state"], "reviewed")
self.assertEqual(candidate["trust_classification"], "restricted")
self.assertEqual(candidate["redistribution_permission"], "disallowed")
self.assertEqual(candidate["redistribution_status"], "verified")
catalog = json.loads((CATALOG_DIR / "catalog.v1.json").read_text(encoding="utf-8"))
self.assertEqual(catalog["catalog"]["rights_review"]["state"], "rejected")
self.assertEqual(catalog["records"], [])
self.assertFalse(any(path.suffix.lower() == ".svg" for path in CATALOG_DIR.rglob("*")))
self.assertFalse((ROOT / "catalog/social-surfaces/social-media-specs.zip").exists())

Expand Down Expand Up @@ -69,7 +74,7 @@ def test_catalog_distribution_is_deterministic_and_lockable(self):
(output / "catalogs/social-surface-specs/distribution-manifest.v1.json").read_text(encoding="utf-8")
)
self.assertEqual(manifest["catalog_id"], "catalog/social-surface-specs")
self.assertEqual(manifest["catalog_version"], "1.0.0")
self.assertEqual(manifest["catalog_version"], "1.0.1")
self.assertRegex(manifest["catalog_digest"]["value"], r"^[a-f0-9]{64}$")
self.assertEqual(manifest["publication"]["state"], "blocked")

Expand Down
Loading