Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
TEC Life — your personal economic context in the Pi Network ecosystem
FinanceTypeScript · CSSGitHub @Yasira82OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
System of Record (Personal) for the TEC Federated Platform — the memory of a TEC identity.
Life holds what a Pioneer declares about their own economic life: goals, skills, preferences,
activity, trajectory and intent (charter: tec-knowledge-base/knowledge-base/C-106).
Live on Pi Mainnet at https://life.tecosystem.app · Pi App ID life-app-c468e9eb5bf115fa · app slug life.
Life Pro (unlimited goals + insights) is paid in Pi through the shared payment flow (ADR-007 / ADR-009).Read the full README ↗System of Record (Personal) for the TEC Federated Platform — the memory of a TEC identity.
Life holds what a Pioneer declares about their own economic life: goals, skills, preferences,
activity, trajectory and intent (charter: tec-knowledge-base/knowledge-base/C-106).
Live on Pi Mainnet at https://life.tecosystem.app · Pi App ID life-app-c468e9eb5bf115fa · app slug life.
| Screen | What a Pioneer can do | Where the truth lives |
|---|---|---|
| Home | See the goal closest to done, log π against it, see recent activity | tec-identity-service (life module) |
| Goals | Add a goal with an optional π target, log progress, mark done, delete | strong consistency — self-declared |
| Skills | Keep a skills ladder: Learning → Practising → Proficient → Expert (never a score) | self-declared; an inferred row has a place but is never written by the client |
| Activity | Read their own recent TEC events, grouped by day | presented from tec-analytics-service; Life stores none of it |
| Budget + Cash flow | Set a monthly π cap per app; see what the owning services say was spent and received | the caps are self-declared (Life owns them); the amounts are presented from tec-payment-service and tec-commerce-service — an amount that could not be read is said, never shown as 0 |
| Pace | A projection of goal pace — refused until there is enough data (two days of progress) | computed server-side |
| Settings → Privacy | Grant or withdraw consent per data category; delete all Life data | absence is a no; the purge is audited |
Life Pro (unlimited goals + insights) is paid in Pi through the shared payment flow (ADR-007 / ADR-009).
Next.js 15 App Router. The browser only ever talks to this app's BFF (/api/bff/*), which
forwards to the API Gateway with the session token as the only identity (src/lib/bff/lifeGateway.ts).
Sessions are Hub SSO cookies (tec_access_token, tec_csrf, tec_user) set on a 200 HTML landing
(C-123); the app can also sign itself in from a standalone Pi visit (src/lib/pi/self-sign-in.ts).
CSRF is enforced in middleware.ts only. Pi SDK calls go through src/lib/pi/PiRuntime.ts.
src/app/app/ the signed-in app: page.tsx (shell) + components/ (Home, Goals, Skills, Activity, Pace, Settings, LifePro)
src/app/api/bff/life/ goals · skills · preferences · activity · trajectory · consent · intent · data
src/app/api/auth/ sso-callback (landing) · pi-login (self sign-in) · refresh · me
src/app/pi-test on-device diagnostics: this tab's Pi sign-in and campaign arrival
src/lib-client/life/ useLife.ts (the hooks) · focus.ts
src/lib/i18n/ 12 locales, one key set
npm install
cp .env.example .env.local # API_GATEWAY_URL · INTERNAL_SECRET · SSO_SECRET · NEXT_PUBLIC_PI_APP_ID …
npm run dev
npm run typecheck # tsc --noEmit — 0 errors
npm run lint # eslint — 0 errors
npm run test:coverage # vitest + the 60% floor in vitest.config.ts
npm run build
npm run test:e2e # Playwright: landing + the Life screens against a mocked BFF (e2e/)
CLAUDE.md for the full list)granted: false consent rows; absence is the denial.yasira82/tec-knowledge-base → C-02 (current state) · C-106 (this app's charter) · C-123 (session & cookie law) · C-12 (dual-mode payment).