diff --git a/astro.config.mjs b/astro.config.mjs
index 58f78d8..982b4cd 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -239,26 +239,20 @@ export default defineConfig({
},
],
sidebar: [
- {
- label: 'About',
- translations: { de: 'Ueber FlowMCP' },
- collapsed: true,
- items: [
- // Memo 142 (REMOVE): FAQ, Use Cases, Schemas & Sources moved to
- // .trash/memo-142-reduction (default-out reduction principle).
- { label: 'About FlowMCP', translations: { de: 'Ueber FlowMCP' }, slug: 'about' },
- ],
- },
+ // Memo 144 K7 (T9): the standalone "About" group is merged INTO "Get Started"
+ // (it was a single-item group; About FlowMCP is the natural first onboarding step).
// Memo 059 PRD-011: Quickstart + Guides merged into "Get Started" (B3/B7).
- // Inline-Listing (Variant A) — flat list, no sub-group. AC-3: exactly 4 items.
+ // Inline-Listing (Variant A) — flat list, no sub-group.
// PRD-013 audit: DE-Mirror via Starlight `translations` keys — both locales
- // render 6 groups with localized labels (Loslegen, Konzepte, etc.).
+ // render with localized labels (Loslegen, Konzepte, etc.).
// Memo 060 PRD-016 (QS3 + LM1): "Quickstart" -> "CLI Setup", For LLMs aufgenommen.
{
label: 'Get Started',
translations: { de: 'Loslegen' },
collapsed: true,
items: [
+ // Memo 144 K7 (T9): About FlowMCP merged in from the removed standalone group.
+ { label: 'About FlowMCP', translations: { de: 'Ueber FlowMCP' }, slug: 'about' },
// Memo 060 PRD-016 (QS3): "Quickstart" -> "CLI Setup" (DE bewusst englisch, analog "Tag Search").
// Memo 142 (REMOVE): Hackathon Kit, Agent Creation, GTFS Pilot -> .trash/memo-142-reduction.
{ label: 'CLI Setup', translations: { de: 'CLI Setup' }, slug: 'quickstart/quickstart' },
diff --git a/public/spec-generated/docs-payload/00-overview.md b/public/spec-generated/docs-payload/00-overview.md
index 9af8ac6..605660f 100644
--- a/public/spec-generated/docs-payload/00-overview.md
+++ b/public/spec-generated/docs-payload/00-overview.md
@@ -6,9 +6,9 @@ spec_file: "00-overview.md"
order: 0
section: "Specification"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/00-overview.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/00-overview.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/00-overview.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/00-overview.md."
@@ -21,7 +21,6 @@ FlowMCP is a **Tool Catalog with pre-built API templates** and a **Knowledge Bas
This document provides the conceptual foundation, positioning, terminology, and document index for the v4.3.0 specification.
----
## Conformance Language
@@ -383,8 +382,8 @@ The migration path from v1.2.0 to v2.0.0 is documented in `08-migration.md`.
## Related
-- [01-schema-format.md](/specification/schema-format/)
-- [06-agents.md](/specification/agents/)
-- [17-selections.md](/specification/selections/)
-- [15-catalog.md](/specification/catalog/)
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [15-catalog.md](/specification/catalog/) — the registry.json manifest that groups schemas, lists, and agents.
diff --git a/public/spec-generated/docs-payload/01-schema-format.md b/public/spec-generated/docs-payload/01-schema-format.md
index 50b1197..b5439a5 100644
--- a/public/spec-generated/docs-payload/01-schema-format.md
+++ b/public/spec-generated/docs-payload/01-schema-format.md
@@ -6,9 +6,9 @@ spec_file: "01-schema-format.md"
order: 1
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/01-schema-format.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/01-schema-format.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/01-schema-format.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/01-schema-format.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/01-schema-format
A FlowMCP schema is a single `.mjs` module that describes how to reach an API and turn its endpoints into tools. It splits into two named exports: a static, JSON-serializable `main` block that holds all declarative configuration, and an optional `handlers` factory that transforms requests and responses. The sections below walk through both exports, the tool and field definitions inside `main`, the naming conventions, and the constraints the runtime enforces at load time.
----
## Schema File Structure
@@ -680,11 +679,11 @@ export const handlers = ( { sharedLists } ) => ({
## Related
-- [00-overview.md](/specification/overview/)
-- [02-parameters.md](/specification/parameters/)
-- [04-output-schema.md](/specification/output-schema/)
-- [13-resources.md](/specification/resources/)
-- [14-skills.md](/specification/skills/)
-- [16-id-schema.md](/specification/id-schema/)
-- [19-mcp-integration.md](/specification/mcp-integration/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [19-mcp-integration.md](/specification/mcp-integration/) — the per-tool meta block and its mapping to MCP annotations.
diff --git a/public/spec-generated/docs-payload/02-parameters.md b/public/spec-generated/docs-payload/02-parameters.md
index b3051c9..50d50d6 100644
--- a/public/spec-generated/docs-payload/02-parameters.md
+++ b/public/spec-generated/docs-payload/02-parameters.md
@@ -6,9 +6,9 @@ spec_file: "02-parameters.md"
order: 2
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/02-parameters.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/02-parameters.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/02-parameters.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/02-parameters.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/02-parameters.md
A parameter declares where a value is placed in the outgoing API request and how it is validated before the call is made. Each tool parameter pairs a `position` block (placement) with a `z` block (validation); resource parameters reuse the same pairing without a `location` field, and skill input uses a simpler shape.
----
## Parameter Structure
@@ -640,9 +639,9 @@ See `14-skills.md` for the complete skill specification.
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [03-shared-lists.md](/specification/shared-lists/)
-- [04-output-schema.md](/specification/output-schema/)
-- [18-prefill.md](/specification/prefill/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [03-shared-lists.md](/specification/shared-lists/) — versioned value sets that schemas reference instead of duplicating.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [18-prefill.md](/specification/prefill/) — placeholder substitution and pre-executed tool calls in skill content.
diff --git a/public/spec-generated/docs-payload/03-shared-lists.md b/public/spec-generated/docs-payload/03-shared-lists.md
index e14de21..5ed4f12 100644
--- a/public/spec-generated/docs-payload/03-shared-lists.md
+++ b/public/spec-generated/docs-payload/03-shared-lists.md
@@ -6,9 +6,9 @@ spec_file: "03-shared-lists.md"
order: 3
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/03-shared-lists.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/03-shared-lists.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/03-shared-lists.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/03-shared-lists.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/03-shared-lists.
Shared lists eliminate duplication of common value sets across schemas. Instead of every Etherscan schema maintaining its own chain list, they reference a single `evmChains` shared list that is versioned, validated, and centrally maintained. The sections below cover the list file format, the meta and field definitions, the dependency model between lists, how schemas reference and filter lists, how the runtime injects resolved data into handlers, and the validation rules that keep the registry consistent.
----
## Purpose
@@ -555,10 +554,10 @@ Each `.mjs` file contains exactly one shared list. Combining multiple lists in a
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [02-parameters.md](/specification/parameters/)
-- [15-catalog.md](/specification/catalog/)
-- [16-id-schema.md](/specification/id-schema/)
-- [09-validation-rules.md](/specification/validation-rules/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [15-catalog.md](/specification/catalog/) — the registry.json manifest that groups schemas, lists, and agents.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
diff --git a/public/spec-generated/docs-payload/04-output-schema.md b/public/spec-generated/docs-payload/04-output-schema.md
index afafa5e..9b17955 100644
--- a/public/spec-generated/docs-payload/04-output-schema.md
+++ b/public/spec-generated/docs-payload/04-output-schema.md
@@ -6,9 +6,9 @@ spec_file: "04-output-schema.md"
order: 4
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/04-output-schema.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/04-output-schema.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/04-output-schema.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/04-output-schema.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/04-output-schema
Output schemas make tool responses predictable. By declaring the expected shape of a response at the route level, an AI client knows in advance what fields it will receive and can reason about them without parsing guesswork. The sections below cover the output declaration format, the supported types and MIME-types, the standard response envelope, how output interacts with `postRequest` handlers, and the validation rules applied to every declaration.
----
## Purpose
@@ -517,10 +516,10 @@ The diagram shows the non-blocking validation flow: mismatches produce warnings
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [02-parameters.md](/specification/parameters/)
-- [10-tests.md](/specification/tests/)
-- [22-scoring-protocol.md](/specification/scoring-protocol/)
-- [19-mcp-integration.md](/specification/mcp-integration/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
+- [22-scoring-protocol.md](/specification/scoring-protocol/) — the JSON formats exchanged between the CLI and an external grader.
+- [19-mcp-integration.md](/specification/mcp-integration/) — the per-tool meta block and its mapping to MCP annotations.
diff --git a/public/spec-generated/docs-payload/05-security.md b/public/spec-generated/docs-payload/05-security.md
index d2d958a..ca6469a 100644
--- a/public/spec-generated/docs-payload/05-security.md
+++ b/public/spec-generated/docs-payload/05-security.md
@@ -6,9 +6,9 @@ spec_file: "05-security.md"
order: 5
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/05-security.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/05-security.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/05-security.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/05-security.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/05-security.md."
FlowMCP enforces a layered security model that prevents schema files from accessing the network, filesystem, or process environment. All potentially dangerous operations are restricted to the trusted core runtime. Dependencies are injected through a factory function pattern, and external libraries are gated by an allowlist.
----
## Trust Boundary
@@ -352,9 +351,9 @@ All violations in a single file are reported together (the scan does not stop at
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [09-validation-rules.md](/specification/validation-rules/)
-- [13-resources.md](/specification/resources/)
-- [23-license-and-tos.md](/specification/license-and-tos/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [23-license-and-tos.md](/specification/license-and-tos/) — the three-layer model linking code, provider ToS, and data licenses.
diff --git a/public/spec-generated/docs-payload/06-agents.md b/public/spec-generated/docs-payload/06-agents.md
index f64f59f..170eee4 100644
--- a/public/spec-generated/docs-payload/06-agents.md
+++ b/public/spec-generated/docs-payload/06-agents.md
@@ -6,9 +6,9 @@ spec_file: "06-agents.md"
order: 6
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/06-agents.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/06-agents.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/06-agents.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/06-agents.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/06-agents.md."
An Agent is a complete, purpose-driven definition that bundles tools from multiple providers for a specific task. Unlike a plain tool list, an Agent is a full composition: it cherry-picks tools across providers, binds them to a specific LLM, defines a system prompt and behavioral guidelines, and ships with its own tests, explanatory prompts, instructional skills, and optional resources. The sections below cover the agent manifest format, how tool references are resolved, model binding, the system prompt, integrity verification through hashes, and the validation rules applied at activation.
----
## Purpose
@@ -1069,11 +1068,11 @@ export const agent = {
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [12-prompt-architecture.md](/specification/prompt-architecture/)
-- [14-skills.md](/specification/skills/)
-- [17-selections.md](/specification/selections/)
-- [16-id-schema.md](/specification/id-schema/)
-- [10-tests.md](/specification/tests/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [12-prompt-architecture.md](/specification/prompt-architecture/) — the two-tier prompt system for provider and agent workflows.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
diff --git a/public/spec-generated/docs-payload/07-tasks.md b/public/spec-generated/docs-payload/07-tasks.md
index 037a9b3..55ca259 100644
--- a/public/spec-generated/docs-payload/07-tasks.md
+++ b/public/spec-generated/docs-payload/07-tasks.md
@@ -6,9 +6,9 @@ spec_file: "07-tasks.md"
order: 7
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/07-tasks.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/07-tasks.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/07-tasks.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/07-tasks.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/07-tasks.md."
MCP Tasks describe long-running asynchronous operations — a query that takes thirty seconds to finish, a job that is submitted now and collected later. The underlying MCP protocol gives such operations a lifecycle of creation, polling, completion, and cancellation. FlowMCP does not yet model this lifecycle: task support is a reserved, forward-looking area of the specification, and this page documents what is held back and why.
----
## Why It Is Held Back
@@ -41,8 +40,8 @@ Schema authors MAY include an `async` field in tool definitions for forward comp
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [04-output-schema.md](/specification/output-schema/)
-- [10-tests.md](/specification/tests/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
diff --git a/public/spec-generated/docs-payload/08-migration.md b/public/spec-generated/docs-payload/08-migration.md
index 09ea9a8..40efe66 100644
--- a/public/spec-generated/docs-payload/08-migration.md
+++ b/public/spec-generated/docs-payload/08-migration.md
@@ -6,9 +6,9 @@ spec_file: "08-migration.md"
order: 8
section: "Specification"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/08-migration.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/08-migration.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/08-migration.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/08-migration.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/08-migration.md.
This guide covers migrating schemas between FlowMCP versions in chronological order. Section 1 covers v1.2.0 to v2.0.0 migration, Section 2 covers v2.0.0 to v3.0.0, and Section 3 covers v3.0.0 to v4.0.0.
----
## Section 1: v1.2.0 to v2.0.0
@@ -606,10 +605,10 @@ export const schema = {
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [06-agents.md](/specification/agents/)
-- [13-resources.md](/specification/resources/)
-- [14-skills.md](/specification/skills/)
-- [21-schema-lifecycle.md](/specification/schema-lifecycle/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [21-schema-lifecycle.md](/specification/schema-lifecycle/) — the six stages a schema travels from idea to production.
diff --git a/public/spec-generated/docs-payload/09-validation-rules.md b/public/spec-generated/docs-payload/09-validation-rules.md
index 5c537e6..eeb1c97 100644
--- a/public/spec-generated/docs-payload/09-validation-rules.md
+++ b/public/spec-generated/docs-payload/09-validation-rules.md
@@ -6,9 +6,9 @@ spec_file: "09-validation-rules.md"
order: 9
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/09-validation-rules.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/09-validation-rules.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/09-validation-rules.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/09-validation-rules.md."
@@ -18,7 +18,6 @@ Every validation rule that `flowmcp schema-check` enforces carries a code, a sev
A rule is defined in exactly one place. The page below it in the table is the authoritative home for that code prefix; nothing on this page duplicates those tables. What remains here is the cross-cutting material that belongs to the validation system as a whole — the meaning of each severity level and the shape of the CLI output.
----
## Rule Families
@@ -92,14 +91,14 @@ flowmcp schema-check --security etherscan/contracts.mjs
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [05-security.md](/specification/security/)
-- [02-parameters.md](/specification/parameters/)
-- [06-agents.md](/specification/agents/)
-- [13-resources.md](/specification/resources/)
-- [14-skills.md](/specification/skills/)
-- [16-id-schema.md](/specification/id-schema/)
-- [17-selections.md](/specification/selections/)
-- [20-validation-strategy.md](/specification/validation-strategy/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [05-security.md](/specification/security/) — the trust boundary that keeps schema handlers off the network and filesystem.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [20-validation-strategy.md](/specification/validation-strategy/) — the deterministic and probabilistic layers behind the A-F grade.
diff --git a/public/spec-generated/docs-payload/10-tests.md b/public/spec-generated/docs-payload/10-tests.md
index 548b451..13ddac5 100644
--- a/public/spec-generated/docs-payload/10-tests.md
+++ b/public/spec-generated/docs-payload/10-tests.md
@@ -6,9 +6,9 @@ spec_file: "10-tests.md"
order: 10
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/10-tests.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/10-tests.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/10-tests.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/10-tests.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/10-tests.md."
Tests are executable examples embedded in tool and resource query definitions. For agents, tests are prompts paired with expected tool usage and content assertions. They serve three purposes: they document what a tool or resource query can do, they provide the input data needed to capture real responses, and those captured responses become the basis for generating accurate output schemas. The sections below cover the test format for tools, resources, and agents, the design principles that keep tests useful, and the response-capture lifecycle that turns a test into an output schema.
----
## Purpose
@@ -686,11 +685,11 @@ See `14-skills.md` (One-Shot Design Principle) for authoring guidelines.
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [02-parameters.md](/specification/parameters/)
-- [04-output-schema.md](/specification/output-schema/)
-- [06-agents.md](/specification/agents/)
-- [22-scoring-protocol.md](/specification/scoring-protocol/)
-- [13-resources.md](/specification/resources/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [22-scoring-protocol.md](/specification/scoring-protocol/) — the JSON formats exchanged between the CLI and an external grader.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
diff --git a/public/spec-generated/docs-payload/11-preload.md b/public/spec-generated/docs-payload/11-preload.md
index 0bfa9bb..53530be 100644
--- a/public/spec-generated/docs-payload/11-preload.md
+++ b/public/spec-generated/docs-payload/11-preload.md
@@ -6,9 +6,9 @@ spec_file: "11-preload.md"
order: 11
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/11-preload.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/11-preload.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/11-preload.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/11-preload.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/11-preload.md."
Some tools return data that barely moves — a full list of hospitals in a country, every memorial stone in a city, a reference table that is refreshed once a week. Re-fetching such a dataset on every call costs bandwidth and time for no benefit. The optional `preload` field lets a schema author declare that a tool's response is safe to cache and for how long, so a runtime can serve a stored copy instead of hitting the network each time. Caching always stays optional on the runtime's side: `preload` expresses intent, and the runtime decides whether to honour it. The sections below specify the field, its validation rules, the cache key derivation, the runtime cache flow, and the author guidelines for choosing a sensible time-to-live.
----
## The `preload` Field
@@ -211,8 +210,8 @@ The output schema (see [04-output-schema.md](/specification/output-schema/)) des
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [13-resources.md](/specification/resources/)
-- [10-tests.md](/specification/tests/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
diff --git a/public/spec-generated/docs-payload/12-prompt-architecture.md b/public/spec-generated/docs-payload/12-prompt-architecture.md
index 5398ac2..3b0b2b7 100644
--- a/public/spec-generated/docs-payload/12-prompt-architecture.md
+++ b/public/spec-generated/docs-payload/12-prompt-architecture.md
@@ -6,9 +6,9 @@ spec_file: "12-prompt-architecture.md"
order: 12
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/12-prompt-architecture.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/12-prompt-architecture.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/12-prompt-architecture.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/12-prompt-architecture.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/12-prompt-archit
FlowMCP uses a two-tier prompt system to bridge deterministic tools with non-deterministic AI orchestration. **Provider-Prompts** explain how to use a single provider's tools effectively. **Agent-Prompts** compose tools from multiple providers into tested workflows. Both types use the `{{type:name}}` placeholder syntax for references and parameters. Provider-Prompts are defined in `main.prompts` with content loaded from external `.mjs` files via `contentFile`. Agent-Prompts are standalone `.mjs` files with `export const prompt = { ... }` containing inline content.
----
## Purpose
@@ -917,10 +916,10 @@ agents/
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [14-skills.md](/specification/skills/)
-- [06-agents.md](/specification/agents/)
-- [18-prefill.md](/specification/prefill/)
-- [16-id-schema.md](/specification/id-schema/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [18-prefill.md](/specification/prefill/) — placeholder substitution and pre-executed tool calls in skill content.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
diff --git a/public/spec-generated/docs-payload/13-resources.md b/public/spec-generated/docs-payload/13-resources.md
index 9ad1235..ff6d1cc 100644
--- a/public/spec-generated/docs-payload/13-resources.md
+++ b/public/spec-generated/docs-payload/13-resources.md
@@ -6,9 +6,9 @@ spec_file: "13-resources.md"
order: 13
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/13-resources.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/13-resources.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/13-resources.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/13-resources.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/13-resources.md.
Resources give a schema local, deterministic data access alongside its network tools. They map to the MCP `server.resource` primitive and live in `main.resources` next to `main.tools`. A resource is backed by a SQLite database (read-only in-memory or writable file-based), a remote SQLite file fetched over HTTPS, or a Markdown document — and the runtime exposes each through a small set of typed queries, with the auto-injected `runSql` and `describeTables` rounding out the query surface. Where a tool reaches out to a third-party API, a resource serves data that should always be available: reference tables, lookups, agent-collected results, and inline documentation.
----
## Why Resources Exist
@@ -1475,12 +1474,12 @@ The SQLite database `duneanalytics-templates.db` is not in the schema directory
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [02-parameters.md](/specification/parameters/)
-- [04-output-schema.md](/specification/output-schema/)
-- [11-preload.md](/specification/preload/)
-- [05-security.md](/specification/security/)
-- [19-mcp-integration.md](/specification/mcp-integration/)
-- [14-skills.md](/specification/skills/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [11-preload.md](/specification/preload/) — how a tool declares that its response is safe to cache.
+- [05-security.md](/specification/security/) — the trust boundary that keeps schema handlers off the network and filesystem.
+- [19-mcp-integration.md](/specification/mcp-integration/) — the per-tool meta block and its mapping to MCP annotations.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
diff --git a/public/spec-generated/docs-payload/14-skills.md b/public/spec-generated/docs-payload/14-skills.md
index d93145a..c2add18 100644
--- a/public/spec-generated/docs-payload/14-skills.md
+++ b/public/spec-generated/docs-payload/14-skills.md
@@ -6,9 +6,9 @@ spec_file: "14-skills.md"
order: 14
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/14-skills.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/14-skills.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/14-skills.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/14-skills.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/14-skills.md."
Skills are reusable, self-contained instruction sets that an AI agent can load and follow. They map to the MCP `server.prompt` primitive and live in `.mjs` files, each with a structured `export const skill` object that pairs Markdown instructions with typed metadata. A skill declares the tools and resources it needs, the input it expects, and the output it produces, and its instructions reference those primitives through `{{tool:...}}`, `{{resource:...}}`, and `{{input:...}}` placeholders resolved at load time.
----
## Where Skills Fit
@@ -937,11 +936,11 @@ etherscan/
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [12-prompt-architecture.md](/specification/prompt-architecture/)
-- [18-prefill.md](/specification/prefill/)
-- [16-id-schema.md](/specification/id-schema/)
-- [06-agents.md](/specification/agents/)
-- [17-selections.md](/specification/selections/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [12-prompt-architecture.md](/specification/prompt-architecture/) — the two-tier prompt system for provider and agent workflows.
+- [18-prefill.md](/specification/prefill/) — placeholder substitution and pre-executed tool calls in skill content.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
diff --git a/public/spec-generated/docs-payload/15-catalog.md b/public/spec-generated/docs-payload/15-catalog.md
index d2f24f9..fda721f 100644
--- a/public/spec-generated/docs-payload/15-catalog.md
+++ b/public/spec-generated/docs-payload/15-catalog.md
@@ -6,9 +6,9 @@ spec_file: "15-catalog.md"
order: 15
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/15-catalog.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/15-catalog.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/15-catalog.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/15-catalog.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/15-catalog.md."
A Catalog is the top-level organizational unit in FlowMCP v3. It is a named directory containing a `registry.json` manifest that describes all shared lists, provider schemas, and agent definitions within that directory. Multiple catalogs can coexist side by side, enabling community, company-internal, and experimental tool collections to operate independently.
----
## Purpose
@@ -403,10 +402,10 @@ The command runs all CAT rules and reports errors and warnings. A catalog with a
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [03-shared-lists.md](/specification/shared-lists/)
-- [06-agents.md](/specification/agents/)
-- [16-id-schema.md](/specification/id-schema/)
-- [21-schema-lifecycle.md](/specification/schema-lifecycle/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [03-shared-lists.md](/specification/shared-lists/) — versioned value sets that schemas reference instead of duplicating.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [21-schema-lifecycle.md](/specification/schema-lifecycle/) — the six stages a schema travels from idea to production.
diff --git a/public/spec-generated/docs-payload/16-id-schema.md b/public/spec-generated/docs-payload/16-id-schema.md
index bb5228b..fe0baf2 100644
--- a/public/spec-generated/docs-payload/16-id-schema.md
+++ b/public/spec-generated/docs-payload/16-id-schema.md
@@ -6,9 +6,9 @@ spec_file: "16-id-schema.md"
order: 16
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/16-id-schema.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/16-id-schema.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/16-id-schema.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/16-id-schema.md."
@@ -27,7 +27,6 @@ flowchart LR
The diagram shows the three components of a full ID separated by `/` delimiters, forming a single unambiguous reference string.
----
## Format
@@ -430,11 +429,11 @@ The ID schema provides a single, consistent format that replaces these context-s
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [18-prefill.md](/specification/prefill/)
-- [12-prompt-architecture.md](/specification/prompt-architecture/)
-- [14-skills.md](/specification/skills/)
-- [17-selections.md](/specification/selections/)
-- [15-catalog.md](/specification/catalog/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [18-prefill.md](/specification/prefill/) — placeholder substitution and pre-executed tool calls in skill content.
+- [12-prompt-architecture.md](/specification/prompt-architecture/) — the two-tier prompt system for provider and agent workflows.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [15-catalog.md](/specification/catalog/) — the registry.json manifest that groups schemas, lists, and agents.
diff --git a/public/spec-generated/docs-payload/17-selections.md b/public/spec-generated/docs-payload/17-selections.md
index cb81308..f389a41 100644
--- a/public/spec-generated/docs-payload/17-selections.md
+++ b/public/spec-generated/docs-payload/17-selections.md
@@ -1,28 +1,20 @@
---
title: "Selections"
-description: "**Primitive:** Selection (5th primitive)"
+description: "A **Selection** is a named, thematically-coherent collection of Primitives (Tools, Resources, Prompts, Skills) that an agent can activate together in a single operation."
spec_version: "4.3.0"
spec_file: "17-selections.md"
order: 17
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/17-selections.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/17-selections.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/17-selections.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/17-selections.md."
---
-**Primitive:** Selection (5th primitive)
-
----
-
-## Overview
-
-A **Selection** is a named collection of Primitives (Tools, Resources, Prompts, Skills) that belong together thematically. Selections enable agents to activate a coherent set of capabilities with a single operation.
-
----
+A **Selection** is a named, thematically-coherent collection of Primitives (Tools, Resources, Prompts, Skills) that an agent can activate together in a single operation.
## Export Format
@@ -138,11 +130,11 @@ If a Selection includes inline-skill objects, the SelectionValidator additionall
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [16-id-schema.md](/specification/id-schema/)
-- [06-agents.md](/specification/agents/)
-- [18-prefill.md](/specification/prefill/)
-- [14-skills.md](/specification/skills/)
-- [12-prompt-architecture.md](/specification/prompt-architecture/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [18-prefill.md](/specification/prefill/) — placeholder substitution and pre-executed tool calls in skill content.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [12-prompt-architecture.md](/specification/prompt-architecture/) — the two-tier prompt system for provider and agent workflows.
diff --git a/public/spec-generated/docs-payload/18-prefill.md b/public/spec-generated/docs-payload/18-prefill.md
index ecabac1..d6847e8 100644
--- a/public/spec-generated/docs-payload/18-prefill.md
+++ b/public/spec-generated/docs-payload/18-prefill.md
@@ -6,9 +6,9 @@ spec_file: "18-prefill.md"
order: 18
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/18-prefill.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/18-prefill.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/18-prefill.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/18-prefill.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/18-prefill.md."
Skill content carries two complementary template mechanisms that the runtime processes before handing the Skill to an agent. *Placeholders* are tokens embedded directly in the content — `{{type:reference}}` — that are substituted with tool descriptions, resource references, user input, or shared-list values at resolution time. *Prefill* goes one step further: a Skill can declare tool calls in a `prefill` array that the runtime executes up front, then embeds the live results into the content via `{{prefill:...}}` tokens, so the agent receives a Skill already populated with current data.
----
## Placeholder Syntax
@@ -86,10 +85,10 @@ This ensures the Skill is always delivered — even if some references are broke
## Related
-- [00-overview.md](/specification/overview/)
-- [16-id-schema.md](/specification/id-schema/)
-- [14-skills.md](/specification/skills/)
-- [12-prompt-architecture.md](/specification/prompt-architecture/)
-- [17-selections.md](/specification/selections/)
-- [02-parameters.md](/specification/parameters/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [12-prompt-architecture.md](/specification/prompt-architecture/) — the two-tier prompt system for provider and agent workflows.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
diff --git a/public/spec-generated/docs-payload/19-mcp-integration.md b/public/spec-generated/docs-payload/19-mcp-integration.md
index 418aee0..1225af3 100644
--- a/public/spec-generated/docs-payload/19-mcp-integration.md
+++ b/public/spec-generated/docs-payload/19-mcp-integration.md
@@ -6,9 +6,9 @@ spec_file: "19-mcp-integration.md"
order: 19
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/19-mcp-integration.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/19-mcp-integration.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/19-mcp-integration.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/19-mcp-integration.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/19-mcp-integrati
When FlowMCP runs as an MCP Server, each Tool is exposed to the agent with MCP-specific metadata that an MCP host can read before it decides whether and how to invoke the Tool. That metadata is declared once, per Tool, in a `meta` block, and the CLI/Core translates the relevant fields into MCP annotations at registration time. This page describes the `meta` block, how its fields map to MCP, and the behaviour of the search-related and loading-related fields.
----
## Meta Block (Required per Tool)
@@ -93,10 +92,10 @@ The structural rules for the `meta` block are defined alongside the other schema
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [09-validation-rules.md](/specification/validation-rules/)
-- [13-resources.md](/specification/resources/)
-- [14-skills.md](/specification/skills/)
-- [04-output-schema.md](/specification/output-schema/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
diff --git a/public/spec-generated/docs-payload/20-validation-strategy.md b/public/spec-generated/docs-payload/20-validation-strategy.md
index 3150991..4dfad43 100644
--- a/public/spec-generated/docs-payload/20-validation-strategy.md
+++ b/public/spec-generated/docs-payload/20-validation-strategy.md
@@ -6,9 +6,9 @@ spec_file: "20-validation-strategy.md"
order: 20
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/20-validation-strategy.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/20-validation-strategy.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/20-validation-strategy.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/20-validation-strategy.md."
@@ -18,7 +18,6 @@ Validation in FlowMCP works in two layers. A **deterministic** layer checks stru
A separate **Grading-Spec** in the `flowmcp-grading` repository covers Single-Schema and Selection grading in more depth. The strategy described here remains the deterministic baseline; the Grading System defined by the Grading-Spec extends, and in places replaces, the simple A–F Grade System below. The Schemas-Spec remains the highest instance.
----
## Grade System
@@ -122,9 +121,9 @@ A Language Model calling tools from `etherscan-io/contracts` receives the tool l
## Related
-- [00-overview.md](/specification/overview/)
-- [09-validation-rules.md](/specification/validation-rules/)
-- [22-scoring-protocol.md](/specification/scoring-protocol/)
-- [21-schema-lifecycle.md](/specification/schema-lifecycle/)
-- [10-tests.md](/specification/tests/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
+- [22-scoring-protocol.md](/specification/scoring-protocol/) — the JSON formats exchanged between the CLI and an external grader.
+- [21-schema-lifecycle.md](/specification/schema-lifecycle/) — the six stages a schema travels from idea to production.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
diff --git a/public/spec-generated/docs-payload/21-schema-lifecycle.md b/public/spec-generated/docs-payload/21-schema-lifecycle.md
index f7ad799..ad3a2cf 100644
--- a/public/spec-generated/docs-payload/21-schema-lifecycle.md
+++ b/public/spec-generated/docs-payload/21-schema-lifecycle.md
@@ -6,9 +6,9 @@ spec_file: "21-schema-lifecycle.md"
order: 21
section: "Specification"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/21-schema-lifecycle.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/21-schema-lifecycle.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/21-schema-lifecycle.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/21-schema-lifecycle.md."
@@ -18,7 +18,6 @@ Every FlowMCP schema travels a defined path from an initial idea to a production
A namespace candidate enters the picture even before the first stage. Before `stage:research`, a candidate lives as a **Prospect** on the Kanban board — identified as interesting but not yet confirmed as reachable or feasible. A Prospect sits upstream of the six stages and is not tracked within them; the act of verifying reachability and feasibility is what promotes it into `stage:research`.
----
## Lifecycle Stages
@@ -140,10 +139,10 @@ A primitive passes when at least one of its test cases returns a 2xx response wi
## Related
-- [00-overview.md](/specification/overview/)
-- [20-validation-strategy.md](/specification/validation-strategy/)
-- [22-scoring-protocol.md](/specification/scoring-protocol/)
-- [10-tests.md](/specification/tests/)
-- [09-validation-rules.md](/specification/validation-rules/)
-- [15-catalog.md](/specification/catalog/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [20-validation-strategy.md](/specification/validation-strategy/) — the deterministic and probabilistic layers behind the A-F grade.
+- [22-scoring-protocol.md](/specification/scoring-protocol/) — the JSON formats exchanged between the CLI and an external grader.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
+- [15-catalog.md](/specification/catalog/) — the registry.json manifest that groups schemas, lists, and agents.
diff --git a/public/spec-generated/docs-payload/22-scoring-protocol.md b/public/spec-generated/docs-payload/22-scoring-protocol.md
index 394cb4d..b93085d 100644
--- a/public/spec-generated/docs-payload/22-scoring-protocol.md
+++ b/public/spec-generated/docs-payload/22-scoring-protocol.md
@@ -6,9 +6,9 @@ spec_file: "22-scoring-protocol.md"
order: 22
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/22-scoring-protocol.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/22-scoring-protocol.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/22-scoring-protocol.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/22-scoring-protocol.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/22-scoring-proto
Specification for grading FlowMCP v4 schemas via LLM evaluation. Documents the data formats exchanged between the CLI and an external Grader (e.g. Claude Code harness, third-party implementation).
----
## Purpose
@@ -227,10 +226,10 @@ A Grader MUST NOT:
## Related
-- [00-overview.md](/specification/overview/)
-- [20-validation-strategy.md](/specification/validation-strategy/)
-- [21-schema-lifecycle.md](/specification/schema-lifecycle/)
-- [10-tests.md](/specification/tests/)
-- [04-output-schema.md](/specification/output-schema/)
-- [09-validation-rules.md](/specification/validation-rules/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [20-validation-strategy.md](/specification/validation-strategy/) — the deterministic and probabilistic layers behind the A-F grade.
+- [21-schema-lifecycle.md](/specification/schema-lifecycle/) — the six stages a schema travels from idea to production.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
diff --git a/public/spec-generated/docs-payload/23-license-and-tos.md b/public/spec-generated/docs-payload/23-license-and-tos.md
index 01ba5c8..cf57176 100644
--- a/public/spec-generated/docs-payload/23-license-and-tos.md
+++ b/public/spec-generated/docs-payload/23-license-and-tos.md
@@ -6,9 +6,9 @@ spec_file: "23-license-and-tos.md"
order: 23
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/23-license-and-tos.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/23-license-and-tos.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/23-license-and-tos.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/23-license-and-tos.md."
@@ -110,9 +110,9 @@ ToS change. FlowMCP recommends:
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [19-mcp-integration.md](/specification/mcp-integration/)
-- [05-security.md](/specification/security/)
-- [21-schema-lifecycle.md](/specification/schema-lifecycle/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [19-mcp-integration.md](/specification/mcp-integration/) — the per-tool meta block and its mapping to MCP annotations.
+- [05-security.md](/specification/security/) — the trust boundary that keeps schema handlers off the network and filesystem.
+- [21-schema-lifecycle.md](/specification/schema-lifecycle/) — the six stages a schema travels from idea to production.
diff --git a/public/spec-generated/docs-payload/24-philosophy.md b/public/spec-generated/docs-payload/24-philosophy.md
new file mode 100644
index 0000000..ffc80ef
--- /dev/null
+++ b/public/spec-generated/docs-payload/24-philosophy.md
@@ -0,0 +1,79 @@
+---
+title: "Philosophy"
+description: "FlowMCP rests on a small set of convictions about how an autonomous agent and an unfamiliar API should meet: that a schema is a contract rather than a cage, that a tool is graded before it is..."
+spec_version: "4.3.0"
+spec_file: "24-philosophy.md"
+order: 24
+section: "Specification"
+normative: false
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/24-philosophy.md"
+generated_at: "2026-06-21T18:24:22.826Z"
+generated_from: "spec/v4.3.0/24-philosophy.md"
+generator: "scripts/generate-docs-payload.mjs"
+edit_warning: "This file is auto-generated. Source: spec/v4.3.0/24-philosophy.md."
+---
+
+> **Informative.** This chapter describes the worldview behind FlowMCP — why a schema exists, what a graded tool is worth, and how an agent is meant to find and call it. It is written in prose; the normative rules that operationalize these convictions live in the chapters it points to.
+
+FlowMCP rests on a small set of convictions about how an autonomous agent and an unfamiliar API should meet: that a schema is a contract rather than a cage, that a tool is graded before it is trusted, that nothing fails silently, and that everything in the configured folders is discoverable without a hidden ceremony. None of these convictions is decorative. Each one was paid for by a concrete failure that the project has lived through, and each later chapter turns the conviction into a rule. This chapter records the worldview so that it stays explicit as the specification grows.
+
+## The Guardrail (Highway) Analogy
+
+A schema is a guardrail, not a cage. FlowMCP does not try to drive the agent's car for it; it lines the highway so that the car can move fast on a road it has never seen. The whole point of the project is to let an agent drive an unfamiliar API at speed — without reading the provider's documentation, without guessing the authentication flow, without learning the parameter names by trial and error — and still not go off the cliff.
+
+A guardrail is a constraint that is cheap to set up and expensive to omit. The schema names the parameters, fixes their types, encodes the route, and labels the credentials a call needs. Inside that frame the agent is free; outside it, it drifts into invented endpoints, malformed requests, and silent wrong answers. The schema is never there to slow the agent down. It is there so that going fast is the same thing as staying on the road.
+
+## Schema as Contract — the Wall Socket
+
+Push the analogy one step further and the schema becomes a standardized socket. The agent plugs in without knowing the wiring behind the wall. It does not need to know whether the data comes from REST or GraphQL, whether the provider paginates by cursor or by offset, whether the timestamps are Unix seconds or ISO strings — the socket presents one shape, and the agent calls it the same way it calls every other tool in the catalog.
+
+This is why interoperability is the foreground concern, not an afterthought. A socket is only worth standardizing if a great many things can plug into it. FlowMCP's value grows with the number of other tools, agents, and MCP clients it can connect — through the CLI and through the MCP/A2A server alike (see [19-mcp-integration.md](/specification/mcp-integration/)). A schema that only one caller can use is a custom wire; a schema that any conformant agent can call is a socket. The specification optimizes for the socket.
+
+## Grade Before Trust
+
+A schema that parses is not yet a tool worth trusting. Before a tool earns a place in the trusted catalog it is graded — first by a deterministic data pretest, then by non-deterministic scoring. The deterministic pretest is blunt and unforgiving on purpose: it actually calls the live endpoint and checks two things together, that the response is HTTP 200 **and** that the data is non-empty.
+
+That second clause exists because of a real failure class. A tool can answer HTTP 200 and still hand back nothing — an empty array, a null payload, a polite shell with no content. A pretest that checked only the status code would wave that tool through as healthy, and an agent would later build on a contract that returns air. The "200-but-empty" case is treated as a genuine failure, caught at grading time, so that a tool in the trusted catalog is one that has been observed to return real data, not merely a successful status line. The grading workflow and its scoring areas are described in [09-validation-rules.md](/specification/validation-rules/).
+
+## No Silent Defaults — Fail Loudly
+
+FlowMCP never invents a value to paper over one that is missing. When a required parameter is absent, a credential is unset, or a configuration field is ambiguous, the system fails loudly rather than quietly substituting a plausible default and continuing. A silent default is a guess wearing the costume of a fact, and a guess that nobody was told about is the hardest kind of failure to find.
+
+The conviction is grounded in a specific incident. A routine that wrote a `.env` file silently — overwriting whatever was already there with default text — destroyed a user's real API keys, more than once, because the convenient default ran without ever asking. The lesson generalized into a project-wide rule: code that would write or assume on the user's behalf checks first and announces itself; it never overwrites or invents in silence. Loud failure is recoverable. Silent success on wrong data is not. The boundaries that enforce this around credentials and configuration are set out in [05-security.md](/specification/security/).
+
+## Search, Then Call
+
+There is no hidden activation step. Every tool in the configured schema folders is immediately discoverable through search and list, and immediately callable through call. An agent does not register a tool, enable it, install it into a session, or perform any ceremony between finding a tool and using it — it searches the catalog, reads the required parameters and example from the search result, and calls. The interaction model is exactly two moves:
+
+| Step | Move | What it returns |
+|------|------|-----------------|
+| Discover | `search` / `list` | The matching tools, with their required parameters and a callable example |
+| Invoke | `call` | The live result of the tool, called directly |
+
+This was a deliberate simplification. An earlier model had an `add` or activation step between discovery and use, and that step was pure friction: a tool could be found yet not callable, which is a confusing state for a human and an outright trap for an autonomous agent. Removing it means the catalog the agent can see is exactly the catalog the agent can use.
+
+## Disabled, Not Broken
+
+The "search, then call" promise raises an obvious question: what about a tool whose credentials are missing? FlowMCP answers it by degrading gracefully. A tool that needs a key the environment does not have is not hidden and is not broken — it appears in the catalog clearly labeled, as `[disabled: missing KEY]`, naming the exact credential it is waiting for.
+
+This matters because the two failure modes it avoids are both worse. A hidden tool leaves the agent unable to discover a capability that exists; a tool that looks callable but throws an opaque error at call time leaves the agent debugging the framework instead of its task. A disabled-but-visible tool tells the truth: the capability exists, here is precisely what it needs to come online, and nothing about it is mysterious. Key-gating is honesty about credentials, not concealment of capability.
+
+## The Catalog Is Indexed, Not Re-Derived
+
+At scale, you read the index; you do not rebuild the world. FlowMCP can hold a large catalog of schemas, and the cost of treating that catalog naively is not theoretical. A namespace index already records, ahead of time, which schema owns which tool. The correct move when resolving a single tool is to consult that index and load the one schema it points to.
+
+The discipline was learned from a regression. A configurator path ignored the existing namespace index and loaded the entire catalog — hundreds of schemas — to satisfy a single tool call that needed exactly one. The fix was not a faster loader; it was to trust the index that was already there. The principle generalizes: precomputed structure exists to be read, not re-derived on every request, and an operation whose cost scales with the size of the whole catalog when it should scale with one entry is a bug, however correct its output happens to be.
+
+## A Home for Project Thinking
+
+These convictions are easy to hold while a project is small and easy to lose while it grows. A guardrail that nobody can name becomes bureaucracy; a rule whose original failure has been forgotten becomes a rule people quietly route around. This chapter exists so that does not happen — it is the place where FlowMCP's guiding ideas are written down, each one tied to the concrete failure that earned it, so the worldview stays explicit even as the normative chapters multiply. When a new rule is proposed, it can be measured against the philosophy recorded here; when an old rule is questioned, the incident behind it is on the record. The specification's letter lives in the chapters this page points to. Its spirit lives here.
+
+## Related
+
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [05-security.md](/specification/security/) — the trust boundary that keeps schema handlers off the network and filesystem.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
+- [19-mcp-integration.md](/specification/mcp-integration/) — the per-tool meta block and its mapping to MCP annotations.
+
diff --git a/public/spec-generated/docs-payload/best-practice/01-overview.md b/public/spec-generated/docs-payload/best-practice/01-overview.md
index da7e32d..de6e5e5 100644
--- a/public/spec-generated/docs-payload/best-practice/01-overview.md
+++ b/public/spec-generated/docs-payload/best-practice/01-overview.md
@@ -6,9 +6,9 @@ spec_file: "01-overview.md"
order: 1
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/01-overview.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/01-overview.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/01-overview.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/01-overview.md."
@@ -18,7 +18,6 @@ The Best-Practice track is the third FlowMCP spec track, sitting alongside the n
> This track is informative and advisory. It introduces no new normative keywords of its own and uses "should", never "MUST" — the normative-language conventions (MUST / SHOULD / MAY) are defined once in the [Specification overview](/specification/overview/) and are not redefined here.
----
## What this track is
@@ -84,5 +83,5 @@ Small, sharp learnings that do not warrant a full page:
## Related
-- [`schema-creation/10-readable-interface.md`](/best-practice/readable-interface/)
+- [`schema-creation/10-readable-interface.md`](/best-practice/readable-interface/) — designing the surface for the calling model with readable enums, names, and handler phases.
diff --git a/public/spec-generated/docs-payload/best-practice/10-readable-interface.md b/public/spec-generated/docs-payload/best-practice/10-readable-interface.md
index 37b5347..c5a19a5 100644
--- a/public/spec-generated/docs-payload/best-practice/10-readable-interface.md
+++ b/public/spec-generated/docs-payload/best-practice/10-readable-interface.md
@@ -6,9 +6,9 @@ spec_file: "10-readable-interface.md"
order: 10
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/schema-creation/10-readable-interface.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/schema-creation/10-readable-interface.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/schema-creation/10-readable-interface.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-creation/10-readable-interface.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-c
Design the schema for the **model that calls it**, not for the API behind it. An upstream API often speaks in terse codes; the language model should not have to decode them. Translate at the edge so the surface the model sees is self-explaining.
----
## Human-readable enums
@@ -68,5 +67,5 @@ Reading the wrong shape raises no error — the handler just never fires. So whe
## Related
-- [`14-correctness-license.md`](/best-practice/correctness-license/)
+- [`14-correctness-license.md`](/best-practice/correctness-license/) — assuming nothing, faking nothing, and documenting data provenance and rights.
diff --git a/public/spec-generated/docs-payload/best-practice/11-reference-data.md b/public/spec-generated/docs-payload/best-practice/11-reference-data.md
index 2cd3aac..51c11b7 100644
--- a/public/spec-generated/docs-payload/best-practice/11-reference-data.md
+++ b/public/spec-generated/docs-payload/best-practice/11-reference-data.md
@@ -6,9 +6,9 @@ spec_file: "11-reference-data.md"
order: 11
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/schema-creation/11-reference-data.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/schema-creation/11-reference-data.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/schema-creation/11-reference-data.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-creation/11-reference-data.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-c
Maintain recurring lists and value formats **once**, and inherit them everywhere. Duplicated reference data drifts: one copy gets a new entry, the others quietly fall behind. A single canonical source cannot drift against itself.
----
## Shared lists
@@ -70,5 +69,5 @@ Never force a key at the very start of a journey when a keyless path exists.
## Related
-- [`10-readable-interface.md`](/best-practice/readable-interface/)
+- [`10-readable-interface.md`](/best-practice/readable-interface/) — designing the surface for the calling model with readable enums, names, and handler phases.
diff --git a/public/spec-generated/docs-payload/best-practice/12-load-and-scale.md b/public/spec-generated/docs-payload/best-practice/12-load-and-scale.md
index 10f11af..777fc2c 100644
--- a/public/spec-generated/docs-payload/best-practice/12-load-and-scale.md
+++ b/public/spec-generated/docs-payload/best-practice/12-load-and-scale.md
@@ -6,9 +6,9 @@ spec_file: "12-load-and-scale.md"
order: 12
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/schema-creation/12-load-and-scale.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/schema-creation/12-load-and-scale.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/schema-creation/12-load-and-scale.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-creation/12-load-and-scale.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-c
Choose the load and storage strategy by **data size** and by the **query ability** of the source. A small static file and a large queryable corpus do not deserve the same machinery — match the mechanism to the data.
----
## Preload small static data into memory
@@ -70,5 +69,5 @@ Be precise about what the limit governs: the number of clauses is **not** the li
## Related
-- [`13-geo-conventions.md`](/best-practice/geo-conventions/)
+- [`13-geo-conventions.md`](/best-practice/geo-conventions/) — the established geo defaults that keep schemas interoperable and avoid silent mistakes.
diff --git a/public/spec-generated/docs-payload/best-practice/13-geo-conventions.md b/public/spec-generated/docs-payload/best-practice/13-geo-conventions.md
index 15b9db2..f400116 100644
--- a/public/spec-generated/docs-payload/best-practice/13-geo-conventions.md
+++ b/public/spec-generated/docs-payload/best-practice/13-geo-conventions.md
@@ -6,9 +6,9 @@ spec_file: "13-geo-conventions.md"
order: 13
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/schema-creation/13-geo-conventions.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/schema-creation/13-geo-conventions.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/schema-creation/13-geo-conventions.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-creation/13-geo-conventions.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-c
Geo has a few conventions that everyone trips over once. Adopt the established defaults instead of inventing your own — it keeps schemas interoperable and spares the model a class of silent mistakes.
----
## Longitude-first bounding boxes
@@ -58,5 +57,5 @@ show as: plz = "10115" (familiar, but many PLZ per municipality)
## Related
-- [`12-load-and-scale.md`](/best-practice/load-and-scale/)
+- [`12-load-and-scale.md`](/best-practice/load-and-scale/) — choosing the load and storage strategy by data size and query ability.
diff --git a/public/spec-generated/docs-payload/best-practice/14-correctness-license.md b/public/spec-generated/docs-payload/best-practice/14-correctness-license.md
index ece58f3..38589d7 100644
--- a/public/spec-generated/docs-payload/best-practice/14-correctness-license.md
+++ b/public/spec-generated/docs-payload/best-practice/14-correctness-license.md
@@ -6,9 +6,9 @@ spec_file: "14-correctness-license.md"
order: 14
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/schema-creation/14-correctness-license.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/schema-creation/14-correctness-license.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/schema-creation/14-correctness-license.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-creation/14-correctness-license.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-c
Assume nothing silently, fake nothing, and document where the data comes from and under which rights. Correctness and provenance are what separate a schema that *passes* from one that can be *trusted*.
----
## No silent defaults; a 4xx is not a pass
@@ -77,5 +76,5 @@ A small workflow can fetch the URL, run a robots/legal check, and stamp these fi
## Related
-- [`10-readable-interface.md`](/best-practice/readable-interface/)
+- [`10-readable-interface.md`](/best-practice/readable-interface/) — designing the surface for the calling model with readable enums, names, and handler phases.
diff --git a/public/spec-generated/docs-payload/grading/00-overview.md b/public/spec-generated/docs-payload/grading/00-overview.md
index f2cbd37..f78402c 100644
--- a/public/spec-generated/docs-payload/grading/00-overview.md
+++ b/public/spec-generated/docs-payload/grading/00-overview.md
@@ -6,9 +6,9 @@ spec_file: "00-overview.md"
order: 0
section: "Grading"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/00-overview.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/00-overview.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/00-overview.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/00-overview.md."
@@ -16,15 +16,14 @@ edit_warning: "This file is auto-generated. Source: grading/3.0.0/00-overview.md
The Grading-Spec describes **how** FlowMCP schemas and selections are evaluated and graded — the phases, the Scoring System, the Grading System, the categorical veto, tiers, skills, and domain knowledge. It is a separate, independently versioned document layered on top of the FlowMCP Schemas Specification, which remains the highest authority for what a schema, a selection, and the primitives actually are. This overview sets the conformance language, the document hierarchy, the guiding interoperability focus, and the chapter map for the rest of the spec.
-Normative language (MUST/SHOULD/MAY) follows the conventions defined in the FlowMCP Schemas Specification [/specification/00-overview/](/specification/00-overview/) (Conformance Language). This Grading-Spec does not re-define normative keywords.
+Normative language (MUST/SHOULD/MAY) follows the conventions defined in the FlowMCP Schemas Specification [/specification/00-overview/](/specification/overview/) (Conformance Language). This Grading-Spec does not re-define normative keywords.
----
## Conformance Language
This document uses the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" as defined in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals.
-The binding source for this conformance interpretation is the FlowMCP Schemas Specification [/specification/00-overview/](/specification/00-overview/). Some chapters of this Grading-Spec are intentionally written in prose without normative keywords because they describe history, motivation, or conceptual background (this overview document). All other chapters use normative language and assume this conformance interpretation.
+The binding source for this conformance interpretation is the FlowMCP Schemas Specification [/specification/00-overview/](/specification/overview/). Some chapters of this Grading-Spec are intentionally written in prose without normative keywords because they describe history, motivation, or conceptual background (this overview document). All other chapters use normative language and assume this conformance interpretation.
---
@@ -39,7 +38,7 @@ The Grading-Spec is **not** the highest instance. The FlowMCP Schemas Specificat
| Middle | Grading-Spec (this document) | Independent — describes phases, Scoring System, Grading System, Veto, Tier, Skills, Domain Knowledge |
| Bottom | Scripts and modules in the grading implementation | Implementation derived from this spec |
-Cross-reference: [Schemas-Spec — Overview](/specification/00-overview/).
+Cross-reference: [Schemas-Spec — Overview](/specification/overview/).
---
@@ -85,12 +84,12 @@ The grading rules — how scores are mapped to grades, how the categorical veto
This Grading-Spec relies on definitions from the Schemas-Spec. The following chapters are particularly relevant:
-- [Scoring protocol](/specification/22-scoring-protocol/) — the existing `prompts.json` / `scores.json` contract that this Grading-Spec sub-consumes.
-- [Validation strategy](/specification/20-validation-strategy/) — the deterministic baseline; the Grading System defined here extends (and partly replaces) the Grade System described there.
-- [Resources](/specification/13-resources/) — Resource primitive (basis for the `about` convention to be reserved).
-- [Skills](/specification/14-skills/) — Skill types `'namespace' | 'selection' | 'agent'`.
-- [Selections](/specification/17-selections/) — Selection as the fifth primitive; carries `tools[]` / `skills[]` / `resources[]` / `prompts[]`.
-- [Preload](/specification/11-preload/) — Preload pattern.
+- [Scoring protocol](/specification/scoring-protocol/) — the existing `prompts.json` / `scores.json` contract that this Grading-Spec sub-consumes.
+- [Validation strategy](/specification/validation-strategy/) — the deterministic baseline; the Grading System defined here extends (and partly replaces) the Grade System described there.
+- [Resources](/specification/resources/) — Resource primitive (basis for the `about` convention to be reserved).
+- [Skills](/specification/skills/) — Skill types `'namespace' | 'selection' | 'agent'`.
+- [Selections](/specification/selections/) — Selection as the fifth primitive; carries `tools[]` / `skills[]` / `resources[]` / `prompts[]`.
+- [Preload](/specification/preload/) — Preload pattern.
---
diff --git a/public/spec-generated/docs-payload/grading/01-default-journey.md b/public/spec-generated/docs-payload/grading/01-default-journey.md
index 7b0cbfd..37b7c2e 100644
--- a/public/spec-generated/docs-payload/grading/01-default-journey.md
+++ b/public/spec-generated/docs-payload/grading/01-default-journey.md
@@ -6,19 +6,16 @@ spec_file: "01-default-journey.md"
order: 1
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/01-default-journey.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/01-default-journey.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/01-default-journey.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/01-default-journey.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification.
-
This chapter anchors the **default journey** by which a schema enters the FlowMCP corpus, the **maximalism principle** that governs its endpoint coverage, the link to the **interoperability** main focus, and the **completeness validation** that feeds the `single-test` and `tools-aggregate-schema` Areas (see [`04-phases-single.md`](/grading/phases-single/)). The default position is unambiguous: more tools mean better interoperability. Reduction below the documented endpoint set MUST be justified, or it MUST cost points.
----
## Default Journey (binding)
@@ -76,7 +73,7 @@ Gap reporting is mandatory; gap penalisation is conditional on the absence of an
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`02-eligibility.md`](/grading/eligibility/)
-- [`04-phases-single.md`](/grading/phases-single/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`02-eligibility.md`](/grading/eligibility/) — what is allowed to be part of a gradable schema before scoring begins.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
diff --git a/public/spec-generated/docs-payload/grading/02-eligibility.md b/public/spec-generated/docs-payload/grading/02-eligibility.md
index 4c2111a..66b956b 100644
--- a/public/spec-generated/docs-payload/grading/02-eligibility.md
+++ b/public/spec-generated/docs-payload/grading/02-eligibility.md
@@ -6,19 +6,16 @@ spec_file: "02-eligibility.md"
order: 2
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/02-eligibility.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/02-eligibility.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/02-eligibility.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/02-eligibility.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification.
-
This chapter defines **what is allowed to be part of a gradable schema**. Eligibility is the upstream gate: an endpoint that is not eligible MUST NOT appear in a schema, and the chapter sets out the exclusion criteria, the access classes, the schema-splitting rule, and the target-audience priority. The maximalism principle in [`01-default-journey.md`](/grading/default-journey/) operates **inside** this eligibility boundary — "all admitted endpoints" means "all endpoints that pass the rules in this chapter".
----
## Read Focus
@@ -128,8 +125,8 @@ The detailed verification method belongs to the grader implementation and is out
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`01-default-journey.md`](/grading/default-journey/)
-- [`04-phases-single.md`](/grading/phases-single/)
-- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`01-default-journey.md`](/grading/default-journey/) — how a schema enters the corpus and why maximal endpoint coverage is the default.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
+- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/) — the first prompt that anchors a grading run to persona, schema, mode, and version.
diff --git a/public/spec-generated/docs-payload/grading/03-tos.md b/public/spec-generated/docs-payload/grading/03-tos.md
index 29f27c8..a2b07d8 100644
--- a/public/spec-generated/docs-payload/grading/03-tos.md
+++ b/public/spec-generated/docs-payload/grading/03-tos.md
@@ -6,19 +6,16 @@ spec_file: "03-tos.md"
order: 3
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/03-tos.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/03-tos.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/03-tos.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/03-tos.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification.
-
This chapter defines the **Terms-of-Service (ToS) handling** of the Grading-Spec. ToS handling is part of the **due-diligence** layer, not part of the eligibility gate — a missing ToS link does not disqualify a schema, it lowers the score. The chapter anchors the base due-diligence rule (`SHOULD`, not `MUST`), the "ToS attached" definition, the Root-Domain-Match algorithm, the central distinction between "we observe" and "we accept", and the grader role with its mandatory "grader assessment, not legally binding" disclaimer.
----
## Due-Diligence Base
@@ -96,8 +93,8 @@ The disclaimer is **non-optional**. A grading entry that contains a `legalAssess
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`02-eligibility.md`](/grading/eligibility/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`08-grading-model.md`](/grading/grading-model/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`02-eligibility.md`](/grading/eligibility/) — what is allowed to be part of a gradable schema before scoring begins.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
diff --git a/public/spec-generated/docs-payload/grading/04-phases-single.md b/public/spec-generated/docs-payload/grading/04-phases-single.md
index 5632706..b771637 100644
--- a/public/spec-generated/docs-payload/grading/04-phases-single.md
+++ b/public/spec-generated/docs-payload/grading/04-phases-single.md
@@ -6,19 +6,16 @@ spec_file: "04-phases-single.md"
order: 4
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/04-phases-single.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/04-phases-single.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/04-phases-single.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/04-phases-single.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification.
-
This chapter is the **normative source for the provider-side grading Areas** — the Areas that grade one **schema** inside one **namespace** without group context. Each Area is a self-contained grading rubric attached to the primitive it evaluates, written to a `_gradings/` folder next to that primitive (see [`19-folder-layout.md`](/grading/folder-layout/)). The provider side produces the **base unit** of the FlowMCP corpus — one namespace with one or more schemas, namespace skills, and an About Resource — while higher-level grouping is defined separately in [`05-phases-selection.md`](/grading/phases-selection/). A schema graded only on the provider side has `gradingTier = autonomous`, whose maximum attainable grade is **B** ([`06-determinism-and-tier.md`](/grading/determinism-and-tier/)); grade A requires a `group-bound` contribution from the selection side.
----
## The Provider-Side Areas
@@ -102,14 +99,14 @@ The provider-side Areas produce `gradingTier = autonomous`. Per [`06-determinism
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`01-default-journey.md`](/grading/default-journey/)
-- [`02-eligibility.md`](/grading/eligibility/)
-- [`03-tos.md`](/grading/tos/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`01-default-journey.md`](/grading/default-journey/) — how a schema enters the corpus and why maximal endpoint coverage is the default.
+- [`02-eligibility.md`](/grading/eligibility/) — what is allowed to be part of a gradable schema before scoring begins.
+- [`03-tos.md`](/grading/tos/) — how Terms-of-Service links are checked as a due-diligence score, never a hard gate.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
diff --git a/public/spec-generated/docs-payload/grading/05-phases-selection.md b/public/spec-generated/docs-payload/grading/05-phases-selection.md
index 73ab2f3..4009bab 100644
--- a/public/spec-generated/docs-payload/grading/05-phases-selection.md
+++ b/public/spec-generated/docs-payload/grading/05-phases-selection.md
@@ -6,21 +6,16 @@ spec_file: "05-phases-selection.md"
order: 5
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/05-phases-selection.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/05-phases-selection.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/05-phases-selection.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/05-phases-selection.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
A **selection** is a topic-oriented, curated collection of tools and skills assembled over several member namespaces — the fifth schema primitive defined in the FlowMCP Schemas Specification (see its [`17-selections.md`](/specification/selections/)). This page is the normative source for the **selection-side grading Areas**, which run on top of the provider-side Areas of [`04-phases-single.md`](/grading/phases-single/): they presuppose that every member schema has already been graded on the provider side and reached the status `stable` (see the pre-condition below). The selection-side Areas produce `gradingTier = group-bound`, and only under this tier is grade **A** reachable (per [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)).
----
## Prerequisite: Soft and Hard Thresholds
@@ -114,13 +109,13 @@ This tier is the **only** path to grade **A**. The provider-side Areas (`autonom
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`04-phases-single.md`](/grading/phases-single/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
diff --git a/public/spec-generated/docs-payload/grading/06-determinism-and-tier.md b/public/spec-generated/docs-payload/grading/06-determinism-and-tier.md
index 4f5e0ea..ed4ecf0 100644
--- a/public/spec-generated/docs-payload/grading/06-determinism-and-tier.md
+++ b/public/spec-generated/docs-payload/grading/06-determinism-and-tier.md
@@ -6,18 +6,14 @@ spec_file: "06-determinism-and-tier.md"
order: 6
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/06-determinism-and-tier.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/06-determinism-and-tier.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/06-determinism-and-tier.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/06-determinism-and-tier.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
The Grading-Spec rates every dimension along **two orthogonal axes**: *Determinism* (is the score reproducible?) and *Tier* (what is the highest grade it can reach?). Because the axes are independent, a dimension can be deterministic yet group-bound, or non-deterministic yet autonomous. Both values are carried separately in the grading entry as the fields `determinism` and `gradingTier` (see [`08-grading-model.md`](/grading/grading-model/)), and this page defines what each value means and how the two combine.
| Axis | Values | Effect |
@@ -25,7 +21,6 @@ The Grading-Spec rates every dimension along **two orthogonal axes**: *Determini
| Determinism | `deterministic` / `non-deterministic` | Reproducibility |
| Tier | `autonomous` / `group-bound` | Maximum attainable grade (Ch. 7) |
----
## Axis 1 — Determinism
@@ -219,12 +214,12 @@ Cross-Refs:
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`04-phases-single.md`](/grading/phases-single/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`09-security-and-development.md`](/grading/security-and-development/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/) — why evidencing a single test stays separate from deriving a letter grade.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`09-security-and-development.md`](/grading/security-and-development/) — the security and development checks that carry high categorical-veto affinity.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
diff --git a/public/spec-generated/docs-payload/grading/07-scoring-vs-grading.md b/public/spec-generated/docs-payload/grading/07-scoring-vs-grading.md
index dd97b83..681c748 100644
--- a/public/spec-generated/docs-payload/grading/07-scoring-vs-grading.md
+++ b/public/spec-generated/docs-payload/grading/07-scoring-vs-grading.md
@@ -6,21 +6,16 @@ spec_file: "07-scoring-vs-grading.md"
order: 7
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/07-scoring-vs-grading.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/07-scoring-vs-grading.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/07-scoring-vs-grading.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/07-scoring-vs-grading.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
"Scoring" and "Grading" name two distinct sub-systems that this spec keeps strictly apart: the Scoring System evidences how a single test or dimension performs, while the Grading System derives a letter mark from a collection of those scores. Each carries its own independent version namespace, so a scoring update does not automatically imply a grading update — and vice versa. A grader, scorer, or aggregator that conforms to `gradingSpec/3.0.0` MUST keep both names — and both version strings — apart in every emitted artefact (grading entries, logs, error codes).
----
## Comparison Table
@@ -87,10 +82,10 @@ This Grading-Spec does NOT re-define the `prompts.json` / `scores.json` contract
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`04-phases-single.md`](/grading/phases-single/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`22-scoring-protocol.md`](/specification/scoring-protocol/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`22-scoring-protocol.md`](/specification/scoring-protocol/) — the JSON formats exchanged between the CLI and an external grader.
diff --git a/public/spec-generated/docs-payload/grading/08-grading-model.md b/public/spec-generated/docs-payload/grading/08-grading-model.md
index 191d825..028b8f3 100644
--- a/public/spec-generated/docs-payload/grading/08-grading-model.md
+++ b/public/spec-generated/docs-payload/grading/08-grading-model.md
@@ -6,21 +6,16 @@ spec_file: "08-grading-model.md"
order: 8
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/08-grading-model.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/08-grading-model.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/08-grading-model.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/08-grading-model.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
This page defines the **grading entry** — the single durable artefact a grader emits and the one data model that both skill families (Single-Schema-Validator and Selection-Validator) write into. A grading is an array of per-question evaluations that carries veto power, a tier trim (autonomous max `B` / group max `A`), and can be re-triggered by the user; a present Categorical Veto overrides all aggregation and yields `aggregateGrade = REJECTED`. Every grading entry MUST validate against the JSON-Schema annex [`08-grading-model.schema.json`](./08-grading-model.schema.json).
----
## Status Record vs. Grading Entry (NEW in 3.0.0)
@@ -513,17 +508,16 @@ if( rejected.aggregateGrade !== 'REJECTED' ) { throw new Error( 'rejected exampl
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/)
-- [`09-security-and-development.md`](/grading/security-and-development/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
-- [`15-versioning-axes.md`](/grading/versioning-axes/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`22-workbench-island.md`](/grading/workbench-island/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`08-grading-model.schema.json`](./08-grading-model.schema.json)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/) — why evidencing a single test stays separate from deriving a letter grade.
+- [`09-security-and-development.md`](/grading/security-and-development/) — the security and development checks that carry high categorical-veto affinity.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
+- [`15-versioning-axes.md`](/grading/versioning-axes/) — how primitives are versioned by filename timestamp and bound by a canonical hash.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`22-workbench-island.md`](/grading/workbench-island/) — the walled-off working directory that never overwrites a shipped source.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
diff --git a/public/spec-generated/docs-payload/grading/09-security-and-development.md b/public/spec-generated/docs-payload/grading/09-security-and-development.md
index 85cbba2..5faa70b 100644
--- a/public/spec-generated/docs-payload/grading/09-security-and-development.md
+++ b/public/spec-generated/docs-payload/grading/09-security-and-development.md
@@ -6,21 +6,16 @@ spec_file: "09-security-and-development.md"
order: 9
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/09-security-and-development.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/09-security-and-development.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/09-security-and-development.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/09-security-and-development.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
Security and development discipline form an independent grading area with high veto affinity, and this page sets the binding rules for it. Three of the four Categorical-Veto triggers defined in [`08-grading-model.md`](/grading/grading-model/) originate here (`malicious-module`, `api-key-domain-mismatch`, `illegal-content`), while the fourth (`ai-security-veto`) is the non-deterministic counterpart that catches what the deterministic triggers miss. The checks below feed primarily `securityScore` (autonomous tier), plus `formattingCompliance` and the `outputSchemaConformance` sub-dimension "pipebarkeit"; they contribute to the `single-test` and `tools-aggregate-schema` Areas, and no check defined here raises the maximum attainable grade beyond `B` on its own.
----
## API-Key Hygiene (Deterministic)
@@ -160,9 +155,9 @@ Concrete weights, thresholds, and score-boost magnitudes belong in the `gradingS
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`11-preload.md`](/specification/preload/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/) — why evidencing a single test stays separate from deriving a letter grade.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`11-preload.md`](/specification/preload/) — how a tool declares that its response is safe to cache.
diff --git a/public/spec-generated/docs-payload/grading/10-domain-knowledge.md b/public/spec-generated/docs-payload/grading/10-domain-knowledge.md
index 92c0a22..0b6717f 100644
--- a/public/spec-generated/docs-payload/grading/10-domain-knowledge.md
+++ b/public/spec-generated/docs-payload/grading/10-domain-knowledge.md
@@ -6,18 +6,14 @@ spec_file: "10-domain-knowledge.md"
order: 10
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/10-domain-knowledge.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/10-domain-knowledge.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/10-domain-knowledge.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/10-domain-knowledge.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
A **topic group** — a selection composed of several namespaces — develops conventions, shared vocabularies, and provider-specific quirks that are invisible from any single namespace in isolation. Grading at the `group-bound` tier MUST be validated against the group's **Domain-Knowledge content**, and that content lives in the selection's **About Resource** rather than a separate document — a binding identity rather than a loose association. This chapter sets the two thresholds under which a selection counts as a group, lists the seven mandatory sections the content must carry, and traces how it feeds the `domainConformance` and `personaUseCaseFit` dimensions.
## Domain-Knowledge as the Selection's About Resource
@@ -118,12 +114,12 @@ A grading entry that uses Domain-Knowledge content records the resolved About Re
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`09-security-and-development.md`](/grading/security-and-development/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`09-security-and-development.md`](/grading/security-and-development/) — the security and development checks that carry high categorical-veto affinity.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
diff --git a/public/spec-generated/docs-payload/grading/11-about-convention.md b/public/spec-generated/docs-payload/grading/11-about-convention.md
index 40c5e43..aab138b 100644
--- a/public/spec-generated/docs-payload/grading/11-about-convention.md
+++ b/public/spec-generated/docs-payload/grading/11-about-convention.md
@@ -6,18 +6,14 @@ spec_file: "11-about-convention.md"
order: 11
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/11-about-convention.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/11-about-convention.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/11-about-convention.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/11-about-convention.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
The **About Resource** is a markdown Resource that describes what a namespace (or a selection) does, what it does not do, and which conventions it follows. It is a schema Resource — declared under `main.resources` with the reserved name `about`, authored as markdown rather than a `.mjs` module — not a namespace route. It exists because consumers (LLM graders, skill authors, third-party tools, dashboards) repeatedly need one uniform way to ask *"what does this namespace do, what doesn't it do, which conventions does it follow?"* without reading the schema source first; this **guessability argument** is the deep reason the name `about` is reserved. The chapter has three parts: the declaration contract, the content contract, and the detection and grading of About on the namespace and selection levels.
## The About Resource as a Schema Resource
@@ -142,13 +138,13 @@ The Schemas-Spec — particularly [`13-resources.md`](../../spec/v4.3.0/13-resou
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`13-resources.md`](../../spec/v4.3.0/13-resources.md)
-- [`17-selections.md`](../../spec/v4.3.0/17-selections.md)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`13-resources.md`](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [`17-selections.md`](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
diff --git a/public/spec-generated/docs-payload/grading/12-personas-contract.md b/public/spec-generated/docs-payload/grading/12-personas-contract.md
index f895659..e5156c1 100644
--- a/public/spec-generated/docs-payload/grading/12-personas-contract.md
+++ b/public/spec-generated/docs-payload/grading/12-personas-contract.md
@@ -6,18 +6,14 @@ spec_file: "12-personas-contract.md"
order: 12
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/12-personas-contract.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/12-personas-contract.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/12-personas-contract.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/12-personas-contract.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
The Grading-Spec does not invent personas; it references the four generalised base personas maintained in the `flowmcp-spec` personas folder and pins down how a grading entry points at one. This chapter fixes the persona reference contract (`basePersonaId` plus an optional `lensId`), explains the **Lens** model that narrows a generalised persona to a domain without spawning a fifth one, and records which Areas must carry a persona. It also recognises a second, technical persona tier — three review lenses owned by the grading repository — used only for autonomous Task-A schema preparation.
## Source of Truth
@@ -179,8 +175,8 @@ content (identity, review focus, sign-off / block criteria) lives in the grading
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`13-skills.md`](/grading/skills/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
diff --git a/public/spec-generated/docs-payload/grading/13-skills.md b/public/spec-generated/docs-payload/grading/13-skills.md
index 2727447..96f32d7 100644
--- a/public/spec-generated/docs-payload/grading/13-skills.md
+++ b/public/spec-generated/docs-payload/grading/13-skills.md
@@ -1,23 +1,19 @@
---
-title: "Skills: Namespace Skill vs. Selection Skill"
+title: "Namespace Skill vs. Selection Skill"
description: "Skills come in two categories that grade very differently. A **namespace skill** covers exactly one namespace, validates at the `autonomous` tier without group context, and carries no level. A..."
grading_version: "3.0.0"
spec_file: "13-skills.md"
order: 13
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/13-skills.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/13-skills.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/13-skills.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/13-skills.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
Skills come in two categories that grade very differently. A **namespace skill** covers exactly one namespace, validates at the `autonomous` tier without group context, and carries no level. A **selection skill** spans a selection of namespaces, validates at the `group-bound` tier against the group's Domain-Knowledge content, and carries an `L1`/`L2`/`L3` level that reflects its role — Signpost, Topic, or Usecase — not a namespace count. This chapter defines both categories, the `type` and grading-only `level` fields, their mandatory content and validation obligations, and the deterministic cross-reference rules that bind the selection-skill level chain together.
## Namespace Skill vs Selection Skill
@@ -188,11 +184,11 @@ The Schemas-Spec rule `SKL018` (max 4 skills per selection / agent registration
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`14-skills.md`](../../spec/v4.3.0/14-skills.md)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`14-skills.md`](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
diff --git a/public/spec-generated/docs-payload/grading/14-kanban-data-contract.md b/public/spec-generated/docs-payload/grading/14-kanban-data-contract.md
index faa4087..05c9377 100644
--- a/public/spec-generated/docs-payload/grading/14-kanban-data-contract.md
+++ b/public/spec-generated/docs-payload/grading/14-kanban-data-contract.md
@@ -6,18 +6,14 @@ spec_file: "14-kanban-data-contract.md"
order: 14
section: "Grading"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/14-kanban-data-contract.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/14-kanban-data-contract.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/14-kanban-data-contract.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/14-kanban-data-contract.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/).
-
----
-
This chapter is **superseded**: the earlier Kanban data contract — a per-phase status response with a `single`/`selection` lane separation — has been replaced by a single derived rollup file per namespace and per selection, the [`index.json`](/grading/index-json/), which carries node status, member resolution, the frozen lock snapshot, and the aggregate grade in one place. Consumers MUST read status from `index.json`; the old phase-status surface and its annex schema are no longer normative. Two principles survive the break and are restated here for traceability — the never-delete audit trail and the irreversible `rejected` veto — and now also govern the grading-monitoring board defined in [`26-monitoring-track.md`](/grading/monitoring-track/).
## Why this chapter is superseded
@@ -44,9 +40,8 @@ A categorical veto produces the terminal node status `rejected`. This status is
## Related
-- [`14-kanban-data-contract.schema.json`](./14-kanban-data-contract.schema.json)
-- [`23-index-json.md`](/grading/index-json/)
-- [`22-workbench-island.md`](/grading/workbench-island/)
-- [`26-monitoring-track.md`](/grading/monitoring-track/)
-- [`09-security-and-development.md`](/grading/security-and-development/)
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`22-workbench-island.md`](/grading/workbench-island/) — the walled-off working directory that never overwrites a shipped source.
+- [`26-monitoring-track.md`](/grading/monitoring-track/) — the deterministic GitHub board projecting each namespace's grading state.
+- [`09-security-and-development.md`](/grading/security-and-development/) — the security and development checks that carry high categorical-veto affinity.
diff --git a/public/spec-generated/docs-payload/grading/15-versioning-axes.md b/public/spec-generated/docs-payload/grading/15-versioning-axes.md
index f960378..6a179f2 100644
--- a/public/spec-generated/docs-payload/grading/15-versioning-axes.md
+++ b/public/spec-generated/docs-payload/grading/15-versioning-axes.md
@@ -6,19 +6,16 @@ spec_file: "15-versioning-axes.md"
order: 15
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/15-versioning-axes.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/15-versioning-axes.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/15-versioning-axes.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/15-versioning-axes.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
Every gradable primitive is versioned by a timestamp carried in its filename rather than by an in-source version key, so the newest revision is found by a naive sort and historical revisions stay referenceable. The same files are kept neutral: they carry only logical names, while the canonical sha256-8 hash that binds a grading to an exact content snapshot lives in the filename and the derived `index.json` — never inside the source. This chapter defines the timestamp naming axis, the out-of-source hash placement, and the canonical representation used to compute the hash.
----
## Timestamp Versioning
@@ -71,9 +68,9 @@ Reference implementation: [`src/HashGenerator.mjs`](../../src/HashGenerator.mjs)
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
diff --git a/public/spec-generated/docs-payload/grading/16-selection-lockfile.md b/public/spec-generated/docs-payload/grading/16-selection-lockfile.md
index c10b2b5..17ddf93 100644
--- a/public/spec-generated/docs-payload/grading/16-selection-lockfile.md
+++ b/public/spec-generated/docs-payload/grading/16-selection-lockfile.md
@@ -6,19 +6,16 @@ spec_file: "16-selection-lockfile.md"
order: 16
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/16-selection-lockfile.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/16-selection-lockfile.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/16-selection-lockfile.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/16-selection-lockfile.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
A Selection binds several schemas into a domain coverage, and a Selection grading must be reproducible against an exact set of member snapshots. Two artefacts carry that: the neutral `selection.json` holds only the intentional definition (members, skills, personas, trigger sentence) with no pinned hashes, while the frozen `index.json.lockSnapshot` records the member pins — the schema versions and hashes — captured once at grading start and preserved across rebuilds. This chapter defines both artefacts, the per-member `gradingStatus` they carry, and the pre-condition workflow that reads only the frozen snapshot.
----
## Selection Definition and Lock Snapshot
@@ -135,13 +132,12 @@ The annex schemas `selection.lock.schema.json` and `namespace.schema.json` are *
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`15-versioning-axes.md`](/grading/versioning-axes/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/)
-- [`selection.schema.json`](./selection.schema.json)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`15-versioning-axes.md`](/grading/versioning-axes/) — how primitives are versioned by filename timestamp and bound by a canonical hash.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/) — the first prompt that anchors a grading run to persona, schema, mode, and version.
diff --git a/public/spec-generated/docs-payload/grading/17-scope-whitelist.md b/public/spec-generated/docs-payload/grading/17-scope-whitelist.md
index 81872b9..efcdb9f 100644
--- a/public/spec-generated/docs-payload/grading/17-scope-whitelist.md
+++ b/public/spec-generated/docs-payload/grading/17-scope-whitelist.md
@@ -6,19 +6,16 @@ spec_file: "17-scope-whitelist.md"
order: 17
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/17-scope-whitelist.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/17-scope-whitelist.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/17-scope-whitelist.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/17-scope-whitelist.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
The grading system covers only an explicit allowlist of FlowMCP constructs: Tools, Shared Lists, the `about` markdown resource, and Skills are gradable, while all other Resources, Prompts, and Procedures stay on-hold because they lack a clear grading methodology. A second, orthogonal boundary applies on top of that allowlist — the public-only principle restricts grading to publicly accessible data sources, leaving private or non-public interfaces to the schema author. This chapter defines both boundaries and the consequences they have for which areas run and how out-of-scope fields are answered.
----
## Scope
@@ -63,9 +60,9 @@ The two complement each other. A schema can satisfy the exclusion criteria and a
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`02-eligibility.md`](/grading/eligibility/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`02-eligibility.md`](/grading/eligibility/) — what is allowed to be part of a gradable schema before scoring begins.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
diff --git a/public/spec-generated/docs-payload/grading/18-flywheel-loop.md b/public/spec-generated/docs-payload/grading/18-flywheel-loop.md
index c52d248..ceaef9e 100644
--- a/public/spec-generated/docs-payload/grading/18-flywheel-loop.md
+++ b/public/spec-generated/docs-payload/grading/18-flywheel-loop.md
@@ -6,19 +6,16 @@ spec_file: "18-flywheel-loop.md"
order: 18
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/18-flywheel-loop.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/18-flywheel-loop.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/18-flywheel-loop.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/18-flywheel-loop.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
The grading process is a self-reinforcing flywheel: provider folders and selection definitions are imported into the workbench, graded by the provider-side and selection-side areas, and the graded state is exported back as `index.json`. Each turn improves the inputs to the next — a stronger schema lifts every selection that contains it, and every selection run surfaces the weakest schemas in a namespace. This chapter traces that round-trip end to end, names the three loops that keep it spinning, and lists the anti-patterns that break it.
----
## The Flywheel as an IN/OUT Round-Trip
@@ -100,12 +97,12 @@ The following patterns break the flywheel and are excluded by the spec:
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
-- [`04-phases-single.md`](/grading/phases-single/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`11-about-convention.md`](/grading/about-convention/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
diff --git a/public/spec-generated/docs-payload/grading/19-folder-layout.md b/public/spec-generated/docs-payload/grading/19-folder-layout.md
index 7715fa0..b31dcf0 100644
--- a/public/spec-generated/docs-payload/grading/19-folder-layout.md
+++ b/public/spec-generated/docs-payload/grading/19-folder-layout.md
@@ -6,19 +6,16 @@ spec_file: "19-folder-layout.md"
order: 19
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/19-folder-layout.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/19-folder-layout.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/19-folder-layout.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/19-folder-layout.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
The grading data set is a workbench island organised under three top-level folders — `providers/`, `selections/`, and `shared-lists/` — with one folder per primitive and a timestamp-first naming grammar that makes the newest revision resolvable by a naive sort. Source files stay neutral (no in-source hashes), every hash binding and rollup lives in the derived, overwritable `index.json`, and content is never edited in place or deleted: a change writes a new file next to the old one. This chapter is the single source of truth for those paths; the addressing grammar, the folder↔namespace invariant, the universal `_gradings/` placement rule, and the per-schema lifecycle all build on it.
----
## Folder Layout
@@ -166,14 +163,14 @@ Old source files remain referenceable for historical gradings — they are not d
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`15-versioning-axes.md`](/grading/versioning-axes/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
-- [`22-workbench-island.md`](/grading/workbench-island/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`26-monitoring-track.md`](/grading/monitoring-track/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`15-versioning-axes.md`](/grading/versioning-axes/) — how primitives are versioned by filename timestamp and bound by a canonical hash.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
+- [`22-workbench-island.md`](/grading/workbench-island/) — the walled-off working directory that never overwrites a shipped source.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`26-monitoring-track.md`](/grading/monitoring-track/) — the deterministic GitHub board projecting each namespace's grading state.
diff --git a/public/spec-generated/docs-payload/grading/20-entry-point-prompt.md b/public/spec-generated/docs-payload/grading/20-entry-point-prompt.md
index c0b4d4a..9cac489 100644
--- a/public/spec-generated/docs-payload/grading/20-entry-point-prompt.md
+++ b/public/spec-generated/docs-payload/grading/20-entry-point-prompt.md
@@ -6,19 +6,16 @@ spec_file: "20-entry-point-prompt.md"
order: 20
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/20-entry-point-prompt.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/20-entry-point-prompt.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/20-entry-point-prompt.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/20-entry-point-prompt.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
Every grading run begins from an empty context, and an empty context needs a concrete starting signal. This chapter defines that signal: the entry-point prompt, the first prompt a grader pastes after `/clear`, which binds the persona, the selection or single schema, the mode, and the spec version into one block. It also fixes the personas obligation — when a persona is spec-mandatory versus merely conventional — so that Single- and Selection-Gradings stay anchored to the same evaluation lens.
----
## Entry-Point Prompt
@@ -82,10 +79,10 @@ The README in the grading repository carries the ready-to-use prompt with exampl
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`02-eligibility.md`](/grading/eligibility/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`02-eligibility.md`](/grading/eligibility/) — what is allowed to be part of a gradable schema before scoring begins.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
diff --git a/public/spec-generated/docs-payload/grading/21-pre-conditions.md b/public/spec-generated/docs-payload/grading/21-pre-conditions.md
index 664ca43..db7a4b1 100644
--- a/public/spec-generated/docs-payload/grading/21-pre-conditions.md
+++ b/public/spec-generated/docs-payload/grading/21-pre-conditions.md
@@ -6,19 +6,16 @@ spec_file: "21-pre-conditions.md"
order: 21
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/21-pre-conditions.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/21-pre-conditions.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/21-pre-conditions.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/21-pre-conditions.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
An aggregate grade is only trustworthy if its members are themselves settled. This chapter states the one rule that guarantees that: any check spanning multiple schemas — a Selection-Grading or an About verification — is blocked until every member schema reads `gradingStatus: stable` in the frozen `lockSnapshot`. It is the single place where that universal pre-condition is defined; the Selection and About chapters point back here rather than restating it, and the chapter also pins the readiness ladder and per-Area dependency gates that decide when each Area becomes eligible to run.
----
## Pre-Conditions
@@ -150,11 +147,11 @@ its concrete implementation is a later-stage concern and is not pinned by this s
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`15-versioning-axes.md`](/grading/versioning-axes/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`15-versioning-axes.md`](/grading/versioning-axes/) — how primitives are versioned by filename timestamp and bound by a canonical hash.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
diff --git a/public/spec-generated/docs-payload/grading/22-workbench-island.md b/public/spec-generated/docs-payload/grading/22-workbench-island.md
index afb8269..7d552d4 100644
--- a/public/spec-generated/docs-payload/grading/22-workbench-island.md
+++ b/public/spec-generated/docs-payload/grading/22-workbench-island.md
@@ -6,19 +6,16 @@ spec_file: "22-workbench-island.md"
order: 22
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/22-workbench-island.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/22-workbench-island.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/22-workbench-island.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/22-workbench-island.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/).
-
The grading workbench keeps its working files in a directory that is deliberately walled off from the shipped repositories. This chapter explains why that separation exists, how the internal naming scheme earns its verbosity, and how data crosses the boundary in both directions without ever overwriting a source. The result is a non-destructive round-trip — import, grade, improve, export — whose internal complexity never reaches the public artifacts.
----
## The Island Principle
@@ -80,10 +77,10 @@ The round-trip is the concrete shape of the flywheel loop described in [`18-flyw
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`15-versioning-axes.md`](/grading/versioning-axes/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
-- [`26-monitoring-track.md`](/grading/monitoring-track/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`15-versioning-axes.md`](/grading/versioning-axes/) — how primitives are versioned by filename timestamp and bound by a canonical hash.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
+- [`26-monitoring-track.md`](/grading/monitoring-track/) — the deterministic GitHub board projecting each namespace's grading state.
diff --git a/public/spec-generated/docs-payload/grading/23-index-json.md b/public/spec-generated/docs-payload/grading/23-index-json.md
index d377a75..f0c1952 100644
--- a/public/spec-generated/docs-payload/grading/23-index-json.md
+++ b/public/spec-generated/docs-payload/grading/23-index-json.md
@@ -6,19 +6,16 @@ spec_file: "23-index-json.md"
order: 23
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/23-index-json.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/23-index-json.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/23-index-json.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/23-index-json.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/).
-
Status and grade live on the **namespace** level (and the **selection** level), not on a per-schema sidecar file: there is exactly **one `index.json` per namespace and one per selection**. The file is the rollup — a tree of `tool → schema → namespace` (provider flow) or `member → selection` (selection flow), where each node carries its newest grade (resolved via `resolveLatest`) and a rolled-up status. This chapter pins its structure: the two-part split between a recomputed live rollup and a frozen point-in-time snapshot, the two status vocabularies that must never be mixed, and the audit-trail and veto rules it inherits. It supersedes the former Kanban phase-status contract (see [`14-kanban-data-contract.md`](/grading/kanban-data-contract/)); the two salvaged rules from that contract — the audit trail and the irreversible veto — are restated normatively in [Salvaged Rules: Audit Trail + Irreversible Veto](#salvaged-rules-audit-trail--irreversible-veto).
----
## Two Natures: Live-Rollup and Frozen `lockSnapshot`
@@ -214,13 +211,12 @@ This record validates against [`index.schema.json`](./index.schema.json) with on
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`14-kanban-data-contract.md`](/grading/kanban-data-contract/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`24-selection-aggregate.md`](/grading/selection-aggregate/)
-- [`26-monitoring-track.md`](/grading/monitoring-track/)
-- [`index.schema.json`](./index.schema.json)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`14-kanban-data-contract.md`](/grading/kanban-data-contract/) — the superseded phase-status contract, now replaced by the index.json rollup.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`24-selection-aggregate.md`](/grading/selection-aggregate/) — the eleventh area that grades a selection as a whole and gates Grade A.
+- [`26-monitoring-track.md`](/grading/monitoring-track/) — the deterministic GitHub board projecting each namespace's grading state.
diff --git a/public/spec-generated/docs-payload/grading/24-selection-aggregate.md b/public/spec-generated/docs-payload/grading/24-selection-aggregate.md
index d23d0f3..a9ba5a0 100644
--- a/public/spec-generated/docs-payload/grading/24-selection-aggregate.md
+++ b/public/spec-generated/docs-payload/grading/24-selection-aggregate.md
@@ -6,19 +6,16 @@ spec_file: "24-selection-aggregate.md"
order: 24
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/24-selection-aggregate.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/24-selection-aggregate.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/24-selection-aggregate.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/24-selection-aggregate.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/).
-
`selection-aggregate` is the eleventh grading area, and the one that grades a selection as a whole rather than any single primitive within it. It carries the selection-wide dimensions — thresholds, topic coherence, member-against-About conformance, persona fit, and the group-bound tier — that have no per-skill or per-About home. Without it there is no gate for Grade A, which is why this area, its output schema, template, and skill triad MUST exist alongside the ten areas already in place.
----
## Why this area exists
@@ -81,13 +78,13 @@ Like every area, `selection-aggregate` is backed by a skill triad — the three-
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`25-harness-and-goal.md`](/grading/harness-and-goal/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`25-harness-and-goal.md`](/grading/harness-and-goal/) — the completion-condition harness that drives non-deterministic grading turn by turn.
diff --git a/public/spec-generated/docs-payload/grading/25-harness-and-goal.md b/public/spec-generated/docs-payload/grading/25-harness-and-goal.md
index 72bf27f..1a08a8b 100644
--- a/public/spec-generated/docs-payload/grading/25-harness-and-goal.md
+++ b/public/spec-generated/docs-payload/grading/25-harness-and-goal.md
@@ -6,19 +6,16 @@ spec_file: "25-harness-and-goal.md"
order: 25
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/25-harness-and-goal.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/25-harness-and-goal.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/25-harness-and-goal.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/25-harness-and-goal.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/).
-
Non-deterministic grading runs inside a harness, and the harness is driven by a completion condition rather than a fixed step count. This chapter defines that harness, the completion-condition mechanism, and the surfacing convention that makes the run's progress visible to the transcript-only evaluator. Because each turn restarts from scratch, it also fixes the two-loop structure and the idempotency rule that keep state in files rather than in memory.
----
## The Harness
@@ -72,9 +69,9 @@ The prompt builder appends a **Goal-Block** (a fitting completion condition plus
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`24-selection-aggregate.md`](/grading/selection-aggregate/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/) — the first prompt that anchors a grading run to persona, schema, mode, and version.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`24-selection-aggregate.md`](/grading/selection-aggregate/) — the eleventh area that grades a selection as a whole and gates Grade A.
diff --git a/public/spec-generated/docs-payload/grading/26-monitoring-track.md b/public/spec-generated/docs-payload/grading/26-monitoring-track.md
index 6cff9df..9e58b20 100644
--- a/public/spec-generated/docs-payload/grading/26-monitoring-track.md
+++ b/public/spec-generated/docs-payload/grading/26-monitoring-track.md
@@ -6,19 +6,16 @@ spec_file: "26-monitoring-track.md"
order: 26
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/26-monitoring-track.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/26-monitoring-track.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/26-monitoring-track.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/26-monitoring-track.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
This chapter brings the grading-monitoring board back into scope and defines the grading-monitoring track that projects each namespace's grading state onto a deterministic GitHub board. It fixes the decoupling from the schema-development track, the one-grading-issue-per-namespace contract and its provider-proof metadata source, the deterministic board contract, and the island ↔ repo ↔ provider-proof data flow. The executable sync workflow, the proof producer, and the consuming skills are deferred to implementation phases; here only their contracts are written.
----
## Scope — the board is back
@@ -157,10 +154,10 @@ The two salvaged rules from [`14-kanban-data-contract.md`](/grading/kanban-data-
## Related
-- [`22-workbench-island.md`](/grading/workbench-island/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`14-kanban-data-contract.md`](/grading/kanban-data-contract/)
+- [`22-workbench-island.md`](/grading/workbench-island/) — the walled-off working directory that never overwrites a shipped source.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`14-kanban-data-contract.md`](/grading/kanban-data-contract/) — the superseded phase-status contract, now replaced by the index.json rollup.
diff --git a/public/spec-generated/docs-payload/manifest.json b/public/spec-generated/docs-payload/manifest.json
index 170dff4..7ca9de7 100644
--- a/public/spec-generated/docs-payload/manifest.json
+++ b/public/spec-generated/docs-payload/manifest.json
@@ -1,6 +1,6 @@
{
"spec_version": "4.3.0",
- "generated_at": "2026-06-21T11:44:44.581Z",
+ "generated_at": "2026-06-21T18:24:23.315Z",
"generator": "scripts/generate-manifest.mjs",
"files": [
{
@@ -43,7 +43,7 @@
"order": 2,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -107,7 +107,7 @@
"order": 6,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -219,7 +219,7 @@
"order": 13,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -235,7 +235,7 @@
"order": 14,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -279,11 +279,11 @@
"filename": "17-selections.md",
"slug": "selections",
"title": "Selections",
- "description": "**Primitive:** Selection (5th primitive)",
+ "description": "A **Selection** is a named, thematically-coherent collection of Primitives (Tools, Resources, Prompts, Skills) that an agent can activate together in a single operation.",
"order": 17,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -299,7 +299,7 @@
"order": 18,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -386,12 +386,28 @@
"grade": 5,
"issues": 0
}
+ },
+ {
+ "filename": "24-philosophy.md",
+ "slug": "philosophy",
+ "title": "Philosophy",
+ "description": "FlowMCP rests on a small set of convictions about how an autonomous agent and an unfamiliar API should meet: that a schema is a contract rather than a cage, that a tool is graded before it is...",
+ "order": 24,
+ "section": "Specification",
+ "normative": false,
+ "sidebar_group": "introduction",
+ "version_added": "4.3.0",
+ "collapsed": false,
+ "spec_quality": {
+ "grade": 4,
+ "issues": 2
+ }
}
],
"sections": [
{
"name": "Specification",
- "file_count": 24,
+ "file_count": 25,
"order": 1
},
{
@@ -406,10 +422,10 @@
}
],
"stats": {
- "total_files": 24,
+ "total_files": 25,
"normative_files": 21,
- "prose_files": 3,
- "average_grade": 5
+ "prose_files": 4,
+ "average_grade": 4.96
},
"meta": {
"stats": {
@@ -573,7 +589,7 @@
{
"filename": "13-skills.md",
"slug": "skills",
- "title": "Skills: Namespace Skill vs. Selection Skill",
+ "title": "Namespace Skill vs. Selection Skill",
"description": "Skills come in two categories that grade very differently. A **namespace skill** covers exactly one namespace, validates at the `autonomous` tier without group context, and carries no level. A...",
"order": 13,
"section": "Grading",
diff --git a/src/content/docs/best-practice/correctness-license.md b/src/content/docs/best-practice/correctness-license.md
index ece58f3..38589d7 100644
--- a/src/content/docs/best-practice/correctness-license.md
+++ b/src/content/docs/best-practice/correctness-license.md
@@ -6,9 +6,9 @@ spec_file: "14-correctness-license.md"
order: 14
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/schema-creation/14-correctness-license.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/schema-creation/14-correctness-license.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/schema-creation/14-correctness-license.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-creation/14-correctness-license.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-c
Assume nothing silently, fake nothing, and document where the data comes from and under which rights. Correctness and provenance are what separate a schema that *passes* from one that can be *trusted*.
----
## No silent defaults; a 4xx is not a pass
@@ -77,5 +76,5 @@ A small workflow can fetch the URL, run a robots/legal check, and stamp these fi
## Related
-- [`10-readable-interface.md`](/best-practice/readable-interface/)
+- [`10-readable-interface.md`](/best-practice/readable-interface/) — designing the surface for the calling model with readable enums, names, and handler phases.
diff --git a/src/content/docs/best-practice/geo-conventions.md b/src/content/docs/best-practice/geo-conventions.md
index 15b9db2..f400116 100644
--- a/src/content/docs/best-practice/geo-conventions.md
+++ b/src/content/docs/best-practice/geo-conventions.md
@@ -6,9 +6,9 @@ spec_file: "13-geo-conventions.md"
order: 13
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/schema-creation/13-geo-conventions.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/schema-creation/13-geo-conventions.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/schema-creation/13-geo-conventions.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-creation/13-geo-conventions.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-c
Geo has a few conventions that everyone trips over once. Adopt the established defaults instead of inventing your own — it keeps schemas interoperable and spares the model a class of silent mistakes.
----
## Longitude-first bounding boxes
@@ -58,5 +57,5 @@ show as: plz = "10115" (familiar, but many PLZ per municipality)
## Related
-- [`12-load-and-scale.md`](/best-practice/load-and-scale/)
+- [`12-load-and-scale.md`](/best-practice/load-and-scale/) — choosing the load and storage strategy by data size and query ability.
diff --git a/src/content/docs/best-practice/load-and-scale.md b/src/content/docs/best-practice/load-and-scale.md
index 10f11af..777fc2c 100644
--- a/src/content/docs/best-practice/load-and-scale.md
+++ b/src/content/docs/best-practice/load-and-scale.md
@@ -6,9 +6,9 @@ spec_file: "12-load-and-scale.md"
order: 12
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/schema-creation/12-load-and-scale.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/schema-creation/12-load-and-scale.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/schema-creation/12-load-and-scale.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-creation/12-load-and-scale.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-c
Choose the load and storage strategy by **data size** and by the **query ability** of the source. A small static file and a large queryable corpus do not deserve the same machinery — match the mechanism to the data.
----
## Preload small static data into memory
@@ -70,5 +69,5 @@ Be precise about what the limit governs: the number of clauses is **not** the li
## Related
-- [`13-geo-conventions.md`](/best-practice/geo-conventions/)
+- [`13-geo-conventions.md`](/best-practice/geo-conventions/) — the established geo defaults that keep schemas interoperable and avoid silent mistakes.
diff --git a/src/content/docs/best-practice/overview.md b/src/content/docs/best-practice/overview.md
index da7e32d..de6e5e5 100644
--- a/src/content/docs/best-practice/overview.md
+++ b/src/content/docs/best-practice/overview.md
@@ -6,9 +6,9 @@ spec_file: "01-overview.md"
order: 1
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/01-overview.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/01-overview.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/01-overview.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/01-overview.md."
@@ -18,7 +18,6 @@ The Best-Practice track is the third FlowMCP spec track, sitting alongside the n
> This track is informative and advisory. It introduces no new normative keywords of its own and uses "should", never "MUST" — the normative-language conventions (MUST / SHOULD / MAY) are defined once in the [Specification overview](/specification/overview/) and are not redefined here.
----
## What this track is
@@ -84,5 +83,5 @@ Small, sharp learnings that do not warrant a full page:
## Related
-- [`schema-creation/10-readable-interface.md`](/best-practice/readable-interface/)
+- [`schema-creation/10-readable-interface.md`](/best-practice/readable-interface/) — designing the surface for the calling model with readable enums, names, and handler phases.
diff --git a/src/content/docs/best-practice/readable-interface.md b/src/content/docs/best-practice/readable-interface.md
index 37b5347..c5a19a5 100644
--- a/src/content/docs/best-practice/readable-interface.md
+++ b/src/content/docs/best-practice/readable-interface.md
@@ -6,9 +6,9 @@ spec_file: "10-readable-interface.md"
order: 10
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/schema-creation/10-readable-interface.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/schema-creation/10-readable-interface.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/schema-creation/10-readable-interface.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-creation/10-readable-interface.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-c
Design the schema for the **model that calls it**, not for the API behind it. An upstream API often speaks in terse codes; the language model should not have to decode them. Translate at the edge so the surface the model sees is self-explaining.
----
## Human-readable enums
@@ -68,5 +67,5 @@ Reading the wrong shape raises no error — the handler just never fires. So whe
## Related
-- [`14-correctness-license.md`](/best-practice/correctness-license/)
+- [`14-correctness-license.md`](/best-practice/correctness-license/) — assuming nothing, faking nothing, and documenting data provenance and rights.
diff --git a/src/content/docs/best-practice/reference-data.md b/src/content/docs/best-practice/reference-data.md
index 2cd3aac..51c11b7 100644
--- a/src/content/docs/best-practice/reference-data.md
+++ b/src/content/docs/best-practice/reference-data.md
@@ -6,9 +6,9 @@ spec_file: "11-reference-data.md"
order: 11
section: "Best Practice"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/best-practice/0.1.0/schema-creation/11-reference-data.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/best-practice/0.1.0/schema-creation/11-reference-data.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "best-practice/0.1.0/schema-creation/11-reference-data.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-creation/11-reference-data.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: best-practice/0.1.0/schema-c
Maintain recurring lists and value formats **once**, and inherit them everywhere. Duplicated reference data drifts: one copy gets a new entry, the others quietly fall behind. A single canonical source cannot drift against itself.
----
## Shared lists
@@ -70,5 +69,5 @@ Never force a key at the very start of a journey when a keyless path exists.
## Related
-- [`10-readable-interface.md`](/best-practice/readable-interface/)
+- [`10-readable-interface.md`](/best-practice/readable-interface/) — designing the surface for the calling model with readable enums, names, and handler phases.
diff --git a/src/content/docs/grading/about-convention.md b/src/content/docs/grading/about-convention.md
index 40c5e43..aab138b 100644
--- a/src/content/docs/grading/about-convention.md
+++ b/src/content/docs/grading/about-convention.md
@@ -6,18 +6,14 @@ spec_file: "11-about-convention.md"
order: 11
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/11-about-convention.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/11-about-convention.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/11-about-convention.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/11-about-convention.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
The **About Resource** is a markdown Resource that describes what a namespace (or a selection) does, what it does not do, and which conventions it follows. It is a schema Resource — declared under `main.resources` with the reserved name `about`, authored as markdown rather than a `.mjs` module — not a namespace route. It exists because consumers (LLM graders, skill authors, third-party tools, dashboards) repeatedly need one uniform way to ask *"what does this namespace do, what doesn't it do, which conventions does it follow?"* without reading the schema source first; this **guessability argument** is the deep reason the name `about` is reserved. The chapter has three parts: the declaration contract, the content contract, and the detection and grading of About on the namespace and selection levels.
## The About Resource as a Schema Resource
@@ -142,13 +138,13 @@ The Schemas-Spec — particularly [`13-resources.md`](../../spec/v4.3.0/13-resou
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`13-resources.md`](../../spec/v4.3.0/13-resources.md)
-- [`17-selections.md`](../../spec/v4.3.0/17-selections.md)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`13-resources.md`](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [`17-selections.md`](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
diff --git a/src/content/docs/grading/default-journey.md b/src/content/docs/grading/default-journey.md
index 7b0cbfd..37b7c2e 100644
--- a/src/content/docs/grading/default-journey.md
+++ b/src/content/docs/grading/default-journey.md
@@ -6,19 +6,16 @@ spec_file: "01-default-journey.md"
order: 1
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/01-default-journey.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/01-default-journey.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/01-default-journey.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/01-default-journey.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification.
-
This chapter anchors the **default journey** by which a schema enters the FlowMCP corpus, the **maximalism principle** that governs its endpoint coverage, the link to the **interoperability** main focus, and the **completeness validation** that feeds the `single-test` and `tools-aggregate-schema` Areas (see [`04-phases-single.md`](/grading/phases-single/)). The default position is unambiguous: more tools mean better interoperability. Reduction below the documented endpoint set MUST be justified, or it MUST cost points.
----
## Default Journey (binding)
@@ -76,7 +73,7 @@ Gap reporting is mandatory; gap penalisation is conditional on the absence of an
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`02-eligibility.md`](/grading/eligibility/)
-- [`04-phases-single.md`](/grading/phases-single/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`02-eligibility.md`](/grading/eligibility/) — what is allowed to be part of a gradable schema before scoring begins.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
diff --git a/src/content/docs/grading/determinism-and-tier.md b/src/content/docs/grading/determinism-and-tier.md
index 4f5e0ea..ed4ecf0 100644
--- a/src/content/docs/grading/determinism-and-tier.md
+++ b/src/content/docs/grading/determinism-and-tier.md
@@ -6,18 +6,14 @@ spec_file: "06-determinism-and-tier.md"
order: 6
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/06-determinism-and-tier.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/06-determinism-and-tier.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/06-determinism-and-tier.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/06-determinism-and-tier.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
The Grading-Spec rates every dimension along **two orthogonal axes**: *Determinism* (is the score reproducible?) and *Tier* (what is the highest grade it can reach?). Because the axes are independent, a dimension can be deterministic yet group-bound, or non-deterministic yet autonomous. Both values are carried separately in the grading entry as the fields `determinism` and `gradingTier` (see [`08-grading-model.md`](/grading/grading-model/)), and this page defines what each value means and how the two combine.
| Axis | Values | Effect |
@@ -25,7 +21,6 @@ The Grading-Spec rates every dimension along **two orthogonal axes**: *Determini
| Determinism | `deterministic` / `non-deterministic` | Reproducibility |
| Tier | `autonomous` / `group-bound` | Maximum attainable grade (Ch. 7) |
----
## Axis 1 — Determinism
@@ -219,12 +214,12 @@ Cross-Refs:
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`04-phases-single.md`](/grading/phases-single/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`09-security-and-development.md`](/grading/security-and-development/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/) — why evidencing a single test stays separate from deriving a letter grade.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`09-security-and-development.md`](/grading/security-and-development/) — the security and development checks that carry high categorical-veto affinity.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
diff --git a/src/content/docs/grading/domain-knowledge.md b/src/content/docs/grading/domain-knowledge.md
index 92c0a22..0b6717f 100644
--- a/src/content/docs/grading/domain-knowledge.md
+++ b/src/content/docs/grading/domain-knowledge.md
@@ -6,18 +6,14 @@ spec_file: "10-domain-knowledge.md"
order: 10
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/10-domain-knowledge.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/10-domain-knowledge.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/10-domain-knowledge.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/10-domain-knowledge.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
A **topic group** — a selection composed of several namespaces — develops conventions, shared vocabularies, and provider-specific quirks that are invisible from any single namespace in isolation. Grading at the `group-bound` tier MUST be validated against the group's **Domain-Knowledge content**, and that content lives in the selection's **About Resource** rather than a separate document — a binding identity rather than a loose association. This chapter sets the two thresholds under which a selection counts as a group, lists the seven mandatory sections the content must carry, and traces how it feeds the `domainConformance` and `personaUseCaseFit` dimensions.
## Domain-Knowledge as the Selection's About Resource
@@ -118,12 +114,12 @@ A grading entry that uses Domain-Knowledge content records the resolved About Re
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`09-security-and-development.md`](/grading/security-and-development/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`09-security-and-development.md`](/grading/security-and-development/) — the security and development checks that carry high categorical-veto affinity.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
diff --git a/src/content/docs/grading/eligibility.md b/src/content/docs/grading/eligibility.md
index 4c2111a..66b956b 100644
--- a/src/content/docs/grading/eligibility.md
+++ b/src/content/docs/grading/eligibility.md
@@ -6,19 +6,16 @@ spec_file: "02-eligibility.md"
order: 2
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/02-eligibility.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/02-eligibility.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/02-eligibility.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/02-eligibility.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification.
-
This chapter defines **what is allowed to be part of a gradable schema**. Eligibility is the upstream gate: an endpoint that is not eligible MUST NOT appear in a schema, and the chapter sets out the exclusion criteria, the access classes, the schema-splitting rule, and the target-audience priority. The maximalism principle in [`01-default-journey.md`](/grading/default-journey/) operates **inside** this eligibility boundary — "all admitted endpoints" means "all endpoints that pass the rules in this chapter".
----
## Read Focus
@@ -128,8 +125,8 @@ The detailed verification method belongs to the grader implementation and is out
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`01-default-journey.md`](/grading/default-journey/)
-- [`04-phases-single.md`](/grading/phases-single/)
-- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`01-default-journey.md`](/grading/default-journey/) — how a schema enters the corpus and why maximal endpoint coverage is the default.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
+- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/) — the first prompt that anchors a grading run to persona, schema, mode, and version.
diff --git a/src/content/docs/grading/entry-point-prompt.md b/src/content/docs/grading/entry-point-prompt.md
index c0b4d4a..9cac489 100644
--- a/src/content/docs/grading/entry-point-prompt.md
+++ b/src/content/docs/grading/entry-point-prompt.md
@@ -6,19 +6,16 @@ spec_file: "20-entry-point-prompt.md"
order: 20
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/20-entry-point-prompt.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/20-entry-point-prompt.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/20-entry-point-prompt.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/20-entry-point-prompt.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
Every grading run begins from an empty context, and an empty context needs a concrete starting signal. This chapter defines that signal: the entry-point prompt, the first prompt a grader pastes after `/clear`, which binds the persona, the selection or single schema, the mode, and the spec version into one block. It also fixes the personas obligation — when a persona is spec-mandatory versus merely conventional — so that Single- and Selection-Gradings stay anchored to the same evaluation lens.
----
## Entry-Point Prompt
@@ -82,10 +79,10 @@ The README in the grading repository carries the ready-to-use prompt with exampl
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`02-eligibility.md`](/grading/eligibility/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`02-eligibility.md`](/grading/eligibility/) — what is allowed to be part of a gradable schema before scoring begins.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
diff --git a/src/content/docs/grading/flywheel-loop.md b/src/content/docs/grading/flywheel-loop.md
index c52d248..ceaef9e 100644
--- a/src/content/docs/grading/flywheel-loop.md
+++ b/src/content/docs/grading/flywheel-loop.md
@@ -6,19 +6,16 @@ spec_file: "18-flywheel-loop.md"
order: 18
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/18-flywheel-loop.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/18-flywheel-loop.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/18-flywheel-loop.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/18-flywheel-loop.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
The grading process is a self-reinforcing flywheel: provider folders and selection definitions are imported into the workbench, graded by the provider-side and selection-side areas, and the graded state is exported back as `index.json`. Each turn improves the inputs to the next — a stronger schema lifts every selection that contains it, and every selection run surfaces the weakest schemas in a namespace. This chapter traces that round-trip end to end, names the three loops that keep it spinning, and lists the anti-patterns that break it.
----
## The Flywheel as an IN/OUT Round-Trip
@@ -100,12 +97,12 @@ The following patterns break the flywheel and are excluded by the spec:
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
-- [`04-phases-single.md`](/grading/phases-single/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`11-about-convention.md`](/grading/about-convention/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
diff --git a/src/content/docs/grading/folder-layout.md b/src/content/docs/grading/folder-layout.md
index 7715fa0..b31dcf0 100644
--- a/src/content/docs/grading/folder-layout.md
+++ b/src/content/docs/grading/folder-layout.md
@@ -6,19 +6,16 @@ spec_file: "19-folder-layout.md"
order: 19
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/19-folder-layout.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/19-folder-layout.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/19-folder-layout.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/19-folder-layout.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
The grading data set is a workbench island organised under three top-level folders — `providers/`, `selections/`, and `shared-lists/` — with one folder per primitive and a timestamp-first naming grammar that makes the newest revision resolvable by a naive sort. Source files stay neutral (no in-source hashes), every hash binding and rollup lives in the derived, overwritable `index.json`, and content is never edited in place or deleted: a change writes a new file next to the old one. This chapter is the single source of truth for those paths; the addressing grammar, the folder↔namespace invariant, the universal `_gradings/` placement rule, and the per-schema lifecycle all build on it.
----
## Folder Layout
@@ -166,14 +163,14 @@ Old source files remain referenceable for historical gradings — they are not d
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`15-versioning-axes.md`](/grading/versioning-axes/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
-- [`22-workbench-island.md`](/grading/workbench-island/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`26-monitoring-track.md`](/grading/monitoring-track/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`15-versioning-axes.md`](/grading/versioning-axes/) — how primitives are versioned by filename timestamp and bound by a canonical hash.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
+- [`22-workbench-island.md`](/grading/workbench-island/) — the walled-off working directory that never overwrites a shipped source.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`26-monitoring-track.md`](/grading/monitoring-track/) — the deterministic GitHub board projecting each namespace's grading state.
diff --git a/src/content/docs/grading/grading-model.md b/src/content/docs/grading/grading-model.md
index 191d825..028b8f3 100644
--- a/src/content/docs/grading/grading-model.md
+++ b/src/content/docs/grading/grading-model.md
@@ -6,21 +6,16 @@ spec_file: "08-grading-model.md"
order: 8
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/08-grading-model.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/08-grading-model.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/08-grading-model.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/08-grading-model.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
This page defines the **grading entry** — the single durable artefact a grader emits and the one data model that both skill families (Single-Schema-Validator and Selection-Validator) write into. A grading is an array of per-question evaluations that carries veto power, a tier trim (autonomous max `B` / group max `A`), and can be re-triggered by the user; a present Categorical Veto overrides all aggregation and yields `aggregateGrade = REJECTED`. Every grading entry MUST validate against the JSON-Schema annex [`08-grading-model.schema.json`](./08-grading-model.schema.json).
----
## Status Record vs. Grading Entry (NEW in 3.0.0)
@@ -513,17 +508,16 @@ if( rejected.aggregateGrade !== 'REJECTED' ) { throw new Error( 'rejected exampl
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/)
-- [`09-security-and-development.md`](/grading/security-and-development/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
-- [`15-versioning-axes.md`](/grading/versioning-axes/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`22-workbench-island.md`](/grading/workbench-island/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`08-grading-model.schema.json`](./08-grading-model.schema.json)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/) — why evidencing a single test stays separate from deriving a letter grade.
+- [`09-security-and-development.md`](/grading/security-and-development/) — the security and development checks that carry high categorical-veto affinity.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
+- [`15-versioning-axes.md`](/grading/versioning-axes/) — how primitives are versioned by filename timestamp and bound by a canonical hash.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`22-workbench-island.md`](/grading/workbench-island/) — the walled-off working directory that never overwrites a shipped source.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
diff --git a/src/content/docs/grading/harness-and-goal.md b/src/content/docs/grading/harness-and-goal.md
index 72bf27f..1a08a8b 100644
--- a/src/content/docs/grading/harness-and-goal.md
+++ b/src/content/docs/grading/harness-and-goal.md
@@ -6,19 +6,16 @@ spec_file: "25-harness-and-goal.md"
order: 25
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/25-harness-and-goal.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/25-harness-and-goal.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/25-harness-and-goal.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/25-harness-and-goal.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/).
-
Non-deterministic grading runs inside a harness, and the harness is driven by a completion condition rather than a fixed step count. This chapter defines that harness, the completion-condition mechanism, and the surfacing convention that makes the run's progress visible to the transcript-only evaluator. Because each turn restarts from scratch, it also fixes the two-loop structure and the idempotency rule that keep state in files rather than in memory.
----
## The Harness
@@ -72,9 +69,9 @@ The prompt builder appends a **Goal-Block** (a fitting completion condition plus
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`24-selection-aggregate.md`](/grading/selection-aggregate/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/) — the first prompt that anchors a grading run to persona, schema, mode, and version.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`24-selection-aggregate.md`](/grading/selection-aggregate/) — the eleventh area that grades a selection as a whole and gates Grade A.
diff --git a/src/content/docs/grading/index-json.md b/src/content/docs/grading/index-json.md
index d377a75..f0c1952 100644
--- a/src/content/docs/grading/index-json.md
+++ b/src/content/docs/grading/index-json.md
@@ -6,19 +6,16 @@ spec_file: "23-index-json.md"
order: 23
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/23-index-json.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/23-index-json.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/23-index-json.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/23-index-json.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/).
-
Status and grade live on the **namespace** level (and the **selection** level), not on a per-schema sidecar file: there is exactly **one `index.json` per namespace and one per selection**. The file is the rollup — a tree of `tool → schema → namespace` (provider flow) or `member → selection` (selection flow), where each node carries its newest grade (resolved via `resolveLatest`) and a rolled-up status. This chapter pins its structure: the two-part split between a recomputed live rollup and a frozen point-in-time snapshot, the two status vocabularies that must never be mixed, and the audit-trail and veto rules it inherits. It supersedes the former Kanban phase-status contract (see [`14-kanban-data-contract.md`](/grading/kanban-data-contract/)); the two salvaged rules from that contract — the audit trail and the irreversible veto — are restated normatively in [Salvaged Rules: Audit Trail + Irreversible Veto](#salvaged-rules-audit-trail--irreversible-veto).
----
## Two Natures: Live-Rollup and Frozen `lockSnapshot`
@@ -214,13 +211,12 @@ This record validates against [`index.schema.json`](./index.schema.json) with on
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`14-kanban-data-contract.md`](/grading/kanban-data-contract/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`24-selection-aggregate.md`](/grading/selection-aggregate/)
-- [`26-monitoring-track.md`](/grading/monitoring-track/)
-- [`index.schema.json`](./index.schema.json)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`14-kanban-data-contract.md`](/grading/kanban-data-contract/) — the superseded phase-status contract, now replaced by the index.json rollup.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`24-selection-aggregate.md`](/grading/selection-aggregate/) — the eleventh area that grades a selection as a whole and gates Grade A.
+- [`26-monitoring-track.md`](/grading/monitoring-track/) — the deterministic GitHub board projecting each namespace's grading state.
diff --git a/src/content/docs/grading/kanban-data-contract.md b/src/content/docs/grading/kanban-data-contract.md
index faa4087..05c9377 100644
--- a/src/content/docs/grading/kanban-data-contract.md
+++ b/src/content/docs/grading/kanban-data-contract.md
@@ -6,18 +6,14 @@ spec_file: "14-kanban-data-contract.md"
order: 14
section: "Grading"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/14-kanban-data-contract.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/14-kanban-data-contract.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/14-kanban-data-contract.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/14-kanban-data-contract.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/).
-
----
-
This chapter is **superseded**: the earlier Kanban data contract — a per-phase status response with a `single`/`selection` lane separation — has been replaced by a single derived rollup file per namespace and per selection, the [`index.json`](/grading/index-json/), which carries node status, member resolution, the frozen lock snapshot, and the aggregate grade in one place. Consumers MUST read status from `index.json`; the old phase-status surface and its annex schema are no longer normative. Two principles survive the break and are restated here for traceability — the never-delete audit trail and the irreversible `rejected` veto — and now also govern the grading-monitoring board defined in [`26-monitoring-track.md`](/grading/monitoring-track/).
## Why this chapter is superseded
@@ -44,9 +40,8 @@ A categorical veto produces the terminal node status `rejected`. This status is
## Related
-- [`14-kanban-data-contract.schema.json`](./14-kanban-data-contract.schema.json)
-- [`23-index-json.md`](/grading/index-json/)
-- [`22-workbench-island.md`](/grading/workbench-island/)
-- [`26-monitoring-track.md`](/grading/monitoring-track/)
-- [`09-security-and-development.md`](/grading/security-and-development/)
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`22-workbench-island.md`](/grading/workbench-island/) — the walled-off working directory that never overwrites a shipped source.
+- [`26-monitoring-track.md`](/grading/monitoring-track/) — the deterministic GitHub board projecting each namespace's grading state.
+- [`09-security-and-development.md`](/grading/security-and-development/) — the security and development checks that carry high categorical-veto affinity.
diff --git a/src/content/docs/grading/monitoring-track.md b/src/content/docs/grading/monitoring-track.md
index 6cff9df..9e58b20 100644
--- a/src/content/docs/grading/monitoring-track.md
+++ b/src/content/docs/grading/monitoring-track.md
@@ -6,19 +6,16 @@ spec_file: "26-monitoring-track.md"
order: 26
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/26-monitoring-track.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/26-monitoring-track.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/26-monitoring-track.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/26-monitoring-track.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
This chapter brings the grading-monitoring board back into scope and defines the grading-monitoring track that projects each namespace's grading state onto a deterministic GitHub board. It fixes the decoupling from the schema-development track, the one-grading-issue-per-namespace contract and its provider-proof metadata source, the deterministic board contract, and the island ↔ repo ↔ provider-proof data flow. The executable sync workflow, the proof producer, and the consuming skills are deferred to implementation phases; here only their contracts are written.
----
## Scope — the board is back
@@ -157,10 +154,10 @@ The two salvaged rules from [`14-kanban-data-contract.md`](/grading/kanban-data-
## Related
-- [`22-workbench-island.md`](/grading/workbench-island/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`14-kanban-data-contract.md`](/grading/kanban-data-contract/)
+- [`22-workbench-island.md`](/grading/workbench-island/) — the walled-off working directory that never overwrites a shipped source.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`14-kanban-data-contract.md`](/grading/kanban-data-contract/) — the superseded phase-status contract, now replaced by the index.json rollup.
diff --git a/src/content/docs/grading/overview.md b/src/content/docs/grading/overview.md
index f2cbd37..f78402c 100644
--- a/src/content/docs/grading/overview.md
+++ b/src/content/docs/grading/overview.md
@@ -6,9 +6,9 @@ spec_file: "00-overview.md"
order: 0
section: "Grading"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/00-overview.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/00-overview.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/00-overview.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/00-overview.md."
@@ -16,15 +16,14 @@ edit_warning: "This file is auto-generated. Source: grading/3.0.0/00-overview.md
The Grading-Spec describes **how** FlowMCP schemas and selections are evaluated and graded — the phases, the Scoring System, the Grading System, the categorical veto, tiers, skills, and domain knowledge. It is a separate, independently versioned document layered on top of the FlowMCP Schemas Specification, which remains the highest authority for what a schema, a selection, and the primitives actually are. This overview sets the conformance language, the document hierarchy, the guiding interoperability focus, and the chapter map for the rest of the spec.
-Normative language (MUST/SHOULD/MAY) follows the conventions defined in the FlowMCP Schemas Specification [/specification/00-overview/](/specification/00-overview/) (Conformance Language). This Grading-Spec does not re-define normative keywords.
+Normative language (MUST/SHOULD/MAY) follows the conventions defined in the FlowMCP Schemas Specification [/specification/00-overview/](/specification/overview/) (Conformance Language). This Grading-Spec does not re-define normative keywords.
----
## Conformance Language
This document uses the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" as defined in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals.
-The binding source for this conformance interpretation is the FlowMCP Schemas Specification [/specification/00-overview/](/specification/00-overview/). Some chapters of this Grading-Spec are intentionally written in prose without normative keywords because they describe history, motivation, or conceptual background (this overview document). All other chapters use normative language and assume this conformance interpretation.
+The binding source for this conformance interpretation is the FlowMCP Schemas Specification [/specification/00-overview/](/specification/overview/). Some chapters of this Grading-Spec are intentionally written in prose without normative keywords because they describe history, motivation, or conceptual background (this overview document). All other chapters use normative language and assume this conformance interpretation.
---
@@ -39,7 +38,7 @@ The Grading-Spec is **not** the highest instance. The FlowMCP Schemas Specificat
| Middle | Grading-Spec (this document) | Independent — describes phases, Scoring System, Grading System, Veto, Tier, Skills, Domain Knowledge |
| Bottom | Scripts and modules in the grading implementation | Implementation derived from this spec |
-Cross-reference: [Schemas-Spec — Overview](/specification/00-overview/).
+Cross-reference: [Schemas-Spec — Overview](/specification/overview/).
---
@@ -85,12 +84,12 @@ The grading rules — how scores are mapped to grades, how the categorical veto
This Grading-Spec relies on definitions from the Schemas-Spec. The following chapters are particularly relevant:
-- [Scoring protocol](/specification/22-scoring-protocol/) — the existing `prompts.json` / `scores.json` contract that this Grading-Spec sub-consumes.
-- [Validation strategy](/specification/20-validation-strategy/) — the deterministic baseline; the Grading System defined here extends (and partly replaces) the Grade System described there.
-- [Resources](/specification/13-resources/) — Resource primitive (basis for the `about` convention to be reserved).
-- [Skills](/specification/14-skills/) — Skill types `'namespace' | 'selection' | 'agent'`.
-- [Selections](/specification/17-selections/) — Selection as the fifth primitive; carries `tools[]` / `skills[]` / `resources[]` / `prompts[]`.
-- [Preload](/specification/11-preload/) — Preload pattern.
+- [Scoring protocol](/specification/scoring-protocol/) — the existing `prompts.json` / `scores.json` contract that this Grading-Spec sub-consumes.
+- [Validation strategy](/specification/validation-strategy/) — the deterministic baseline; the Grading System defined here extends (and partly replaces) the Grade System described there.
+- [Resources](/specification/resources/) — Resource primitive (basis for the `about` convention to be reserved).
+- [Skills](/specification/skills/) — Skill types `'namespace' | 'selection' | 'agent'`.
+- [Selections](/specification/selections/) — Selection as the fifth primitive; carries `tools[]` / `skills[]` / `resources[]` / `prompts[]`.
+- [Preload](/specification/preload/) — Preload pattern.
---
diff --git a/src/content/docs/grading/personas-contract.md b/src/content/docs/grading/personas-contract.md
index f895659..e5156c1 100644
--- a/src/content/docs/grading/personas-contract.md
+++ b/src/content/docs/grading/personas-contract.md
@@ -6,18 +6,14 @@ spec_file: "12-personas-contract.md"
order: 12
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/12-personas-contract.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/12-personas-contract.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/12-personas-contract.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/12-personas-contract.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
The Grading-Spec does not invent personas; it references the four generalised base personas maintained in the `flowmcp-spec` personas folder and pins down how a grading entry points at one. This chapter fixes the persona reference contract (`basePersonaId` plus an optional `lensId`), explains the **Lens** model that narrows a generalised persona to a domain without spawning a fifth one, and records which Areas must carry a persona. It also recognises a second, technical persona tier — three review lenses owned by the grading repository — used only for autonomous Task-A schema preparation.
## Source of Truth
@@ -179,8 +175,8 @@ content (identity, review focus, sign-off / block criteria) lives in the grading
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`13-skills.md`](/grading/skills/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
diff --git a/src/content/docs/grading/phases-selection.md b/src/content/docs/grading/phases-selection.md
index 73ab2f3..4009bab 100644
--- a/src/content/docs/grading/phases-selection.md
+++ b/src/content/docs/grading/phases-selection.md
@@ -6,21 +6,16 @@ spec_file: "05-phases-selection.md"
order: 5
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/05-phases-selection.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/05-phases-selection.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/05-phases-selection.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/05-phases-selection.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
A **selection** is a topic-oriented, curated collection of tools and skills assembled over several member namespaces — the fifth schema primitive defined in the FlowMCP Schemas Specification (see its [`17-selections.md`](/specification/selections/)). This page is the normative source for the **selection-side grading Areas**, which run on top of the provider-side Areas of [`04-phases-single.md`](/grading/phases-single/): they presuppose that every member schema has already been graded on the provider side and reached the status `stable` (see the pre-condition below). The selection-side Areas produce `gradingTier = group-bound`, and only under this tier is grade **A** reachable (per [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)).
----
## Prerequisite: Soft and Hard Thresholds
@@ -114,13 +109,13 @@ This tier is the **only** path to grade **A**. The provider-side Areas (`autonom
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`04-phases-single.md`](/grading/phases-single/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
diff --git a/src/content/docs/grading/phases-single.md b/src/content/docs/grading/phases-single.md
index 5632706..b771637 100644
--- a/src/content/docs/grading/phases-single.md
+++ b/src/content/docs/grading/phases-single.md
@@ -6,19 +6,16 @@ spec_file: "04-phases-single.md"
order: 4
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/04-phases-single.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/04-phases-single.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/04-phases-single.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/04-phases-single.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification.
-
This chapter is the **normative source for the provider-side grading Areas** — the Areas that grade one **schema** inside one **namespace** without group context. Each Area is a self-contained grading rubric attached to the primitive it evaluates, written to a `_gradings/` folder next to that primitive (see [`19-folder-layout.md`](/grading/folder-layout/)). The provider side produces the **base unit** of the FlowMCP corpus — one namespace with one or more schemas, namespace skills, and an About Resource — while higher-level grouping is defined separately in [`05-phases-selection.md`](/grading/phases-selection/). A schema graded only on the provider side has `gradingTier = autonomous`, whose maximum attainable grade is **B** ([`06-determinism-and-tier.md`](/grading/determinism-and-tier/)); grade A requires a `group-bound` contribution from the selection side.
----
## The Provider-Side Areas
@@ -102,14 +99,14 @@ The provider-side Areas produce `gradingTier = autonomous`. Per [`06-determinism
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`01-default-journey.md`](/grading/default-journey/)
-- [`02-eligibility.md`](/grading/eligibility/)
-- [`03-tos.md`](/grading/tos/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`01-default-journey.md`](/grading/default-journey/) — how a schema enters the corpus and why maximal endpoint coverage is the default.
+- [`02-eligibility.md`](/grading/eligibility/) — what is allowed to be part of a gradable schema before scoring begins.
+- [`03-tos.md`](/grading/tos/) — how Terms-of-Service links are checked as a due-diligence score, never a hard gate.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
diff --git a/src/content/docs/grading/pre-conditions.md b/src/content/docs/grading/pre-conditions.md
index 664ca43..db7a4b1 100644
--- a/src/content/docs/grading/pre-conditions.md
+++ b/src/content/docs/grading/pre-conditions.md
@@ -6,19 +6,16 @@ spec_file: "21-pre-conditions.md"
order: 21
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/21-pre-conditions.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/21-pre-conditions.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/21-pre-conditions.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/21-pre-conditions.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
An aggregate grade is only trustworthy if its members are themselves settled. This chapter states the one rule that guarantees that: any check spanning multiple schemas — a Selection-Grading or an About verification — is blocked until every member schema reads `gradingStatus: stable` in the frozen `lockSnapshot`. It is the single place where that universal pre-condition is defined; the Selection and About chapters point back here rather than restating it, and the chapter also pins the readiness ladder and per-Area dependency gates that decide when each Area becomes eligible to run.
----
## Pre-Conditions
@@ -150,11 +147,11 @@ its concrete implementation is a later-stage concern and is not pinned by this s
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`15-versioning-axes.md`](/grading/versioning-axes/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`15-versioning-axes.md`](/grading/versioning-axes/) — how primitives are versioned by filename timestamp and bound by a canonical hash.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
diff --git a/src/content/docs/grading/scope-whitelist.md b/src/content/docs/grading/scope-whitelist.md
index 81872b9..efcdb9f 100644
--- a/src/content/docs/grading/scope-whitelist.md
+++ b/src/content/docs/grading/scope-whitelist.md
@@ -6,19 +6,16 @@ spec_file: "17-scope-whitelist.md"
order: 17
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/17-scope-whitelist.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/17-scope-whitelist.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/17-scope-whitelist.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/17-scope-whitelist.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
The grading system covers only an explicit allowlist of FlowMCP constructs: Tools, Shared Lists, the `about` markdown resource, and Skills are gradable, while all other Resources, Prompts, and Procedures stay on-hold because they lack a clear grading methodology. A second, orthogonal boundary applies on top of that allowlist — the public-only principle restricts grading to publicly accessible data sources, leaving private or non-public interfaces to the schema author. This chapter defines both boundaries and the consequences they have for which areas run and how out-of-scope fields are answered.
----
## Scope
@@ -63,9 +60,9 @@ The two complement each other. A schema can satisfy the exclusion criteria and a
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`02-eligibility.md`](/grading/eligibility/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`02-eligibility.md`](/grading/eligibility/) — what is allowed to be part of a gradable schema before scoring begins.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
diff --git a/src/content/docs/grading/scoring-vs-grading.md b/src/content/docs/grading/scoring-vs-grading.md
index dd97b83..681c748 100644
--- a/src/content/docs/grading/scoring-vs-grading.md
+++ b/src/content/docs/grading/scoring-vs-grading.md
@@ -6,21 +6,16 @@ spec_file: "07-scoring-vs-grading.md"
order: 7
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/07-scoring-vs-grading.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/07-scoring-vs-grading.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/07-scoring-vs-grading.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/07-scoring-vs-grading.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
"Scoring" and "Grading" name two distinct sub-systems that this spec keeps strictly apart: the Scoring System evidences how a single test or dimension performs, while the Grading System derives a letter mark from a collection of those scores. Each carries its own independent version namespace, so a scoring update does not automatically imply a grading update — and vice versa. A grader, scorer, or aggregator that conforms to `gradingSpec/3.0.0` MUST keep both names — and both version strings — apart in every emitted artefact (grading entries, logs, error codes).
----
## Comparison Table
@@ -87,10 +82,10 @@ This Grading-Spec does NOT re-define the `prompts.json` / `scores.json` contract
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`04-phases-single.md`](/grading/phases-single/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`22-scoring-protocol.md`](/specification/scoring-protocol/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`04-phases-single.md`](/grading/phases-single/) — the six provider-side areas that grade one schema without group context.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`22-scoring-protocol.md`](/specification/scoring-protocol/) — the JSON formats exchanged between the CLI and an external grader.
diff --git a/src/content/docs/grading/security-and-development.md b/src/content/docs/grading/security-and-development.md
index 85cbba2..5faa70b 100644
--- a/src/content/docs/grading/security-and-development.md
+++ b/src/content/docs/grading/security-and-development.md
@@ -6,21 +6,16 @@ spec_file: "09-security-and-development.md"
order: 9
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/09-security-and-development.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/09-security-and-development.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/09-security-and-development.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/09-security-and-development.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
Security and development discipline form an independent grading area with high veto affinity, and this page sets the binding rules for it. Three of the four Categorical-Veto triggers defined in [`08-grading-model.md`](/grading/grading-model/) originate here (`malicious-module`, `api-key-domain-mismatch`, `illegal-content`), while the fourth (`ai-security-veto`) is the non-deterministic counterpart that catches what the deterministic triggers miss. The checks below feed primarily `securityScore` (autonomous tier), plus `formattingCompliance` and the `outputSchemaConformance` sub-dimension "pipebarkeit"; they contribute to the `single-test` and `tools-aggregate-schema` Areas, and no check defined here raises the maximum attainable grade beyond `B` on its own.
----
## API-Key Hygiene (Deterministic)
@@ -160,9 +155,9 @@ Concrete weights, thresholds, and score-boost magnitudes belong in the `gradingS
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`11-preload.md`](/specification/preload/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`07-scoring-vs-grading.md`](/grading/scoring-vs-grading/) — why evidencing a single test stays separate from deriving a letter grade.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`11-preload.md`](/specification/preload/) — how a tool declares that its response is safe to cache.
diff --git a/src/content/docs/grading/selection-aggregate.md b/src/content/docs/grading/selection-aggregate.md
index d23d0f3..a9ba5a0 100644
--- a/src/content/docs/grading/selection-aggregate.md
+++ b/src/content/docs/grading/selection-aggregate.md
@@ -6,19 +6,16 @@ spec_file: "24-selection-aggregate.md"
order: 24
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/24-selection-aggregate.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/24-selection-aggregate.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/24-selection-aggregate.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/24-selection-aggregate.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/).
-
`selection-aggregate` is the eleventh grading area, and the one that grades a selection as a whole rather than any single primitive within it. It carries the selection-wide dimensions — thresholds, topic coherence, member-against-About conformance, persona fit, and the group-bound tier — that have no per-skill or per-About home. Without it there is no gate for Grade A, which is why this area, its output schema, template, and skill triad MUST exist alongside the ten areas already in place.
----
## Why this area exists
@@ -81,13 +78,13 @@ Like every area, `selection-aggregate` is backed by a skill triad — the three-
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`13-skills.md`](/grading/skills/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`25-harness-and-goal.md`](/grading/harness-and-goal/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`13-skills.md`](/grading/skills/) — how namespace skills and leveled selection skills are graded differently.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`25-harness-and-goal.md`](/grading/harness-and-goal/) — the completion-condition harness that drives non-deterministic grading turn by turn.
diff --git a/src/content/docs/grading/selection-lockfile.md b/src/content/docs/grading/selection-lockfile.md
index c10b2b5..17ddf93 100644
--- a/src/content/docs/grading/selection-lockfile.md
+++ b/src/content/docs/grading/selection-lockfile.md
@@ -6,19 +6,16 @@ spec_file: "16-selection-lockfile.md"
order: 16
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/16-selection-lockfile.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/16-selection-lockfile.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/16-selection-lockfile.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/16-selection-lockfile.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
A Selection binds several schemas into a domain coverage, and a Selection grading must be reproducible against an exact set of member snapshots. Two artefacts carry that: the neutral `selection.json` holds only the intentional definition (members, skills, personas, trigger sentence) with no pinned hashes, while the frozen `index.json.lockSnapshot` records the member pins — the schema versions and hashes — captured once at grading start and preserved across rebuilds. This chapter defines both artefacts, the per-member `gradingStatus` they carry, and the pre-condition workflow that reads only the frozen snapshot.
----
## Selection Definition and Lock Snapshot
@@ -135,13 +132,12 @@ The annex schemas `selection.lock.schema.json` and `namespace.schema.json` are *
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`15-versioning-axes.md`](/grading/versioning-axes/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`21-pre-conditions.md`](/grading/pre-conditions/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/)
-- [`selection.schema.json`](./selection.schema.json)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`15-versioning-axes.md`](/grading/versioning-axes/) — how primitives are versioned by filename timestamp and bound by a canonical hash.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`21-pre-conditions.md`](/grading/pre-conditions/) — the universal rule blocking aggregate checks until every member schema is stable.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`20-entry-point-prompt.md`](/grading/entry-point-prompt/) — the first prompt that anchors a grading run to persona, schema, mode, and version.
diff --git a/src/content/docs/grading/skills.md b/src/content/docs/grading/skills.md
index 2727447..96f32d7 100644
--- a/src/content/docs/grading/skills.md
+++ b/src/content/docs/grading/skills.md
@@ -1,23 +1,19 @@
---
-title: "Skills: Namespace Skill vs. Selection Skill"
+title: "Namespace Skill vs. Selection Skill"
description: "Skills come in two categories that grade very differently. A **namespace skill** covers exactly one namespace, validates at the `autonomous` tier without group context, and carries no level. A..."
grading_version: "3.0.0"
spec_file: "13-skills.md"
order: 13
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/13-skills.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/13-skills.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/13-skills.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/13-skills.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
----
-
Skills come in two categories that grade very differently. A **namespace skill** covers exactly one namespace, validates at the `autonomous` tier without group context, and carries no level. A **selection skill** spans a selection of namespaces, validates at the `group-bound` tier against the group's Domain-Knowledge content, and carries an `L1`/`L2`/`L3` level that reflects its role — Signpost, Topic, or Usecase — not a namespace count. This chapter defines both categories, the `type` and grading-only `level` fields, their mandatory content and validation obligations, and the deterministic cross-reference rules that bind the selection-skill level chain together.
## Namespace Skill vs Selection Skill
@@ -188,11 +184,11 @@ The Schemas-Spec rule `SKL018` (max 4 skills per selection / agent registration
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`11-about-convention.md`](/grading/about-convention/)
-- [`12-personas-contract.md`](/grading/personas-contract/)
-- [`14-skills.md`](../../spec/v4.3.0/14-skills.md)
-- [`05-phases-selection.md`](/grading/phases-selection/)
-- [`10-domain-knowledge.md`](/grading/domain-knowledge/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`11-about-convention.md`](/grading/about-convention/) — the reserved About markdown Resource that describes what a namespace does.
+- [`12-personas-contract.md`](/grading/personas-contract/) — how a grading entry references one of the four base personas and a lens.
+- [`14-skills.md`](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [`05-phases-selection.md`](/grading/phases-selection/) — the five selection-side areas that grade a curated group of namespaces.
+- [`10-domain-knowledge.md`](/grading/domain-knowledge/) — how a selection's About Resource carries the group's domain knowledge.
diff --git a/src/content/docs/grading/tos.md b/src/content/docs/grading/tos.md
index 29f27c8..a2b07d8 100644
--- a/src/content/docs/grading/tos.md
+++ b/src/content/docs/grading/tos.md
@@ -6,19 +6,16 @@ spec_file: "03-tos.md"
order: 3
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/03-tos.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/03-tos.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/03-tos.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/03-tos.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification.
-
This chapter defines the **Terms-of-Service (ToS) handling** of the Grading-Spec. ToS handling is part of the **due-diligence** layer, not part of the eligibility gate — a missing ToS link does not disqualify a schema, it lowers the score. The chapter anchors the base due-diligence rule (`SHOULD`, not `MUST`), the "ToS attached" definition, the Root-Domain-Match algorithm, the central distinction between "we observe" and "we accept", and the grader role with its mandatory "grader assessment, not legally binding" disclaimer.
----
## Due-Diligence Base
@@ -96,8 +93,8 @@ The disclaimer is **non-optional**. A grading entry that contains a `legalAssess
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`02-eligibility.md`](/grading/eligibility/)
-- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/)
-- [`08-grading-model.md`](/grading/grading-model/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`02-eligibility.md`](/grading/eligibility/) — what is allowed to be part of a gradable schema before scoring begins.
+- [`06-determinism-and-tier.md`](/grading/determinism-and-tier/) — the two axes that decide reproducibility and the highest grade a dimension can reach.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
diff --git a/src/content/docs/grading/versioning-axes.md b/src/content/docs/grading/versioning-axes.md
index f960378..6a179f2 100644
--- a/src/content/docs/grading/versioning-axes.md
+++ b/src/content/docs/grading/versioning-axes.md
@@ -6,19 +6,16 @@ spec_file: "15-versioning-axes.md"
order: 15
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/15-versioning-axes.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/15-versioning-axes.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/15-versioning-axes.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/15-versioning-axes.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/). The binding source is the FlowMCP Schemas Specification v4.3.0.
-
Every gradable primitive is versioned by a timestamp carried in its filename rather than by an in-source version key, so the newest revision is found by a naive sort and historical revisions stay referenceable. The same files are kept neutral: they carry only logical names, while the canonical sha256-8 hash that binds a grading to an exact content snapshot lives in the filename and the derived `index.json` — never inside the source. This chapter defines the timestamp naming axis, the out-of-source hash placement, and the canonical representation used to compute the hash.
----
## Timestamp Versioning
@@ -71,9 +68,9 @@ Reference implementation: [`src/HashGenerator.mjs`](../../src/HashGenerator.mjs)
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`08-grading-model.md`](/grading/grading-model/)
-- [`16-selection-lockfile.md`](/grading/selection-lockfile/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`08-grading-model.md`](/grading/grading-model/) — the grading entry data model, its veto power, and tier trim.
+- [`16-selection-lockfile.md`](/grading/selection-lockfile/) — the neutral selection definition and the frozen member-pin lock snapshot.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
diff --git a/src/content/docs/grading/workbench-island.md b/src/content/docs/grading/workbench-island.md
index afb8269..7d552d4 100644
--- a/src/content/docs/grading/workbench-island.md
+++ b/src/content/docs/grading/workbench-island.md
@@ -6,19 +6,16 @@ spec_file: "22-workbench-island.md"
order: 22
section: "Grading"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/grading/3.0.0/22-workbench-island.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/grading/3.0.0/22-workbench-island.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "grading/3.0.0/22-workbench-island.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: grading/3.0.0/22-workbench-island.md."
---
-> Conformance language (MUST/SHOULD/MAY) follows BCP 14 [RFC2119]/[RFC8174] as defined in [`00-overview.md`](/grading/overview/).
-
The grading workbench keeps its working files in a directory that is deliberately walled off from the shipped repositories. This chapter explains why that separation exists, how the internal naming scheme earns its verbosity, and how data crosses the boundary in both directions without ever overwriting a source. The result is a non-destructive round-trip — import, grade, improve, export — whose internal complexity never reaches the public artifacts.
----
## The Island Principle
@@ -80,10 +77,10 @@ The round-trip is the concrete shape of the flywheel loop described in [`18-flyw
## Related
-- [`00-overview.md`](/grading/overview/)
-- [`19-folder-layout.md`](/grading/folder-layout/)
-- [`15-versioning-axes.md`](/grading/versioning-axes/)
-- [`23-index-json.md`](/grading/index-json/)
-- [`18-flywheel-loop.md`](/grading/flywheel-loop/)
-- [`26-monitoring-track.md`](/grading/monitoring-track/)
+- [`00-overview.md`](/grading/overview/) — how FlowMCP schemas and selections are evaluated and graded.
+- [`19-folder-layout.md`](/grading/folder-layout/) — the three top-level folders and timestamp-first naming grammar of the grading island.
+- [`15-versioning-axes.md`](/grading/versioning-axes/) — how primitives are versioned by filename timestamp and bound by a canonical hash.
+- [`23-index-json.md`](/grading/index-json/) — the one rollup file per namespace and selection carrying status and grade.
+- [`18-flywheel-loop.md`](/grading/flywheel-loop/) — the self-reinforcing import, grade, improve, export round-trip.
+- [`26-monitoring-track.md`](/grading/monitoring-track/) — the deterministic GitHub board projecting each namespace's grading state.
diff --git a/src/content/docs/introduction/for-llms.mdx b/src/content/docs/introduction/for-llms.mdx
index f867179..0c67bee 100644
--- a/src/content/docs/introduction/for-llms.mdx
+++ b/src/content/docs/introduction/for-llms.mdx
@@ -8,6 +8,8 @@ import InstallNote from '../../../components/InstallNote.astro';
Introduction
{/* PAGEFIND-META-END */}
+This page is the short, machine-oriented entry point for an AI agent meeting FlowMCP for the first time. It gives you the one command to install the CLI, the minimal `search` → `call` loop to reach any of the catalog's tools, and a mini-skill you can follow verbatim. Everything here is the same workflow a human follows — condensed to what an agent needs to act.
+
## Install
diff --git a/src/content/docs/quickstart/quickstart.mdx b/src/content/docs/quickstart/quickstart.mdx
index 9045566..43584d9 100644
--- a/src/content/docs/quickstart/quickstart.mdx
+++ b/src/content/docs/quickstart/quickstart.mdx
@@ -1,6 +1,6 @@
---
-title: Quickstart
-description: "Create your first FlowMCP schema and call an API in 5 minutes"
+title: CLI Setup
+description: "Install the FlowMCP CLI, then search the catalog and call an API in five minutes."
---
{/* PAGEFIND-META-START */}
Get Started
@@ -12,6 +12,8 @@ import refs from '../../../data/refs.json'
export const schemaCount = refs?.stats?.count_schemas ?? '—'
export const toolCount = refs?.stats?.count_tools ?? '—'
+This page is the fastest path from nothing to a live API call. Install the FlowMCP CLI, point it at the catalog, and run your first `search` → `call` — no code, no account, no activation step. Each section below builds on the previous one, so work through them in order.
+
## Install the CLI
The FlowMCP CLI is the fastest path to a working setup. It lets you search the {toolCount}-tool catalog, add schemas, and call APIs without writing code.
diff --git a/src/content/docs/specification/agents.md b/src/content/docs/specification/agents.md
index f64f59f..170eee4 100644
--- a/src/content/docs/specification/agents.md
+++ b/src/content/docs/specification/agents.md
@@ -6,9 +6,9 @@ spec_file: "06-agents.md"
order: 6
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/06-agents.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/06-agents.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/06-agents.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/06-agents.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/06-agents.md."
An Agent is a complete, purpose-driven definition that bundles tools from multiple providers for a specific task. Unlike a plain tool list, an Agent is a full composition: it cherry-picks tools across providers, binds them to a specific LLM, defines a system prompt and behavioral guidelines, and ships with its own tests, explanatory prompts, instructional skills, and optional resources. The sections below cover the agent manifest format, how tool references are resolved, model binding, the system prompt, integrity verification through hashes, and the validation rules applied at activation.
----
## Purpose
@@ -1069,11 +1068,11 @@ export const agent = {
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [12-prompt-architecture.md](/specification/prompt-architecture/)
-- [14-skills.md](/specification/skills/)
-- [17-selections.md](/specification/selections/)
-- [16-id-schema.md](/specification/id-schema/)
-- [10-tests.md](/specification/tests/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [12-prompt-architecture.md](/specification/prompt-architecture/) — the two-tier prompt system for provider and agent workflows.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
diff --git a/src/content/docs/specification/catalog.md b/src/content/docs/specification/catalog.md
index d2f24f9..fda721f 100644
--- a/src/content/docs/specification/catalog.md
+++ b/src/content/docs/specification/catalog.md
@@ -6,9 +6,9 @@ spec_file: "15-catalog.md"
order: 15
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/15-catalog.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/15-catalog.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/15-catalog.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/15-catalog.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/15-catalog.md."
A Catalog is the top-level organizational unit in FlowMCP v3. It is a named directory containing a `registry.json` manifest that describes all shared lists, provider schemas, and agent definitions within that directory. Multiple catalogs can coexist side by side, enabling community, company-internal, and experimental tool collections to operate independently.
----
## Purpose
@@ -403,10 +402,10 @@ The command runs all CAT rules and reports errors and warnings. A catalog with a
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [03-shared-lists.md](/specification/shared-lists/)
-- [06-agents.md](/specification/agents/)
-- [16-id-schema.md](/specification/id-schema/)
-- [21-schema-lifecycle.md](/specification/schema-lifecycle/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [03-shared-lists.md](/specification/shared-lists/) — versioned value sets that schemas reference instead of duplicating.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [21-schema-lifecycle.md](/specification/schema-lifecycle/) — the six stages a schema travels from idea to production.
diff --git a/src/content/docs/specification/id-schema.md b/src/content/docs/specification/id-schema.md
index bb5228b..fe0baf2 100644
--- a/src/content/docs/specification/id-schema.md
+++ b/src/content/docs/specification/id-schema.md
@@ -6,9 +6,9 @@ spec_file: "16-id-schema.md"
order: 16
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/16-id-schema.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/16-id-schema.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/16-id-schema.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/16-id-schema.md."
@@ -27,7 +27,6 @@ flowchart LR
The diagram shows the three components of a full ID separated by `/` delimiters, forming a single unambiguous reference string.
----
## Format
@@ -430,11 +429,11 @@ The ID schema provides a single, consistent format that replaces these context-s
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [18-prefill.md](/specification/prefill/)
-- [12-prompt-architecture.md](/specification/prompt-architecture/)
-- [14-skills.md](/specification/skills/)
-- [17-selections.md](/specification/selections/)
-- [15-catalog.md](/specification/catalog/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [18-prefill.md](/specification/prefill/) — placeholder substitution and pre-executed tool calls in skill content.
+- [12-prompt-architecture.md](/specification/prompt-architecture/) — the two-tier prompt system for provider and agent workflows.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [15-catalog.md](/specification/catalog/) — the registry.json manifest that groups schemas, lists, and agents.
diff --git a/src/content/docs/specification/license-and-tos.md b/src/content/docs/specification/license-and-tos.md
index 01ba5c8..cf57176 100644
--- a/src/content/docs/specification/license-and-tos.md
+++ b/src/content/docs/specification/license-and-tos.md
@@ -6,9 +6,9 @@ spec_file: "23-license-and-tos.md"
order: 23
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/23-license-and-tos.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/23-license-and-tos.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/23-license-and-tos.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/23-license-and-tos.md."
@@ -110,9 +110,9 @@ ToS change. FlowMCP recommends:
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [19-mcp-integration.md](/specification/mcp-integration/)
-- [05-security.md](/specification/security/)
-- [21-schema-lifecycle.md](/specification/schema-lifecycle/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [19-mcp-integration.md](/specification/mcp-integration/) — the per-tool meta block and its mapping to MCP annotations.
+- [05-security.md](/specification/security/) — the trust boundary that keeps schema handlers off the network and filesystem.
+- [21-schema-lifecycle.md](/specification/schema-lifecycle/) — the six stages a schema travels from idea to production.
diff --git a/src/content/docs/specification/mcp-integration.md b/src/content/docs/specification/mcp-integration.md
index 418aee0..1225af3 100644
--- a/src/content/docs/specification/mcp-integration.md
+++ b/src/content/docs/specification/mcp-integration.md
@@ -6,9 +6,9 @@ spec_file: "19-mcp-integration.md"
order: 19
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/19-mcp-integration.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/19-mcp-integration.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/19-mcp-integration.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/19-mcp-integration.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/19-mcp-integrati
When FlowMCP runs as an MCP Server, each Tool is exposed to the agent with MCP-specific metadata that an MCP host can read before it decides whether and how to invoke the Tool. That metadata is declared once, per Tool, in a `meta` block, and the CLI/Core translates the relevant fields into MCP annotations at registration time. This page describes the `meta` block, how its fields map to MCP, and the behaviour of the search-related and loading-related fields.
----
## Meta Block (Required per Tool)
@@ -93,10 +92,10 @@ The structural rules for the `meta` block are defined alongside the other schema
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [09-validation-rules.md](/specification/validation-rules/)
-- [13-resources.md](/specification/resources/)
-- [14-skills.md](/specification/skills/)
-- [04-output-schema.md](/specification/output-schema/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
diff --git a/src/content/docs/specification/migration.md b/src/content/docs/specification/migration.md
index 09ea9a8..40efe66 100644
--- a/src/content/docs/specification/migration.md
+++ b/src/content/docs/specification/migration.md
@@ -6,9 +6,9 @@ spec_file: "08-migration.md"
order: 8
section: "Specification"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/08-migration.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/08-migration.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/08-migration.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/08-migration.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/08-migration.md.
This guide covers migrating schemas between FlowMCP versions in chronological order. Section 1 covers v1.2.0 to v2.0.0 migration, Section 2 covers v2.0.0 to v3.0.0, and Section 3 covers v3.0.0 to v4.0.0.
----
## Section 1: v1.2.0 to v2.0.0
@@ -606,10 +605,10 @@ export const schema = {
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [06-agents.md](/specification/agents/)
-- [13-resources.md](/specification/resources/)
-- [14-skills.md](/specification/skills/)
-- [21-schema-lifecycle.md](/specification/schema-lifecycle/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [21-schema-lifecycle.md](/specification/schema-lifecycle/) — the six stages a schema travels from idea to production.
diff --git a/src/content/docs/specification/output-schema.md b/src/content/docs/specification/output-schema.md
index afafa5e..9b17955 100644
--- a/src/content/docs/specification/output-schema.md
+++ b/src/content/docs/specification/output-schema.md
@@ -6,9 +6,9 @@ spec_file: "04-output-schema.md"
order: 4
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/04-output-schema.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/04-output-schema.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/04-output-schema.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/04-output-schema.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/04-output-schema
Output schemas make tool responses predictable. By declaring the expected shape of a response at the route level, an AI client knows in advance what fields it will receive and can reason about them without parsing guesswork. The sections below cover the output declaration format, the supported types and MIME-types, the standard response envelope, how output interacts with `postRequest` handlers, and the validation rules applied to every declaration.
----
## Purpose
@@ -517,10 +516,10 @@ The diagram shows the non-blocking validation flow: mismatches produce warnings
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [02-parameters.md](/specification/parameters/)
-- [10-tests.md](/specification/tests/)
-- [22-scoring-protocol.md](/specification/scoring-protocol/)
-- [19-mcp-integration.md](/specification/mcp-integration/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
+- [22-scoring-protocol.md](/specification/scoring-protocol/) — the JSON formats exchanged between the CLI and an external grader.
+- [19-mcp-integration.md](/specification/mcp-integration/) — the per-tool meta block and its mapping to MCP annotations.
diff --git a/src/content/docs/specification/overview.md b/src/content/docs/specification/overview.md
index 9af8ac6..605660f 100644
--- a/src/content/docs/specification/overview.md
+++ b/src/content/docs/specification/overview.md
@@ -6,9 +6,9 @@ spec_file: "00-overview.md"
order: 0
section: "Specification"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/00-overview.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/00-overview.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/00-overview.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/00-overview.md."
@@ -21,7 +21,6 @@ FlowMCP is a **Tool Catalog with pre-built API templates** and a **Knowledge Bas
This document provides the conceptual foundation, positioning, terminology, and document index for the v4.3.0 specification.
----
## Conformance Language
@@ -383,8 +382,8 @@ The migration path from v1.2.0 to v2.0.0 is documented in `08-migration.md`.
## Related
-- [01-schema-format.md](/specification/schema-format/)
-- [06-agents.md](/specification/agents/)
-- [17-selections.md](/specification/selections/)
-- [15-catalog.md](/specification/catalog/)
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [15-catalog.md](/specification/catalog/) — the registry.json manifest that groups schemas, lists, and agents.
diff --git a/src/content/docs/specification/parameters.md b/src/content/docs/specification/parameters.md
index b3051c9..50d50d6 100644
--- a/src/content/docs/specification/parameters.md
+++ b/src/content/docs/specification/parameters.md
@@ -6,9 +6,9 @@ spec_file: "02-parameters.md"
order: 2
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/02-parameters.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/02-parameters.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/02-parameters.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/02-parameters.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/02-parameters.md
A parameter declares where a value is placed in the outgoing API request and how it is validated before the call is made. Each tool parameter pairs a `position` block (placement) with a `z` block (validation); resource parameters reuse the same pairing without a `location` field, and skill input uses a simpler shape.
----
## Parameter Structure
@@ -640,9 +639,9 @@ See `14-skills.md` for the complete skill specification.
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [03-shared-lists.md](/specification/shared-lists/)
-- [04-output-schema.md](/specification/output-schema/)
-- [18-prefill.md](/specification/prefill/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [03-shared-lists.md](/specification/shared-lists/) — versioned value sets that schemas reference instead of duplicating.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [18-prefill.md](/specification/prefill/) — placeholder substitution and pre-executed tool calls in skill content.
diff --git a/src/content/docs/specification/philosophy.md b/src/content/docs/specification/philosophy.md
new file mode 100644
index 0000000..ffc80ef
--- /dev/null
+++ b/src/content/docs/specification/philosophy.md
@@ -0,0 +1,79 @@
+---
+title: "Philosophy"
+description: "FlowMCP rests on a small set of convictions about how an autonomous agent and an unfamiliar API should meet: that a schema is a contract rather than a cage, that a tool is graded before it is..."
+spec_version: "4.3.0"
+spec_file: "24-philosophy.md"
+order: 24
+section: "Specification"
+normative: false
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/24-philosophy.md"
+generated_at: "2026-06-21T18:24:22.826Z"
+generated_from: "spec/v4.3.0/24-philosophy.md"
+generator: "scripts/generate-docs-payload.mjs"
+edit_warning: "This file is auto-generated. Source: spec/v4.3.0/24-philosophy.md."
+---
+
+> **Informative.** This chapter describes the worldview behind FlowMCP — why a schema exists, what a graded tool is worth, and how an agent is meant to find and call it. It is written in prose; the normative rules that operationalize these convictions live in the chapters it points to.
+
+FlowMCP rests on a small set of convictions about how an autonomous agent and an unfamiliar API should meet: that a schema is a contract rather than a cage, that a tool is graded before it is trusted, that nothing fails silently, and that everything in the configured folders is discoverable without a hidden ceremony. None of these convictions is decorative. Each one was paid for by a concrete failure that the project has lived through, and each later chapter turns the conviction into a rule. This chapter records the worldview so that it stays explicit as the specification grows.
+
+## The Guardrail (Highway) Analogy
+
+A schema is a guardrail, not a cage. FlowMCP does not try to drive the agent's car for it; it lines the highway so that the car can move fast on a road it has never seen. The whole point of the project is to let an agent drive an unfamiliar API at speed — without reading the provider's documentation, without guessing the authentication flow, without learning the parameter names by trial and error — and still not go off the cliff.
+
+A guardrail is a constraint that is cheap to set up and expensive to omit. The schema names the parameters, fixes their types, encodes the route, and labels the credentials a call needs. Inside that frame the agent is free; outside it, it drifts into invented endpoints, malformed requests, and silent wrong answers. The schema is never there to slow the agent down. It is there so that going fast is the same thing as staying on the road.
+
+## Schema as Contract — the Wall Socket
+
+Push the analogy one step further and the schema becomes a standardized socket. The agent plugs in without knowing the wiring behind the wall. It does not need to know whether the data comes from REST or GraphQL, whether the provider paginates by cursor or by offset, whether the timestamps are Unix seconds or ISO strings — the socket presents one shape, and the agent calls it the same way it calls every other tool in the catalog.
+
+This is why interoperability is the foreground concern, not an afterthought. A socket is only worth standardizing if a great many things can plug into it. FlowMCP's value grows with the number of other tools, agents, and MCP clients it can connect — through the CLI and through the MCP/A2A server alike (see [19-mcp-integration.md](/specification/mcp-integration/)). A schema that only one caller can use is a custom wire; a schema that any conformant agent can call is a socket. The specification optimizes for the socket.
+
+## Grade Before Trust
+
+A schema that parses is not yet a tool worth trusting. Before a tool earns a place in the trusted catalog it is graded — first by a deterministic data pretest, then by non-deterministic scoring. The deterministic pretest is blunt and unforgiving on purpose: it actually calls the live endpoint and checks two things together, that the response is HTTP 200 **and** that the data is non-empty.
+
+That second clause exists because of a real failure class. A tool can answer HTTP 200 and still hand back nothing — an empty array, a null payload, a polite shell with no content. A pretest that checked only the status code would wave that tool through as healthy, and an agent would later build on a contract that returns air. The "200-but-empty" case is treated as a genuine failure, caught at grading time, so that a tool in the trusted catalog is one that has been observed to return real data, not merely a successful status line. The grading workflow and its scoring areas are described in [09-validation-rules.md](/specification/validation-rules/).
+
+## No Silent Defaults — Fail Loudly
+
+FlowMCP never invents a value to paper over one that is missing. When a required parameter is absent, a credential is unset, or a configuration field is ambiguous, the system fails loudly rather than quietly substituting a plausible default and continuing. A silent default is a guess wearing the costume of a fact, and a guess that nobody was told about is the hardest kind of failure to find.
+
+The conviction is grounded in a specific incident. A routine that wrote a `.env` file silently — overwriting whatever was already there with default text — destroyed a user's real API keys, more than once, because the convenient default ran without ever asking. The lesson generalized into a project-wide rule: code that would write or assume on the user's behalf checks first and announces itself; it never overwrites or invents in silence. Loud failure is recoverable. Silent success on wrong data is not. The boundaries that enforce this around credentials and configuration are set out in [05-security.md](/specification/security/).
+
+## Search, Then Call
+
+There is no hidden activation step. Every tool in the configured schema folders is immediately discoverable through search and list, and immediately callable through call. An agent does not register a tool, enable it, install it into a session, or perform any ceremony between finding a tool and using it — it searches the catalog, reads the required parameters and example from the search result, and calls. The interaction model is exactly two moves:
+
+| Step | Move | What it returns |
+|------|------|-----------------|
+| Discover | `search` / `list` | The matching tools, with their required parameters and a callable example |
+| Invoke | `call` | The live result of the tool, called directly |
+
+This was a deliberate simplification. An earlier model had an `add` or activation step between discovery and use, and that step was pure friction: a tool could be found yet not callable, which is a confusing state for a human and an outright trap for an autonomous agent. Removing it means the catalog the agent can see is exactly the catalog the agent can use.
+
+## Disabled, Not Broken
+
+The "search, then call" promise raises an obvious question: what about a tool whose credentials are missing? FlowMCP answers it by degrading gracefully. A tool that needs a key the environment does not have is not hidden and is not broken — it appears in the catalog clearly labeled, as `[disabled: missing KEY]`, naming the exact credential it is waiting for.
+
+This matters because the two failure modes it avoids are both worse. A hidden tool leaves the agent unable to discover a capability that exists; a tool that looks callable but throws an opaque error at call time leaves the agent debugging the framework instead of its task. A disabled-but-visible tool tells the truth: the capability exists, here is precisely what it needs to come online, and nothing about it is mysterious. Key-gating is honesty about credentials, not concealment of capability.
+
+## The Catalog Is Indexed, Not Re-Derived
+
+At scale, you read the index; you do not rebuild the world. FlowMCP can hold a large catalog of schemas, and the cost of treating that catalog naively is not theoretical. A namespace index already records, ahead of time, which schema owns which tool. The correct move when resolving a single tool is to consult that index and load the one schema it points to.
+
+The discipline was learned from a regression. A configurator path ignored the existing namespace index and loaded the entire catalog — hundreds of schemas — to satisfy a single tool call that needed exactly one. The fix was not a faster loader; it was to trust the index that was already there. The principle generalizes: precomputed structure exists to be read, not re-derived on every request, and an operation whose cost scales with the size of the whole catalog when it should scale with one entry is a bug, however correct its output happens to be.
+
+## A Home for Project Thinking
+
+These convictions are easy to hold while a project is small and easy to lose while it grows. A guardrail that nobody can name becomes bureaucracy; a rule whose original failure has been forgotten becomes a rule people quietly route around. This chapter exists so that does not happen — it is the place where FlowMCP's guiding ideas are written down, each one tied to the concrete failure that earned it, so the worldview stays explicit even as the normative chapters multiply. When a new rule is proposed, it can be measured against the philosophy recorded here; when an old rule is questioned, the incident behind it is on the record. The specification's letter lives in the chapters this page points to. Its spirit lives here.
+
+## Related
+
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [05-security.md](/specification/security/) — the trust boundary that keeps schema handlers off the network and filesystem.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
+- [19-mcp-integration.md](/specification/mcp-integration/) — the per-tool meta block and its mapping to MCP annotations.
+
diff --git a/src/content/docs/specification/prefill.md b/src/content/docs/specification/prefill.md
index ecabac1..d6847e8 100644
--- a/src/content/docs/specification/prefill.md
+++ b/src/content/docs/specification/prefill.md
@@ -6,9 +6,9 @@ spec_file: "18-prefill.md"
order: 18
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/18-prefill.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/18-prefill.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/18-prefill.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/18-prefill.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/18-prefill.md."
Skill content carries two complementary template mechanisms that the runtime processes before handing the Skill to an agent. *Placeholders* are tokens embedded directly in the content — `{{type:reference}}` — that are substituted with tool descriptions, resource references, user input, or shared-list values at resolution time. *Prefill* goes one step further: a Skill can declare tool calls in a `prefill` array that the runtime executes up front, then embeds the live results into the content via `{{prefill:...}}` tokens, so the agent receives a Skill already populated with current data.
----
## Placeholder Syntax
@@ -86,10 +85,10 @@ This ensures the Skill is always delivered — even if some references are broke
## Related
-- [00-overview.md](/specification/overview/)
-- [16-id-schema.md](/specification/id-schema/)
-- [14-skills.md](/specification/skills/)
-- [12-prompt-architecture.md](/specification/prompt-architecture/)
-- [17-selections.md](/specification/selections/)
-- [02-parameters.md](/specification/parameters/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [12-prompt-architecture.md](/specification/prompt-architecture/) — the two-tier prompt system for provider and agent workflows.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
diff --git a/src/content/docs/specification/preload.md b/src/content/docs/specification/preload.md
index 0bfa9bb..53530be 100644
--- a/src/content/docs/specification/preload.md
+++ b/src/content/docs/specification/preload.md
@@ -6,9 +6,9 @@ spec_file: "11-preload.md"
order: 11
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/11-preload.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/11-preload.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/11-preload.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/11-preload.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/11-preload.md."
Some tools return data that barely moves — a full list of hospitals in a country, every memorial stone in a city, a reference table that is refreshed once a week. Re-fetching such a dataset on every call costs bandwidth and time for no benefit. The optional `preload` field lets a schema author declare that a tool's response is safe to cache and for how long, so a runtime can serve a stored copy instead of hitting the network each time. Caching always stays optional on the runtime's side: `preload` expresses intent, and the runtime decides whether to honour it. The sections below specify the field, its validation rules, the cache key derivation, the runtime cache flow, and the author guidelines for choosing a sensible time-to-live.
----
## The `preload` Field
@@ -211,8 +210,8 @@ The output schema (see [04-output-schema.md](/specification/output-schema/)) des
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [13-resources.md](/specification/resources/)
-- [10-tests.md](/specification/tests/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
diff --git a/src/content/docs/specification/prompt-architecture.md b/src/content/docs/specification/prompt-architecture.md
index 5398ac2..3b0b2b7 100644
--- a/src/content/docs/specification/prompt-architecture.md
+++ b/src/content/docs/specification/prompt-architecture.md
@@ -6,9 +6,9 @@ spec_file: "12-prompt-architecture.md"
order: 12
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/12-prompt-architecture.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/12-prompt-architecture.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/12-prompt-architecture.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/12-prompt-architecture.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/12-prompt-archit
FlowMCP uses a two-tier prompt system to bridge deterministic tools with non-deterministic AI orchestration. **Provider-Prompts** explain how to use a single provider's tools effectively. **Agent-Prompts** compose tools from multiple providers into tested workflows. Both types use the `{{type:name}}` placeholder syntax for references and parameters. Provider-Prompts are defined in `main.prompts` with content loaded from external `.mjs` files via `contentFile`. Agent-Prompts are standalone `.mjs` files with `export const prompt = { ... }` containing inline content.
----
## Purpose
@@ -917,10 +916,10 @@ agents/
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [14-skills.md](/specification/skills/)
-- [06-agents.md](/specification/agents/)
-- [18-prefill.md](/specification/prefill/)
-- [16-id-schema.md](/specification/id-schema/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [18-prefill.md](/specification/prefill/) — placeholder substitution and pre-executed tool calls in skill content.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
diff --git a/src/content/docs/specification/resources.md b/src/content/docs/specification/resources.md
index 9ad1235..ff6d1cc 100644
--- a/src/content/docs/specification/resources.md
+++ b/src/content/docs/specification/resources.md
@@ -6,9 +6,9 @@ spec_file: "13-resources.md"
order: 13
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/13-resources.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/13-resources.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/13-resources.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/13-resources.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/13-resources.md.
Resources give a schema local, deterministic data access alongside its network tools. They map to the MCP `server.resource` primitive and live in `main.resources` next to `main.tools`. A resource is backed by a SQLite database (read-only in-memory or writable file-based), a remote SQLite file fetched over HTTPS, or a Markdown document — and the runtime exposes each through a small set of typed queries, with the auto-injected `runSql` and `describeTables` rounding out the query surface. Where a tool reaches out to a third-party API, a resource serves data that should always be available: reference tables, lookups, agent-collected results, and inline documentation.
----
## Why Resources Exist
@@ -1475,12 +1474,12 @@ The SQLite database `duneanalytics-templates.db` is not in the schema directory
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [02-parameters.md](/specification/parameters/)
-- [04-output-schema.md](/specification/output-schema/)
-- [11-preload.md](/specification/preload/)
-- [05-security.md](/specification/security/)
-- [19-mcp-integration.md](/specification/mcp-integration/)
-- [14-skills.md](/specification/skills/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [11-preload.md](/specification/preload/) — how a tool declares that its response is safe to cache.
+- [05-security.md](/specification/security/) — the trust boundary that keeps schema handlers off the network and filesystem.
+- [19-mcp-integration.md](/specification/mcp-integration/) — the per-tool meta block and its mapping to MCP annotations.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
diff --git a/src/content/docs/specification/schema-format.md b/src/content/docs/specification/schema-format.md
index 50b1197..b5439a5 100644
--- a/src/content/docs/specification/schema-format.md
+++ b/src/content/docs/specification/schema-format.md
@@ -6,9 +6,9 @@ spec_file: "01-schema-format.md"
order: 1
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/01-schema-format.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/01-schema-format.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/01-schema-format.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/01-schema-format.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/01-schema-format
A FlowMCP schema is a single `.mjs` module that describes how to reach an API and turn its endpoints into tools. It splits into two named exports: a static, JSON-serializable `main` block that holds all declarative configuration, and an optional `handlers` factory that transforms requests and responses. The sections below walk through both exports, the tool and field definitions inside `main`, the naming conventions, and the constraints the runtime enforces at load time.
----
## Schema File Structure
@@ -680,11 +679,11 @@ export const handlers = ( { sharedLists } ) => ({
## Related
-- [00-overview.md](/specification/overview/)
-- [02-parameters.md](/specification/parameters/)
-- [04-output-schema.md](/specification/output-schema/)
-- [13-resources.md](/specification/resources/)
-- [14-skills.md](/specification/skills/)
-- [16-id-schema.md](/specification/id-schema/)
-- [19-mcp-integration.md](/specification/mcp-integration/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [19-mcp-integration.md](/specification/mcp-integration/) — the per-tool meta block and its mapping to MCP annotations.
diff --git a/src/content/docs/specification/schema-lifecycle.md b/src/content/docs/specification/schema-lifecycle.md
index f7ad799..ad3a2cf 100644
--- a/src/content/docs/specification/schema-lifecycle.md
+++ b/src/content/docs/specification/schema-lifecycle.md
@@ -6,9 +6,9 @@ spec_file: "21-schema-lifecycle.md"
order: 21
section: "Specification"
normative: false
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/21-schema-lifecycle.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/21-schema-lifecycle.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/21-schema-lifecycle.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/21-schema-lifecycle.md."
@@ -18,7 +18,6 @@ Every FlowMCP schema travels a defined path from an initial idea to a production
A namespace candidate enters the picture even before the first stage. Before `stage:research`, a candidate lives as a **Prospect** on the Kanban board — identified as interesting but not yet confirmed as reachable or feasible. A Prospect sits upstream of the six stages and is not tracked within them; the act of verifying reachability and feasibility is what promotes it into `stage:research`.
----
## Lifecycle Stages
@@ -140,10 +139,10 @@ A primitive passes when at least one of its test cases returns a 2xx response wi
## Related
-- [00-overview.md](/specification/overview/)
-- [20-validation-strategy.md](/specification/validation-strategy/)
-- [22-scoring-protocol.md](/specification/scoring-protocol/)
-- [10-tests.md](/specification/tests/)
-- [09-validation-rules.md](/specification/validation-rules/)
-- [15-catalog.md](/specification/catalog/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [20-validation-strategy.md](/specification/validation-strategy/) — the deterministic and probabilistic layers behind the A-F grade.
+- [22-scoring-protocol.md](/specification/scoring-protocol/) — the JSON formats exchanged between the CLI and an external grader.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
+- [15-catalog.md](/specification/catalog/) — the registry.json manifest that groups schemas, lists, and agents.
diff --git a/src/content/docs/specification/scoring-protocol.md b/src/content/docs/specification/scoring-protocol.md
index 394cb4d..b93085d 100644
--- a/src/content/docs/specification/scoring-protocol.md
+++ b/src/content/docs/specification/scoring-protocol.md
@@ -6,9 +6,9 @@ spec_file: "22-scoring-protocol.md"
order: 22
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/22-scoring-protocol.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/22-scoring-protocol.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/22-scoring-protocol.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/22-scoring-protocol.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/22-scoring-proto
Specification for grading FlowMCP v4 schemas via LLM evaluation. Documents the data formats exchanged between the CLI and an external Grader (e.g. Claude Code harness, third-party implementation).
----
## Purpose
@@ -227,10 +226,10 @@ A Grader MUST NOT:
## Related
-- [00-overview.md](/specification/overview/)
-- [20-validation-strategy.md](/specification/validation-strategy/)
-- [21-schema-lifecycle.md](/specification/schema-lifecycle/)
-- [10-tests.md](/specification/tests/)
-- [04-output-schema.md](/specification/output-schema/)
-- [09-validation-rules.md](/specification/validation-rules/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [20-validation-strategy.md](/specification/validation-strategy/) — the deterministic and probabilistic layers behind the A-F grade.
+- [21-schema-lifecycle.md](/specification/schema-lifecycle/) — the six stages a schema travels from idea to production.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
diff --git a/src/content/docs/specification/security.md b/src/content/docs/specification/security.md
index d2d958a..ca6469a 100644
--- a/src/content/docs/specification/security.md
+++ b/src/content/docs/specification/security.md
@@ -6,9 +6,9 @@ spec_file: "05-security.md"
order: 5
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/05-security.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/05-security.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/05-security.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/05-security.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/05-security.md."
FlowMCP enforces a layered security model that prevents schema files from accessing the network, filesystem, or process environment. All potentially dangerous operations are restricted to the trusted core runtime. Dependencies are injected through a factory function pattern, and external libraries are gated by an allowlist.
----
## Trust Boundary
@@ -352,9 +351,9 @@ All violations in a single file are reported together (the scan does not stop at
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [09-validation-rules.md](/specification/validation-rules/)
-- [13-resources.md](/specification/resources/)
-- [23-license-and-tos.md](/specification/license-and-tos/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [23-license-and-tos.md](/specification/license-and-tos/) — the three-layer model linking code, provider ToS, and data licenses.
diff --git a/src/content/docs/specification/selections.md b/src/content/docs/specification/selections.md
index cb81308..f389a41 100644
--- a/src/content/docs/specification/selections.md
+++ b/src/content/docs/specification/selections.md
@@ -1,28 +1,20 @@
---
title: "Selections"
-description: "**Primitive:** Selection (5th primitive)"
+description: "A **Selection** is a named, thematically-coherent collection of Primitives (Tools, Resources, Prompts, Skills) that an agent can activate together in a single operation."
spec_version: "4.3.0"
spec_file: "17-selections.md"
order: 17
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/17-selections.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/17-selections.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/17-selections.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/17-selections.md."
---
-**Primitive:** Selection (5th primitive)
-
----
-
-## Overview
-
-A **Selection** is a named collection of Primitives (Tools, Resources, Prompts, Skills) that belong together thematically. Selections enable agents to activate a coherent set of capabilities with a single operation.
-
----
+A **Selection** is a named, thematically-coherent collection of Primitives (Tools, Resources, Prompts, Skills) that an agent can activate together in a single operation.
## Export Format
@@ -138,11 +130,11 @@ If a Selection includes inline-skill objects, the SelectionValidator additionall
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [16-id-schema.md](/specification/id-schema/)
-- [06-agents.md](/specification/agents/)
-- [18-prefill.md](/specification/prefill/)
-- [14-skills.md](/specification/skills/)
-- [12-prompt-architecture.md](/specification/prompt-architecture/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [18-prefill.md](/specification/prefill/) — placeholder substitution and pre-executed tool calls in skill content.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [12-prompt-architecture.md](/specification/prompt-architecture/) — the two-tier prompt system for provider and agent workflows.
diff --git a/src/content/docs/specification/shared-lists.md b/src/content/docs/specification/shared-lists.md
index e14de21..5ed4f12 100644
--- a/src/content/docs/specification/shared-lists.md
+++ b/src/content/docs/specification/shared-lists.md
@@ -6,9 +6,9 @@ spec_file: "03-shared-lists.md"
order: 3
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/03-shared-lists.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/03-shared-lists.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/03-shared-lists.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/03-shared-lists.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/03-shared-lists.
Shared lists eliminate duplication of common value sets across schemas. Instead of every Etherscan schema maintaining its own chain list, they reference a single `evmChains` shared list that is versioned, validated, and centrally maintained. The sections below cover the list file format, the meta and field definitions, the dependency model between lists, how schemas reference and filter lists, how the runtime injects resolved data into handlers, and the validation rules that keep the registry consistent.
----
## Purpose
@@ -555,10 +554,10 @@ Each `.mjs` file contains exactly one shared list. Combining multiple lists in a
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [02-parameters.md](/specification/parameters/)
-- [15-catalog.md](/specification/catalog/)
-- [16-id-schema.md](/specification/id-schema/)
-- [09-validation-rules.md](/specification/validation-rules/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [15-catalog.md](/specification/catalog/) — the registry.json manifest that groups schemas, lists, and agents.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
diff --git a/src/content/docs/specification/skills.md b/src/content/docs/specification/skills.md
index d93145a..c2add18 100644
--- a/src/content/docs/specification/skills.md
+++ b/src/content/docs/specification/skills.md
@@ -6,9 +6,9 @@ spec_file: "14-skills.md"
order: 14
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/14-skills.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/14-skills.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/14-skills.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/14-skills.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/14-skills.md."
Skills are reusable, self-contained instruction sets that an AI agent can load and follow. They map to the MCP `server.prompt` primitive and live in `.mjs` files, each with a structured `export const skill` object that pairs Markdown instructions with typed metadata. A skill declares the tools and resources it needs, the input it expects, and the output it produces, and its instructions reference those primitives through `{{tool:...}}`, `{{resource:...}}`, and `{{input:...}}` placeholders resolved at load time.
----
## Where Skills Fit
@@ -937,11 +936,11 @@ etherscan/
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [12-prompt-architecture.md](/specification/prompt-architecture/)
-- [18-prefill.md](/specification/prefill/)
-- [16-id-schema.md](/specification/id-schema/)
-- [06-agents.md](/specification/agents/)
-- [17-selections.md](/specification/selections/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [12-prompt-architecture.md](/specification/prompt-architecture/) — the two-tier prompt system for provider and agent workflows.
+- [18-prefill.md](/specification/prefill/) — placeholder substitution and pre-executed tool calls in skill content.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
diff --git a/src/content/docs/specification/tasks.md b/src/content/docs/specification/tasks.md
index 037a9b3..55ca259 100644
--- a/src/content/docs/specification/tasks.md
+++ b/src/content/docs/specification/tasks.md
@@ -6,9 +6,9 @@ spec_file: "07-tasks.md"
order: 7
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/07-tasks.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/07-tasks.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/07-tasks.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/07-tasks.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/07-tasks.md."
MCP Tasks describe long-running asynchronous operations — a query that takes thirty seconds to finish, a job that is submitted now and collected later. The underlying MCP protocol gives such operations a lifecycle of creation, polling, completion, and cancellation. FlowMCP does not yet model this lifecycle: task support is a reserved, forward-looking area of the specification, and this page documents what is held back and why.
----
## Why It Is Held Back
@@ -41,8 +40,8 @@ Schema authors MAY include an `async` field in tool definitions for forward comp
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [04-output-schema.md](/specification/output-schema/)
-- [10-tests.md](/specification/tests/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
diff --git a/src/content/docs/specification/tests.md b/src/content/docs/specification/tests.md
index 548b451..13ddac5 100644
--- a/src/content/docs/specification/tests.md
+++ b/src/content/docs/specification/tests.md
@@ -6,9 +6,9 @@ spec_file: "10-tests.md"
order: 10
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/10-tests.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/10-tests.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/10-tests.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/10-tests.md."
@@ -16,7 +16,6 @@ edit_warning: "This file is auto-generated. Source: spec/v4.3.0/10-tests.md."
Tests are executable examples embedded in tool and resource query definitions. For agents, tests are prompts paired with expected tool usage and content assertions. They serve three purposes: they document what a tool or resource query can do, they provide the input data needed to capture real responses, and those captured responses become the basis for generating accurate output schemas. The sections below cover the test format for tools, resources, and agents, the design principles that keep tests useful, and the response-capture lifecycle that turns a test into an output schema.
----
## Purpose
@@ -686,11 +685,11 @@ See `14-skills.md` (One-Shot Design Principle) for authoring guidelines.
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [02-parameters.md](/specification/parameters/)
-- [04-output-schema.md](/specification/output-schema/)
-- [06-agents.md](/specification/agents/)
-- [22-scoring-protocol.md](/specification/scoring-protocol/)
-- [13-resources.md](/specification/resources/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [04-output-schema.md](/specification/output-schema/) — how a route declares its expected response shape.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [22-scoring-protocol.md](/specification/scoring-protocol/) — the JSON formats exchanged between the CLI and an external grader.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
diff --git a/src/content/docs/specification/validation-rules.md b/src/content/docs/specification/validation-rules.md
index 5c537e6..eeb1c97 100644
--- a/src/content/docs/specification/validation-rules.md
+++ b/src/content/docs/specification/validation-rules.md
@@ -6,9 +6,9 @@ spec_file: "09-validation-rules.md"
order: 9
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/09-validation-rules.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/09-validation-rules.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/09-validation-rules.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/09-validation-rules.md."
@@ -18,7 +18,6 @@ Every validation rule that `flowmcp schema-check` enforces carries a code, a sev
A rule is defined in exactly one place. The page below it in the table is the authoritative home for that code prefix; nothing on this page duplicates those tables. What remains here is the cross-cutting material that belongs to the validation system as a whole — the meaning of each severity level and the shape of the CLI output.
----
## Rule Families
@@ -92,14 +91,14 @@ flowmcp schema-check --security etherscan/contracts.mjs
## Related
-- [00-overview.md](/specification/overview/)
-- [01-schema-format.md](/specification/schema-format/)
-- [05-security.md](/specification/security/)
-- [02-parameters.md](/specification/parameters/)
-- [06-agents.md](/specification/agents/)
-- [13-resources.md](/specification/resources/)
-- [14-skills.md](/specification/skills/)
-- [16-id-schema.md](/specification/id-schema/)
-- [17-selections.md](/specification/selections/)
-- [20-validation-strategy.md](/specification/validation-strategy/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [01-schema-format.md](/specification/schema-format/) — how a schema declares its tools through main and handlers.
+- [05-security.md](/specification/security/) — the trust boundary that keeps schema handlers off the network and filesystem.
+- [02-parameters.md](/specification/parameters/) — how a parameter places a value and validates it before the call.
+- [06-agents.md](/specification/agents/) — how an agent bundles tools, a model, and a prompt into one composition.
+- [13-resources.md](/specification/resources/) — local SQLite and Markdown data access alongside network tools.
+- [14-skills.md](/specification/skills/) — reusable instruction sets an agent can load and follow.
+- [16-id-schema.md](/specification/id-schema/) — the canonical namespace/type/name identifier for every primitive.
+- [17-selections.md](/specification/selections/) — a named bundle of primitives an agent activates together.
+- [20-validation-strategy.md](/specification/validation-strategy/) — the deterministic and probabilistic layers behind the A-F grade.
diff --git a/src/content/docs/specification/validation-strategy.md b/src/content/docs/specification/validation-strategy.md
index 3150991..4dfad43 100644
--- a/src/content/docs/specification/validation-strategy.md
+++ b/src/content/docs/specification/validation-strategy.md
@@ -6,9 +6,9 @@ spec_file: "20-validation-strategy.md"
order: 20
section: "Specification"
normative: true
-source_commit: "42b4603"
-source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/42b4603/spec/v4.3.0/20-validation-strategy.md"
-generated_at: "2026-06-21T01:06:21.418Z"
+source_commit: "55474a9"
+source_url: "https://github.com/FlowMCP/flowmcp-spec/blob/55474a9/spec/v4.3.0/20-validation-strategy.md"
+generated_at: "2026-06-21T18:24:22.826Z"
generated_from: "spec/v4.3.0/20-validation-strategy.md"
generator: "scripts/generate-docs-payload.mjs"
edit_warning: "This file is auto-generated. Source: spec/v4.3.0/20-validation-strategy.md."
@@ -18,7 +18,6 @@ Validation in FlowMCP works in two layers. A **deterministic** layer checks stru
A separate **Grading-Spec** in the `flowmcp-grading` repository covers Single-Schema and Selection grading in more depth. The strategy described here remains the deterministic baseline; the Grading System defined by the Grading-Spec extends, and in places replaces, the simple A–F Grade System below. The Schemas-Spec remains the highest instance.
----
## Grade System
@@ -122,9 +121,9 @@ A Language Model calling tools from `etherscan-io/contracts` receives the tool l
## Related
-- [00-overview.md](/specification/overview/)
-- [09-validation-rules.md](/specification/validation-rules/)
-- [22-scoring-protocol.md](/specification/scoring-protocol/)
-- [21-schema-lifecycle.md](/specification/schema-lifecycle/)
-- [10-tests.md](/specification/tests/)
+- [00-overview.md](/specification/overview/) — mission, the two-channel catalog, and the knowledge framing.
+- [09-validation-rules.md](/specification/validation-rules/) — the wayfinder mapping each rule family to its home page.
+- [22-scoring-protocol.md](/specification/scoring-protocol/) — the JSON formats exchanged between the CLI and an external grader.
+- [21-schema-lifecycle.md](/specification/schema-lifecycle/) — the six stages a schema travels from idea to production.
+- [10-tests.md](/specification/tests/) — executable examples that document tools and capture real responses.
diff --git a/src/data/manifest.json b/src/data/manifest.json
index 170dff4..7ca9de7 100644
--- a/src/data/manifest.json
+++ b/src/data/manifest.json
@@ -1,6 +1,6 @@
{
"spec_version": "4.3.0",
- "generated_at": "2026-06-21T11:44:44.581Z",
+ "generated_at": "2026-06-21T18:24:23.315Z",
"generator": "scripts/generate-manifest.mjs",
"files": [
{
@@ -43,7 +43,7 @@
"order": 2,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -107,7 +107,7 @@
"order": 6,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -219,7 +219,7 @@
"order": 13,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -235,7 +235,7 @@
"order": 14,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -279,11 +279,11 @@
"filename": "17-selections.md",
"slug": "selections",
"title": "Selections",
- "description": "**Primitive:** Selection (5th primitive)",
+ "description": "A **Selection** is a named, thematically-coherent collection of Primitives (Tools, Resources, Prompts, Skills) that an agent can activate together in a single operation.",
"order": 17,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -299,7 +299,7 @@
"order": 18,
"section": "Specification",
"normative": true,
- "sidebar_group": "specification",
+ "sidebar_group": "primitives",
"version_added": "4.0.0",
"collapsed": false,
"spec_quality": {
@@ -386,12 +386,28 @@
"grade": 5,
"issues": 0
}
+ },
+ {
+ "filename": "24-philosophy.md",
+ "slug": "philosophy",
+ "title": "Philosophy",
+ "description": "FlowMCP rests on a small set of convictions about how an autonomous agent and an unfamiliar API should meet: that a schema is a contract rather than a cage, that a tool is graded before it is...",
+ "order": 24,
+ "section": "Specification",
+ "normative": false,
+ "sidebar_group": "introduction",
+ "version_added": "4.3.0",
+ "collapsed": false,
+ "spec_quality": {
+ "grade": 4,
+ "issues": 2
+ }
}
],
"sections": [
{
"name": "Specification",
- "file_count": 24,
+ "file_count": 25,
"order": 1
},
{
@@ -406,10 +422,10 @@
}
],
"stats": {
- "total_files": 24,
+ "total_files": 25,
"normative_files": 21,
- "prose_files": 3,
- "average_grade": 5
+ "prose_files": 4,
+ "average_grade": 4.96
},
"meta": {
"stats": {
@@ -573,7 +589,7 @@
{
"filename": "13-skills.md",
"slug": "skills",
- "title": "Skills: Namespace Skill vs. Selection Skill",
+ "title": "Namespace Skill vs. Selection Skill",
"description": "Skills come in two categories that grade very differently. A **namespace skill** covers exactly one namespace, validates at the `autonomous` tier without group context, and carries no level. A...",
"order": 13,
"section": "Grading",
diff --git a/src/data/sidebar.mjs b/src/data/sidebar.mjs
index e853ee3..f712627 100644
--- a/src/data/sidebar.mjs
+++ b/src/data/sidebar.mjs
@@ -14,10 +14,17 @@ const MANIFEST_PATH = resolve( __dirname, 'manifest.json' )
const GROUP_LABELS = {
introduction: { en: 'Introduction', de: 'Einfuehrung' },
specification: { en: 'Core Specification', de: 'Kern-Spezifikation' },
+ primitives: { en: 'Primitives', de: 'Primitive' },
guides: { en: 'Guides', de: 'Leitfaeden' }
}
+// Memo 144 K5 (T4): deterministic spec-section group order. The six primitives form
+// their own group between Core Specification and Guides. Fixed order so the nav does
+// not depend on manifest `order` values (mirrors GRADING_GROUP_ORDER).
+const SPEC_GROUP_ORDER = [ 'introduction', 'specification', 'primitives', 'guides' ]
+
+
// Memo 087 PRD-P2-C (F4=A): grading sidebar sub-groups. Order is fixed so the
// nav renders deterministically regardless of manifest iteration order.
const GRADING_GROUP_LABELS = {
@@ -211,7 +218,13 @@ class SidebarLoader {
slug: `specification/${ file.slug }`
} )
} )
- return Object.values( groups )
+ // Memo 144 K5 (T4): order groups by SPEC_GROUP_ORDER; any unlisted group
+ // falls to the end in first-encounter order (loud-safe, no silent drop).
+ const ordered = SPEC_GROUP_ORDER
+ .filter( ( key ) => groups[ key ] )
+ .map( ( key ) => groups[ key ] )
+ const rest = Object.values( groups ).filter( ( group ) => !SPEC_GROUP_ORDER.includes( group.key ) )
+ return [ ...ordered, ...rest ]
}
diff --git a/src/styles/custom.css b/src/styles/custom.css
index 348601f..9aa673e 100644
--- a/src/styles/custom.css
+++ b/src/styles/custom.css
@@ -716,6 +716,16 @@ hr,
opacity: 0.5;
}
+/* Memo 144 K2 (T1): safety net for the faint post-intro overview divider. The
+ PRIMARY lever is source/generator removal (stripIntroRule in flowmcp-spec strips
+ the post-intro `---` from every chapter). This rule only catches the degenerate
+ case where a divider slips in as the very first content block — inter-section
+ dividers (which always follow a heading/prose) are intentionally preserved. */
+.sl-markdown-content > hr:first-child,
+.content-panel .sl-markdown-content > hr:first-child {
+ display: none !important;
+}
+
.pagination-links {
border-top: none !important;
margin-top: 0 !important;
diff --git a/tests/playwright/personas.spec.mjs b/tests/playwright/personas.spec.mjs
index dd7a2d5..6241c00 100644
--- a/tests/playwright/personas.spec.mjs
+++ b/tests/playwright/personas.spec.mjs
@@ -1,12 +1,13 @@
import { test, expect } from '@playwright/test'
test.describe( 'Persona-E2E-Pfade (Memo 045 REV-15 Kap. 2)', () => {
- test( 'Hackathon-Builder — Landing -> Docs -> Quickstart', async ( { page } ) => {
+ test( 'Hackathon-Builder — Landing -> Docs -> CLI Setup', async ( { page } ) => {
await page.goto( '/' )
await expect( page ).toHaveTitle( /FlowMCP/ )
+ // Memo 144 T8: the quickstart page H1 is now "CLI Setup" (matches its sidebar label).
await page.goto( '/quickstart/quickstart/' )
const heading = page.locator( 'h1' ).first()
- await expect( heading ).toContainText( /Quickstart/i )
+ await expect( heading ).toContainText( /CLI Setup/i )
} )
test( 'AI-Engineer — Landing -> Specification', async ( { page } ) => {
diff --git a/tests/playwright/phase-9-routes.mjs b/tests/playwright/phase-9-routes.mjs
index c7478b1..9b03539 100644
--- a/tests/playwright/phase-9-routes.mjs
+++ b/tests/playwright/phase-9-routes.mjs
@@ -29,11 +29,11 @@
// whole Reference section and the whole Ecosystem section were removed (moved to
// .trash). Those routes now live in FORBIDDEN_ROUTES (Block 2: 404/redirect = PASS).
const EN_ROUTES = [
- // About-Gruppe
- { path: '/about/', expectedMarker: 'About FlowMCP', group: 'About', locale: 'en' },
+ // Get-Started-Gruppe (Memo 144 T9: About FlowMCP merged into Get Started; standalone About group removed)
+ { path: '/about/', expectedMarker: 'About FlowMCP', group: 'Get Started', locale: 'en' },
- // Get-Started-Gruppe
- { path: '/quickstart/quickstart/', expectedMarker: 'Quickstart', group: 'Get Started', locale: 'en' },
+ // Memo 144 T8: sidebar label "CLI Setup" (Memo 060) now matches the page H1 "CLI Setup".
+ { path: '/quickstart/quickstart/', expectedMarker: 'CLI Setup', group: 'Get Started', locale: 'en' },
{ path: '/introduction/for-llms/', expectedMarker: 'For LLMs', group: 'Get Started', locale: 'en' },
// Concepts
@@ -47,6 +47,8 @@ const EN_ROUTES = [
{ path: '/specification/parameters/', expectedMarker: 'Parameters', group: 'Specification', locale: 'en' },
{ path: '/specification/resources/', expectedMarker: 'Resources', group: 'Specification', locale: 'en' },
{ path: '/specification/validation-rules/', expectedMarker: 'Validation', group: 'Specification', locale: 'en' },
+ // Memo 144 T12: new informative Philosophy chapter (Introduction group).
+ { path: '/specification/philosophy/', expectedMarker: 'Philosophy', group: 'Introduction', locale: 'en' },
// Blog
{ path: '/blog/', expectedMarker: 'Blog', group: 'Blog', locale: 'en' },