summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-05-07Merge pull request #1925 from vyos/chore/docs-agents-md-bot-workflowYuriy Andamasov
docs(agents-md): document bot review workflow (Copilot=draft, CodeRabbit=ready)
2026-05-07Merge pull request #1922 from vyos/fix/codecopier-css-specificityYuriy Andamasov
fix(css): increase copyFailedNotifier specificity to override copyDiv base style
2026-05-07fix(agents-md): add language tag to Mergify command fenced blockYuriy Andamasov
πŸ€– Generated by [robots](https://vyos.io)
2026-05-07docs(agents-md): Mergify commands work in comments only, not PR bodyYuriy Andamasov
πŸ€– Generated by [robots](https://vyos.io)
2026-05-07docs(agents-md): document bot review workflow (Copilot=draft, CodeRabbit=ready)Yuriy Andamasov
Copilot review must only be triggered on draft PRs. CodeRabbit review must only be triggered on ready-for-review PRs. Auto-reviews are disabled on this repo so CodeRabbit requires manual trigger. πŸ€– Generated by [robots](https://vyos.io)
2026-05-07fix(css): use .highlight > .copyDiv.copyFailedNotifier for strict specificityYuriy Andamasov
Specificity (0,2,1) > (0,1,1) β€” no longer relies on rule order. πŸ€– Generated by [robots](https://vyos.io)
2026-05-07Merge pull request #1919 from vyos/T8595-add-agents-mdYuriy Andamasov
general: T8595: switch CLAUDE.md to AGENTS.md (+ Copilot symlink)
2026-05-07fix(css): increase copyFailedNotifier specificity to override copyDiv base styleYuriy Andamasov
.copyFailedNotifier (0,1,0) was losing to .highlight > .copyDiv (0,1,1), so the red failure background never rendered. Adding .copyDiv to the selector brings specificity to (0,2,0) which overrides the base rule. πŸ€– Generated by [robots](https://vyos.io)
2026-05-07general: T8595: switch CLAUDE.md to AGENTS.md (+ Copilot symlink)Yuriy Andamasov
2026-05-07Merge pull request #1890 from ↡Yuriy Andamasov
vyos/fix/codecopier-snippet-leak-and-clipboard-error fix(codecopier): exclude Copy label from clipboard and stop showing false success
2026-05-07Merge pull request #1916 from vyos/chore/docs-claude-md-fix-formattingYuriy Andamasov
docs(claude-md): fix llms.txt backtick, redirect aliases, template path examples
2026-05-07Merge pull request #1913 from vyos/chore/docs-readme-remove-vale-sectionYuriy Andamasov
chore(readme): remove broken vale lint section
2026-05-07docs(claude-md): fix llms.txt backtick, redirect aliases, template path examplesYuriy Andamasov
- Wrap llms.txt in backticks where missing (formatting consistency) - Expand redirect alias patterns to explicit destinations (/en/circinus/* β†’ /en/1.5/ etc.) - Use exact template paths (vpp/index.md, contributing/index.md) in branch-specific example - Add RTD table re-verification note πŸ€– Generated by [robots](https://vyos.io)
2026-05-07Merge pull request #1910 from vyos/chore/docs-makefile-remove-dead-autooptsYuriy Andamasov
chore(makefile): remove dead AUTOOPTS variable
2026-05-07Merge pull request #1909 from vyos/chore/docs-pr-template-grammar-fixYuriy Andamasov
chore(github): fix grammar in PR template comment
2026-05-07chore(readme): remove broken vale lint sectionYuriy Andamasov
The Test-the-docs section documented running vale through Docker, but vale is not in the Docker image, no .vale.ini exists, and no styles directory is present. CI uses vyoslinter (doc-linter.py) for linting. πŸ€– Generated by [robots](https://vyos.io)
2026-05-07chore(makefile): remove dead AUTOOPTS variableYuriy Andamasov
AUTOOPTS = --watch . was defined but never referenced β€” livehtml uses explicit --ignore flags instead. Drop the dead assignment. Circinus is unaffected; its livehtml still uses $(AUTOOPTS) directly. πŸ€– Generated by [robots](https://vyos.io)
2026-05-07chore(github): fix grammar in PR template commentYuriy Andamasov
"All PR should follow" β†’ "All PRs should follow". πŸ€– Generated by [robots](https://vyos.io)
2026-05-07Merge pull request #1905 from vyos/fix/docs-robots-sitemap-url-currentYuriy Andamasov
docs(robots): fix stale sitemap URL on current
2026-05-07Merge pull request #1902 from vyos/chore/claude-md-post-flipYuriy Andamasov
chore(claude-md): update for post-flip MyST-as-primary state
2026-05-07docs(claude-md): drop literal ``command`` example, link RST quickref insteadYuriy Andamasov
The previous wording `Inline code: use double backticks (\`\`command\`\`)` included literal backslashes intended to escape the inner backticks. Markdown doesn't interpret backslashes inside code spans, so the backslashes rendered verbatim β€” the rendered output read as \`\`command\`\` instead of the intended ``command``. Replace with a prose-only line that links the RST docutils quickref (Inline markup section). No literal RST snippet to escape; rendering is straightforward. Same fix applied symmetrically across [#1902](https://github.com/vyos/vyos-documentation/pull/1902)/[#1906](https://github.com/vyos/vyos-documentation/pull/1906)/[#1907](https://github.com/vyos/vyos-documentation/pull/1907) β€” the trio is byte-identical (md5 `bdea8e5c...`). \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-07docs(claude-md): align rst- prefix wording with the canonical detailed versionYuriy Andamasov
Yuriy/Copilot SWE pushed a more detailed rst-prefix block to [#1906](https://github.com/vyos/vyos-documentation/pull/1906) that gives an explicit subdirectory example and a counter-example (`configuration/firewall/zone` maps to `docs/configuration/firewall/rst-zone.rst`, NOT `docs/rst-configuration/firewall/zone.rst`). Adopt that exact wording on the other two PRs in the trio so all three CLAUDE.md files match again (md5 `acd58911...`). \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-07docs(claude-md): fix Markdown rendering + clarify rst- prefix wordingYuriy Andamasov
Three rendering/clarity fixes flagged by Copilot review across the post-flip CLAUDE.md trio (#1902/#1906/#1907): 1. **Triple-backtick examples in single-backtick code spans broke Markdown rendering.** The MyST fence example ```{cfgcmd} set system ...``` was wrapped in a single-backtick span, where the inner triple backticks confuse the parser. Switch to a four-backtick code span so the literal fence renders cleanly. Same fix applied to the "Configuration page structure" bullet. 2. **RST inline-literal example used confusing nested backticks.** The line "Inline code: \`\`\`\`command\`\`\`\`" parsed but was hard to read. Replace with a plain explanation: "Inline code: use double backticks (\`\`command\`\`)". 3. **Clarify that the `rst-` override prefix attaches to the basename, not the path stem.** The previous wording `docs/rst-<page>.rst` could be misread as a top-level prefix. The actual behavior in `scripts/swap_sources.py` is: for a page at `docs/automation/cloud-init.md`, the override file lives at `docs/automation/rst-cloud-init.rst` (basename-prefixed sibling). Spell that out with a concrete example. Same fixes applied symmetrically across [#1902](https://github.com/vyos/vyos-documentation/pull/1902) (current), [#1906](https://github.com/vyos/vyos-documentation/pull/1906) (circinus), and [#1907](https://github.com/vyos/vyos-documentation/pull/1907) (sagitta) β€” all three worktrees back to byte-identical (md5 `d1ceaddc...`). \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-07Revert "docs(claude-md): document PR review bot workflow"Yuriy Andamasov
The bot review workflow is a cross-repo convention that lives in the org-level rule file (`vyos-github`-style global instructions), not in per-repo CLAUDE.md. Documenting it here would duplicate the canonical source and risk drift if the workflow changes. This reverts the section added in the previous commit on this branch. \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-07docs(claude-md): document PR review bot workflowYuriy Andamasov
Add a "PR review workflow" section after CI describing how Copilot and CodeRabbit are used on this repo: - Copilot is opt-in (`@copilot review`) and works on drafts. - CodeRabbit auto-runs when a PR flips to ready-for-review and does not review drafts. - Convention: draft β†’ iterate with Copilot β†’ flip ready β†’ iterate CodeRabbit β†’ human review. - Every review thread needs an explicit reply before resolving. This matches the cross-repo workflow in `vyos-github` org rules and makes the convention discoverable for new contributors landing on the repo without prior context. \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-07docs(robots): fix stale sitemap URL on currentYuriy Andamasov
Was `https://docs.vyos.io/sitemap.xml` β€” doesn't exist on RTD's per-version layout. The actual sitemap is at `/en/rolling/sitemap.xml` (matching `html_baseurl` and `sphinx-sitemap`'s output). `circinus`/`1.5` already has the correct `/en/1.5/sitemap.xml`; `sagitta`/`1.4` is being fixed in [#1904](https://github.com/vyos/vyos-documentation/pull/1904). \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-07Merge pull request #1874 from vyos/feat/docs-llms-txt-currentYuriy Andamasov
docs: render llms.txt at build time (current)
2026-05-07docs(conf.py): fix stale .html reference in fail-fast commentYuriy Andamasov
Last residual `.html` reference in the `_write_llms_txt` hook comments β€” the html_baseurl-empty failure-path comment said "rendering /quick-start.html etc." but the template now emits `.md` URLs. Update the example to `/quick-start.md` to match the actual output. Comment-only change. Same fix applied symmetrically across [#1874](https://github.com/vyos/vyos-documentation/pull/1874), [#1876](https://github.com/vyos/vyos-documentation/pull/1876), and [#1903](https://github.com/vyos/vyos-documentation/pull/1903). Addresses Copilot review feedback on PR #1903. \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-07docs(llms.txt): update dirhtml-skip rationale after .md pivotYuriy Andamasov
The previous comment on `_write_llms_txt` (and on the LLM-Facing Files section in CLAUDE.md) justified the `dirhtml` skip by claiming the template's `.html` URLs wouldn't resolve under `dirhtml` output. That became stale after [#1874@5fe7f9ad](https://github.com/vyos/vyos-documentation/pull/1874/commits/5fe7f9ad) (and parity commits on [#1876](https://github.com/vyos/vyos-documentation/pull/1876)/[#1903](https://github.com/vyos/vyos-documentation/pull/1903)) pivoted the curated template to `.md` URLs β€” `_copy_md_sources` puts `.md` files at their source-relative paths regardless of builder, so the rendered llms.txt would actually resolve fine under `dirhtml` now. The real reason we skip `dirhtml` is simpler: production publishes only via the `html`/`readthedocs` builders, and we don't render llms.txt for builds we don't ship. Local `make dirhtml` is a developer convenience, not a publish target. Reword the conf.py comment and the CLAUDE.md section to say that plainly. No code-behavior change. Addresses Copilot review feedback on PR #1874 (3 threads on docs/conf.py, docs/_templates/llms.txt.j2, and CLAUDE.md flagging the inconsistency). \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-07docs(llms.txt): point links at .md sources, not .htmlYuriy Andamasov
Per the [llms.txt spec](https://llmstxt.org/), `/llms.txt` links should point at markdown files (the spec example: `[API docs](https://example.com/api.md)`). We were using `.html` URLs, which still work but force LLM consumers through HTML parsing for content that's already available as raw MyST at the same path (the `.md` is copied to HTML root by `_copy_md_sources`). Pivot the curated llms.txt template to `.md` URLs across all 22 entries. Spec-compliant, no extra requests, LLMs get raw markdown without the navigation chrome. Verified locally: `/en/<ver>/<page>.md` returns 200 with raw MyST content (frontmatter + body) for all linked paths on this branch. Same pivot applied symmetrically across [#1874](https://github.com/vyos/vyos-documentation/pull/1874) (current), [#1876](https://github.com/vyos/vyos-documentation/pull/1876) (sagitta), and [#1903](https://github.com/vyos/vyos-documentation/pull/1903) (circinus). πŸ€– Generated by [robots](https://vyos.io)
2026-05-07docs(conf.py): set Jinja autoescape=False explicitly for llms.txt templateYuriy Andamasov
The llms.txt template renders plain text (markdown), not HTML, so the HTML autoescape rules that bandit/ruff S701 flags don't apply. Explicit `autoescape=False` silences the lint while documenting the intent β€” there's no HTML context to escape into here. Behavior unchanged (Jinja's default `autoescape=False` was already in effect); this just makes it visible. Same change applied symmetrically across [#1874](https://github.com/vyos/vyos-documentation/pull/1874) (current), [#1876](https://github.com/vyos/vyos-documentation/pull/1876) (sagitta), and [#1903](https://github.com/vyos/vyos-documentation/pull/1903) (circinus). Addresses CodeRabbit review feedback (S701) on PR #1876. \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-07docs(conf.py): use FileSystemLoader/get_template for better tracebacksYuriy Andamasov
Switch from `Environment.from_string(tpl_path.read_text(...))` to `Environment(loader=FileSystemLoader(...)).get_template('llms.txt.j2')`. When `StrictUndefined` raises on a typo in `llms.txt.j2` (e.g. `{{ relase }}`), the traceback now references the real template filename and line number instead of an anonymous in-memory template. That makes debugging template typos materially easier without changing any other behavior β€” same fail-fast guard, same trailing-newline handling, same rendered output. Same change applied symmetrically across [#1874](https://github.com/vyos/vyos-documentation/pull/1874) (current), [#1876](https://github.com/vyos/vyos-documentation/pull/1876) (sagitta), and [#1903](https://github.com/vyos/vyos-documentation/pull/1903) (circinus) so the hook stays identical across branches. Addresses CodeRabbit/Copilot review feedback on PR #1903. \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-07chore(ci): empty commit to refresh stuck pull/1874/head refYuriy Andamasov
GitHub's `refs/pull/1874/head` was stuck at the prior commit (86e4d184) even though the branch ref had advanced to 17e840a3, which made RTD's `git checkout 17e840a3` fail with "reference is not a tree". This empty commit nudges GitHub to refresh the pull ref. Will be squashed away on merge β€” not part of the substantive change set. \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-07docs(conf.py): name the rolling docs as "rolling (current)", not stale circinusYuriy Andamasov
The `current` branch's `release` literal was `'1.5.x (circinus)'` β€” stale since circinus split off as its own LTS branch. The rendered llms.txt verification on the RTD preview surfaced the bug as the canonical version label of the rolling docs: > This documentation covers 1.5.x (circinus). …on a build whose URLs are `/en/rolling/`. The new build-time render introduced by this PR makes the inconsistency a user-visible artifact exposed to LLM consumers, so fix the source-of-truth literal here. Now `release = 'rolling (current)'` and `version = 'rolling'`. Sphinx also exposes `release` in the page footer ("v: rolling (current)") and search metadata, so fixing this string is a single source-of-truth change for the rolling docs. Sagitta and circinus `release` strings are correct already (`'1.4.x (sagitta)'` and `'1.5.x (circinus)'` respectively); no cross-branch sweep needed for `release`. Addresses CodeRabbit review feedback on PR #1874 (the originally pushed-back release-mismatch finding β€” verification proved the push-back wrong). \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-06fix(codecopier): guard UI updates against out-of-order async completionsYuriy Andamasov
Rapid re-clicks queue multiple `navigator.clipboard.writeText` promises; without a request token, an older promise resolving later can overwrite the newer click's UI (or have its 2-second timeout fire on the new click's state). Add a per-button `copyRequestId` that each click increments and captures locally; the success/failure UI flip and the revert-timeout body all bail out early if the captured token no longer matches the current one. Addresses CodeRabbit review feedback on PR #1890. \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-06docs(conf.py): fail loudly when html_baseurl is missingYuriy Andamasov
Replace the silent `(app.config.html_baseurl or '').rstrip('/') + '/'` fallback with an explicit `RuntimeError`. Every supported branch sets `html_baseurl`, so a missing value would only ever happen as a regression β€” better to fail the build than to ship an llms.txt full of broken root-relative URLs (`/quick-start.html`, `/cli.html`, etc.). Addresses CodeRabbit review feedback on PR #1874. \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-06Merge remote-tracking branch 'origin/current' into feat/docs-llms-txt-currentYuriy Andamasov
# Conflicts: # docs/conf.py
2026-05-06Merge remote-tracking branch 'origin/current' into ↡Yuriy Andamasov
fix/codecopier-snippet-leak-and-clipboard-error # Conflicts: # docs/_static/js/codecopier.js
2026-05-06chore(claude-md): correct vale claim and Sphinx extension listYuriy Andamasov
Three follow-up Copilot findings on the post-flip CLAUDE.md: 1. Docker image doesn't bundle vale β€” the repo has no `.vale.ini`, `docker/Dockerfile` doesn't install vale, and there's no Vale CI workflow. Replace the entire "Lint (vale)" section with an honest description of how linting actually happens (`vyoslinter` / `doc-linter.py` in `vyos/.github`, run by `lint-doc.yml` on changed files only). The Docker build header is updated too β€” it says "bundles Sphinx and the MyST/RTD plugin set" instead of the inaccurate "incl. vale". 2. `docs/_ext/releasenotes.py` and `testcoverage.py` are not Sphinx extensions β€” neither has a `setup()` function and neither is in `extensions = [...]` in `conf.py`. Reword the bullet so the only files described as Sphinx extensions are `vyos.py` and `autosectionlabel.py` (both registered in `extensions`); the other two are described as standalone helper scripts. Addresses Copilot review feedback on PR #1902. \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-06docs(conf.py): drop dirhtml from llms.txt builder list, use StrictUndefinedYuriy Andamasov
Two follow-up Copilot findings on the curated llms.txt render: 1. Drop `dirhtml` from the builder allow-list. The template hard-codes `.html` URLs (`quick-start.html`), which don't exist under `dirhtml` output (`quick-start/index.html`). Production publishes via the `html`/`readthedocs` builders, so `make dirhtml` would only emit a misleading file. Cleaner to skip than to branch URL generation on builder type for a path we don't actually ship. 2. Use a Jinja `Environment` with `StrictUndefined` instead of a bare `Template`. A typo in `llms.txt.j2` (e.g. `{{ relase }}`) now raises at build time instead of silently rendering as an empty string and shipping a half-blank `llms.txt`. Also set `keep_trailing_newline` so the rendered file's terminating newline is preserved. Addresses Copilot review feedback on PR #1874. \xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
2026-05-06docs(conf.py): clarify llms_txt_file comment points to _templates sourceYuriy Andamasov
The pre-existing comment said "keep curated render via setup hook" but didn't say where the source template lives. After moving llms.txt off `html_extra_path` and onto a build-time render, point readers explicitly at `_templates/llms.txt.j2` and `_write_llms_txt()` so future updates land in the right place. Addresses Copilot review feedback on PR #1874. πŸ€– Generated by [robots](https://vyos.io)
2026-05-06chore(claude-md): address Copilot review feedbackYuriy Andamasov
- Tests: replace bare `pytest tests/` with the working invocation (`cd tests && PYTHONPATH=../scripts python -m pytest ...`) since the test imports from `scripts/` which is not on PYTHONPATH by default. - Vale: expand the single-file invocation into a copy-pasteable `docker run` command instead of the placeholder `docker run ...`. - Sphinx extensions bullet: add the missing `cmdincludemd`, `cfgcmdlist`, `opcmdlist` directives (and `cfgcmd`/`opcmd` roles) registered by `docs/_ext/vyos.py`. - Command directives section: clarify that the MyST include directive is `cmdincludemd` (not `cmdinclude`) β€” RST pages use `cmdinclude`, MD pages use `cmdincludemd`. - Linter suppression markers: clarify that `{eval-rst}` blocks inside Markdown pages keep the `..` RST marker form, while top-level Markdown uses the `%` MyST comment form. πŸ€– Generated by [robots](https://vyos.io)
2026-05-06fix(codecopier): prevent state class crossover on rapid re-clicksYuriy Andamasov
Reset both notifier classes and cancel any pending revert timeout at the start of each click so a fast failure-then-success (or vice versa) can't leave `copiedNotifier` and `copyFailedNotifier` applied simultaneously, and so the 2-second auto-revert window restarts cleanly per click. Addresses Copilot review feedback on PR #1890. πŸ€– Generated by [robots](https://vyos.io)
2026-05-06chore(claude-md): update for post-flip MyST-as-primary stateYuriy Andamasov
The CLAUDE.md scaffolded by /init reflected the pre-MyST repo and was never updated as the migration landed. Replaces it with a current description of how the repo actually works: - MD is the canonical source for migrated pages on all three release branches (current/circinus/sagitta) as of 2026-05-06. RST is the canonical source for pages that haven't been migrated yet. - Documents the rare RST override mechanism: rst-<page>.rst plus docs/_rst_overrides.txt, scripts/swap_sources.py CLI flags. The override list is empty by default; the mechanism is a no-op. - Editing rules: edit the .md for migrated pages, the .rst for non-migrated pages, write new pages as .md from the start. The md- prefix used during the migration is gone. Also adds previously-missing sections: tests command, vale lint command, branches/versions table with constellation→version mapping, PR review flow with Copilot+CodeRabbit, worktree convention. Generated by robots https://vyos.io
2026-05-06Merge pull request #1899 from vyos/feat/myst-as-primary-currentYuriy Andamasov
feat: MD as primary, RST as override β€” Phase 1 (rename + exclude flip on current)
2026-05-06feat: flip swap mechanism β€” Phase 2 (swap_sources.py rewrite)Yuriy Andamasov
Phase 2 of the MD-as-primary flip. Inverts swap_sources.py so it activates RST overrides (rst-<stem>.rst β†’ <stem>.rst, with the matching <stem>.md excluded via _md_exclude.txt) for stems listed in docs/_rst_overrides.txt. Changes: - scripts/swap_sources.py: rewritten with inverted rename direction and renamed runtime artifacts (_rst_override_state.json, _md_exclude.txt). CLI flags --swap/--restore/--dry-run/--status kept for compatibility with the Makefile and Read the Docs config. - docs/conf.py: clean up the runtime-artifact references that Phase 1 left pointing at the old _swap_state.json and _swap_exclude.txt names. - scripts/import_myst.py and tests/test_import_myst.py deleted; obsolete after the flip (MD is canonical, no separate import workflow needed). - tests/test_swap_sources.py: rewritten for the new semantics. All 10 tests pass under pytest. Smoke-tested end-to-end on a real worktree page (quick-start): adding the stem to _rst_overrides.txt, --dry-run, --swap, --status, --restore, all behave correctly. State JSON has version 2 (bumped from 1 to surface the incompatibility on rollback if old state lingers). Phase 3 will verify Makefile, .readthedocs.yml, docs/_ext/vyos.py don't reference any of the old names, then mark the PR ready-for-review. Generated by robots https://vyos.io
2026-05-06feat: flip swap mechanism β€” MD as primary, RST as override (Phase 1)Yuriy Andamasov
This is the first of three phases inverting the per-page swap mechanism so MD becomes the canonical primary and RST becomes the rare override. Phase 1 β€” file renames + conf.py exclude_patterns flip only: - Rename docs/**/md-<stem>.md to docs/**/<stem>.md (drop md- prefix) for all 254 stems previously listed in docs/_swap.txt - Rename docs/**/<stem>.rst to docs/**/rst-<stem>.rst (add rst- prefix) for the same 254 stems - Repurpose docs/_swap.txt as docs/_rst_overrides.txt; initially empty comment-only since no pages need the RST fallback right now - conf.py exclude_patterns flipped: rst-*.rst is now excluded by default instead of md-*.md - conf.py runtime-artifact references updated to _rst_override_state.json and _md_exclude.txt (Phase 2 will rewrite swap_sources.py to produce these names; for now no swap script runs because overrides list is empty) Phase 2 (next commit on this branch) will rewrite scripts/swap_sources.py with inverted rename direction, delete scripts/import_myst.py + tests, and update tests/test_swap_sources.py for the new semantics. Phase 3 will be the cleanup pass and ready-for-review flip. Generated by robots https://vyos.io
2026-05-06Merge pull request #1884 from vyos/fix/docs-typos-swap-currentYuriy Andamasov
docs: fix typos and grammar (ported from #1852 RST β†’ MyST)
2026-05-06docs(conf.py): also write llms.txt for dirhtml and readthedocs builderscopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/vyos/vyos-documentation/sessions/782645e7-c7a9-4da7-8c0f-46a0c82f9314 Co-authored-by: andamasov <12631358+andamasov@users.noreply.github.com>
2026-05-06docs: fix regression (everythingg) and inconsistent enable/disable in conntrackcopilot-swe-agent[bot]
Agent-Logs-Url: https://github.com/vyos/vyos-documentation/sessions/9994d03c-fd5a-43d8-a923-dfc9ea3a0a5e Co-authored-by: andamasov <12631358+andamasov@users.noreply.github.com>