Commit Graph

226 Commits

Author SHA1 Message Date
Dobromir Popov
dac81a66b4 chore(prd): expand US-015 scope with worktree parallelism
auto --parallel N: creates one worktree per ready task, runs N agents
concurrently, merges on success, preserves worktree on conflict.
list-parallel: shows stories safe to run concurrently.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 16:14:33 +03:00
Dobromir Popov
d3bb50a894 feat(prd): add US-015 — Ralph agent-agnostic runner + status-field dashboard
Status-field awareness:
- Replace passes:bool with status field in ralph_progress.py
- Six buckets: done, attention, active, in-design, ready, blocked
- Dashboard shows ⚠ Attention Required section for to-revise/needs-review
- auto skips attention stories by default; --include-revise overrides

Agent agnosticism:
- --agent codex|claude|openrouter|custom on all run commands
- Persistent config in .ralph-tui/agent-config.json via set-agent subcommand
- OpenRouter adapter: calls API directly when ralph-tui lacks native plugin
- custom: --agent-cmd <script> receives prompt file as $1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 16:10:28 +03:00
Dobromir Popov
bf5055e6e0 chore(prd): replace passes boolean with rich status field
Status vocabulary: open | in-design | in-progress | needs-review | to-revise | done | blocked
Vocabulary definition stored in metadata.statusVocabulary for tooling.

US-002 → to-revise (base64 wire format replaced by binary in US-011)
US-005 → to-revise (gateway orchestration role superseded by US-014 tracker-as-node)
US-014 → open
All others → done

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 16:07:48 +03:00
Dobromir Popov
2690d9b9ba feat: add real PyTorch model backend 2026-06-29 15:54:40 +03:00
Dobromir Popov
c358798627 chore: harden Ralph session controls 2026-06-29 15:54:00 +03:00
Dobromir Popov
8895e5e8f1 chore: add Ralph session controls 2026-06-29 15:36:47 +03:00
Dobromir Popov
cd9e3686a5 docs(adr-0002): lock TAI tokenomics — 1B supply, revenue-backed, 90% floor
Locked decisions:
- 1 billion TAI hard cap, no minting, halving-style emission decay
- No transfer tax; spread-only revenue, decreases with volume
- Buyback floor = 90% of current organic backing price (ratcheting up)
- Wind-down guarantee: 90% floor always funded by protocol spread
- Post-listing speculative risk acknowledged and accepted
- Node bootstrap: probationary period = stake-free entry (no loan/grant)
- Listing threshold (provisional): $50k volume AND 25 nodes / 15+ operators

Open parameters noted: halving schedule, dynamic spread curve, listing %, legal.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 15:34:15 +03:00
Dobromir Popov
202b579bd1 docs(adr-0002): rewrite TAI tokenomics with revenue-backed model
- Token named TAI, fixed supply (BTC-inspired), no open market during bootstrap
- Price anchored to inference revenue: team holds ~100% → 36% over ~5 years
- 95% soft buyback floor; ~10% protocol spread funds wind-down reserve
- Wind-down guarantee: protocol can always buy back all issued TAI at issue price
- Open questions section captures unresolved parameters for token launch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 15:15:15 +03:00
Dobromir Popov
2a4383e353 feat: add binary activation wire format 2026-06-29 14:58:55 +03:00
Dobromir Popov
b17deb4d0e chore: add Ralph progress dashboard 2026-06-29 14:58:19 +03:00
Dobromir Popov
b02e07d308 docs: add ADRs and user stories for real model inference stack (US-011–014)
ADR-0008: binary activation wire format — raw bfloat16 over HTTP, zstd compression,
128-token chunked prefill; replaces base64 JSON (~33% overhead removed).

ADR-0009: coverage-first shard assignment and tracker-as-first-layer-node —
any node serving layers[0..k] becomes the inference entry point for that model;
bin-packing fills all coverage gaps before adding redundancy; tracker issues
LOAD_SHARD/DROP_SHARD rebalance directives; nodes declare VRAM + quantization.

US-011: binary wire format migration
US-012: real PyTorch layer execution (transformers + bitsandbytes, test on GPT-2)
US-013: coverage-first tracker bin-packing with VRAM-aware shard assignment
US-014: tracker-as-node (tracker node serves first layers + handles client requests)

CONTEXT.md: Tracker Node, Coverage Map, Rebalance Directive terms added.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 14:43:54 +03:00
Dobromir Popov
3286f77e27 feat: add meshnet python sdk 2026-06-29 10:29:19 +03:00
Dobromir Popov
e9c9bf63bc feat: add p2p shard swarm 2026-06-29 10:15:01 +03:00
Dobromir Popov
792a9fd97f feat: add probation and ban enforcement 2026-06-29 09:58:32 +03:00
Dobromir Popov
39f6f23c83 feat: add fraud detection validator 2026-06-29 09:46:22 +03:00
Dobromir Popov
a2aa22fc08 docs: clarify validation slash model 2026-06-29 02:47:36 +03:00
Dobromir Popov
e24c2e3cea feat: add settlement contract boundary 2026-06-29 02:46:25 +03:00
Dobromir Popov
8900990193 docs: clarify contract boundary 2026-06-29 02:31:23 +03:00
Dobromir Popov
3b7ef2743d feat: add OpenAI-compatible gateway
- GET /v1/health, GET /v1/models, POST /v1/chat/completions (streaming + non-streaming)
- OpenAI SDK, LangChain ChatOpenAI, and SSE streaming integration tests
- Tracker-backed GET /v1/models endpoint
- OpenAI-format errors for unavailable model (503) and pipeline failures
- Malformed JSON body handled with 400 instead of crash
- Test deps (openai, langchain-openai) declared in root pyproject dev extras

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 01:52:45 +03:00
Dobromir Popov
0199c99f6b feat: add node startup flow 2026-06-29 01:30:12 +03:00
Dobromir Popov
15897d5c95 feat: add tracker registration routing 2026-06-29 01:16:48 +03:00
Dobromir Popov
7c8e85c571 feat: add two-node shard pipeline 2026-06-29 00:34:57 +03:00
Dobromir Popov
1141b51286 feat: scaffold meshnet monorepo 2026-06-29 00:28:29 +03:00
Dobromir Popov
84614a36a4 chore: add Ralph task tracker 2026-06-29 00:16:13 +03:00
Dobromir Popov
2f1f9717be tasks 2026-06-29 00:10:21 +03:00
Dobromir Popov
0f24a1d4f9 iinit 2026-06-28 23:49:11 +03:00