diff --git a/README.md b/README.md index c373cce50..8f91e911d 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ ECC v2.0.0 adds the public Hermes operator story on top of that reusable layer: - ECC Tools
+ ECC Tools
ECC Pro + GitHub App

Install free · Private repos from $19/seat/mo @@ -87,7 +87,7 @@ ECC v2.0.0 adds the public Hermes operator story on top of that reusable layer: Greptile    Atlas Cloud    Moonshot AI — Kimi    - Itô Markets + Itô Markets

Community sponsors: Mike Morgan · @jasonwu513 · @1anter · @massimotodaro · @meadmccabe @@ -106,21 +106,21 @@ This repo is the raw code only. The guides explain everything. -The Shorthand Guide to ECC
+The Shorthand Guide to ECC
The Shorthand Guide

Setup, foundations, philosophy. Read this first. (thread) -The Longform Guide to ECC
+The Longform Guide to ECC
The Longform Guide

Token optimization, memory persistence, evals, parallelization. (thread) -The Shorthand Guide to Everything Agentic Security
+The Shorthand Guide to Everything Agentic Security
The Security Guide

Attack vectors, sandboxing, sanitization, CVEs, AgentShield. (thread) @@ -147,7 +147,7 @@ The Kimi Code harness and the model-serving layer are separate. ECC configures t - Itô Markets
+ Itô Markets
1. Get GPU capacity

Use Itô or any GPU provider. @@ -161,7 +161,7 @@ The Kimi Code harness and the model-serving layer are separate. ECC configures t - ECC Tools
+ ECC Tools
3. Run Kimi Code with ECC

Install project instructions and skills, then start kimi. diff --git a/assets/images/community/ecc-tools-mark.svg b/assets/images/community/ecc-tools-mark.svg new file mode 100644 index 000000000..e318b6674 --- /dev/null +++ b/assets/images/community/ecc-tools-mark.svg @@ -0,0 +1,20 @@ + diff --git a/assets/images/guides/security-guide.png b/assets/images/guides/security-guide.png new file mode 100644 index 000000000..273a40b82 Binary files /dev/null and b/assets/images/guides/security-guide.png differ diff --git a/assets/images/sponsors/ito-dark.svg b/assets/images/sponsors/ito-dark.svg index 58f8b94d8..5aa7628a3 100644 --- a/assets/images/sponsors/ito-dark.svg +++ b/assets/images/sponsors/ito-dark.svg @@ -1,5 +1,5 @@ - + diff --git a/assets/images/sponsors/ito.svg b/assets/images/sponsors/ito.svg index dcde3830d..60645d3db 100644 --- a/assets/images/sponsors/ito.svg +++ b/assets/images/sponsors/ito.svg @@ -1,5 +1,5 @@ - + diff --git a/tests/scripts/ito-compute-sponsor.test.js b/tests/scripts/ito-compute-sponsor.test.js index 85b664c2f..9a37559c2 100644 --- a/tests/scripts/ito-compute-sponsor.test.js +++ b/tests/scripts/ito-compute-sponsor.test.js @@ -25,6 +25,15 @@ function read(relativePath) { return fs.readFileSync(path.join(REPO_ROOT, relativePath), 'utf8'); } +function readPngDimensions(relativePath) { + const image = fs.readFileSync(path.join(REPO_ROOT, relativePath)); + assert.strictEqual(image.subarray(1, 4).toString('ascii'), 'PNG'); + return { + width: image.readUInt32BE(16), + height: image.readUInt32BE(20), + }; +} + function runTest(name, fn) { try { fn(); @@ -143,11 +152,11 @@ function main() { ); const sponsorMark = read('assets/images/sponsors/ito.svg'); const sponsorMarkDark = read('assets/images/sponsors/ito-dark.svg'); - assert.match(sponsorMark, /viewBox="0 0 280 40"/); + assert.match(sponsorMark, /viewBox="0 0 172 40"/); assert.match(sponsorMark, />ItôMARKETSItôMARKETS { const readme = read('README.md'); @@ -201,7 +234,7 @@ function main() { assert.strictEqual((localModelPath.match(/