Skip to content

Remove the 5th duplicate MAINTENANCE-CHECKLIST - #58

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/remove-fifth-duplicate-maintenance-checklist
Sep 14, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
chore/remove-fifth-duplicate-maintenance-checklist

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Follow-up to #57, which removed four byte-identical MAINTENANCE-CHECKLIST.a2ml
duplicates. A fifth survived, hidden from the gate only by
paths-ignore: members/ in anchor-drift.yml.

members/tooling/vscode-a2ml/docs/governance/MAINTENANCE-CHECKLIST.a2ml
is md5 99d177ac69836abbba1297baa25f034d — identical to the four already removed,
and identical to the canonical copy sitting in its own directory at
.machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml.

Verified safe to delete, not assumed

check result
Submodule or vendored tree? No .gitmodules exists at all; every path under the member dir is a regular blob (100644/100755), no gitlink, no linguist-vendored
Upstream to re-sync from? hyperpolymath/vscode-a2ml returns 404 — folded into this monorepo by #23
References to the deleted path form? Zero. Every reference in the tree names .machine_readable/policies/
Canonical twin present? Yes, same directory, same md5

Two files matched a loose "vendored/upstream" grep and were checked individually:
QUICKSTART-MAINTAINER.adoc:128 is a dead link to the 404 upstream (separate fix),
and .github/SECURITY.md:210 is ordinary prose about dependency coordination.
Neither is a vendoring marker.

Hygiene only — this path is outside the gate's scope, so no check result changes.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HfgwLCdKNd5iZVo6VTiSim

Byte-identical (md5 99d177ac69836abbba1297baa25f034d) to the canonical copy
at members/tooling/vscode-a2ml/.machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml
in the same directory, and to the four copies removed in #57.

Verified safe to delete:
- Not a submodule or vendored tree: no .gitmodules exists, every path is a
  regular blob, no linguist-vendored attribute, and the upstream it would
  sync from (hyperpolymath/vscode-a2ml) is 404 since the #23 consolidation.
- Zero references anywhere to the docs/governance/MAINTENANCE-CHECKLIST
  path form; every reference names .machine_readable/policies/.
- rs/0-AI-MANIFEST.a2ml mandates the surviving location and states that
  maintenance policy files must not sit elsewhere.

Invisible to Anchor Drift only because governance-validation carries
paths-ignore: members/, so this is hygiene rather than a gate repair.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HfgwLCdKNd5iZVo6VTiSim
@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 7b3d5b6c-f47c-457a-a999-93c52f9ea370

📥 Commits

Reviewing files that changed from the base of the PR and between c8b454c and a86b3bd.

📒 Files selected for processing (1)
  • members/tooling/vscode-a2ml/docs/governance/MAINTENANCE-CHECKLIST.a2ml
💤 Files with no reviewable changes (1)
  • members/tooling/vscode-a2ml/docs/governance/MAINTENANCE-CHECKLIST.a2ml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (1)
  • GitHub Check: CodeQL Analysis (actions, none)

📝 Summary

Summary by CodeRabbit

  • Documentation
    • Removed the machine-readable governance maintenance checklist.
    • Guidance covering maintenance criteria, scoping, audit checks, compliance tooling, cleanup completion, and file requirements is no longer included in the documentation.

Walkthrough

The pull request deletes the complete machine-readable maintenance checklist. This removes its metadata, policy directives, audit rules, cleanup rules, and file-requirement configuration.

Changes

Governance checklist

Layer / File(s) Summary
Remove maintenance checklist
members/tooling/vscode-a2ml/docs/governance/MAINTENANCE-CHECKLIST.a2ml
The complete checklist was deleted, including panic-attack compliance tooling and sustainabot effects-tooling directives.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to a86b3

The change removes only an unused duplicate and retains the required governance checklist, with no merge-blocking impact identified.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely identifies the main change: removal of the fifth duplicate MAINTENANCE-CHECKLIST file.
Description check ✅ Passed The description directly explains the duplicate file removal, confirms the canonical copy, and records the safety checks that support the change.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the empty file,
The old rules rest in tidy style.
No audit lines remain to scan,
The checklist ends its governance plan.
Soft paws mark the change complete.

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath enabled auto-merge (squash) September 14, 2026 21:35
@hyperpolymath
hyperpolymath merged commit d595b74 into main Sep 14, 2026
14 checks passed
@hyperpolymath
hyperpolymath deleted the chore/remove-fifth-duplicate-maintenance-checklist branch September 14, 2026 21:45
hyperpolymath added a commit that referenced this pull request Sep 15, 2026
> **Ready for review.** #59 merged, so this is no longer stacked or
draft: rebased onto `main` at `2d3b1045`, conflicts resolved, base is
`main`.

## Verdict: remove, don't redirect

`pandoc-a2ml` and `tree-sitter-a2ml` are gone — both **404 by exit
code** — and neither has an in-tree home. Two candidate successors were
checked **by content, not by name**:

| candidate | why it was rejected |
|---|---|
| `metadata-grammar` | 156-path tree; **zero** tree-sitter/pandoc
machinery — no `grammar.js`, `parser.c`, `scanner.*`, `queries/`,
`corpus/`, or `.lua` anywhere |
| `plasma-parser-writer` | reads exactly like a pandoc reader/writer
successor **from its name**; is actually an OCaml/Rust governance
engine. Every `a2ml` hit in it is the estate-standard
`.machine_readable/` boilerplate every repo carries |

Neither is the successor, so the fallback applies. Redirecting on a name
match would have written new dead-ended links *while faithfully
following the census*. The monorepo has no `pandoc/` or `tree-sitter/`
directory and no grammar or Lua-filter machinery anywhere in-tree.

## Why the prose goes with the link

Unlinking alone is a **no-op on the worst cases** — the text still
promises tooling nobody can obtain:

- **`integrations.adoc`** opens *"This is not a roadmap — these tools
exist today"*, then gives two **`#Live#`-badged** integrations pointing
at repositories that do not exist. Both sections removed.
- 🔎 **New finding, outside the census:** the **LuaRocks `#Live#`**
section says `luarocks install pandoc-a2ml`. That rock **404s**, and the
`hyperpolymath` LuaRocks namespace **does not exist at all** — the
command could never have worked. The census missed it because it names a
*package*, not a URL. Removed.
- **`getting-started.adoc`** carried an *"Install pandoc-a2ml"* tutorial
whose first step was `git clone` of a 404. Unlinking would have left the
instruction equally broken.
- **`specification.adoc`** described the format as implemented in *"the
pandoc-a2ml toolchain"*; now points at the reference implementations in
this repo.
- **`rs/EXPLAINME.adoc`** told readers to use `pandoc-a2ml` for format
conversion.

Ecosystem list entries and table cells naming the dead repos are
dropped, keeping the live siblings on the same lines.

## ⚠️ Deliberately NOT touched — these need their own decision

1. **`pandoc-k9` links — still deliberately intact.** `pandoc-k9` is
**also dead (404)** — a fourth dead repo, not in the census. Under owner
ruling **R-15** the hands-off order was lifted **for the badge only**,
so the one change made here is `=== K9 Validators [.badge
.badge-live]#Live#` → `[.badge .badge-pending]#Pending#`. All four
`pandoc-k9` links are left standing, pending the K9 decision proper.
2. **Bare-name references — partly cured.** Four bare
`owner/repo/issues` refs in the per-language contributing guides (`ex/`,
`gleam/`) are now resolvable URLs; CodeRabbit flagged one, a sweep found
four. Still untouched: (which still calls Pandoc integration *"the most
mature path"*) and **`scripts/init-submodules.sh`** (which still calls
`init_member tooling pandoc-a2ml`). A URL-based census **structurally
cannot see these**. Separately, `init-submodules.sh` looks like stale
migration scaffolding: it targets a `members/implementations/…` layout
this repo no longer has.
3. **`showcase/output/*.html`** — generated by the out-of-tree
`ddraig-ssg`, no in-tree recipe. Needs a regeneration run.
4. **`ex/a2ml_ex-0.1.0/**`** — vendored published hex release tarball.

## The cure was a judgement call

The ruling's vocabulary was *link-vs-redirect*; prose that **asserts**
dead tooling wasn't visible when it was written. This draft implements
the arm I read as most correct long-term — **docs stop claiming features
that do not exist**. Two narrower arms are one revert away: unlink only
(literal), or unlink plus a "(discontinued)" marker.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01HfgwLCdKNd5iZVo6VTiSim

---

## Post-review changes

- **Rebased onto `main`** (`2d3b1045`) after #59 merged. `mergeable`
went `DIRTY` → `MERGEABLE`; all three original commits replayed and
re-signed.
- **CodeRabbit's two pushed commits were dropped, not merged.** Both
were **unsigned** (`%G?` = `N`) and this repo's `Optimus-Branch` ruleset
enforces `required_signatures`, so keeping them would have made the
branch permanently unmergeable. The substance of the useful one was
reimplemented in a signed commit and widened from 1 instance to 4; the
`ex/mix.exs` comment was dropped as it only restated the function name.
- **Stale `CHANGES_REQUESTED` dismissed** under owner ruling **R-12**,
which scopes CodeRabbit to advisory on #58/#59/#60.

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant