Skip to content

docs: position InputLayer as the live rules engine for AI agents - #244

Merged
jsam merged 1 commit into
mainfrom
fm/align-docs
Oct 4, 2026
Merged

jsam merged 1 commit into
mainfrom
fm/align-docs

Conversation

@jsam

@jsam jsam commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Aligns the docs with the approved positioning: InputLayer is the live rules engine for AI agents. A knowledge graph is the facts and rule-derived conclusions it holds.

What changed

  • Docs landing page (docs/content/index.mdx): category line, "Take the rules out of your prompts.", the bold line "Your agents act on what's true now.", the definition, the Replaces/Keeps block, a "Where it sits" block and the scope line. "Models think. InputLayer knows." moves below the fold under "Beside the Model".
  • New guide: What InputLayer Replaces (guides/what-it-replaces.mdx). It covers four pieces of glue code: the trigger service and the crons that re-check data, the precomputed flags and their invalidation, business rules in prompts and tool handlers, and "already handled" rows. One shipment example walks through all four on today's engine: a standing query delta, a retraction when a kill switch is flipped, .why and .why_not, and a guarded claim that one agent wins. Each section says where the replacement stops: time-driven crons keep a clock writer, today's claim has no expiry so it is not a TTL lock, and effect dedupe stays in Temporal, keyed by the claim.
  • New guide: Where It Sits (guides/where-it-sits.mdx). It covers ingestion through the adapter with per-key revisions, claim-then-run (InputLayer is not in the tool's call path), retraction and cancellation mid-run, freshness as an explicit lease guard compared with time_now() at commit, and availability: one node, WAL, safe replay, and gated tools wait while the engine is unreachable.
  • Data Modeling gains a Terms section: fact, rule, view, knowledge graph, standing query, claim, proof.
  • Overview, quickstart, nav: link the two new pages and put them at the top of Guides.
  • Retired leads removed: "Reactive answers" (ingestion), "reactive pipelines" (both SDK guides, which now point to standing queries and label subscribe() as upcoming), "the reasoning core" (verified completions), and the LangChain sample text. docs/README.md (as reworded by docs: reposition as the live rules engine for AI agents #243) now also links the two new guides.
  • Regenerated gui/lib/docs-bundle.ts (front/lib/content-bundle.ts regenerates unchanged). Rebased onto docs: reposition as the live rules engine for AI agents #243: on docs/content/index.mdx this keeps the full first screen and links the new guides and the project README; Cargo.toml and the server banner keep docs: reposition as the live rules engine for AI agents #243's wording.

The challenger's factual fixes (gtm-tagline-challenge/challenge-note.md) are applied: workflow-id dedupe is not listed as replaced, the claim is not presented as a TTL lock, only data re-check crons are replaced, staleness needs an explicit guard, kg.why() is not shown, and the copy avoids "the moment", "in review", "carries a proof" and "one per tenant".

Claims discipline

The pages use only the defensible claims. The scope line reads: "Measured today for tens of concurrent agent sessions per knowledge graph, with per-session subscriptions; a change that lifts this is in progress (draft): #232". There are no benchmark numbers, nothing is called "first" or "exactly-once", and none of the retired leads appear. Unreleased SDK calls (kg.subscribe(), kg.watch(), kg.claim()) are named only as "the upcoming SDK release". Every example uses IQL or the WebSocket API, which work today.

Verification

  • I ran every IQL block on both new pages verbatim against a release inputlayer-server built at c166f94e (this branch's base), in a fresh knowledge graph over WebSocket. Results matched the pages: the snapshot was empty; the ETA change pushed inserted [["ORD-4821","SHP-77"]]; the first claim returned Update: 0 deleted, 1 inserted. and a second connection got 0 inserted; the kill switch pushed the retraction; .why_not printed the Blocker: Negated kill_switch("carrier_check") exists text quoted on the page; a claim after the kill switch inserted nothing; removing the switch re-inserted the row; the lease guard refused with an expired lease and won after renewal.
  • Links: with npm run dev in front/, every /docs/guides/... link and anchor in the touched pages resolves to a rendered page and to a heading id there. PR feat(protocol): share evaluations across standing queries that differ only in bound constants, and cache their plans #232 exists (open, draft).

Left for other lanes (not in this PR)

  • Site-wide link bug, not introduced here: relative links in the guides (for example quickstart's [First Program](first-program)) resolve against the trailing-slash URL (/docs/guides/quickstart/first-program) and open in a new tab, because front/components/mdx-components.tsx treats them as external. Links added in this PR are absolute, so they work.
  • The site hero (front/app/page.tsx) and the published blog article still carry the old category line. They belong to the site lane.
  • docs/guides/*.md is an older, unrendered copy of the guides with no category text; I left it unchanged.

The docs described InputLayer under the retired "live knowledge graph"
category and never said which part of an agent stack it replaces or where
it sits. They now use the approved category and vocabulary throughout.

- Landing page: category line, "Take the rules out of your prompts.",
  definition, Replaces/Keeps, a "Where it sits" block and the scope line;
  "Models think. InputLayer knows." moves below the fold.
- New guide "What InputLayer Replaces": the trigger service and data
  re-check crons, precomputed flags and their invalidation, rules in
  prompts and tool handlers, "already handled" rows. One shipment example
  runs on today's engine (standing query, retraction, .why/.why_not,
  guarded claim) and each section states where the replacement stops
  (time-driven crons, no claim expiry, effect dedupe stays in Temporal).
- New guide "Where It Sits": ingestion with revisions, claim-then-run,
  mid-run retraction, freshness as an explicit commit-time lease guard,
  single node, WAL, replay, unreachable means gated tools wait.
- Data Modeling gains a Terms section: fact, rule, view, knowledge graph,
  standing query, claim, proof.
- Retired leads removed ("reactive answers", "reactive pipelines",
  "reasoning core"); Cargo.toml description, the server --help banner and
  docs/README.md use the category string.
- Upcoming SDK calls (subscribe(), claim()) are labelled as upcoming; the
  examples use IQL and the WebSocket API, which work today.
- Regenerate gui/lib/docs-bundle.ts.
@jsam
jsam merged commit ebe01de into main Oct 4, 2026
20 checks passed
@jsam
jsam deleted the fm/align-docs branch October 4, 2026 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant