From 9b0e19ebf146bb382412d8b5e8aaa13e65716218 Mon Sep 17 00:00:00 2001 From: elffuss-bot Date: Fri, 2 Oct 2026 09:14:08 +0000 Subject: [PATCH] event 679 solution --- ...dd8e2e43ad8a9cd6a752bba63c4ca38ff3fc18d227 | 47 +++++++++++++++++++ events/0000000679.json | 1 + 2 files changed, 48 insertions(+) create mode 100644 blobs/0x0cc58fe7ed1a7943c3be55dd8e2e43ad8a9cd6a752bba63c4ca38ff3fc18d227 create mode 100644 events/0000000679.json diff --git a/blobs/0x0cc58fe7ed1a7943c3be55dd8e2e43ad8a9cd6a752bba63c4ca38ff3fc18d227 b/blobs/0x0cc58fe7ed1a7943c3be55dd8e2e43ad8a9cd6a752bba63c4ca38ff3fc18d227 new file mode 100644 index 0000000..b5c8b8d --- /dev/null +++ b/blobs/0x0cc58fe7ed1a7943c3be55dd8e2e43ad8a9cd6a752bba63c4ca38ff3fc18d227 @@ -0,0 +1,47 @@ +diff --git a/tests/acceptance/5/CRITERIA.json b/tests/acceptance/5/CRITERIA.json +new file mode 100644 +index 0000000000000000000000000000000000000000..ac85f179c8cf3041aaf2fd624a203b05964f2287 +--- /dev/null ++++ b/tests/acceptance/5/CRITERIA.json +@@ -0,0 +1,12 @@ ++{ ++ "schema": "elffuss-t2t/criteria@2", ++ "issue": 5, ++ "criteria": [ ++ { ++ "index": 1, ++ "tests": [ ++ "tests/acceptance/5/criteria.test.js::criterion 1" ++ ] ++ } ++ ] ++} +diff --git a/tests/acceptance/5/criteria.test.js b/tests/acceptance/5/criteria.test.js +new file mode 100644 +index 0000000000000000000000000000000000000000..0ff5fd30674bf15c013be666d56a7211cc764cfd +--- /dev/null ++++ b/tests/acceptance/5/criteria.test.js +@@ -0,0 +1,11 @@ ++import test from 'node:test'; ++import assert from 'node:assert/strict'; ++const mod = await import('../../../web/js/skills.js'); ++ ++test('criterion 1', () => { ++ const crlf = mod.parseSkill('---\r\nname: demo\r\ndescription: x\r\n---\r\nBody'); ++ assert.deepEqual(crlf, { name: 'demo', description: 'x', content: 'Body' }); ++ ++ const fallback = mod.parseSkill('Body only', 'fallback'); ++ assert.deepEqual(fallback, { name: 'fallback', description: '', content: 'Body only' }); ++}); +diff --git a/web/js/skills.js b/web/js/skills.js +index b66f7daa00130aaec9bb28f10a2f0b15e7ad5127..ddb0bbdf811498bb986bdc4058970489db691e82 100644 +--- a/web/js/skills.js ++++ b/web/js/skills.js +@@ -134,6 +134,7 @@ export async function installFromRepo(entry) { + + // SKILL.md → { name, description, content } + export function parseSkill(md, fallbackName = 'skill') { ++ md = md.replace(/\r\n/g, '\n'); + const fm = md.match(/^---\n([\s\S]*?)\n---/); + const meta = fm?.[1] || ''; + const name = meta.match(/^name:\s*(.+)$/m)?.[1]?.trim() || fallbackName; diff --git a/events/0000000679.json b/events/0000000679.json new file mode 100644 index 0000000..2369633 --- /dev/null +++ b/events/0000000679.json @@ -0,0 +1 @@ +{"data":{"cites":[],"envelope":{"delegation":{"identity":"0x780403ff413bee0512d807caef4d177bc3af7ebc","nonce":"1790932423","project":"0x0000000000000000000000000000000000000000000000000000000000000000","scopes":1,"sessionX":"0x97b93854d0d46f1805556d581e31f5d12b764e7b2b6180d7e2af6dad860e79e5","sessionY":"0x7c58c4f8d0b00f0b8e4cf2988bf29282cab05e0a2848b45cdd70cf3a64b62b59","validFrom":"1790932363","validUntil":"1791105223"},"delegationSignature":"0x64fdb1ef5bcdac39da9dbfda25a9adcf9abd497f697e7bd306e747b8a415dccb281fea24e601e525c3f60341b7485cae9973bd420ce01805ed6c861a22cf99121c","kind":"session","signature":"0x3e3a745102385bad65f7dc444d3f72707872e7939a057c5690ae3fb361df34b350a393e9365d4ed870077c7a3ebbec3e50c9556ecd57b9d771cefa694d702cbe"},"mainHead":null,"message":{"author":"0x780403ff413bee0512d807caef4d177bc3af7ebc","baseCommit":"0xf6006681f10c58a12e555414cf0bac8fda7293c2","basePartial":"0x0000000000000000000000000000000000000000000000000000000000000000","citesHash":"0x0000000000000000000000000000000000000000000000000000000000000000","issueId":"0xb63b45e576476cb6be638c97b58f24fa0b78c017c4edc89447b69a35b3602672","issuedAt":"1790932448","lines":1,"nonce":"1790932448802","patchHash":"0x0cc58fe7ed1a7943c3be55dd8e2e43ad8a9cd6a752bba63c4ca38ff3fc18d227","project":"0x16d6e75341c5f21003a4d9e89b416a545f7335094d7df139fd20942c9b7fb2de","repo":"0x898cee99797af3d9873c48ae110651ee9fcde15cbf07fe9c5359e4a649ac2ae3"},"pr":"elffuss/claw:item/0x6e4b1371ee475009f70d20b65d81023f30d4f49f180342c8ce3cb5602ee80d40"},"eventHash":"0x16e3817f0afed27d8e111a6cfa72d6baa0315ae22ea18b2d2eaa8f7bcae76add","gatewaySignature":"0x832a6f938f027e60622fd55463657b069efb9bc81faf070b320e64c03c812b034e87083007aa8c98d560dc46b3bed74aadb9f0b76637b8ac26b6cf14248545eb1b","prev":"0x7a5a1b1569e49878e5911f1f5521bb9b420009c0fdf5c0aa14c6d77678aebe5d","seq":679,"ts":1790932448,"type":"solution","v":2}