-
Notifications
You must be signed in to change notification settings - Fork 9
DELETED Markdown linting POC #788
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
b0e3062
4b4724e
f916605
2c0dd83
df2578c
a892f38
91dedab
2e0f400
7207006
7d79b5c
19af3cf
5b385ff
d59d55a
21aaf85
84172ca
9aa575f
7a34630
05c36a1
7da55c8
d472fdf
f61b8ed
43b2128
c086704
999420d
56faf62
0669763
c108f65
9b587ed
29a3104
293bff1
63b84ab
a66ce30
ee670f8
460bcf1
1b650da
5caf30d
435cf78
f87ffed
d21a874
bc1bd82
527fc79
d0a5f30
fb85511
3037c11
51beb33
a355192
acb4be7
b7997ce
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,7 +12,7 @@ MD007: false | |
|
|
||
| # Line length — reduce progressively after long lines are fixed | ||
| MD013: | ||
| line_length: 750 | ||
| line_length: 650 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The ratchet needs a matching change on the producer side or it'll un-ratchet itself. The PR description says "will use doc writer agents to keep lengths <650 in future", but the automation path doesn't go through those agents. One line in the template ("Wrap entries at sentence boundaries; keep each source line under 650 characters") would close it. Fine as a follow-up if you want to keep this PR small, but it's worth an issue rather than nothing. |
||
| code_blocks: false | ||
| tables: false | ||
| headings: false | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -22,12 +22,14 @@ hide: | |
| * **NEW** Macro-enabled Excel workbooks (`.xlsm`) can now be attached to a chat and uploaded to a [collection](concepts/collections/index.md). They were previously rejected as an unsupported file type. As with other documents, the file is never executed — only its extracted text is sent to the LLM. | ||
| * **NEW** The notifications list now has toggle buttons for filtering by level (Info, Warning, Error) and, if you belong to fewer than three teams, by team — alongside the existing filter panel. A notification that has occurred more than once shows a count of how many times it recurred (`×3`), and the notification detail page now names the team in its breadcrumb. | ||
| * **NEW** You can now sample the traces sent to Langfuse instead of sending every conversation turn, using a team-wide **Sample rate** on the Langfuse tracing provider and a per-chatbot **Trace sample rate** override that inherits the team default when left blank. Setting a chatbot's rate to `0.0` stops its Langfuse traces entirely. Builtin tracing is unaffected and still records every turn, and rate changes take effect on the next turn. The `trace_sample_rate` field is also available on the v2 chatbots write API. See [Configure Langfuse Trace Sampling](how-to/configure_langfuse_trace_sampling.md). | ||
| * **NEW** A chatbot's consent form can now be collected through the [Chat API](api/v1/index.md) rather than the separate web page. Starting or polling a session returns a `consent` block saying whether consent is still needed and what the form says, a new `POST /api/chat/{session_id}/consent/` endpoint records that the participant accepted it, and sending a message or uploading a file is refused until they have. Republishing the chatbot with an edited consent form asks the participant again. This applies only to chat widgets on version 0.13.0 or later, which will carry the consent panel — existing embeds are unaffected, as are API key and OAuth callers. See [Consent Forms](concepts/consent.md). | ||
| * **NEW** A chatbot's consent form can now be collected through the [Chat API](api/v1/index.md) rather than the separate web page. Starting or polling a session returns a `consent` block saying whether consent is still needed and what the form says, a new `POST /api/chat/{session_id}/consent/` endpoint records that the participant accepted it, and sending a message or uploading a file is refused until they have. | ||
| Republishing the chatbot with an edited consent form asks the participant again. This applies only to chat widgets on version 0.13.0 or later, which will carry the consent panel — existing embeds are unaffected, as are API key and OAuth callers. See [Consent Forms](concepts/consent.md). | ||
| * **CHANGE** The chatbot inspect API (`GET /api/v2/chatbots/{id}/inspect/`) no longer returns an `assistant` key on a pipeline node, and the `AssistantNodeParams` schema has been removed. Only clients inspecting pipelines that contain an assistant node are affected — those nodes are still listed, with their type reported as before and their stored settings returned in the generic node params shape (minus the internal assistant id). See the [Chatbots API reference](api/v2/chatbots.txt). | ||
| * **BUG** Publishing a version of a chatbot now keeps a copy of its consent form as it read at that moment. Previously every published version pointed at the current working form, so editing that form also changed the wording shown by versions published before the edit. Versions published before this fix keep using the working form until the chatbot is published again. | ||
|
|
||
| ## Sep 2, 2026 | ||
| * **CHANGE** The OpenAI Assistants pages have been removed. The **Assistants** entry is gone from the sidebar, and assistants can no longer be created, viewed, edited or archived in Open Chat Studio — the assistant URLs now return a "not found" error. Assistants no longer appear in the delete-team confirmation, no longer block deleting an LLM provider or a custom action, and no longer appear in deprecated-model reporting, and the file-upload controls that assistants added to the chat input bar are gone. File links in historical chat messages now show as plain text instead of downloads. Chatbots and pipelines that use an assistant node still open and still run as before. See [Migrate Assistants](how-to/assistants_migration.md). | ||
| * **CHANGE** The OpenAI Assistants pages have been removed. The **Assistants** entry is gone from the sidebar, and assistants can no longer be created, viewed, edited or archived in Open Chat Studio — the assistant URLs now return a "not found" error. Assistants no longer appear in the delete-team confirmation, no longer block deleting an LLM provider or a custom action, and no longer appear in deprecated-model reporting, and the file-upload controls that assistants added to the chat input bar are gone. | ||
| File links in historical chat messages now show as plain text instead of downloads. Chatbots and pipelines that use an assistant node still open and still run as before. See [Migrate Assistants](how-to/assistants_migration.md). | ||
|
|
||
| ## Sep 1, 2026 | ||
| * **NEW** An embedded widget channel can now require an **OAuth** token instead of its embed key, using the new **Credential mode** setting on the channel. In OAuth mode every request is validated against a token minted by your own backend, the embed snippet shown in Open Chat Studio includes a sample `authTokenProvider` implementation, and the widget must be on version 0.12.0 or later. Existing channels keep the embed-key mode they already have. Leaving the channel's allowed domains blank marks the channel as a server-only integration, so any request from a browser is refused. See [OAuth credential mode](chat_widget/reference.md#oauth-credential-mode). | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This line is still over the new limit — it's between 651 and 669 characters (matches Splitting it after |
||
|
|
@@ -54,7 +56,8 @@ hide: | |
| * **BUG** Fixed an error raised by the code in a [Python node](tech-hub/python_node.md) causing the message to fail without a reply. The participant now receives a generic error response, and the error is recorded against the message so you can see what went wrong. | ||
|
|
||
| ## Aug 20, 2026 | ||
| * **CHANGE** Turning off a channel's **Enabled** toggle now stops new conversations and bot-initiated messages, where before it only stopped incoming ones. Previously a disabled channel still allowed new conversations to be started (from the chat widget, the public web chat link, Slack, or the chatbot management pages) and still sent out scheduled messages, event action messages and API-triggered messages. New sessions on a disabled channel are now refused, and bot-initiated messages to a disabled channel are no longer sent. Two API endpoints are still exceptions — see [Known limitations](how-to/disable_a_channel.md#known-limitations). See [Disabling a channel](concepts/channels.md#disabling-a-channel). | ||
| * **CHANGE** Turning off a channel's **Enabled** toggle now stops new conversations and bot-initiated messages, where before it only stopped incoming ones. Previously a disabled channel still allowed new conversations to be started (from the chat widget, the public web chat link, Slack, or the chatbot management pages) and still sent out scheduled messages, event action messages and API-triggered messages. | ||
| New sessions on a disabled channel are now refused, and bot-initiated messages to a disabled channel are no longer sent. Two API endpoints are still exceptions — see [Known limitations](how-to/disable_a_channel.md#known-limitations). See [Disabling a channel](concepts/channels.md#disabling-a-channel). | ||
|
|
||
| ## Aug 18, 2026 | ||
| * **CHANGE** When several branches merge into one node, that node now takes its input from the branch that arrived most recently, and `node_inputs` holds every input that has arrived so far instead of just one. Previously the input depended on the order the connections happened to be drawn, so the same graph could feed a merge node a different branch — any node with more than one incoming connection may now receive a different input than before. See [Which input a node receives](concepts/pipelines/parallel.md#which-input-a-node-receives). | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please verify this block actually takes effect — I think it may be a silent no-op, for two independent reasons.
overrides/filter/combinedon't appear in the documented markdownlint-cli2 config properties I could check (config,customRules,fix,frontMatter,gitignore,globs,ignores,markdownItPlugins,modulePaths,noBanner,noInlineConfig,noProgress,outputFormatters,showFound).combine: replacein particular reads like ESLint/Prettier syntax rather than cli2's. If cli2 ignores unknown top-level keys, this parses fine and does nothing..markdownlint.*file in the same directory overrides this file'sconfigproperty". Root.markdownlint.yamlsits beside this file, so for root-levelAGENTS.mdthe discovered config should win over anything rule-related declared here..github/workflows/AGENTS.mdhas no directory config, so it also resolves to the root.markdownlint.yaml.Cheap way to settle it: temporarily add a
```pythonfence toAGENTS.mdand runuv run prek run markdownlint-cli2 --all-files. If MD040 doesn't fire, the override is inert. (I couldn't run the linter in my sandbox — no node/network — so this is unverified either way.)If it turns out not to work, the per-file mechanism that's known-good at any cli2 version is an inline configure comment at the top of each AGENTS.md:
Downside is it duplicates the vocabulary instead of sharing
.markdownlint-prompts.yaml, which loses the "adding a language is a trust decision made in one place" property. Worth the tradeoff discussion in the PR rather than picking silently.