You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Audited every doc (README, IMPACT-STATEMENT, DEPLOY.md, INTEGRATION.md,
methodology.html, index.html, mcp-server.json, .env.example) against the
source of truth (src/config/*.ts, src/routes/*.ts, src/nostr/dvm.ts, live
prod) and fixed the remaining inconsistencies.
README.md
- `/api/agent/{hash}/attestations` listed as free → corrected to **1 sat**.
Source of truth: `src/routes/attestation.ts:20` wires the endpoint
through the `apertureGateAuth` middleware, and live prod responds 402
without an L402 token. INTEGRATION.md already had this right.
public/index.html
- `/api/agent/{hash}/attestations` added to the "Detailed Queries (1 sat)"
section so the landing page matches README's endpoint table.
IMPACT-STATEMENT.md
- Business-model table: `/api/agent/:hash/attestations` added to the 1-sat
row alongside the other detailed queries.
public/methodology.html
- "Unique Position" list: added **Brainstorm** to the other NIP-85
implementations (it was in IMPACT-STATEMENT/README but missing here).
Rewrote the paragraph to highlight the live-verified interop on the
shared canonical `rank` tag.
- DVM section: replaced the vague "parameter target" description with the
actual request format — `["j", "trust-check"]` + `["i", "<ln_pubkey>",
"text"]` — matching `src/nostr/dvm.ts` constants and the README. Added
the kind 31990 handler-info publish note.
DEPLOY.md
- Section 7 crawl-intervals table: `CRAWL_INTERVAL_PROBE_MS` 3,600,000 →
**1,800,000** (30 min) and `PROBE_MAX_PER_SECOND` 10 → **15**. Both
defaults now match `src/config.ts` and `.env.example`.
- Section 8 snapshot-retention: rewritten from scratch. The old text
described a 3-tier (<7d / 7-30d / >30d) policy embedded in `runCrawl()`,
none of which is accurate. The real policy is a flat 45-day cutoff on
`score_snapshots` (with separate 14-day cutoffs for probe/channel/fee
snapshots) applied by a dedicated 24-hour cron inside the crawler
process, using 50k-row chunks to keep the SQLite WAL bounded. Source:
`src/config/retention.ts`.
- Section 1 Aperture config snippet: replaced the `YOUR_VOLTAGE_NODE.
voltageapp.io` placeholder host with `localhost:10009`, and
`tlscertpath` / `macaroonpath` now point directly at `<LND_DATA_DIR>/...`
so Aperture picks up an LND cert regeneration via a simple `systemctl
restart aperture`.
- Section 2 nginx config: rewritten to match the real prod routing. The
old regex `^/api/(agent|agents|decide|profile)` would have captured
`/api/agents/top` and sent it through Aperture (making it 1-sat), but
that endpoint is free in README + landing page + prod. New regex
`^/api/agent/[a-f0-9]+` only matches paths with a hex hash after
`/api/agent/`, so `/api/agents/top` correctly falls through to Express.
Routing-logic bullets rewritten to match endpoint-by-endpoint.
- Section 7 post-crawl note: removed the "top 50 agents" claim (bulk
scoring touches every eligible agent, not a top-N subset).
src/crawler/lndGraphCrawler.ts
- Top-of-file comment: stale `~17,000 nodes` → `~14,000 active Lightning
nodes after UTXO validation`.
Tests: 464 / 34 files green.
- `duration: 31536000` — L402 token valid for 1 year (365 days in seconds)
62
66
- `pathregexp`— only agent/agents endpoints require payment; health/stats/version are free
63
-
- Copy your LND admin macaroon to `/etc/aperture/admin.macaroon`
64
-
- Copy your LND TLS cert to `/etc/aperture/tls.cert`
67
+
- Replace `<LND_DATA_DIR>` with the absolute path to your LND data directory (where `tls.cert` and `data/chain/bitcoin/mainnet/admin.macaroon` live). Pointing Aperture at LND's live files instead of a copy means a cert regeneration on the LND side is picked up by `systemctl restart aperture` without any file juggling.
68
+
- `host: "localhost:10009"` assumes LND is on the same host and listens on the loopback interface (recommended — see the `restlisten=127.0.0.1:10009` convention in `lnd.conf`). If LND is remote, replace with `hostname:port` and add that IP to LND's `tlsextraip`.
0 commit comments