Repository navigation
docs: round 4 — runnable snippet gate, examples import the package, id rules, CHANGELOG cleanup - #612
Merged
Merged
Conversation
Every example imported `../../src/...` (internal modules, including `src/storage/sqlite/driver`), so none could be copied into an app as-is. They now import `@lousho/build-ai-agent` and its public subpaths (`/testing`, `/executor`, `/flows`, `/triggers`, ...). tsconfig.json `paths` (moved there from tsconfig.tests.json and completed to match every package.json export, dropping the stale `/core`) point those names at src/, so `npx tsx examples/...` and typecheck:examples need no build; a resolver in vitest.config.ts does the same for tests under examples/. data-analyst loads `node:sqlite` itself instead of the internal driver. examples/imports.test.ts fails on a new `src/` import in an example source and keeps the paths in sync with the exports. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BG6n8mwoFq1jmay9zCPS6n
…nces docs:verify-snippets ran only docs/quick-start.md against the packed package, so the "Reading the principal in the run" snippet in auth.md (one scripted mockModel reply, two turns) crashed unnoticed, and fences indented under a list item were never type-checked at all. Stage B now also runs every ```ts snippet that builds its own mock provider (mockModel / createMockProvider), and the fence parser accepts indented fences. Fixed what that surfaced: the auth.md mock script gets a reply per turn, the workspace-tools CommandRule snippet imports and builds what it uses, and snippets that need a secret, an agent directory, vitest or a long-running server are marked `no-run` (still type-checked). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BG6n8mwoFq1jmay9zCPS6n
Two different id grammars are both called `sessionId`: a session id
(`agent.session({ id })`, the routes, `lousho chat --session`) is 1-128
characters of A-Za-z0-9_- with no '.', while a run id
(`send({ sessionId })`) is 1-200 characters and may contain '.'. The
upgrading table quoted only the run rule, so a route user with a '.' or a
129+ character id got a 400 that contradicted it.
The upgrading row, durable-execution and errors.md now state both rules
(and the reserved `.fire` ending); both error messages say which rule they
enforce and point at the other one, and the error-code hint and the
`send()` option docs say the same.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BG6n8mwoFq1jmay9zCPS6n
…ense Unreleased - The `[1.0.0-rc.0] - 2026-10-04` heading named a version that was never published. Its entries are now filed by when they reached npm, checked against the CHANGELOG at each release tag: what was already in 1.0.0-alpha.9 is under `[1.0.0-alpha.9] - 2026-10-04`, and the rest (first published in alpha.15) is under `[1.0.0-alpha.19] - 2026-10-08`. - `[Unreleased]` also held 17 entries that alpha.15-alpha.19 had already published; they moved to `[1.0.0-alpha.19]` too. - `[Unreleased]` is condensed from ~119 KB to ~30 KB: each change is kept (behavior changes first and marked, related fixes grouped by area, duplicate entries merged, purely internal repo housekeeping dropped), and it covers this branch's changes (examples, id rules, snippet check). - Internal ticket tags (`Eve ...`, `LOU-...`, `(H2)`, ...) are removed from the sections above `[1.0.0-alpha.8]`. docs/upgrading.md now points at `1.0.0-alpha.19` instead of rc.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BG6n8mwoFq1jmay9zCPS6n
On a slow runner the 300 ms runs could finish before the cancel arrived; the id then named one request and the cancel rightly stopped it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BG6n8mwoFq1jmay9zCPS6n
…WebhookTriggerAdapter constructor With examples importing the package by name, fallow no longer links the adapter's tests to it through the example graph and falls back to its static CRAP estimate, which put the 5-branch constructor at the limit. Behavior is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BG6n8mwoFq1jmay9zCPS6n
LinuxDevil
force-pushed
the
ccr-0ae7820c-cbv21k-docs-4
branch
from
October 12, 2026 16:07
9187ef6 to
77d658d
Compare
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.
Round-4 audit fixes, docs area.
Changes
docs:verify-snippetshandles fences indented under list items. It now runs every mock-provider snippet (about 50) instead of onlyquick-start.md.auth.mdhad a mock with one reply for two turns, and theworkspace-tools.mdsnippet used names it never defined.no-runand are still type-checked.@lousho/build-ai-agentand its public subpaths instead of../../src, resolved through tsconfigpathsand a vitest plugin scoped toexamples/.examples/imports.test.tsguards this and checks thatpathsmatches the package exports.upgrading.md,durable-execution.mdanderrors.mdexplain the session id rule (1–128, no.) and the run id rule (1–200,.allowed). The error messages name which rule applies.[1.0.0-rc.0]heading for a version that was never published. Its entries are re-filed under the releases that actually shipped them (alpha.9 and alpha.19).[Unreleased]is condensed from about 119 KB to about 30 KB, with behavior changes first.Testing
All local gates pass: tsc, typecheck, lint, build, api:check, test:types, docs snippets, llms, ratchet and coverage (5760 tests).
WebhookTriggerAdapter.tsconstructor (CRAP 30). This branch doesn't touch that file, so CI will show whether it's pre-existing.🤖 Generated with Claude Code
https://claude.ai/code/session_01BG6n8mwoFq1jmay9zCPS6n
Generated by Claude Code