Skip to content

Prose burn-down: ~45 pre-existing findings across five canonical units #1496

Closed

Description

@ptr727

The whole-unit review passes on #1494 (settling #1487) read five canonical units end to end, as a repository carrying each for the first time reads it. About 45 findings were against text that change never touched, so they were filed rather than fixed there. The measurable defects in .markdownlint-cli2.jsonc are #1495; this is the prose remainder, as a burn-down list.

Each entry is a claim a carrier cannot act on, or one that is false against this repository's own tree. None is a style preference.

CODESTYLE.md > General

  • "The concrete names live in each language section below" and "The per-language mechanics (which attribute, which config key) are in each language section" both resolve to nothing. Each language section is a topic list plus a pointer to a hub-only Skill, so a carrier following either finds no names and no keys, and for a Shell-only repository the pointer reaches no suppression mechanism at all.
  • "all of it reports into the one required status" is false for an operational repository's develop pull request. WORKFLOW.md states the check is reported there rather than required, precisely so it does not bind the direct-push allowance.
  • The three-tier suppression ladder's tiers 2 and 3 name an owning project's config and a root config. Shell has neither: its mechanisms are an in-file # shellcheck disable= directive and a directory-scoped .shellcheckrc.
  • --verify-no-changes and --severity are used as the illustrative flags in a section claiming to apply to every language. Both belong to dotnet format and to nothing else in the fleet.
  • "The only brownfield allowance is the one-time git-signing / line-ending migration described in GOVERNANCE.md and README.md" points at a description neither file carries.
  • The section states definitions are fleet-identical and, one bullet later, that the repository's own named task definition is canonical. A repository whose task disagrees with another's has no rule saying which is wrong.
  • "HISTORY.md mirrors the README's opening" defines neither the span nor what mirroring permits, and cannot mean byte equality: this repository's two files differ on line 1.
  • "A working local commit/pre-commit gate is strongly suggested, not the repo's free choice to skip" is self-contradictory as an instruction, and "Keeping a working gate is not drift" denies a claim nothing above it raises.
  • "These rules apply to every language in the repo" is false of three of the section's own four subsections.
  • The section repeats and extends rules that the file's own preamble says live in GOVERNANCE.md and are "not repeated here". GOVERNANCE.md also points back into this section for a cspell rationale the section does not contain.

.agents/skills/python-codestyle/references/profiles.md > Adapt before propagating

  • "editor settings/extensions may live in .vscode/*.json or the <Repo>.code-workspace" contradicts GOVERNANCE.md, which forbids a standalone .vscode/settings.json outright. This repository carries no .vscode/ at all.
  • "tasks/launch/debug configs can only be external .vscode/*.json (they cannot live in the workspace file)" is false about the tool: a .code-workspace supports top-level tasks and launch keys.
  • "The repo's own tasks.json sits wherever it keeps it" conflicts with spec/files.json, which pins .vscode/tasks.json.
  • The vscode-tasks-python.json snippet is named with no path and no owner, and asserted to "resolve the same way from every repo". It is hub-only, at catalog/snippets/configs/.
  • The unit describes SKILL.md as stating a single default profile. That file documents two, build and lint-only, and lists [dependency-groups] and [project.optional-dependencies] as co-equal.
  • "dev tools installed with uv sync --extra <group>" names the placeholder after the other option; --group is the flag for a dependency group, --extra for an extra.
  • "Whichever runs in CI is the one the clean-compile and the CI gate invoke" gives no instruction for the "or both" case the preceding line offers, and "the clean-compile" is used as a defined term the unit never defines.

AUDIT.md > 4. Per-Dimension Checks (Letter and Intent)

  • The dimension list omits eight declared groups: types cpp, homeassistant, eda, codegen, upstream-wrapper, source-only, docs, and crossCutting workflow. An auditor working the list audits half the groups and believes it complete.
  • verbatim-tree is listed as a group. No such group exists in spec/project-types.json, so it has no checks and no verdict tier.
  • "section presence" resolves to nothing checkable. spec/audit.py mechanizes README section presence and order, shields, reference links, and the tagline, none of which the enumeration names, while the paragraph instructs the reader to "read a clean run precisely".
  • "python - ruff and pyright present (intent)" is unconditional, but python.pyright.config is explicitly N/A for the lint-only profile, whose checker is mypy.
  • "one config per linter (.markdownlint-cli2.jsonc, cspell.json, ruff/pyright, editorconfig/csharpier, actionlint)" mixes filenames with tool names, and actionlint requires no config file, so the count is not evaluable for the last two entries.
  • The hugo dimension compresses nine declared hugo.* check ids into one prose sentence with no id boundaries, while the same unit requires citing the file:line each check was judged against.
  • "one mid-convergence on the language-formatting half stays operational" uses a term the unit never defines.

.agents/skills/comment-and-doc-style/SKILL.md > Markdown files: linting and spelling

  • "Every .md file is error and warning free" is an absolute the same section disproves: the shared config sets gitignore: true and ignores node_modules, and the section now sanctions further nested exclusions.
  • The MD033 bullet reads as though elements without a native Markdown equivalent are permitted. They are not, and the two allowances have different mechanisms: details/summary come from allowed_elements, while HTML comments are never flagged by the rule at all.
  • "A repo shipping no HISTORY.md drops it from the CI workflow, the Lint: Spelling task, and the GOVERNANCE.md cspell line together, all three or none" names three edit targets and locates none of them. There is also no single GOVERNANCE.md cspell line: the scope is stated twice, so following the instruction literally leaves one of them asserting a file the repository does not ship.

Adjacent

  • STANDUP.md sends a standup agent to "the 'Adapt before propagating' callout in CODESTYLE.md". No such callout exists in that file.

Activity

  1. ptr727 commented on Oct 23, 2026

    @ptr727
    OwnerAuthor

    Closed under the maintainer's decision (ptr727, 2026-10-23) on #3391: the backlog keeps real bugs with a stated failure, features the maintainer wants, and open decisions. A finding the review loop filed on code or text a change did not touch, a refactor or consolidation chore, a tracker, a wording item, or a guard shape no session has produced is closed rather than worked. Reopen with the input and the wrong result if this issue states one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions