Skip to content

Docs: say what a kind's battery is, in one place #688

Description

@soydiloreto

Where?

kinds/README.md (the opening paragraph and the workflows row of the pack.yml table), and the other places that say "battery" without saying what it is: docs/adopting.md, docs/configuration.md (workflows row), docs/maintaining.md, the comments of kinds/*/pack.yml, .github/workflows/plugin-checks-wp.yml and scripts/sync-repos.py (kind_battery() and its callers doc header).

What is missing, wrong or unclear?

"Battery" (a kind's battery, "ready for the battery") is used across the docs, the packs and the scripts, but no page says what it means. A maintainer reading the autopilot's question on #684 ("where 'ready for the battery' is read from") could not tell what it referred to. The closest is the opening paragraph of kinds/README.md ("the list of workflows that make up its battery"), which uses the word as if it were already known, and does not say how the battery differs from the workflows every repository gets, nor that a repository gets the caller that runs it.

Proposed solution

One definition, in one place, that every other mention links to: in kinds/README.md, under "What a pack holds" or as a short "Words" paragraph near the top, say that a kind's battery is the set of reusable workflows that check, test, release and publish a repository of that kind (pack.yml workflows, for wordpress-plugin plugin-checks-wp.yml, plugin-tests-wp.yml, plugin-release-wp.yml and plugin-publish-wp.yml); that it is distinct from the workflows every repository gets whatever its kind (repos.yml every-repository: conventions, review, pull-request comments); that a repository runs it through its callers, the small files in its own .github/workflows/ that scripts/sync-repos.py callers writes from workflow-templates/; and what "ready for the battery" means once #681 settles it (the files the battery needs at the repository's root). The workflows rows of kinds/README.md and docs/configuration.md, and docs/adopting.md, link to that definition instead of repeating the word bare. If docs/model.md keeps a glossary, the term goes there with a link to the same place.

Problem

A word that only the people who wrote the engine understand makes the autopilot's questions, the drift report and the docs unreadable to everyone else, the maintainer included, and an answer given without understanding the question is a decision taken blind.

Scope

kinds/README.md, docs/configuration.md, docs/adopting.md, docs/maintaining.md, and docs/model.md only if it has a glossary. Words only: no workflow, script or pack changes.

Out of scope

What "ready for the battery" checks and where it is read from, which #681 decides. Renaming the term.

Acceptance criteria

C1: Given kinds/README.md, when a reader looks for what a battery is, then one paragraph defines it, names the pack key it comes from (workflows), gives the wordpress-plugin example, and says how it differs from the workflows every repository gets and how a repository runs it (its callers).
C2: Given docs/configuration.md, docs/adopting.md and docs/maintaining.md, when they say "battery", then the first mention on each page links to that definition.

Criticality

Normal

Who works on it

  • I want to work on this myself

🤖 AI-assisted · Claude Opus 5.5 (Anthropic)

Spec: approach

Add a short section ## The battery to kinds/README.md, right after the pack.yml table in "What a pack holds" (its heading gives the stable anchor #the-battery), holding one paragraph that says: a kind's battery is the reusable workflows in .github/workflows/ that check, test, release and publish a repository of that kind, as listed under the pack's workflows key; for wordpress-plugin, plugin-checks-wp.yml, plugin-tests-wp.yml, plugin-release-wp.yml and plugin-publish-wp.yml; it differs from the workflows every repository gets whatever its kind (repos.yml every-repository: issues.yml, pull-request-comments.yml, and org-pull-request.yml that the organisation's ruleset requires) because only a repository of that kind gets it; and a repository runs it through its callers, the files from workflow-templates/ that sync-repos.py callers writes into its .github/workflows/ and that name the battery's workflows (GitHub cannot pick a reusable workflow from data). The earlier mentions in kinds/README.md (intro, the workflows row) link to that section.

In docs/adopting.md and docs/maintaining.md, the first "battery" on each page becomes a link to ../kinds/README.md#the-battery. docs/configuration.md is generated by scripts/settings.py docs from policy/settings-schema.yml (test_configuration_doc.py fails a hand edit), so the link goes into the says: of the workflows setting there and the page is regenerated with python3 scripts/settings.py docs > docs/configuration.md. That is a change of words in a data file under policy/, not of a workflow, script or pack; docs/model.md has no glossary and no "battery", so it is left alone. Nothing widens any permission, secret, lane or limit.

Spec: files

  • kinds/README.md
  • docs/adopting.md
  • docs/maintaining.md
  • policy/settings-schema.yml (the says: of the workflows setting only)
  • docs/configuration.md (regenerated)
  • tests/workflows/test_battery_doc.py (new)

Spec: tests

  • C1 → tests/workflows/test_battery_doc.py
  • C2 → tests/workflows/test_battery_doc.py

Activity

  1. added theissue type on Nov 7, 2026
  2. dilux-bot commented on Nov 7, 2026

    @dilux-bot
    Contributor

    The issue's board

    Gate State
    G1 Issue ready ✓ the PRD follows the schema
    G2 Accepted ✓ by soydiloreto at 2026-11-07T14:22:29Z; PRD sealed 546d7aff3808
    Autopilot ✓ ready for review · 2 of 2 criteria · #689 · the run
    Waits on the autopilot: the autopilot's work (link)

    🤖 AI-generated · Claude Opus 5.5 (Anthropic)

  3. added
    awaiting-acceptanceThe issue follows the schema; it waits for a maintainer's decision
    on Nov 7, 2026
  4. dilux-bot commented on Nov 7, 2026

    @dilux-bot
    Contributor

    @soydiloreto: accept it (the accepted label) or say why not #688

    🤖 AI-generated · Claude Opus 5.5 (Anthropic)

  5. dilux-bot commented on Nov 7, 2026

    @dilux-bot
    Contributor

    What happens next. This triage reads every new issue first. Then a maintainer decides whether to accept it (the accepted label); once it is accepted, the autopilot writes the code in the organisation's runners (GitHub Actions) and opens the pull request. If you want to write the code yourself, comment /claim on the issue (or tick "I want to work on this myself" in its form) before it is accepted, and the autopilot steps aside. It waits on a maintainer's acceptance now; the issue's board says whom it waits on as it moves.

    Thanks for writing this up. The issue is clear. "Battery" is used across the docs, packs and scripts without a definition, and your proposal puts one definition in kinds/README.md and links the other pages to it. The roadmap doesn't cover this, so it is a documentation enhancement. It doesn't duplicate any open issue. #681 is related, because it decides what "ready for the battery" checks, and your issue leaves that out of scope.

    A maintainer will decide whether to accept it. You ticked "I want to work on this myself", so your claim is on record.

    🤖 AI triage · claude-sonnet-5-5 (Anthropic)

  6. added
    acceptedA maintainer accepted this issue; a pull request may close it
    on Nov 7, 2026
  7. removed
    awaiting-acceptanceThe issue follows the schema; it waits for a maintainer's decision
    on Nov 7, 2026
  8. dilux-bot commented on Nov 7, 2026

    @dilux-bot
    Contributor

    Issue ready (G1): the PRD has every section of the schema (2 acceptance criteria).

    🤖 AI-generated · Claude Opus 5.5 (Anthropic)

  9. added a commit that references this issue on Nov 7, 2026
  10. moved this to Accepted in Platformon Nov 7, 2026
  11. dilux-bot commented on Nov 7, 2026

    @dilux-bot
    Contributor

    The autopilot waits for #684: that open autopilot pull request already changes the engine's core (org.yml core), which this issue's Spec touches too, and two changes to the core at once keep putting each other in conflict. It starts this one on its own once #684 merges or closes.

    🤖 AI-generated · Claude Opus 5.5 (Anthropic)

  12. added
    autopilot:core-waitOn an issue: the autopilot waits for another pull request on the engine's core
    autopilot:continueOn an issue: the autopilot continues its draft pull request, or starts it
    and removed
    autopilot:core-waitOn an issue: the autopilot waits for another pull request on the engine's core
    autopilot:continueOn an issue: the autopilot continues its draft pull request, or starts it
    on Nov 7, 2026
  13. added a commit that references this issue on Nov 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

acceptedA maintainer accepted this issue; a pull request may close itdocumentationImprovements or additions to documentationenhancementNew feature or request

Type

Projects

  • Status
    Accepted

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions