Repository navigation
docs: position InputLayer as the live rules engine for AI agents - #244
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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/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".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,.whyand.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.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 withtime_now()at commit, and availability: one node, WAL, safe replay, and gated tools wait while the engine is unreachable.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.gui/lib/docs-bundle.ts(front/lib/content-bundle.tsregenerates unchanged). Rebased onto docs: reposition as the live rules engine for AI agents #243: ondocs/content/index.mdxthis keeps the full first screen and links the new guides and the project README;Cargo.tomland 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
inputlayer-serverbuilt atc166f94e(this branch's base), in a fresh knowledge graph over WebSocket. Results matched the pages: the snapshot was empty; the ETA change pushedinserted [["ORD-4821","SHP-77"]]; the first claim returnedUpdate: 0 deleted, 1 inserted.and a second connection got0 inserted; the kill switch pushed the retraction;.why_notprinted theBlocker: Negated kill_switch("carrier_check") existstext 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.npm run devinfront/, every/docs/guides/...link and anchor in the touched pages resolves to a rendered page and to a headingidthere. 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)
[First Program](first-program)) resolve against the trailing-slash URL (/docs/guides/quickstart/first-program) and open in a new tab, becausefront/components/mdx-components.tsxtreats them as external. Links added in this PR are absolute, so they work.front/app/page.tsx) and the published blog article still carry the old category line. They belong to the site lane.docs/guides/*.mdis an older, unrendered copy of the guides with no category text; I left it unchanged.