Repository navigation
docs: reposition as the live rules engine for AI agents - #243
Merged
Merged
Conversation
Rewrite the README first screen around the approved category (the live rules engine for AI agents; Take the rules out of your prompts.): the definition, what it replaces and keeps, where it sits, the upcoming-SDK hero clearly labelled, and the scope line. Add a What runs today section with code verified against a live engine, and reorder below the fold. Align the Python SDK README, add a TypeScript SDK README, and update the package descriptions and keywords, Cargo description, server banner, docs/README.md and the docs landing page to the same category.
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.
Repositions the repo around the category approved on 2026-10-04: the live rules engine for AI agents, h1 "Take the rules out of your prompts.", bold line "Your agents act on what's true now." (source: gtm-tagline report §2–4 and §9, with the challenger's factual fixes applied).
What changed
subscribe()/claim()(SDK phase 1, not merged) and sits under an "upcoming SDK" note. A new What runs today section shows the same rule on today's Python SDK, the WebSocket standing query and its deltas, and the engine's.whyproof.claimed_bycolumns; TTL locks are left toWorkQueueleases in phase 3. Crons that wait on time keep a clock writer. Staleness is an explicit lease guard.kg.why()from Python is not shown as working; the engine's.whyis. Also: "when", not "the moment"; the scope line says "in progress (draft)" and links feat(protocol): share evaluations across standing queries that differ only in bound constants, and cache their plans #232; no "carries a proof"; no "one per tenant".files). pyproject and package.json descriptions and keywords updated.inputlayer-server --helpbanner, docs/README.md and the docs landing pagedocs/content/index.mdx.Verification
Run against a main-equivalent engine (c166f94 binary) in a scratch lab:
late/killed/restoredas shown..subscribe needs ?check_needed(Order, Shipment)session got a snapshot, then a delta retracting the row on+kill_switchand one re-inserting it on-kill_switch..why ?check_needed("ORD-4821", S)returned the proof tree that is abridged in the README.npm packand installed withnpm install inputlayer@file:…, printed the rows shown in its comments.ilsubcommands work andil searchlists consistency-core.cargo metadatapasses, and the pyproject and package.json files parse.Removed or redirected links
Not in this PR
front/, report §4.6) still uses the old category in about a dozen places.Found while verifying (SDK, not changed here)
AND()on main takes two arguments and silently drops the rest. A multi-condition rule compiles with its later conditions missing. The JS README nestsAND. feat(inputlayer-js): add guarded programs, claim() and any()/NOT(any()) existence checks #240 makesANDvariadic.kg.why(Derived)returns a shallow tree (a query-wrapper fact), andkg.why(Cls, key=…)raises (known; challenger item 5).