Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
184 commits
Select commit Hold shift + click to select a range
2b6ad43
Update .gitignore with new entries
StephenSook May 6, 2026
3f9d06a
chore(day-1): scaffold workspaces + 0G broker smoke test infra
StephenSook May 6, 2026
8f01d96
fix(day-1): Codex hardening — smoke test, ts config, node version
StephenSook May 6, 2026
433dd21
feat(authwit): CompassHub skeleton + Grant struct (Phase 2.1+2.2)
StephenSook May 6, 2026
84c6d3a
feat(authwit): full Authwit grant primitive (Phases 2.3-2.9)
StephenSook May 6, 2026
3dc79ed
feat(agent): AgentRegistry ERC-7857-stripped (Phase 3a)
StephenSook May 6, 2026
1556d91
feat(policy,receipt): policy registry + receipt log on CompassHub (Ph…
StephenSook May 6, 2026
c5ae8c8
fix(security): address all BLOCKERs + HIGHs from 3-way code review
StephenSook May 6, 2026
0975c5a
docs(notes): bank 0G ecosystem status + bug-report intel
StephenSook May 6, 2026
c2d210b
fix(security): Phase 3d hardening — slither clean + property-based in…
StephenSook May 6, 2026
e8ece6c
docs(architecture): two-contract + three-service overview (Phase 3e.1)
StephenSook May 6, 2026
ab803d1
docs(threat-model): nine attack surfaces with mitigations (Phase 3e.2)
StephenSook May 6, 2026
4384b31
docs(limits): explicit "what Compass v1 does NOT protect against" (Ph…
StephenSook May 6, 2026
f705147
feat(policies): three demo-policy JSONs for HK FDH eligibility (Phase…
StephenSook May 6, 2026
b52780f
feat(schemas): receipt-v1 canonicalization schema (Phase E5 / 6a.8)
StephenSook May 6, 2026
13005b3
fix(security): atomic grant+receipt + doc-honesty pass after 3-way re…
StephenSook May 6, 2026
f1f078c
chore(contracts): gitignore solidity-coverage artifacts
StephenSook May 6, 2026
e97f163
feat(sdjwt): SD-JWT VC issuer/holder/verifier round-trip (Phase 4)
StephenSook May 6, 2026
36cab6b
refactor(enclave): rename fixture key helpers to INSECURE_FIXTURE_ONLY
StephenSook May 6, 2026
3650e17
fix(policy): depth guard + reject empty and:[]/or:[] predicates
StephenSook May 6, 2026
7ba3793
fix(sdjwt): enforce KB-JWT + cnf binding + vct + audience (Codex BLOC…
StephenSook May 6, 2026
5576a26
docs: drop belt-and-suspenders framing + correct status-list reference
StephenSook May 6, 2026
de6aff9
feat(crypto): AES-256-GCM + PBKDF2 vault encryption (Phase 5.1, 5.2, …
StephenSook May 6, 2026
b64fe82
feat(storage): 0G Storage upload/download wrapper (Phase 5.3, 5.4)
StephenSook May 6, 2026
59d3b66
fix(crypto): apply Phase 5 review fixes (buffer aliasing + boundary c…
StephenSook May 7, 2026
9df2d34
fix(storage): apply Phase 5 review fixes (defensive cleanup + diagnos…
StephenSook May 7, 2026
ecd9052
feat(integration): Phase 5.6 wire mintAgent → 0G Storage on Galileo
StephenSook May 7, 2026
ee34a10
fix(storage): harden upload opts handling + sdk error formatting
StephenSook May 7, 2026
e6fea59
fix(deploy): refuse silent manifest overwrite + incremental persist (…
StephenSook May 7, 2026
285e062
fix(integration): apply Phase 5.6 review fixes to mint-with-storage
StephenSook May 7, 2026
96357b9
docs(notes): Phase 6.0 Codex TEE architecture verdict
StephenSook May 7, 2026
b7013b7
docs: apply 3-way review fixes to Phase 6.0 deliverable + collateral
StephenSook May 7, 2026
b3f0a8c
docs(notes): Day 3 TEE investigation brief + 0G TG ping draft
StephenSook May 7, 2026
56b6b77
feat(phala): scaffold Phala TDX enclave + deeper investigation brief
StephenSook May 7, 2026
edc989e
docs(notes): add Q4 to 0G TG ping — pubkey binding mechanism
StephenSook May 7, 2026
b678776
feat(repro): minimal repro scripts for 0G compute + storage SDK V3 fa…
StephenSook May 7, 2026
074a66d
feat(phala): scout docker-compose for $0-burn Phala Cloud verification
StephenSook May 7, 2026
8fe1db8
feat(app): Phase 7 frontend kickoff — Cinematic Privacy tokens + 3 pr…
StephenSook May 7, 2026
f1b351a
fix(app): apply 5-way Phase 7 review fixes — 3 BLOCKERs + 4 HIGHs
StephenSook May 7, 2026
ecbed16
feat(sdk): migrate enclave to @0gfoundation/* SDKs (V4 Galileo unbloc…
StephenSook May 7, 2026
8bfa58e
docs: reflect Day 3 architectural upgrade — REPORTDATA confirmed, Pha…
StephenSook May 7, 2026
184b935
feat(app): subpoena page v1 + RevealText + MagneticButton primitives
StephenSook May 7, 2026
a870f5e
fix: 6-way Day-3 review — privacy contract leak + subpoena page + doc…
StephenSook May 7, 2026
2ad85fa
fix(app): Tailwind v4 backdrop-filter strip + RevealText useScroll re…
StephenSook May 7, 2026
5841872
fix(app): pre-cold-viewer demo polish — CTA + beat split + drop discl…
StephenSook May 7, 2026
a6f8228
fix(app): BlurText word-spacing collapse + empty disclosure container…
StephenSook May 7, 2026
009effc
feat(storage): live 0G Storage upload working on V4 — Q3 resolved
StephenSook May 7, 2026
9281f8f
feat(probe): broker probe + canonical TeeML provider pin (Phase 6.1)
StephenSook May 7, 2026
45a2cc2
feat(app): Phase 7.3.5 receipt page + TEEBadge primitive — demo loop …
StephenSook May 7, 2026
f75f0af
feat(enclave): Phase 6 Day-4 — receipt-signer HTTP server (OpenAI-sha…
StephenSook May 7, 2026
7aad2ef
fix(review): apply 5-reviewer convergent findings on Phase 6/7 batch
StephenSook May 7, 2026
0e7b203
feat(tee): Phase 6 Day-5 — dstack TDX dual-boot + report_data binding
StephenSook May 7, 2026
851cd4e
fix(review): apply 6-reviewer convergent findings on Phase 6 Day-5 batch
StephenSook May 7, 2026
a7578f0
feat(deploy): Phala Cloud deploy runbook + post-deploy verifier
StephenSook May 7, 2026
0454ef2
feat(receipt): freshness binding via quoteCommitment (schema v1.1.0)
StephenSook May 7, 2026
ebebbaa
feat(clinic): Phase 7.3.6 clinic dashboard — index, policies, inbox
StephenSook May 7, 2026
af1e176
fix(review): apply 6-reviewer findings on Phase 6 Day-7 batch
StephenSook May 7, 2026
4c9a14c
feat(about): /about page — architecture diagram + integration table +…
StephenSook May 7, 2026
e122e89
fix(review): apply 4-reviewer findings on /about page (factual + type)
StephenSook May 7, 2026
bb6059a
fix(phala): pin GHCR image + Dockerfile alpine build deps
StephenSook May 8, 2026
e79a9e1
fix(phala): bump image to 1.0.1 — linux/amd64 (was arm64, Phala hosts…
StephenSook May 8, 2026
c29017d
feat(deploy): live Phala TDX deployment — real attestation evidence c…
StephenSook May 8, 2026
3a85e95
docs(readme): rewrite as evidence-pinned submission artifact
StephenSook May 8, 2026
6ba354c
feat(scripts): verify-receipt CLI — judge-replicable cryptographic chain
StephenSook May 8, 2026
c43142c
feat(frontend): /audit + /policies/[slug] — Phase 7.3.7 frontend comp…
StephenSook May 8, 2026
085e088
fix(review): apply 4-reviewer findings on /audit + /policies/[slug]
StephenSook May 8, 2026
44ed900
feat(subpoena): orchestrate the wow-moment beat with motion + add aud…
StephenSook May 8, 2026
4e2e46c
fix(review): apply 4-reviewer findings on subpoena polish
StephenSook May 8, 2026
a214a30
feat(onboard): /onboard fixture-mode 3-step walkthrough
StephenSook May 8, 2026
308cebf
fix(review): apply 4-reviewer findings on /onboard
StephenSook May 8, 2026
03e4673
fix(onboard): step 2 stuck at running — closure-based scheduled flag …
StephenSook May 8, 2026
f2185cf
fix(receipt): "Inspect 0G Storage" CTA was 308-redirect → /notfound
StephenSook May 8, 2026
574e21b
feat(about): replace ASCII card-stack with inline SVG architecture di…
StephenSook May 8, 2026
11bcd16
fix(review): apply 4-reviewer findings on architecture SVG — drop ove…
StephenSook May 8, 2026
f5f7226
feat(privy+vault+demo): env-gated Privy, /vault, demo script + person…
StephenSook May 8, 2026
1e8ba4c
feat(onboard): live AgentRegistry.mintAgent on Galileo from /onboard …
StephenSook May 8, 2026
44dd801
chore(deps): @sd-jwt/sd-jwt-vc + @noble/curves for SD-JWT VC issuance
StephenSook May 10, 2026
8a83e27
feat(api): /api/issue Vercel route signs SD-JWT VC with Ed25519 issue…
StephenSook May 10, 2026
62ad97e
feat(onboard): live SD-JWT VC issuance on step 3 when ISSUER_PRIVATE_…
StephenSook May 10, 2026
2950960
feat(vault): render live SD-JWT VCs from localStorage alongside fixtures
StephenSook May 10, 2026
da839c4
docs(about): SD-JWT live issuer service in reality table (draft state)
StephenSook May 10, 2026
545f07b
fix(api): replace BigInt literals with constructor form in /api/issue
StephenSook May 10, 2026
6cc9275
feat(crypto): browser vault module — AES-256-GCM with IndexedDB key p…
StephenSook May 10, 2026
faeddc6
feat(onboard): encrypt issued SD-JWT VC browser-side before localStor…
StephenSook May 10, 2026
dd9801b
refactor(vault): render ciphertext metadata only — never plaintext SD…
StephenSook May 10, 2026
e1eb7c3
docs(about): browser AES-256-GCM live, 0G upload still v2
StephenSook May 10, 2026
d6e5509
fix(crypto): cast Uint8Array to BufferSource at WebCrypto call sites
StephenSook May 10, 2026
65f7bf5
feat(contracts): CompassHub ABI + EIP-712 grant types + policy label
StephenSook May 10, 2026
b1c083c
feat(api): /api/consume relayer for CompassHub.consumeGrantAndIssueRe…
StephenSook May 10, 2026
ba8c074
feat(onboard): RequestEligibilityButton — live consumeGrant on Galileo
StephenSook May 10, 2026
ad040a6
docs: Galileo policy + provider setup; mark Authwit + consumeGrant real
StephenSook May 10, 2026
4bce549
feat(enclave): callEnclave helper + payload builder for live Phala TEE
StephenSook May 10, 2026
6852431
feat(api): /api/consume sources attestationDigest from live Phala TEE
StephenSook May 10, 2026
3c537ff
docs(about): RA-quote-bound attestationDigest row + verifyAttestation…
StephenSook May 10, 2026
1106357
feat(api): /api/tee-status probe + honest draft state for the digest row
StephenSook May 10, 2026
4297170
docs(about): flip RA-quote-bound digest row to real — Phala TEE back …
StephenSook May 10, 2026
862c2d0
feat(chains): mainnet selector — useMainnet, activeNetwork, activeChain
StephenSook May 10, 2026
81e0e6e
feat(contracts): Aristotle address slots + chain-aware contract selec…
StephenSook May 10, 2026
0f16749
docs: A.5 mainnet funding options + Aristotle deploy checklist + real…
StephenSook May 10, 2026
3268e52
feat(ui): AmbientSphere primitive + mobile responsive sweep on /, /va…
StephenSook May 10, 2026
a9f5996
feat(ui): Skeleton + CredentialCardSkeleton shimmer primitives
StephenSook May 10, 2026
ede2ada
feat(vault): skeleton placeholder during LiveCredentialList hydration
StephenSook May 10, 2026
26ee4f7
feat(about): live TeeStatusBadge probes /api/tee-status with skeleton
StephenSook May 10, 2026
29e182e
feat(skills): compass-eligibility-check Claude Code / OpenClaw skill
StephenSook May 10, 2026
5abe6a5
docs(readme): cross-link compass-eligibility-check skill from ecosyst…
StephenSook May 10, 2026
fdf9a9e
docs(outreach): 6 cold-email drafts + Pillar 5 traction table
StephenSook May 10, 2026
bf5b285
fix(api): agentIdCommitment must match CompassHub on-chain encoding
StephenSook May 10, 2026
411fc60
fix(review): apply Codex pre-submission findings (A1-A3 docs, A2 stub…
StephenSook May 10, 2026
2dd516d
docs(whitepaper): C.1 3-page hackathon submission whitepaper PDF
StephenSook May 10, 2026
489e833
test(e2e): D.1 Playwright suite — pages + APIs + browser-side crypto
StephenSook May 10, 2026
3ca1d11
refactor(contracts): extract IAgentRegistry to its own file (Slither …
StephenSook May 10, 2026
4718a19
docs(readme): F.3 sync README with this submission cycle's audit + re…
StephenSook May 10, 2026
47d94a9
docs(demo): F.1 align storyboard + script with shipped /onboard step …
StephenSook May 10, 2026
d09408b
feat: D.3 trust-list governance design + D.4 verify-receipt --bundle …
StephenSook May 10, 2026
f7132f0
docs(demo): F.5 final X post template + thread continuation
StephenSook May 10, 2026
52c814b
feat(kiosk): C.5 drop-in NGO kiosk mode at /kiosk
StephenSook May 10, 2026
e0685df
feat: E.3 SD-JWT fuzz tests + dep audit · M.1 batched revocation · E.…
StephenSook May 11, 2026
b1f09ca
feat: M.2 3D force-graph audit view + B.4 Spline scene scaffold
StephenSook May 11, 2026
2b40af8
fix(spline): type SplineRuntime lazy import with explicit ComponentType
StephenSook May 11, 2026
691a687
feat(ui): E.1 HLS / MP4 hero video background scaffold
StephenSook May 11, 2026
d5731f1
fix(home): inline env check instead of importing client-only helper
StephenSook May 11, 2026
99a5372
feat(kiosk): C.3 5-language localization on /kiosk (en + fil + id + m…
StephenSook May 11, 2026
b842206
docs(funding): rewrite Path 1 per Asad Khalid (0G Labs) Discord reply
StephenSook May 11, 2026
ad6fb29
docs(otc): draft #builders OTC ping for A.5 mainnet funding
StephenSook May 11, 2026
81178ac
docs(funding): pivot to 0G Discord support ticket — OTC discouraged
StephenSook May 11, 2026
3f27df8
feat(deploy): A.5 — Aristotle mainnet (chainId 16661) live
StephenSook May 11, 2026
6acb37e
docs: A.5 mainnet visibility — reality table + README + X post
StephenSook May 11, 2026
7c03926
fix(onboard): tighten Privy reconnect + use parseEventLogs for AgentM…
StephenSook May 11, 2026
5ba64c5
feat(about): activate B.4 — 3D Spline scene below architecture diagram
StephenSook May 11, 2026
a361932
docs(audit): D.2 slither post-Aristotle-deploy re-run identical to ba…
StephenSook May 11, 2026
5903699
fix(about): drop now-unused @ts-expect-error in SplineScene after ins…
StephenSook May 11, 2026
200936e
docs(demo): F.4 + Google Form field-by-field submission answers
StephenSook May 11, 2026
1caaaa1
docs: repo-health files + press kit + distribution playbooks + ZK pro…
StephenSook May 11, 2026
0f352e3
feat(security): security headers + rate limit on /api/consume + Slith…
StephenSook May 11, 2026
bea728b
feat(content): /faq + /roadmap + /demo guided tour + /about comparison
StephenSook May 11, 2026
9a56ef4
feat(home): link /demo /faq /roadmap from the home page nav row
StephenSook May 11, 2026
758cf5d
fix(review): close BLOCKER/CRITICAL/HIGH findings from 3-agent code r…
StephenSook May 11, 2026
9f44c09
docs(demo): F.1 script + storyboard rewritten for mainnet recording
StephenSook May 11, 2026
da522ca
feat(ui): Tier S+A+B polish — OG images · 404/500 · PWA · tooltips · …
StephenSook May 11, 2026
8da3f54
feat(ui): apply Term tooltips + Reveal scroll fades to /faq, /clinic/…
StephenSook May 11, 2026
5e85cb8
docs(changelog): v0.5+ UI/UX polish entries
StephenSook May 11, 2026
f66d46f
fix(ci): unblock Slither job from peer-dep ERESOLVE inside slither-ac…
StephenSook May 11, 2026
5a87b1f
feat(ui): /verify browser-side receipt verifier · sitemap + robots · …
StephenSook May 11, 2026
f1602ab
fix(verify): Try-sample button swaps composeHash to fixture value
StephenSook May 11, 2026
718d85b
docs(readme+changelog): /verify + sitemap + onboard polish + CI fix e…
StephenSook May 11, 2026
bd488d9
fix(verify): close 5 HIGH + 1 MEDIUM + 3 LOW findings from Codex + co…
StephenSook May 11, 2026
e08fb27
fix(verify): parseBundle accept receipt.result as object (regression …
StephenSook May 11, 2026
8d7431c
perf(audit): docs/audits/lighthouse-2026-05-11 + skip-link + preconnects
StephenSook May 11, 2026
0c7e77e
docs(standards): /about + honest-limits + whitepaper + CHANGELOG eIDA…
StephenSook May 11, 2026
88169ac
docs(pdfs): generate press-kit + architecture + hackquest-cheatsheet …
StephenSook May 11, 2026
43193a2
fix: 6-reviewer pass — Wave 1 (mainnet client + skip-link + honest-li…
StephenSook May 11, 2026
f3dc918
fix: 6-reviewer pass — Wave 2 (API hardening)
StephenSook May 11, 2026
5f5b36b
fix: 6-reviewer pass — Wave 3 (type design hardening)
StephenSook May 11, 2026
1c66a9d
test: 6-reviewer pass — Wave 4 (vitest tests, surfaces real canonical…
StephenSook May 11, 2026
fbe0a2c
ci(app): add vitest run to the App job after the Next.js build
StephenSook May 11, 2026
f6067f5
fix(term): widen entry to GlossaryEntry at access site
StephenSook May 11, 2026
d4145a0
fix: 6-reviewer pass — Wave 5 (LOW polish)
StephenSook May 11, 2026
6b099a8
fix: whole-codebase review — onboard liveMint explorer URL + audit do…
StephenSook May 11, 2026
de52863
chore(repo): hygiene pass + 3 codebase visualizations
StephenSook May 11, 2026
cc358e6
docs(adr+c4): 3 ADRs, Mermaid C4Context, social preview, FUNDING + Di…
StephenSook May 11, 2026
62dbac1
perf: ship Vercel perf audit SHIP fixes (Privy dynamic + BlurText LCP)
StephenSook May 11, 2026
a332736
fix(critical): Privy dynamic-import broke SSR for entire app tree
StephenSook May 11, 2026
743f8d0
docs: 9 drift fixes from multi-agent review (Gemini + Codex + code-re…
StephenSook May 11, 2026
3e7038d
fix(onboard): derive network name + funding affordance from activeCha…
StephenSook May 11, 2026
b0445b5
fix: H4 dcapVerified verifier output + Cx4 Docker dependabot + CHANGELOG
StephenSook May 11, 2026
a8a21c2
docs: sync OG team May 11 announcement — deadline is May 16, not June 5
StephenSook May 11, 2026
e796f59
fix(critical): /onboard prerender failed — force-dynamic via layout.tsx
StephenSook May 11, 2026
0689fa9
fix(critical): wallet buttons must be dynamic({ ssr: false }) on /onb…
StephenSook May 11, 2026
b6b3c34
docs(script): sync Demo/script.md with today's 10-commit audit cycle
StephenSook May 12, 2026
638b0a9
docs(script): Beat 3 — 3 steps + 1 closing CTA, not 4 numbered steps
StephenSook May 12, 2026
0cb941e
fix(critical): /api/consume regex demanded 65-byte sig; enclave retur…
StephenSook May 12, 2026
c496f9c
fix(critical): perReceiptQuoteHex regex required 0x prefix; dstack-sd…
StephenSook May 12, 2026
399c5d9
feat(onboard): wallet pill click-to-copy + hover tooltip + cursor:poi…
StephenSook May 12, 2026
0f1787a
docs(script): Beat 4 bridge line — 'Now imagine the subpoena.'
StephenSook May 12, 2026
0b4ec01
fix(critical): /api/consume timeout — extend Vercel maxDuration to 60…
StephenSook May 12, 2026
2904090
fix(build): pending-tx response uses in-scope vars (nowSec/body.grant…
StephenSook May 12, 2026
565eda6
docs: F.1 demo video shipped — vg5WZHmlzZI propagated across all surf…
StephenSook May 12, 2026
061f9b0
docs: add Demo/edit-recipe.md — durable ffmpeg pipeline for the F.1 demo
StephenSook May 12, 2026
3e015a9
docs: HackQuest Project Archive — field-by-field paste guide
StephenSook May 12, 2026
3a4c952
docs: F.4 HackQuest submission landed — 4 days ahead of deadline
StephenSook May 12, 2026
93c8e4e
docs: Sookra Methodology compliance pass — Business Impact section + …
StephenSook May 12, 2026
4bb351b
docs: align threat-model + press-kit + GitHub repo desc with Sookra m…
StephenSook May 12, 2026
dea544a
feat(web): inject Sookra-methodology stats across high-traffic surfaces
StephenSook May 12, 2026
c0e9d73
chore: glossary FDH definition stat sync + tenth-wave CHANGELOG entry
StephenSook May 12, 2026
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
25 changes: 25 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# 0G Network — Aristotle Mainnet
ZEROG_RPC_URL=https://evmrpc.0g.ai
ZEROG_CHAIN_ID=16661

# 0G Network — Galileo Testnet
ZEROG_TESTNET_RPC_URL=https://evmrpc-testnet.0g.ai
ZEROG_TESTNET_CHAIN_ID=16602

# Deployer wallet (NEVER COMMIT REAL VALUES)
DEPLOYER_PRIVATE_KEY=0x_REPLACE_WITH_YOUR_KEY

# 0G Compute / Sealed Inference
ZG_BROKER_PROVIDER_ADDRESS=0x_PINNED_CANONICAL_PROVIDER_ADDRESS
ZG_BROKER_LEDGER_DEPOSIT=0.1

# Privy embedded wallet (Phase 7)
NEXT_PUBLIC_PRIVY_APP_ID=

# Mux Stream / Cloudflare Stream (Phase 7.5.2)
NEXT_PUBLIC_MUX_VIDEO_ID=

# Issuer signing keys (gitignored, fixture only — Phase 4a.1)
HELP_ISSUER_KEY_PATH=enclave/keys/help-issuer.key.json
BETHUNE_ISSUER_KEY_PATH=enclave/keys/bethune-issuer.key.json
HOSPITAL_ISSUER_KEY_PATH=enclave/keys/hospital-issuer.key.json
34 changes: 34 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# CODEOWNERS — automatic review request routing for Compass.
#
# Solo build today (Stephen Sookra); this file pre-wires future co-maintainer
# routing so adding a teammate is a one-line change rather than a repo-wide
# refactor. Until that day, all paths route to @StephenSook by default.

# Global fallback — every change pings the maintainer.
* @StephenSook

# Smart contracts (Solidity + Hardhat + Slither) — highest security blast radius.
/contracts/ @StephenSook
/contracts/contracts/ @StephenSook
/.github/workflows/ci.yml @StephenSook

# TEE / enclave (dstack TDX, receipt-signer, verifier).
/enclave/ @StephenSook

# Frontend + API routes.
/app/ @StephenSook
/app/src/app/api/ @StephenSook

# Docs + audits + threat-model — public-facing accuracy matters.
/docs/ @StephenSook
/docs/audits/ @StephenSook
/docs/honest-limits.md @StephenSook

# Skills (reusable ecosystem primitives).
/skills/ @StephenSook

# Repository-health metadata.
/.github/ @StephenSook
/README.md @StephenSook
/SECURITY.md @StephenSook
/CHANGELOG.md @StephenSook
5 changes: 5 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Compass is a solo hackathon build (0G APAC 2026 Track 5).
# No GitHub Sponsors / Patreon / OpenCollective account yet.
# Best contact for collaboration, NGO partnership, or follow-on work
# is direct DM on Telegram — see SUPPORT.md.
custom: ["https://t.me/stephensookra"]
93 changes: 93 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Bug report
description: Something is not working the way the docs / tests / live app say it should.
title: "bug: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for reporting a bug. Before filing, please check the [honest-limits doc](../../docs/honest-limits.md) — some surprises are documented as known limits rather than bugs.

🔒 **Security vulnerabilities — do not file here.** Use the private reporting channel in [`SECURITY.md`](../../SECURITY.md).

- type: textarea
id: what-happened
attributes:
label: What happened
description: One or two sentences. What did you observe?
placeholder: When I clicked "Request Eligibility" on /onboard, the receipt minted but `attestationDigest` was zero.
validations:
required: true

- type: textarea
id: expected
attributes:
label: What you expected
description: One sentence. What should have happened?
placeholder: The receipt's attestationDigest should equal sha256(canonicalize(receipt)).
validations:
required: true

- type: textarea
id: reproduce
attributes:
label: How to reproduce
description: |
Step-by-step. Include the exact commit SHA you tested against if local, or the live frontend URL + browser if you observed it in production. If a Hardhat / Playwright / vitest test reproduces it, include that command.
placeholder: |
1. Visit https://app-psi-pied.vercel.app/onboard
2. Sign in via Privy (Galileo testnet)
3. Click "Request Eligibility"
4. Observe ReceiptIssued event — attestationDigest field is 0x0…
render: shell
validations:
required: true

- type: input
id: commit-sha
attributes:
label: Compass commit SHA
description: "Run: `git rev-parse HEAD`"
placeholder: 6b099a8b
validations:
required: false

- type: dropdown
id: network
attributes:
label: Network
options:
- 0G Aristotle mainnet (chainId 16661)
- 0G Galileo testnet (chainId 16602)
- Local Hardhat (chainId 31337)
- N/A — frontend-only bug
validations:
required: true

- type: input
id: browser
attributes:
label: Browser (if frontend)
placeholder: "Chrome 142 / Firefox 134 / Safari 18 / iOS Safari …"
validations:
required: false

- type: textarea
id: extra
attributes:
label: Additional context
description: |
Screenshots, error console output, on-chain tx hashes that reverted, relevant `/api/tee-status` snapshot. **Trim secrets** before pasting.
placeholder: tx hash, console error, /api/tee-status JSON, …
validations:
required: false

- type: checkboxes
id: confirm
attributes:
label: Confirmation
options:
- label: I searched existing issues and this is not a duplicate.
required: true
- label: This is not a security vulnerability (those go to `SECURITY.md` privately).
required: true
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: 🔒 Report a security vulnerability (private)
url: https://github.com/StephenSook/Compass-OG-/security/policy
about: Do NOT file security issues publicly. See SECURITY.md for the private disclosure channel.
- name: 📖 Read the whitepaper before filing
url: https://github.com/StephenSook/Compass-OG-/blob/main/docs/whitepaper.pdf
about: 3-page technical whitepaper covering threat model, architecture, protocol, honest limits, roadmap.
- name: 🌐 Verify a receipt in your browser
url: https://app-psi-pied.vercel.app/verify
about: "If you suspect a receipt is invalid, run it through /verify first — no install needed."
- name: 📋 Honest limits (what Compass does NOT protect against)
url: https://github.com/StephenSook/Compass-OG-/blob/main/docs/honest-limits.md
about: 25-section enumeration of known limits. Check here before filing a bug — it might already be documented.
60 changes: 60 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Feature request
description: Suggest a new capability for Compass.
title: "feat: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for proposing a feature. Compass keeps a narrow scope (private eligibility on 0G) — most proposals are better as a follow-on project. Use the **Compass scope check** at the bottom to decide.

- type: textarea
id: problem
attributes:
label: The problem you are trying to solve
description: One paragraph. Who is affected? What do they do today, and where does that fall short?
validations:
required: true

- type: textarea
id: proposal
attributes:
label: The change you are proposing
description: Concrete. What would land in the codebase if this issue were closed?
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives you considered
description: One or two sentences each. What other approaches did you weigh, and why is this proposal preferable?
validations:
required: false

- type: textarea
id: honest-limits
attributes:
label: Honest limits
description: |
What this proposal does *not* solve. Compass is explicit about its limits per [`docs/honest-limits.md`](../../docs/honest-limits.md); extend that posture here.
validations:
required: false

- type: checkboxes
id: scope
attributes:
label: Compass scope check
description: Tick all that apply.
options:
- label: This change concerns one of the populations Compass is designed to serve (migrant workers, NGO clients, intake clinicians).
- label: This change has a clear cryptographic correctness story — I can describe how the threat model changes if it lands.
- label: This change does not regress the privacy properties enumerated in `docs/architecture.md` and `docs/threat-model.md`.
- label: If implemented, a Playwright / Hardhat / vitest test would cover the new behavior.
validations:
required: false

- type: markdown
attributes:
value: |
If none of the boxes apply, this may be out of scope — please open a Discussion instead.
87 changes: 87 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
version: 2
updates:
- package-ecosystem: npm
directory: /app
schedule:
interval: weekly
day: monday
time: "06:00"
timezone: "Asia/Hong_Kong"
open-pull-requests-limit: 5
labels:
- dependencies
- security
commit-message:
prefix: "deps(app)"

- package-ecosystem: npm
directory: /enclave
schedule:
interval: weekly
day: monday
time: "06:00"
timezone: "Asia/Hong_Kong"
open-pull-requests-limit: 5
labels:
- dependencies
- security
- enclave
commit-message:
prefix: "deps(enclave)"

- package-ecosystem: npm
directory: /contracts
schedule:
interval: weekly
day: monday
time: "06:00"
timezone: "Asia/Hong_Kong"
open-pull-requests-limit: 3
labels:
- dependencies
- security
- contracts
commit-message:
prefix: "deps(contracts)"

- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
labels:
- dependencies
- ci
commit-message:
prefix: "ci(deps)"

- package-ecosystem: docker
directory: /enclave
schedule:
interval: weekly
day: monday
time: "06:00"
timezone: "Asia/Hong_Kong"
labels:
- dependencies
- security
- enclave
- docker
commit-message:
prefix: "deps(enclave-image)"

- package-ecosystem: docker
directory: /enclave/phala
schedule:
interval: weekly
day: monday
time: "06:00"
timezone: "Asia/Hong_Kong"
labels:
- dependencies
- security
- enclave
- docker
- phala
commit-message:
prefix: "deps(phala-image)"
38 changes: 38 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Pull request

## What this PR does

(One or two sentences. Why is this change needed? What problem does it
solve?)

## Why this approach over the alternatives

(One paragraph. What other paths did you consider? Why does this one
win?)

## Honest limits

(What this PR does *not* solve. If you remove or weaken any guarantee
documented in `docs/honest-limits.md`, call that out here.)

## Verification

- [ ] `cd contracts && npx hardhat test` — passing
- [ ] `cd contracts && slither . --filter-paths "node_modules"` — 0 sec
- [ ] `cd app && npm run build` — passing
- [ ] `cd enclave && npm test` — passing
- [ ] Playwright suite — passing or N/A (e.g. for contracts-only PRs)
- [ ] If this PR changes a documented row in the `/about` reality
table, the row state and note are updated to match.
- [ ] If this PR changes a privacy property, `docs/threat-model.md`
and / or `docs/honest-limits.md` are updated.

## Linked issues / context

Closes #
Related: docs/architecture.md, docs/threat-model.md

---

For security-sensitive changes, also coordinate via the channels in
[`SECURITY.md`](../SECURITY.md) before opening the PR.
Loading
Loading