Skip to content
This repository was archived by the owner on Apr 8, 2026. It is now read-only.

Commit 2cea459

Browse files
flowscript.org: infrastructure positioning + Enterprise/Security/Layer 1
Landing page rewrite aligned with README positioning: - Hero: "decisions they can't explain → queryable" - "The missing layer" → "The typed reasoning layer" - NEW: Enterprise & Compliance section (EU AI Act Arts 12/13/86) - NEW: Security section ("Can't Patch, Must Architect" + CHERI) - NEW: "What FlowScript Actually Is" (condensed Layer 1) - Updated test counts (1,315 total) - Footer: "Decision Intelligence" → "Typed Reasoning Layer" - Learn page subtitle updated Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent a732a17 commit 2cea459

3 files changed

Lines changed: 77 additions & 13 deletions

File tree

web/src/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ function Layout() {
9797
<div className="footer-content">
9898
{!isPlayground && (
9999
<p>
100-
FlowScript &mdash; Decision Intelligence for AI Agents
100+
FlowScript &mdash; The Typed Reasoning Layer for AI Agents
101101
</p>
102102
)}
103103
<p className="footer-links">

web/src/pages/Landing.tsx

Lines changed: 75 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ export function Landing() {
1414
<section className="hero">
1515
<div className="hero-inner">
1616
<h1 className="hero-title">
17-
Your agent forgets why it decided.<br />
18-
<span className="hero-highlight">FlowScript remembers.</span>
17+
Your AI agents make decisions they can't explain.<br />
18+
<span className="hero-highlight">FlowScript makes those decisions queryable.</span>
1919
</h1>
2020
<p className="hero-subtitle">
21-
Structured reasoning memory for AI agents. Five typed queries no vector store can answer.
22-
When memories contradict, we don't delete. We create a queryable <em>tension</em>.
21+
Five typed queries no vector store can answer: <code>why()</code>, <code>tensions()</code>, <code>blocked()</code>, <code>alternatives()</code>, <code>whatIf()</code>.
22+
Hash-chained audit trail. Structural compliance. MIT licensed.
2323
</p>
2424
<div className="hero-actions">
2525
<Link to="/get-started" className="btn btn-primary">Get Started</Link>
@@ -55,13 +55,12 @@ export function Landing() {
5555
{/* The Missing Layer */}
5656
<section className="section section--accent">
5757
<div className="section-inner accent-inner">
58-
<h2 className="section-title">The missing layer</h2>
58+
<h2 className="section-title">The typed reasoning layer</h2>
5959
<p className="section-lead accent-lead">
60-
Agent memory answers <em>what</em>. Authorization answers <em>who</em>.
61-
Nobody answers <em>why</em>.
60+
Every agent framework gives AI agents memory. None make that memory <em>queryable</em>.
6261
</p>
6362
<p className="accent-subtext">
64-
FlowScript is the reasoning layer &mdash; above your memory store, not instead of it.
63+
FlowScript sits above your memory store, not instead of it. It's the layer between what your agent does and why.
6564
</p>
6665
</div>
6766
</section>
@@ -76,7 +75,7 @@ export function Landing() {
7675
<div className="query-grid">
7776
<div className="query-card">
7877
<code className="query-name">tensions()</code>
79-
<p>Find tradeoffs with named axes. "Performance vs cost", "simplicity vs flexibility" . Preserved as queryable structure, not buried in chat logs.</p>
78+
<p>Find tradeoffs with named axes. "Performance vs cost", "simplicity vs flexibility". Preserved as queryable structure, not buried in chat logs.</p>
8079
</div>
8180
<div className="query-card">
8281
<code className="query-name">blocked()</code>
@@ -244,15 +243,80 @@ mem.query.tensions();{"\n"}
244243
</tbody>
245244
</table>
246245
</div>
246+
<p className="query-note" style={{ marginTop: '1rem' }}>
247+
Vector search and reasoning queries are orthogonal. Use both. Mem0 for retrieval, FlowScript for reasoning. They're different architectural layers.
248+
</p>
249+
</div>
250+
</section>
251+
252+
{/* Enterprise & Compliance */}
253+
<section className="section">
254+
<div className="section-inner">
255+
<h2 className="section-title">Enterprise &amp; Compliance</h2>
256+
<p className="section-lead">
257+
FlowScript's typed reasoning chains are compliance-ready audit infrastructure. Not a separate product &mdash; a structural property of how it works.
258+
</p>
259+
<div className="problem-grid">
260+
<div className="problem-card">
261+
<h3>EU AI Act Art. 12</h3>
262+
<p>Record-keeping. Hash-chained audit trail, append-only, tamper-evident, 7-year default retention.</p>
263+
</div>
264+
<div className="problem-card">
265+
<h3>EU AI Act Art. 13</h3>
266+
<p>Transparency. <code>why()</code> queries return typed causal chains &mdash; not reconstructions, actual reasoning records.</p>
267+
</div>
268+
<div className="problem-card">
269+
<h3>EU AI Act Art. 86</h3>
270+
<p>Right to explanation. <code>alternatives()</code> reconstructs what was considered, what was chosen, and the rationale.</p>
271+
</div>
272+
</div>
273+
<p className="query-note" style={{ marginTop: '1.5rem' }}>
274+
Enforcement begins August 2026. Audit trails can't be backdated. Organizations using FlowScript today have unbroken reasoning records from day one. You can turn on logging tomorrow &mdash; you can't manufacture the last 18 months of decision provenance.
275+
</p>
276+
</div>
277+
</section>
278+
279+
{/* Security */}
280+
<section className="section section--alt">
281+
<div className="section-inner">
282+
<h2 className="section-title">Security: Can't Patch, Must Architect</h2>
283+
<p className="section-lead">
284+
Three independent CVE clusters dropped in the same week &mdash; MCPwned, ClawHub, and ClawJacked (CVSS 8.8, 15,200 affected instances). Same structural root cause: unvalidated content flowing through agent invocation paths.
285+
</p>
286+
<p className="section-lead">
287+
FlowScript doesn't prevent every attack class. What it makes structurally impossible is <strong>reasoning corruption</strong> &mdash; untraceable decisions, silent contradictions, unaudited state changes. The type system makes them unrepresentable. Same architectural insight as <a href="https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/" target="_blank" rel="noopener noreferrer" style={{ color: 'var(--color-primary)' }}>CHERI</a>: structural prevention over behavioral detection.
288+
</p>
289+
</div>
290+
</section>
291+
292+
{/* What FlowScript Actually Is — Layer 1 (condensed for web) */}
293+
<section className="section">
294+
<div className="section-inner">
295+
<h2 className="section-title">What FlowScript actually is</h2>
296+
<p className="section-lead">
297+
The five queries and the audit trail are what FlowScript <em>does</em>. Here's what it <em>is</em>.
298+
</p>
299+
<p className="section-lead">
300+
Musical notation didn't record what musicians were already playing. It made polyphony <em>possible</em>. Bach's fugues are literally unthinkable without it &mdash; not "hard to remember" but impossible to compose, because the interaction of independent voices requires a representational system precise enough to reason about counterpoint.
301+
</p>
302+
<p className="section-lead">
303+
FlowScript does the same thing for AI cognition. It doesn't record what agents are already thinking. It makes a new category of reasoning possible &mdash; the kind where you can have multiple reasoning chains interacting, query across causal paths, and turn contradictions into structured tensions. This is impossible in the vector-search paradigm because vector search has no representation for <em>why</em>.
304+
</p>
305+
<p className="section-lead">
306+
FlowScript is infrastructure. Not a tool. Not a framework. Infrastructure &mdash; like SQL gave us queryable data, TCP/IP gave us addressable communication, and Git gave us trackable changes. FlowScript gives AI agents queryable reasoning. Everything else &mdash; compliance, security, memory, observability &mdash; is an application of that infrastructure.
307+
</p>
308+
<p className="section-lead" style={{ fontWeight: 600, color: 'var(--color-text)' }}>
309+
The applications are what you install FlowScript for. The infrastructure is why it matters.
310+
</p>
247311
</div>
248312
</section>
249313

250314
{/* Bottom CTA */}
251315
<section className="section cta-section">
252316
<div className="section-inner" style={{ textAlign: 'center' }}>
253-
<h2 className="section-title">Open source. MIT licensed. 1,312 tests.</h2>
317+
<h2 className="section-title">Open source. MIT licensed. 1,315 tests.</h2>
254318
<p className="section-lead">
255-
731 TypeScript + 581 Python. Same audit trail format across both SDKs.
319+
731 TypeScript + 584 Python. Same audit trail format across both SDKs.
256320
</p>
257321
<div className="hero-actions" style={{ justifyContent: 'center' }}>
258322
<Link to="/get-started" className="btn btn-primary">Get Started</Link>

web/src/pages/Learn.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export function Learn() {
1212
<div className="page learn-page">
1313
<h1 className="learn-hero-title">Understanding FlowScript</h1>
1414
<p className="learn-hero-subtitle">
15-
Decision intelligence for AI agents: what it is, why it matters, and how the reasoning graph works.
15+
The typed reasoning layer for AI agents: what it is, why it matters, and how the reasoning graph works.
1616
</p>
1717

1818
{/* What is Decision Intelligence */}

0 commit comments

Comments
 (0)