Skip to content

Commit ba42034

Browse files
committed
feat: homepage governance copy, CodeTabs real API, enterprise IT use-case page
- Add 'what is a loop' one-liner and problem eyebrow to hero - Add plain-language system context paragraph - Add Apache-2.0 patent grant callout near integrations - CodeTabs Run/Events tabs wired to real createLoopSystem API - Add /use-cases/enterprise-it explainer page - Update use-cases index to include enterprise IT card - Update sitemap
1 parent edea79f commit ba42034

5 files changed

Lines changed: 514 additions & 35 deletions

File tree

app/page.tsx

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,19 @@ async function HomeContent({ architecture }: { architecture: string[] }) {
314314
Open Infrastructure · Apache-2.0
315315
</span>
316316
</p>
317+
<p className="fade-in-up mt-2" style={{ animationDelay: "40ms" }}>
318+
<span
319+
style={{
320+
fontFamily: "var(--font-mono)",
321+
fontSize: "var(--text-xs)",
322+
letterSpacing: "0.1em",
323+
textTransform: "uppercase",
324+
color: "var(--color-ink-tertiary)"
325+
}}
326+
>
327+
Without governance, AI agents improvise — no approval gates, no audit trail, no accountability.
328+
</span>
329+
</p>
317330
<h1
318331
className="fade-in-up mt-3"
319332
style={{
@@ -340,10 +353,23 @@ async function HomeContent({ architecture }: { architecture: string[] }) {
340353
Not improvisation - control.
341354
</p>
342355
<p
343-
className="fade-in-up mt-3"
356+
className="fade-in-up mt-4"
344357
style={{
345358
animationDelay: "200ms",
346359
fontSize: "var(--text-sm)",
360+
color: "var(--color-ink-muted)",
361+
maxWidth: 620,
362+
lineHeight: 1.65
363+
}}
364+
>
365+
A Loop is a named finite state machine — with typed actors, guard policies, and an immutable evidence
366+
trail on every transition.
367+
</p>
368+
<p
369+
className="fade-in-up mt-3"
370+
style={{
371+
animationDelay: "240ms",
372+
fontSize: "var(--text-sm)",
347373
color: "var(--color-ink-secondary)",
348374
fontFamily: "var(--font-mono)",
349375
letterSpacing: "0.02em",
@@ -354,7 +380,7 @@ async function HomeContent({ architecture }: { architecture: string[] }) {
354380

355381
<div
356382
className="fade-in-up mt-9 flex flex-col items-stretch gap-3 min-[480px]:items-center min-[480px]:flex-row min-[480px]:flex-wrap"
357-
style={{ animationDelay: "240ms" }}
383+
style={{ animationDelay: "280ms" }}
358384
>
359385
<Link
360386
href="/docs/getting-started"
@@ -391,7 +417,7 @@ async function HomeContent({ architecture }: { architecture: string[] }) {
391417
</div>
392418
</div>
393419

394-
<div className="fade-in-up mt-14 flex flex-wrap items-center gap-2 md:gap-3" style={{ animationDelay: "400ms" }}>
420+
<div className="fade-in-up mt-14 flex flex-wrap items-center gap-2 md:gap-3" style={{ animationDelay: "440ms" }}>
395421
{architecture.map((node, index) => (
396422
<div key={node} className="flex items-center gap-2">
397423
<span
@@ -440,6 +466,11 @@ async function HomeContent({ architecture }: { architecture: string[] }) {
440466
</p>
441467
<h2 className="mt-3">How Loop Engine fits into real systems</h2>
442468
<p style={{ marginTop: 12, maxWidth: 860, color: "var(--color-ink-tertiary)", lineHeight: 1.7 }}>
469+
Most enterprise AI projects hit the same wall: a capable model, a data source it&apos;s not allowed to touch
470+
directly, and no structure for what happens between a signal and a recorded outcome. Loop Engine is the layer
471+
that sits in that gap.
472+
</p>
473+
<p style={{ marginTop: 10, maxWidth: 860, color: "var(--color-ink-tertiary)", lineHeight: 1.7 }}>
443474
Loop Engine is the execution and control layer inside a larger operational stack. It does
444475
not replace your data warehouse, ERP, or application UI. It sits where decisions become
445476
actions, enforces bounded transitions, and records evidence on every state change.
@@ -828,6 +859,19 @@ async function HomeContent({ architecture }: { architecture: string[] }) {
828859
Adapters plug into the control layer — Loop Engine is not a generic “do anything” automation runner. Pair with
829860
Commerce Gateway when commerce execution needs the same guardrails.
830861
</p>
862+
<p
863+
style={{
864+
marginTop: 14,
865+
maxWidth: 760,
866+
fontFamily: "var(--font-mono)",
867+
fontSize: "var(--text-xs)",
868+
lineHeight: 1.65,
869+
color: "var(--color-ink-muted)"
870+
}}
871+
>
872+
Apache-2.0 with explicit patent grant — the only governed execution layer in this space with a fully
873+
permissive, OSI-approved, patent-safe license. Temporal and Inngest ship under SSPL.
874+
</p>
831875

832876
<div className="mt-8 grid gap-4 lg:grid-cols-3">
833877
{integrations.map((integration) => (

app/sitemap.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,18 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
1919
changeFrequency: "weekly",
2020
priority: 1.0
2121
},
22+
{
23+
url: `${base}/use-cases`,
24+
lastModified: new Date(),
25+
changeFrequency: "monthly",
26+
priority: 0.75
27+
},
28+
{
29+
url: `${base}/use-cases/enterprise-it`,
30+
lastModified: new Date(),
31+
changeFrequency: "monthly",
32+
priority: 0.75
33+
},
2234
{
2335
url: `${base}/docs`,
2436
lastModified: new Date(),

0 commit comments

Comments
 (0)