VibeCodingStudio commited on
Commit
d090cd0
·
verified ·
1 Parent(s): 553161b

init: forge-kb dashboard Space

Browse files
Files changed (1) hide show
  1. index.html +145 -18
index.html CHANGED
@@ -1,19 +1,146 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en" data-theme="dark">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>forge-kb | Phantom Empire KB</title>
7
+ <style>
8
+ :root{--bg:#0d0d0d;--surface:#141414;--border:#2a2a2a;--text:#e0e0e0;
9
+ --muted:#888;--accent:#4f98a3;--font:system-ui,monospace}
10
+ *{box-sizing:border-box;margin:0;padding:0}
11
+ body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;padding:2rem}
12
+ h1{color:var(--accent);font-size:1.5rem;margin-bottom:.25rem}
13
+ .sub{color:var(--muted);font-size:.8rem;margin-bottom:2rem}
14
+ .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
15
+ .card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1.25rem}
16
+ .card h3{color:var(--accent);font-size:.9rem;margin-bottom:.5rem}
17
+ .card p{color:var(--muted);font-size:.8rem;line-height:1.6}
18
+ .badge{display:inline-block;background:#1a2e2e;color:var(--accent);
19
+ font-size:.7rem;padding:.15rem .5rem;border-radius:3px;margin:.15rem}
20
+ a{color:var(--accent);text-decoration:none}
21
+ a:hover{text-decoration:underline}
22
+ .checklist{background:var(--surface);border:1px solid var(--border);border-radius:6px;
23
+ padding:1.5rem;margin-top:2rem}
24
+ .checklist h2{color:var(--accent);margin-bottom:1rem;font-size:1rem}
25
+ .item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.6rem;font-size:.85rem}
26
+ .item input{margin-top:2px;accent-color:var(--accent)}
27
+ .section-label{color:var(--muted);font-size:.7rem;text-transform:uppercase;
28
+ letter-spacing:.08em;margin:1.2rem 0 .5rem}
29
+ code{background:#1a1a1a;padding:.1rem .35rem;border-radius:3px;font-size:.8rem}
30
+ </style>
31
+ </head>
32
+ <body>
33
+ <h1>&#x26A1; forge-kb</h1>
34
+ <p class="sub">Phantom Empire Knowledge Base &middot; VibeCodingStudio &middot; Jetson Orin Nano 8GB &middot; Phoenix AZ</p>
35
+
36
+ <div class="grid">
37
+ <div class="card">
38
+ <h3>&#x1F4DA; Context7 Libraries</h3>
39
+ <p>16,165 LiteLLM snippets &middot; 510 PydanticAI snippets<br>resolve-library-id + query-docs pipeline active</p>
40
+ <br>
41
+ <span class="badge">LiteLLM</span><span class="badge">PydanticAI</span>
42
+ <span class="badge">FastAPI</span><span class="badge">FastMCP</span>
43
+ <span class="badge">NATS</span><span class="badge">gRPC</span>
44
+ <span class="badge">Redis</span><span class="badge">Nginx</span>
45
+ </div>
46
+ <div class="card">
47
+ <h3>&#x1F916; HuggingFace Repos</h3>
48
+ <p>
49
+ <a href="https://huggingface.co/datasets/VibeCodingStudio/forge-kb" target="_blank">datasets/VibeCodingStudio/forge-kb</a><br>
50
+ <a href="https://huggingface.co/spaces/VibeCodingStudio/forge-kb" target="_blank">spaces/VibeCodingStudio/forge-kb</a>
51
+ </p>
52
+ <br>
53
+ <span class="badge">Private Dataset</span><span class="badge">Static Space</span>
54
+ </div>
55
+ <div class="card">
56
+ <h3>&#x1F501; Cron Schedule</h3>
57
+ <p>2 AM daily: provider limit scrape + model ranking recompute + NATS event<br>Every 30 min: Redis heartbeat for all services</p>
58
+ <span class="badge">cron</span><span class="badge">Redis TTL</span><span class="badge">NATS</span>
59
+ </div>
60
+ <div class="card">
61
+ <h3>&#x1F9E9; Fallback Lanes</h3>
62
+ <p>L1: Fast classifier &rarr; L2: General &rarr; L3: Reasoning &rarr; L4: Local GGUF &rarr; L5: Degrade gracefully</p>
63
+ <span class="badge">LiteLLM Router</span><span class="badge">Qwen2.5-3B Q4_K_M</span>
64
+ </div>
65
+ <div class="card">
66
+ <h3>&#x1F6E0; MCP Tools Active</h3>
67
+ <p>Context7: 2 tools<br>HuggingFace: 14 tools<br>Authenticated as VibeCodingStudio</p>
68
+ <span class="badge">Context7</span><span class="badge">HuggingFace MCP</span>
69
+ </div>
70
+ <div class="card">
71
+ <h3>&#x1F512; Stack</h3>
72
+ <p>Pi-Agent-Core RPC &middot; LiteLLM Gateway &middot; A2A &middot; FastMCP &middot; NATS JetStream &middot; gRPC &middot; LSP &middot; Nginx &middot; Cobra CLI &middot; PydanticAI</p>
73
+ </div>
74
+ </div>
75
+
76
+ <div class="checklist">
77
+ <h2>&#x2705; forge-kb Build Checklist</h2>
78
+
79
+ <p class="section-label">Repository</p>
80
+ <div class="item"><input type="checkbox" checked><span>HF dataset repo created: <a href="https://huggingface.co/datasets/VibeCodingStudio/forge-kb" target="_blank">VibeCodingStudio/forge-kb</a></span></div>
81
+ <div class="item"><input type="checkbox" checked><span>HF Space created: <a href="https://huggingface.co/spaces/VibeCodingStudio/forge-kb" target="_blank">VibeCodingStudio/forge-kb</a> (this dashboard)</span></div>
82
+ <div class="item"><input type="checkbox" checked><span>Scaffold generated: 305 directories across industry/domain/service-type taxonomy</span></div>
83
+ <div class="item"><input type="checkbox"><span>GitHub repo created and pushed: <code>VibeCodingStudio/forge-kb</code> (private)</span></div>
84
+ <div class="item"><input type="checkbox"><span>Clone to Jetson at <code>/ssd/forge-kb</code></span></div>
85
+
86
+ <p class="section-label">Context7 Ingestion</p>
87
+ <div class="item"><input type="checkbox" checked><span>stack-manifest.yaml written (8 libraries with Context7 IDs)</span></div>
88
+ <div class="item"><input type="checkbox" checked><span>ingest.py written: resolve &#x2192; query-docs &#x2192; write KB entry &#x2192; metadata</span></div>
89
+ <div class="item"><input type="checkbox"><span>Resolve Context7 IDs for: FastAPI, FastMCP, NATS, Redis, Nginx, gRPC</span></div>
90
+ <div class="item"><input type="checkbox"><span><code>python ingestion/ingest.py --library LiteLLM</code></span></div>
91
+ <div class="item"><input type="checkbox"><span><code>python ingestion/ingest.py --all</code> (full stack)</span></div>
92
+ <div class="item"><input type="checkbox"><span>Verify docs-raw/ and docs-normalized/ populated for each service-type</span></div>
93
+
94
+ <p class="section-label">Model Registry</p>
95
+ <div class="item"><input type="checkbox" checked><span>model-metadata.schema.json pushed to HF dataset registry/</span></div>
96
+ <div class="item"><input type="checkbox" checked><span>model-registry-seed.json written (Groq llama-3.1-8b, Gemini 2.0 Flash, Qwen2.5-3B local)</span></div>
97
+ <div class="item"><input type="checkbox"><span>Add providers: Cerebras, Mistral, OpenRouter, Together, Cohere</span></div>
98
+ <div class="item"><input type="checkbox"><span>Use <code>hub_repo_details</code> MCP tool to confirm Jetson model fit (context window, params)</span></div>
99
+ <div class="item"><input type="checkbox"><span>Validate all entries against schema: <code>python -m jsonschema</code></span></div>
100
+
101
+ <p class="section-label">Scripts (Jetson /ssd)</p>
102
+ <div class="item"><input type="checkbox" checked><span>scrape_provider_limits.py written (2 AM daily cron)</span></div>
103
+ <div class="item"><input type="checkbox" checked><span>heartbeat.py written (every 30 min)</span></div>
104
+ <div class="item"><input type="checkbox"><span>Install cron on Jetson: <code>crontab -e</code> &rarr; 0 2 * * * and */30 * * * *</span></div>
105
+ <div class="item"><input type="checkbox"><span>Add real HTML parser to scraper (selectolax or bs4)</span></div>
106
+ <div class="item"><input type="checkbox"><span>Test: <code>redis-cli keys "forge:heartbeat:*"</code></span></div>
107
+ <div class="item"><input type="checkbox"><span>Test: <code>nats sub models.registry.updated</code></span></div>
108
+
109
+ <p class="section-label">HuggingFace Jobs</p>
110
+ <div class="item"><input type="checkbox"><span>Create HF Job: nightly model benchmarking (off-device, keep Jetson headroom)</span></div>
111
+ <div class="item"><input type="checkbox"><span>Create HF Job: full ingestion run on stack-manifest updates</span></div>
112
+ <div class="item"><input type="checkbox"><span>Schedule HF Job: daily registry sync + diff report pushed back to dataset</span></div>
113
+ <div class="item"><input type="checkbox"><span>Use <code>hf_jobs</code> MCP tool to submit and monitor jobs</span></div>
114
+
115
+ <p class="section-label">HuggingFace Files + Datasets</p>
116
+ <div class="item"><input type="checkbox" checked><span>README.md pushed via write_file MCP tool</span></div>
117
+ <div class="item"><input type="checkbox" checked><span>model-metadata.schema.json pushed via write_file MCP tool</span></div>
118
+ <div class="item"><input type="checkbox"><span>Upload model-registry-seed.json via write_file</span></div>
119
+ <div class="item"><input type="checkbox"><span>Create daily scrape Parquet dataset for provider-limits time series</span></div>
120
+ <div class="item"><input type="checkbox"><span>Create KB entries Parquet dataset for embedding + reranking pipeline</span></div>
121
+ <div class="item"><input type="checkbox"><span>Use <code>hub_repo_search</code> MCP: find GGUF models for Jetson fallback lane</span></div>
122
+
123
+ <p class="section-label">Dynamic Spaces (FastMCP Tools)</p>
124
+ <div class="item"><input type="checkbox"><span>Wire <code>mcp-tools/DeepSeek-OCR-experimental</code> into FastMCP dev_tools_server</span></div>
125
+ <div class="item"><input type="checkbox"><span>Wire <code>ResembleAI/Chatterbox</code> TTS into FastMCP voice tool</span></div>
126
+ <div class="item"><input type="checkbox"><span>Wire <code>mcp-tools/FLUX.1-Kontext-Dev</code> into Cakeboys creative pipeline</span></div>
127
+ <div class="item"><input type="checkbox"><span>Wire <code>prithivMLmods/SAM3-Image-Segmentation</code> into CakeVoid vision pipeline</span></div>
128
+
129
+ <p class="section-label">Agent Stack</p>
130
+ <div class="item"><input type="checkbox" checked><span>PydanticAI KB entry written: pydanticai-agent-mcp-sampling.md</span></div>
131
+ <div class="item"><input type="checkbox"><span>LiteLLM config.yaml: local-primary alias + L1&rarr;L5 fallback chain</span></div>
132
+ <div class="item"><input type="checkbox"><span>FastMCP dev_tools_server.py scaffolded with tool schemas</span></div>
133
+ <div class="item"><input type="checkbox"><span>Pi-Agent-Core RPC wired to FastAPI ingress</span></div>
134
+ <div class="item"><input type="checkbox"><span>NATS subjects defined: tasks.* agents.* models.registry.* forge.heartbeat.*</span></div>
135
+ <div class="item"><input type="checkbox"><span>Cobra CLI: status, run, schedule, models sync, agents scaffold, trace, replay</span></div>
136
+ <div class="item"><input type="checkbox"><span>Nginx reverse proxy config (FastAPI + LiteLLM, internal only)</span></div>
137
+ <div class="item"><input type="checkbox"><span>Logfire wired to supervisor agent + all MCP calls</span></div>
138
+ <div class="item"><input type="checkbox"><span>ALL persistent state (logs, models, Docker, cache) on /ssd not microSD</span></div>
139
+ <div class="item"><input type="checkbox"><span>E2E smoke test: Cobra CLI run &rarr; Pi-Agent-Core &rarr; FastAPI &rarr; LiteLLM &rarr; agent &rarr; NATS result</span></div>
140
+ </div>
141
+
142
+ <p style="color:var(--muted);font-size:.75rem;margin-top:2rem;text-align:center">
143
+ forge-kb &middot; Phantom Digital LLC &middot; PhantomClaw &middot; Phoenix AZ &middot; 2026
144
+ </p>
145
+ </body>
146
  </html>