
Eclipse Skillseal
Machine-checkable skill claims over fixture claims + fixture verdict receipts — a claim is a pointer to a bench-verdict receipt; no verifiable receipt renders UNVERIFIED in the standard format. CERTIFIED(local, fixture claims + fixture verdict receipts) — fixture claims + fixture receipts only; Skillseal benches nothing, certifies no skill, and issues no verdicts.
status: in-developmentclass: mcpTrust & ReceiptsIdentity & Attestation
Vendor: Cyan Eclipse Technologies
What it does
- Novel mechanism (SPEC §2.1, verbatim) — a skill claim is a pointer to a bench-verdict receipt; a claim with no receipt renders as UNVERIFIED in a standard format counterparties and routers can filter on. The claim is a pointer, not a proof by assertion: a claim carries no grade, score, or verdict of its own (a claim carrying one is malformed and refused), and every verdict string in a rendering is copied mechanically from the receipt's face at verification time.
- Verification recomputes everything from the presented artifacts + pinned keys alone — claim hash + publisher fixture signature; receipt hash recomputed and required to equal the claim's pointer; receipt bench signature verified against the bench key pinned out-of-band by receipt format (never a key taken from, or selected by, the record); subject, skill ref, scope (token-set containment over the pinned fixture vocabulary), pass-class verdict (pinned: PASS only), expiry, and revocation re-derived from the receipt's face; render hash recomputed and the Herald counter-signature verified. Two fixture receipt formats are consumed (benchkit-scorecard and assay-service-receipt) with identical rendered shape. Any parseable-but-failing receipt renders UNVERIFIED with a machine-readable reason (NO_RECEIPT, RECEIPT_HASH_MISMATCH, RECEIPT_SIGNATURE_INVALID, RECEIPT_SUBJECT_MISMATCH, RECEIPT_SKILL_MISMATCH, RECEIPT_SCOPE_NARROWER, RECEIPT_NON_PASS, RECEIPT_EXPIRED, RECEIPT_REVOKED, WITHDRAWN); unparseable artifacts and malformed claims refuse. Downgrade law: any export that cannot be recompute-verified is labelled UNVERIFIED_EXPORT on its face, with no path back to a VERIFIED rendering over the same export. Re-verifying identical material is idempotent (identical render_hash, no second metering point).
- Stored-read verification (v0.1.1, delta-bench C1 closure) — skillseal_claim_get and skillseal_claim_list verify before serving: claim hash + publisher signature, the hash-chained record stream link by link, stored receipt hashes + pinned bench signatures, and the latest rendering's Herald signature + claim binding + receipt-face binding are all recomputed; on any failure claim_get serves only the downgraded form (verified:false, export_label UNVERIFIED_EXPORT, render_status UNVERIFIED, named step_failed, no stored claim/receipt/rendering values) and claim_list computes status and filter fields from verified state only (failed entries list as UNVERIFIED with agent_ref/skill_ref withheld and a downgraded marker, and never match a VERIFIED or skill filter they cannot authenticate).
- Decisive fixture F-S9 — bench-reproduced at v0.1.0 and as a delta regression at v0.1.1: a three-claim fixture set authored by parties other than Skillseal (claim A pointing to a valid pass receipt for A, claim B pointing to nothing, claim C pointing to A's receipt) verified in a fresh process, socket-denied, from the artifacts + pinned keys alone renders exactly VERIFIED / UNVERIFIED (NO_RECEIPT) / UNVERIFIED (RECEIPT_SUBJECT_MISMATCH), all in the identical standard format with render_status as the sole filter field; offline verify_export on A verifies (verified=True, VERIFIED_EXPORT).
- Honest scope — LOCAL stdio, fixture claims + fixture verdict receipts ONLY: no live marketplace, router, registry, or bench system is read, polled, or written, and every emitted artifact carries value_class 'test'. Skillseal benches nothing, certifies no skill, and issues no verdicts. Closed surface of exactly 7 tools (5 caller + 2 operator, disjoint); no verb benches or scores a skill, issues or alters a verdict receipt, edits a claim's receipt_ref, renders a claim verified without a verification run, removes an UNVERIFIED rendering, or fetches a live receipt. Startup is fail-closed (CONFIG_FENCE_REFUSED:<class>) on a live-key string, a non-local endpoint, value_class other than 'test', or any bench-execution/scoring/receipt-issuance/live-ingest module in the tree. Signing is a fixture HMAC-SHA256 stand-in for the Herald / bench signature patterns, disclosed in README + code; verification uses pinned fixture keys only (not public-key verification); the pinned key file holds shared HMAC secrets, not public keys, and no public-key or third-party verifiability is claimed.
Tools
skillseal_claim_publish · skillseal_verify · skillseal_render · skillseal_claim_get · skillseal_claim_withdraw · skillseal_claim_list · skillseal_anomaly_queue_read
Platforms
- MCP over stdio
Certification
Bench verdict: CERTIFIED(local, fixture claims + fixture verdict receipts)
Certified scope: CERTIFIED(local, fixture claims + fixture verdict receipts) — Verity bench of v0.1.0 (2026-10-27, argus101-program-20261027/wave2/bench-skillseal.md) PASS-CONDITIONAL(local, fixture claims + fixture verdict receipts) with sole condition C1 (F1, stored-read assertion bypass), plus delta re-bench of v0.1.1 in the same record (stored-read paths only): C1 CLOSED at scope (local, fixture claims + fixture verdict receipts) — no new findings. Builder suite 42/42 at v0.1.0 and 48/48 at v0.1.1 (42 prior + 6 new TestStoredReadVerification C1 regressions) re-run clean-state by the bencher both times; decisive fixture F-S9 independently reproduced in a fresh process, socket-denied, at both benches — claim A (valid pointer) VERIFIED, claim B (no pointer) UNVERIFIED/NO_RECEIPT, claim C (pointer to A's receipt) UNVERIFIED/RECEIPT_SUBJECT_MISMATCH, identical rendered-record key shape with render_status the sole filter field, offline verify_export on A verified=True/VERIFIED_EXPORT. Delta probes 6/6 PASS: forged latest_rendered, tampered claim_record, tampered stored receipt, list-filter forgery, and cross-claim transplant of a genuine Herald-signed rendering all downgrade to the UNVERIFIED_EXPORT form only (no stored claim/receipt/rendering values served, forged strings absent), while intact controls serve VERIFIED normally. Scope is exactly: local stdio MCP, fixture claims + fixture verdict receipts only, value_class 'test' throughout — now including the stored-read paths (skillseal_claim_get, skillseal_claim_list), which recompute claim hash + publisher signature, the hash-chained record stream, stored receipt hashes + pinned bench signatures, and the latest rendering's Herald signature + receipt-face binding before serving anything; no live marketplace, router, registry, or bench system is read, polled, or written, and no counsel-gate (SPEC §10) live phase is built or claimed. Novel mechanism (SPEC §2.1, verbatim): a skill claim is a pointer to a bench-verdict receipt; a claim with no receipt renders as UNVERIFIED in a standard format counterparties and routers can filter on. Non-blocking bench observations F2 (receipt validation does not reject unknown extra fields — hash-covered, pinned bench signature still required) and F3 (genuine WITHDRAWN exports verify as VERIFIED_EXPORT with render_status UNVERIFIED via a dedicated verify_export branch that can only ever assert UNVERIFIED) remain open observations, untouched. Skillseal benches nothing, certifies no skill, and issues no verdicts.
Not tested:
- Live receipt ingestion, live routers/marketplaces, or any real agent, skill, or bench outcome — fixture claims + fixture verdict receipts only; the SPEC §10 counsel gate is unbuilt by design, named, with no dormant live mode: ingesting receipts from a live bench pipeline, serving renderings to live routers or marketplaces, or any public claim that a named third party's skills are verified — each is a separate, counsel-cleared, re-benched build reviewed under the house claim/counsel review for marketplace-facing trust claims
- Any benching, scoring, or verdict issuance by Skillseal itself — Skillseal benches nothing, certifies no skill, and issues no verdicts (SPEC §11.2); it defines the claim pointer, the render rule, and the verification procedure only, and consumes verdict receipts as artifacts owned by the house bench ecosystem. The SPEC §11.4 forbidden claim strings are never claimed for v0.1.1 (they are listed in SPEC §11.4 only and are not reproduced on this surface); UNVERIFIED means only that no verifiable receipt was presented — it is never a negative finding about an agent (SPEC §11.3) — and a VERIFIED rendering is never presented detached from the receipt's own verdict + scope strings; no wording implies a verdict can be bought (SPEC §9.2: no price attaches to any bench verdict or receipt itself)
- Production signing / public-key verification — v0.1.1 signing is a fixture HMAC-SHA256 stand-in for the Herald / bench signature patterns (local fixture keys, keys/ gitignored, mode 600, never committed); the live RS256 Herald signing form is unbuilt. Verification uses pinned fixture keys only, selected by the pinned in-source mapping by receipt format — a key is never taken from, or selected by, the record under verification; the pinned key file holds shared HMAC secrets, not public keys, and no public-key or third-party verifiability is claimed. A fresh clone generates its own fixture keys to run the full suite
- Hosted or live operation — local stdio only; metering points only per SPEC §9.1 (exactly one Meter record per completed skillseal_verify run that produces a rendered record; refusals, cache re-renders, and idempotent re-verifications emit none; VERIFIED and UNVERIFIED outcomes meter identically), the FREE publication + $0.02/verification shape is a book reference with no charge path built and no live Meter ingest
Live state note: Bench evidence: argus101-program-20261027/wave2/bench-skillseal.md (Verity bench of v0.1.0, 2026-10-27, PASS-CONDITIONAL(local, fixture claims + fixture verdict receipts), sole condition C1/F1; builder suite re-run clean 42/42, F-S9 decisive fixture independently reproduced in a fresh socket-denied process, adversarial pass: attacker-key receipt, bench-ref spoof and format swap all RECEIPT_SIGNATURE_INVALID, presented-digest substitutions caught on verify/render/offline verify_export paths, stored-read paths F1 documented, malformed-args battery with zero claim/meter writes, key custody verified, metering B-S8 reproduced, scope audit §10 unbuilt, surface = exactly 5 caller + 2 operator tools disjoint, §11.4 forbidden strings absent tree-wide) + delta re-bench of v0.1.1 in the same record (suite 48/48 clean-state, bencher's own tampered-store C1 probes 6/6 PASS, F-S9 regression PASS; C1 CLOSED, no new findings). Fix record: argus101-program-20261027/wave2/fix-skillseal.md. No test-bench scorecard was issued for this verdict and none is claimed (scorecard_ref/card_url null).
Pricing
PRICED — FREE publication + $0.02/verification, via the Eclipse Bazaar bench-order/intake path only. No checkout, payment, or buy-now link exists for this product, and no Stripe object exists for it in this pass: intake orders are reviewed and confirmed by the operator before any payment link is sent. Metering shape per SPEC §9 (metering points only in v0.1.1, no charge path built): exactly one Meter record per completed skillseal_verify run that produces a rendered record — the verification run is the priced unit; refusals, cache re-renders (skillseal_render), and idempotent re-verifications emit no metering point, and VERIFIED and UNVERIFIED outcomes meter identically (pay-for-verification-never-outcome). No price attaches to any bench verdict or receipt itself. The local package is the reference implementation. Repository is PRIVATE (priced-product policy).
Install / verify
No install command is published for this product in the catalog or its registry record.
Official MCP Registry name: io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-skillseal-mcp
Registry listing: https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC%2Feclipse-skillseal-mcp/versions/0.1.1
Repository: https://github.com/CYAN-ECLIPSE-TECHNOLOGIES-LLC/eclipse-skillseal-mcp
Verify any MCP server in your client configs against this catalog with bazaar check (Eclipse Bazaar MCP / CLI — see llms.txt).