Skip to content

chore(docs): regenerate impacted README files - #3803

Merged
eleshar merged 2 commits into
developfrom
chore/readme-regeneration
Oct 6, 2026
Merged

eleshar merged 2 commits into
developfrom
chore/readme-regeneration

Conversation

@lightspeed-docs-bot

Copy link
Copy Markdown
Contributor

Automated README regeneration, Dependabot-style.

  • Fixed branch; subsequent runs update this same PR until merged.

Linked issues

N/A - automated README normalization, no tracked issue.

Summary

README formatting normalization produced by meta.agent.js (headers, badges, footers, indexes).

Changes

See the diff: README formatting normalization only, no intentional content changes. Review carefully before merging.

Impact / Compatibility

Docs only; no code or behavior changes.

Verification

  • Generated by the documentation.yml regenerate job; CI checks run on this PR via App token.

Risk & Rollback

  • Risk level: Low
  • Rollback plan: close this PR unmerged, or revert after merge; the next regeneration run recreates it if still needed.

Changelog

N/A - automated formatting normalization, exempt from changelog (bot author).

@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

PR Template Routing

Branch Type: chore
Scope: readme-regeneration
Template: pr_chore.md
Labels Applied: type:chore

This PR was automatically routed based on the branch naming strategy.

@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Linear review: risk level 1 of 4

@lightspeed-docs-bot
lightspeed-docs-bot Bot force-pushed the chore/readme-regeneration branch from d84a590 to b4960bf Compare October 5, 2026 08:45
@lightspeed-docs-bot
lightspeed-docs-bot Bot force-pushed the chore/readme-regeneration branch from 7cbf97e to 8f43298 Compare October 5, 2026 09:29
@lightspeed-docs-bot
lightspeed-docs-bot Bot force-pushed the chore/readme-regeneration branch from e734e2c to ff2c7db Compare October 5, 2026 09:40
@lightspeed-docs-bot
lightspeed-docs-bot Bot force-pushed the chore/readme-regeneration branch from 194f479 to d300819 Compare October 5, 2026 19:48
@lightspeed-docs-bot
lightspeed-docs-bot Bot force-pushed the chore/readme-regeneration branch from bbd8ab7 to adcdee9 Compare October 6, 2026 04:08
@lightspeed-docs-bot
lightspeed-docs-bot Bot force-pushed the chore/readme-regeneration branch from e318f0c to 0a9c891 Compare October 6, 2026 08:31
@lightspeed-docs-bot
lightspeed-docs-bot Bot force-pushed the chore/readme-regeneration branch from ceb052e to 198e813 Compare October 6, 2026 08:55
@lightspeed-docs-bot
lightspeed-docs-bot Bot force-pushed the chore/readme-regeneration branch from fdf1941 to ff7ba32 Compare October 6, 2026 09:14
@lightspeed-docs-bot
lightspeed-docs-bot Bot force-pushed the chore/readme-regeneration branch from 7e19ca2 to e7bf715 Compare October 6, 2026 13:32
eleshar added a commit that referenced this pull request Oct 6, 2026
documentation.yml created its README regeneration and maintenance PRs with type:documentation, a non-canonical label, next to the type the branch prefix gives (type:chore), as seen on #3803. Both PRs now get area:documentation only, and a contract test pins it.
eleshar added a commit that referenced this pull request Oct 6, 2026
…, T043a (#3839)

* Add the redacted label inventory and close T041, T043 and T043a

* Align the evidence README table

* Map five GitHub-only labels to targets with a decided precedent (#3832)

component:ci, component:workflows, meta:refactor, observability and area:accessibility now merge into area:ci, area:workflows, type:refactor, area:observability and area:a11y, each citing the row it follows. The other 20 labels in #3832 stay retired, so the tool still lists their items under needs_decision.

* Stop the docs bot adding a second type label to its pull requests

documentation.yml created its README regeneration and maintenance PRs with type:documentation, a non-canonical label, next to the type the branch prefix gives (type:chore), as seen on #3803. Both PRs now get area:documentation only, and a contract test pins it.

* Let the workflow npm script check skip option flags; fix the changelog entry

validate-workflow-npm-scripts read the --silent in npm run --silent <script> as the script name, so any PR touching documentation.yml failed Lint. It now skips option flags and has tests. The changelog entry spelled out README and pull requests to pass the abbreviation check.

---------

Co-authored-by: lightspeed-docs-bot[bot] <312477520+lightspeed-docs-bot[bot]@users.noreply.github.com>
@lightspeed-docs-bot
lightspeed-docs-bot Bot force-pushed the chore/readme-regeneration branch 2 times, most recently from ddb2469 to 98abf03 Compare October 6, 2026 14:58
@eleshar
eleshar merged commit ff3c694 into develop Oct 6, 2026
33 checks passed
@eleshar
eleshar deleted the chore/readme-regeneration branch October 6, 2026 17:13
eleshar added a commit that referenced this pull request Oct 6, 2026
validate-badge-urls only matched a bare space in the destination and said the angle-bracket form was unmatched for lack of an example. The docs bot regeneration of #3803 produced ten real ones, and the repository carried 240 across 24 pages. The check now matches <url> label, and --fix joins the label and encodes the spaces; a valid <url> "title" is left alone. The 240 existing badges are repaired with the tool itself, and the tests cover both forms.
eleshar added a commit that referenced this pull request Oct 7, 2026
…enerator writes (#3854)

* Encode badge labels and status text in the generated shields.io URLs

includes/badges.js put the label, status text and licence into the shields.io URL raw, so a label such as Docs Validation produced an unencoded space. validate:badge-urls rejects it, and the docs bot README regeneration (#3803) carried 24 of them. branding.agent.js already encodes these segments; this module now does the same, with tests.

* Add the changelog entry for the badge label encoding

* Make the badge URL check catch labels closed early by an angle bracket

validate-badge-urls only matched a bare space in the destination and said the angle-bracket form was unmatched for lack of an example. The docs bot regeneration of #3803 produced ten real ones, and the repository carried 240 across 24 pages. The check now matches <url> label, and --fix joins the label and encodes the spaces; a valid <url> "title" is left alone. The 240 existing badges are repaired with the tool itself, and the tests cover both forms.

* Escape literal hyphens and underscores in shields.io badge segments

shields.io reads a single hyphen as the separator between label, message and colour and an underscore as a space, so a licence such as CC-BY-4.0 or a label such as pre-release split into the wrong fields. Both badge generators now write -- and __, and a test pins that they agree. No label in the repository schema is affected today (0 of 44).

* Take area:labels colour and description from its own request (#3757)

FR-012 (research R16): where the colour strategy has no rule for a label, the colour in the approved request stands, and the Linear label is updated to match labels.yml. The mapping gave area:labels the area family default and Linear own description instead, which contradicted #3757 (ededed, Label governance and routing, the values it already has on GitHub). The generated request also printed retire for every import; it now says new label and shows each import colour and description.

* Stop importing unprefixed Linear labels into the label mapping

labels.yml can carry only prefixed labels (validate-labeling-configs), but the mapping imported eight unprefixed Linear labels, which would have failed the configuration PR. bug, epic and security are merged into type:bug, type:epic and type:security by the earlier bare-label mapping (#2523). Hosting, CI/CD, master-ci-red, ci-runner-audit-2026-07-20 and harvest-parity are recorded as open decisions with retirement proposed, not decided. A new rule 11 rejects an unprefixed import, and the schema contract now lists rules 10 and 11. Imports go from 49 to 41.

* Correct what the request says about Linear merging labels across scopes

Linear documents merging duplicate labels and rescoping between workspace and team, but not a merge between a team label and a workspace label. The request called every merge row a supported operation and said team and workspace labels can both be merged. It now says the cross-scope case is unconfirmed, and records that security is three team labels (GIT, INF, LS) that Stage 5 relabels issue by issue.

* Share the label family list and match badge titles that contain parentheses

CodeRabbit on #3854. The mapping imported any prefix:value label, but validate-labeling-configs allows a fixed list of families, so a Linear label such as other:example would have failed the configuration PR. The list now lives in scripts/validation/lib/label-families.cjs, read by both the validator and the mapping, and the mapping adds the Stage 2 families (aiops, spec, spec-id) that FR-011 introduces. The badge check matched a title up to its first closing parenthesis, so a valid title such as Build (main) was reported and --fix rewrote part of it into the URL; both patterns now match whole quoted titles.

* Parse badge titles structurally: apostrophes, parentheses, escapes and long space runs

The first fix matched quoted strings anywhere in an image, so a raw apostrophe in a label
(Don't Stop) made the badge invisible to the check and to --fix, and a title written in
parentheses, which CommonMark allows, was still misread. A title is now a quoted or
parenthesised string that follows whitespace and ends the image, with a backslash escaping the
next character; everywhere else a quote is an ordinary character.

The title group starts at exactly one whitespace character. The earlier form backtracked
quadratically on a long run of spaces (about 30 seconds for 200,000), which a hostile or
generated file could use to stall CI.

Tests cover each case plus speed guards, and 5 of them fail against the previous version.

* State the order rule 11 applies to a label outside the canonical families

A Linear label with no issues is retired first, as FR-012 says for any unused Linear-only
label, and gets no gap entry; only one with issues is then merged by the bare-label mapping or
recorded as a decision. The contract described only the last two steps. Three rows in the
evidence depend on the first: agent-audit, documentation and important.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant