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
2 changes: 0 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ updates:
directories:
- "/"
- "/packages/contracts"
- "/packages/defaults/hallucination-hal-local"
- "/packages/defaults/identity-erc8004-viem"
schedule:
interval: weekly
day: monday
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# and until now that failed — so the most valuable check here is the boring one:
# `npm ci` from the committed lockfile has to work.
#
# DESIGN RULE: no vacuous green. Four of five packages have no tests. A single
# DESIGN RULE: no vacuous green. Not every directory has tests. A single
# green tick across the repo would claim coverage that does not exist, so the
# `coverage-map` job prints the real per-package state and the contract tests
# report their true tally rather than being hidden.
Expand Down Expand Up @@ -190,9 +190,8 @@ jobs:
script=$(node -e "try{const s=require('./$manifest').scripts||{};process.stdout.write(s.test||'')}catch(e){}" 2>/dev/null)
if [ -n "$script" ]; then
has="\`$script\`"
# A declared script proves nothing if its glob matches no file.
# hallucination-hal-local declares `node --test tests/*.test.ts`
# and ships only .mjs smoke files, so it greens over an empty set.
# A declared script proves nothing if its glob matches no file
# (a package once declared tests/*.test.ts and shipped only .mjs files).
pattern=$(echo "$script" | grep -oE '[A-Za-z0-9_./*-]+\.(test|spec)\.[a-z]+' | head -1)
if [ -n "$pattern" ]; then
# shellcheck disable=SC2086
Expand Down
12 changes: 3 additions & 9 deletions BUILDERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,12 @@ publish X without touching this file.
| Thing | State | How to check |
|---|---|---|
| **`@hyperdag/trustshell`** | **PUBLISHED — `1.8.0`** (measured 2026-10-23, with npm provenance; was 1.6.1 on 2026-10-14). The one package to install. | `npm view @hyperdag/trustshell version` |
| `@hyperdag/protocol` | **NOT published** (404) | `npm view @hyperdag/protocol version` |
| `@hyperdag/identity-erc8004`, `@hyperdag/reputation-zkp` | **NOT published** (404) | same |
| `IdentityRegistry` on Base Sepolia (84532) | **LIVE** — `0x8004A818BFB912233c491871b3d84c89A494BD9e` | any RPC client, or basescan |
| `ReputationRegistry` on Base Sepolia (84532) | **LIVE** — `0x8004B663056A597Dffe9eCcC1965A193B7388713` | same |
| The six-interface kernel (`IIdentity`, `IReputation`, `IValidation`, `IPayment`, `ILinkage`, `IHallucination`) | source is on a feature branch, **not on `main`** | `git log origin/main -- packages/interfaces` |

| **The check: `POST /api/v1/classify`** | **LIVE**, public, keyless (measured 2026-10-04). See §1a. | the `curl` in §1a |

**So: `npm i @hyperdag/trustshell`. Not `@hyperdag/protocol`.** The README used to carry an
npm badge for `@hyperdag/protocol`, a package that does not exist; it misled one of our own
agents on 2026-09-08 and was removed on 2026-10-04.
**So: `npm i @hyperdag/trustshell`.** Its CLI, MCP server and SDK are one package, and nothing installs from this repository.

**Published 1.8.0, measured 2026-10-23.** New in 1.8.0, Inspect: `trustshell check <run-url> --claims-file <file>` reads GitHub's own record of a GitHub Actions run and marks each sentence an agent wrote about it supported, contradicted or not checked. It exits 0 when every claim is supported, 1 when one is contradicted, and 3 when something was not checked; not checked never exits 0. Its only network call is to api.github.com. `trustshell verify`
exits 0 on PASS or FLAG, 1 on VETO, and 2 when HAL did not decide (NOT_CHECKED, never a pass).
Expand Down Expand Up @@ -119,8 +114,8 @@ when the two disagree.

**The contract: what is agreed**

- **This repository**: the ERC-8004 spec, the interface designs and this file. No running
code depends on it.
- **This repository**: the ERC-8004 spec and contracts, and this file. No running code
depends on it.
- **The ERC-8004 registries on Base Sepolia (chain 84532)**: the ERC-8004 team's
deployments ([erc-8004/erc-8004-contracts](https://github.com/erc-8004/erc-8004-contracts)).
We use them; we do not operate them. Their addresses are in §1.
Expand Down Expand Up @@ -186,7 +181,6 @@ Until you have done that you do not know it is wired.
| ERC-8004 reputation read paths (`getSummary`, `readFeedback`, `readAllFeedback`) | stable — defined by the ERC-8004 spec (`packages/contracts/ERC8004SPEC.md`), not ours to change. `getRepID` is a TrustShell SDK method that reads the engine, not a registry function. |
| RepID **range** (10 floor, 10,000 cap) and the five tier names | stable |
| RepID **tier thresholds** and the scoring weights behind them | **will move.** Tuning is deliberate and not published. Do not hardcode a threshold; read the tier. |
| The six-interface kernel | pre-release, on a branch. Design against `@hyperdag/trustshell` instead. |
| ZK proof shape | the live proof is a narrow range check (`repid > threshold`). Binding a proof to the full RepID derivation is roadmap, not shipped. Do not describe it as shipped. |

**Two things you will not find here, deliberately:** the RepID scoring formula
Expand Down
10 changes: 8 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,12 @@ and are not the entry point: `@hyperdag/proof-verifier` (0.2.0, bundled inside t
`@hyperdag/trustshell-mcp` (1.0.0 from 2026-07-08, older than the `trustshell-mcp` bin that
ships inside trustshell itself). See `BUILDERS.md`.

**2026-10-24 (Sean):** the six-interface kernel and its two default packages
(`packages/defaults/*`) were removed from `main`. They never shipped, nothing imported them,
and `@hyperdag/protocol` was never published. The May source is kept at the tag
`archive/modular-kernel-interfaces-2026-05-04`. Do not describe a kernel, `@hyperdag/protocol`
or `createHDP` as part of this repository.

State FINDINGS, not inventories. *"A production key was committed and must be
rotated"* is actionable; the key, the project id, the row counts and the service names
are an incident. A published secret cannot be withdrawn, and a secret in git history
Expand Down Expand Up @@ -113,8 +119,8 @@ complete pasteable block at a time and say what a correct result looks like.

## What is actually here

An Nx monorepo, three packages: `packages/contracts` (Solidity + ABIs + the ERC-8004
spec), `packages/circuits`, `packages/defaults`. Registries are live on Base Sepolia
An Nx monorepo, two packages: `packages/contracts` (Solidity + ABIs + the ERC-8004
spec) and `packages/circuits`. Registries are live on Base Sepolia
(chain ID 84532) per the README — read `README.md` for the addresses rather than
copying them into new files.

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

**Maintainer: Sean Goodwin.** GitHub faces are a **commit counter**, not credit — see [AUTHORS.md](AUTHORS.md).

The stranger-facing product is [`@hyperdag/trustshell`](https://github.com/DealAppSeo/trustshell), not this repo. This repo is the interface kernel. `@hyperdag/protocol` is **not on npm**. Do not send “become a maintainer” mail; open a PR.
The stranger-facing product is [`@hyperdag/trustshell`](https://github.com/DealAppSeo/trustshell), not this repo. This repo is the builder's map (`BUILDERS.md`) and the ERC-8004 team's contracts we build on; nothing installs from it. Do not send “become a maintainer” mail; open a PR.

## What to send here vs elsewhere

Expand Down
Loading
Loading