Skip to content

Commit cf71eab

Browse files
committed
feat(hub): founding statement, new pages, mobile nav, Primer refinements
- index.md: complete rewrite — founding thesis, Wells/Berners-Lee narrative, documentation-grade structure per UI brief - statement.md: new /statement page (founding statement of AIEP) - well-known.md: new /.well-known/aiep/ standard explanation page - aiep-live.astro: new /aiep-live operating index page - aiep-token.astro: new /aiep-token efficiency demo page - nav: add Statement, .well-known/, AIEP Token, AIEP Live entries - BaseLayout.astro: sidebar backdrop overlay for mobile, github-markdown.css, Primer color tokens replacing hardcoded hex - global.css: remove text-transform/letter-spacing from nav labels, use CSS vars for font sizes, clean up sidebar scrollbar - public/_redirects: vanity redirects (/sdk, /patent, /kernel, /miner, /vectors) - public/vendor/github-markdown.css: vendor file for markdown-body rendering - workers/event-store.js: /summary endpoint (total_queries, human/ai split) - wrangler.toml: real KV namespace IDs, new_sqlite_classes migration, remove /dl/nda/* route - content: founder.md, roadmap.md, changelog.md, jv.md, licensing.md, genome-sdk.md, demo.astro, piea-*.astro — content and minor layout updates
1 parent 465c1b1 commit cf71eab

26 files changed

Lines changed: 3067 additions & 143 deletions

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ The public-facing hub site for the AIEP (Architected Instruction & Evidence Prot
1010

1111
## What It Is
1212

13-
AIEP-HUB is the canonical web surface for AIEP — hosting the specification library, governance documents, machine interface endpoints, and protocol documentation.
13+
Most AI systems generate answers with no record of what they were instructed to do, what evidence they used, or whether they could produce the same answer again. AIEP changes that. Structured instruction. Traceable evidence. Closed loops.
14+
15+
This is the public web surface for AIEP — hosting the protocol specification library, governance documents, machine interface endpoints, and the live reference implementation (Piea). Every page is machine-readable. The `/.well-known/aiep/` endpoint is queryable directly by AI agents, validators, and automated compliance tools.
16+
17+
**[aiep.dev](https://aiep.dev)** · [SDK](https://pypi.org/project/aiep-genome-sdk/) · [Piea](https://piea.ai)
1418

1519
---
1620

@@ -48,4 +52,4 @@ npx astro check # TypeScript + Astro diagnostics
4852

4953
## License
5054

51-
Apache-2.0 — see [LICENSE](../../LICENSE)
55+
Proprietary — see [LICENSE](LICENSE)

public/.well-known/aiep/index.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
"open_use_permitted": true,
1313
"note": "AIEP is an open protocol. Certification exists only to protect the claim 'AIEP Certified'."
1414
},
15+
"sdk": "https://pypi.org/project/aiep-genome-sdk/",
16+
"adopters": "https://aiep.dev/adopters",
1517
"endpoints": {
1618
"metadata": "/.well-known/aiep/metadata.json",
1719
"canon": "/.well-known/aiep/canon/",

public/_redirects

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/sdk https://pypi.org/project/aiep-genome-sdk/ 302
2+
/vectors https://github.com/Phatfella/AIEP-VECTORS 302
3+
/conformance /spec/conformance 302
4+
/miner https://github.com/Phatfella/AIEP-MINER 302
5+
/patent https://www.ipo.gov.uk/p-ipsum/Case/ApplicationNumber/GB2519711.2 302
6+
/kernel https://github.com/Phatfella/AIEP-GENOME-SDK/tree/main/kernel 302
7+
/adopters /adopters 200

public/styles/design-system/aiep-components.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@
132132
.button--primary:hover,
133133
.btn-primary:hover {
134134
background: linear-gradient(135deg, var(--c-brand-dark) 0%, var(--c-brand-deep) 100%);
135-
box-shadow: 0 6px 20px rgba(47, 95, 191, 0.35);
135+
box-shadow: var(--sh-brand);
136136
color: var(--c-text-inv);
137137
border-color: transparent;
138138
}
@@ -176,7 +176,7 @@
176176
background: var(--c-danger);
177177
border-color: transparent;
178178
color: var(--c-text-inv);
179-
box-shadow: 0 4px 14px rgba(239, 68, 68, 0.3);
179+
box-shadow: var(--sh-xs);
180180
}
181181

182182
.btn--danger:hover,

public/styles/global.css

Lines changed: 116 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* ==========================================================
2-
AIEP Hub global.css
2+
AIEP Hub global.css
33
Uses Primer CSS (vendor/primer.css) exclusively.
44
Zero AIEP design-system imports. Zero brand overrides.
55
Layout-only rules to wire up the two-column shell.
@@ -9,7 +9,7 @@
99
body {
1010
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
1111
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
12-
font-size: 14px;
12+
font-size: 0.875rem;
1313
line-height: 1.5;
1414
color: var(--fgColor-default, var(--color-fg-default));
1515
background-color: var(--bgColor-default, var(--color-canvas-default));
@@ -21,12 +21,17 @@ a {
2121
color: var(--fgColor-accent, var(--color-accent-fg));
2222
text-decoration: none;
2323
}
24+
2425
a:hover {
2526
text-decoration: underline;
2627
}
2728

2829
/* -- Images / SVG ------------------------------------------ */
29-
img, svg { display: block; max-width: 100%; }
30+
img,
31+
svg {
32+
display: block;
33+
max-width: 100%;
34+
}
3035

3136
/* -- Header: sticky + z-index above sidebar --------------- */
3237
/* Primer .Header has z-index:32; sidebar is z-index:50; */
@@ -61,17 +66,21 @@ img, svg { display: block; max-width: 100%; }
6166
left: 0;
6267
width: 240px;
6368
height: 100vh;
64-
padding-top: 52px; /* Primer Header height */
69+
padding-top: 52px;
70+
/* Primer Header height */
6571
padding-bottom: 40px;
66-
border-right: 1px solid var(--borderColor-default, var(--color-border-default));
72+
border-right: 1px solid var(--borderColor-default, var(--color-border-default, #d1d9e0));
6773
overflow-y: auto;
6874
overflow-x: hidden;
6975
background-color: var(--bgColor-default, var(--color-canvas-default));
7076
z-index: 50;
7177
}
7278

73-
/* Slim scrollbar — match GitHub sidebar feel */
74-
.sidebar::-webkit-scrollbar { width: 3px; }
79+
/* Slim scrollbar � match GitHub sidebar feel */
80+
.sidebar::-webkit-scrollbar {
81+
width: 3px;
82+
}
83+
7584
.sidebar::-webkit-scrollbar-thumb {
7685
background: var(--borderColor-default, var(--color-border-default));
7786
border-radius: 3px;
@@ -86,10 +95,8 @@ img, svg { display: block; max-width: 100%; }
8695
.nav-section-label {
8796
display: block;
8897
padding: 12px 16px 4px;
89-
font-size: 11px;
98+
font-size: var(--font-size-small, 0.75rem);
9099
font-weight: 600;
91-
letter-spacing: 0.04em;
92-
text-transform: uppercase;
93100
color: var(--fgColor-muted, var(--color-fg-muted));
94101
}
95102

@@ -103,13 +110,12 @@ img, svg { display: block; max-width: 100%; }
103110
background: none;
104111
border: none;
105112
cursor: pointer;
106-
font-size: 11px;
113+
font-size: var(--font-size-small, 0.75rem);
107114
font-weight: 600;
108-
letter-spacing: 0.04em;
109-
text-transform: uppercase;
110115
color: var(--fgColor-muted, var(--color-fg-muted));
111116
line-height: 1.5;
112117
}
118+
113119
.nav-section-toggle:hover {
114120
color: var(--fgColor-default, var(--color-fg-default));
115121
}
@@ -120,6 +126,7 @@ img, svg { display: block; max-width: 100%; }
120126
transition: transform 0.2s ease;
121127
color: var(--fgColor-muted, var(--color-fg-muted));
122128
}
129+
123130
.nav-section.is-open .nav-chevron {
124131
transform: rotate(180deg);
125132
}
@@ -130,29 +137,38 @@ img, svg { display: block; max-width: 100%; }
130137
margin: 0;
131138
padding: 0 0 4px;
132139
}
133-
.nav-section-items[hidden] { display: none; }
134-
.nav-section-items li { margin: 0; }
140+
141+
.nav-section-items[hidden] {
142+
display: none;
143+
}
144+
145+
.nav-section-items li {
146+
margin: 0;
147+
}
135148

136149
/* -- Nav links --------------------------------------------- */
137150
/* .SideNav-item (Primer) + .nav-link (ours) + optional .active */
138151
.SideNav-item.nav-link {
139152
display: block;
140153
padding: 6px 16px;
141-
font-size: 14px;
154+
font-size: 0.875rem;
142155
font-weight: 400;
143156
color: var(--fgColor-default, var(--color-fg-default));
144157
border: none;
145158
border-left: 2px solid transparent;
146159
background: transparent;
147160
text-decoration: none;
148161
line-height: 1.5;
149-
border-top: none; /* override Primer SideNav separator */
162+
border-top: none;
163+
/* override Primer SideNav separator */
150164
}
165+
151166
.SideNav-item.nav-link:hover {
152167
background-color: var(--bgColor-muted, var(--color-canvas-subtle));
153168
color: var(--fgColor-default, var(--color-fg-default));
154169
text-decoration: none;
155170
}
171+
156172
.SideNav-item.nav-link.active {
157173
border-left-color: var(--fgColor-accent, var(--color-accent-fg));
158174
color: var(--fgColor-default, var(--color-fg-default));
@@ -168,78 +184,141 @@ img, svg { display: block; max-width: 100%; }
168184
min-height: calc(100vh - 52px);
169185
}
170186

171-
/* -- Main content markdown-body provides the typography -- */
187+
/* -- Main content markdown-body provides the typography -- */
172188
.main-content {
173189
flex: 1;
174190
padding: 32px 56px 64px;
175191
max-width: 1290px;
176192
}
177193

178-
/* Tables inside markdown already styled by .markdown-body; */
179-
/* just ensure full width inside our container. */
180-
.main-content table { width: 100%; }
194+
/* github-markdown.css sets background-color on .markdown-body;
195+
keep it transparent so the page canvas shows through. */
196+
.markdown-body {
197+
background-color: transparent !important;
198+
}
199+
200+
/* Ensure tables fill available width inside our container. */
201+
.main-content .markdown-body table {
202+
width: max-content;
203+
max-width: 100%;
204+
}
181205

182206
/* -- Get-involved bar -------------------------------------- */
183207
.get-involved {
184208
border-top: 1px solid var(--borderColor-default, var(--color-border-default));
185209
background-color: var(--bgColor-muted, var(--color-canvas-subtle));
186210
padding: 11px 56px;
187-
font-size: 12px;
211+
font-size: var(--font-size-small, 0.75rem);
188212
color: var(--fgColor-muted, var(--color-fg-muted));
189213
}
214+
190215
.get-involved-inner {
191216
display: flex;
192217
gap: 6px;
193218
flex-wrap: wrap;
194219
align-items: center;
195220
}
221+
196222
.get-involved a {
197223
color: var(--fgColor-accent, var(--color-accent-fg));
198224
}
199-
.get-involved a:hover { text-decoration: underline; }
225+
226+
.get-involved a:hover {
227+
text-decoration: underline;
228+
}
200229

201230
/* -- Footer ------------------------------------------------ */
202231
.footer {
203232
border-top: 1px solid var(--borderColor-default, var(--color-border-default));
204233
background-color: var(--bgColor-muted, var(--color-canvas-subtle));
205234
}
235+
206236
.footer .container {
207237
max-width: 100%;
208-
padding: 13px 24px;
238+
padding: 13px 56px;
209239
}
240+
210241
.footer-line {
211242
display: flex;
212243
gap: 10px;
213244
flex-wrap: wrap;
214245
align-items: center;
215-
font-size: 11px;
246+
font-size: 0.6875rem;
247+
color: var(--fgColor-muted, var(--color-fg-muted));
248+
}
249+
250+
.footer-line--spaced {
251+
margin-top: 10px;
252+
}
253+
254+
.footer-line a {
216255
color: var(--fgColor-muted, var(--color-fg-muted));
217256
}
218-
.footer-line--spaced { margin-top: 10px; }
219-
.footer-line a { color: var(--fgColor-muted, var(--color-fg-muted)); }
220257

221258
/* -- Tablet ------------------------------------------------ */
222259
@media (max-width: 1100px) {
223-
.main-content { padding: 28px 36px 56px; max-width: 100%; }
224-
.get-involved { padding: 11px 36px; }
260+
.main-content {
261+
padding: 28px 36px 56px;
262+
max-width: 100%;
263+
}
264+
265+
.get-involved {
266+
padding: 11px 36px;
267+
}
268+
269+
.footer .container {
270+
padding: 13px 36px;
271+
}
225272
}
226273

227274
/* -- Mobile ------------------------------------------------ */
228275
@media (max-width: 700px) {
229-
.Header .nav-toggle { display: block; }
276+
.Header .nav-toggle {
277+
display: block;
278+
}
230279

231280
.sidebar {
232281
left: -240px;
233-
z-index: 200;
234-
transition: left 0.2s ease;
282+
top: 0;
235283
padding-top: 56px;
284+
z-index: 300;
285+
transition: left 0.2s ease;
286+
/* Solid fallback + CSS variable for light/dark */
287+
background-color: #ffffff;
288+
background-color: var(--bgColor-default, var(--color-canvas-default, #ffffff));
236289
}
290+
237291
.sidebar.open {
238292
left: 0;
239-
box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
293+
box-shadow: 4px 0 24px rgba(0, 0, 0, 0.18);
240294
}
241295

242-
.page-offset { margin-left: 0; }
243-
.main-content { padding: 20px 18px 48px; }
244-
.get-involved { padding: 11px 18px; }
245-
}
296+
/* Backdrop overlay when sidebar is open */
297+
.sidebar-backdrop {
298+
display: none;
299+
position: fixed;
300+
inset: 0;
301+
background: var(--c-overlay, rgba(0, 0, 0, 0.35));
302+
z-index: 299;
303+
}
304+
305+
.sidebar-backdrop.open {
306+
display: block;
307+
}
308+
309+
.page-offset {
310+
margin-left: 0;
311+
}
312+
313+
.main-content {
314+
padding: 20px 18px 48px;
315+
}
316+
317+
.get-involved {
318+
padding: 11px 18px;
319+
}
320+
321+
.footer .container {
322+
padding: 13px 18px;
323+
}
324+
}

0 commit comments

Comments
 (0)