diff --git a/Makefile b/Makefile
index 611e57f81..52f7a8d67 100644
--- a/Makefile
+++ b/Makefile
@@ -73,7 +73,7 @@ brand-boundary-audit: tools/brand_boundary_audit.py tools/brand_boundary.json
brand-boundary-test: tools/brand_boundary_audit.py tests/test_brand_boundary_audit.py
python3 tests/test_brand_boundary_audit.py
-brand-asset-test: tests/test_brand_asset.py docs/media/hebrus-logo.png README.md
+brand-asset-test: tests/test_brand_asset.py docs/media/hebrus-typographic.png README.md
python3 tests/test_brand_asset.py
ifeq ($(UNAME_S),Darwin)
diff --git a/README.md b/README.md
index 8c18b87e9..55107539f 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
# Hebrus
@@ -17,14 +17,14 @@ the only capacity boundary.
[Contributing](CONTRIBUTING.md)
> [!NOTE]
-> Hebrus is the working public engine name and the canonical executable
-> namespace in the current bridge. The repository is still
-> [`andreaborio/ds4`](https://github.com/andreaborio/ds4), and
-> [ADR 0005](docs/adr/0005-hebrus-naming-and-compatibility-boundary.md) remains
-> **Proposed** while namespace and legal screening remain incomplete. The
-> companion application is named **Hebrus Studio** and its bridge release is
-> implemented locally but not yet published. This repository has not been
-> administratively renamed.
+> **Hebrus** is the public engine name and canonical executable namespace.
+> The engine is published at
+> [`andreaborio/hebrus`](https://github.com/andreaborio/hebrus), with
+> [`Hebrus Studio`](https://github.com/andreaborio/hebrus-studio) as its
+> companion macOS application. Durable `ds4` and `DSBox` identifiers remain
+> only where changing their bytes would break model, application, or user-data
+> compatibility; see
+> [ADR 0005](docs/adr/0005-hebrus-naming-and-compatibility-boundary.md).
> [!IMPORTANT]
> Hebrus began as a fork of
@@ -104,8 +104,8 @@ Build and verify the engine without loading model weights:
```sh
xcode-select --install
-git clone https://github.com/andreaborio/ds4.git
-cd ds4
+git clone https://github.com/andreaborio/hebrus.git
+cd hebrus
make -j
./hebrus --build-info
diff --git a/docs/media/hebrus-typographic.png b/docs/media/hebrus-typographic.png
new file mode 100644
index 000000000..37cb1854d
Binary files /dev/null and b/docs/media/hebrus-typographic.png differ
diff --git a/tests/test_brand_asset.py b/tests/test_brand_asset.py
index 041b833fb..21312c853 100644
--- a/tests/test_brand_asset.py
+++ b/tests/test_brand_asset.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-"""Freeze the maintainer-supplied Hebrus logo as an unmodified brand asset."""
+"""Freeze the maintainer-supplied Hebrus typographic identity as a brand asset."""
from __future__ import annotations
@@ -9,10 +9,10 @@
ROOT = pathlib.Path(__file__).resolve().parents[1]
-ASSET = ROOT / "docs" / "media" / "hebrus-logo.png"
+ASSET = ROOT / "docs" / "media" / "hebrus-typographic.png"
README = ROOT / "README.md"
-EXPECTED_SHA256 = "4be8949c73bd52e7abef58396dcd57f636165a8bb6cd6d536a600bcbf880594c"
-EXPECTED_SIZE = (1254, 1254)
+EXPECTED_SHA256 = "e753718d3fe4942ada82a91396b6f1dfec28afbc723bbe9cc9f497abe7a3b772"
+EXPECTED_SIZE = (1732, 908)
def main() -> None:
@@ -28,13 +28,13 @@ def main() -> None:
width, height, bit_depth, color_type = struct.unpack(">IIBB", payload[16:26])
if (width, height) != EXPECTED_SIZE:
raise AssertionError(f"unexpected logo dimensions: {width}x{height}")
- if (bit_depth, color_type) != (8, 6):
- raise AssertionError("Hebrus logo must retain its original 8-bit RGBA representation")
+ if (bit_depth, color_type) != (8, 2):
+ raise AssertionError("Hebrus identity must retain its original 8-bit RGB representation")
- if "docs/media/hebrus-logo.png" not in README.read_text(encoding="utf-8"):
- raise AssertionError("README does not use the canonical Hebrus logo")
+ if "docs/media/hebrus-typographic.png" not in README.read_text(encoding="utf-8"):
+ raise AssertionError("README does not use the canonical Hebrus identity")
- print(f"brand-asset: PASS ({width}x{height}, RGBA, {digest})")
+ print(f"brand-asset: PASS ({width}x{height}, RGB, {digest})")
if __name__ == "__main__":