Skip to content

[carve-out 3/9] Evict protocol implementations (avow, axel, consent-aware-http, mcp-repo-guardian, repo-guardian-fs); keep spec text #492

Closed

Description

@hyperpolymath

Child of #479. Three protocol dirs duplicate external home repos their own docs cite as canonical (deploy docs, DNS zone files, CITATIONS.adoc) while the registry claims the in-standards copy is home — the registry's own logic says duplicating normative text guarantees drift.

  • avow-protocol/ → hyperpolymath/avow-protocol (exists). Keep docs/PROTOCOL.adoc + AVOW-THREAT-MODEL.adoc. Moves: website, CNAME, DNS zones, Cloudflare runbooks, telegram-bot, deployment-status session files.
  • axel-protocol/ → hyperpolymath/axel-protocol (exists; 50 in-tree references). Keep protocol text, CHARTER.adoc, GOVERNANCE.adoc. Moves: axel-protocol.org site, reference impl, committed compiled .res.js.
  • consent-aware-http/ → hyperpolymath/consent-aware-http (exists; also where the prospective PMPL licence applies — the standards copy's licence status is ambiguous, which this eviction resolves). Keep the IETF I-D XML + schemas. Moves: src/*.affine, ffi/zig/, reference implementations, Justfile, assets. Licence-adjacent: flag-only; no SPDX edits during the move.
  • 0-ai-gatekeeper-protocol/mcp-repo-guardian/ → hyperpolymath/mcp-repo-guardian (exists — npm-published server with its own release lifecycle). repo-guardian-fs/ (+ stray top-level ffi/zig/) → own repo (carries full standalone-repo scaffolding — the exact anti-pattern gitbot-fleet bans for bot slots).

Alternative per directory: convert the registry entry to kind = "external" with canonical_url + recorded hash (the AffineScript pattern) instead of keeping partial local text — decide per protocol at PR time. Registry regen + --check in every PR.


⚠️ CORRECTION 2026-08-25 — two "(exists)" claims in this body are false

Verified with gh repo view against hyperpolymath/*:

Repo this issue names Actual
mcp-repo-guardian 404 — does not exist
k9-validate-action 404 — does not exist
consent-aware-web exists, but under metadatastician, not the org this issue implies

Do not plan work against those destinations as written.

Progress that IS real: avow-protocol/ is reduced to a 1-file thin binding; consent-aware-http/ is extracted to zero files (PR #593) — to metadatastician/consent-aware-web.

Genuinely remaining: axel-protocol/ (110 files) and 0-ai-gatekeeper-protocol/{mcp-repo-guardian,repo-guardian-fs} (120 files) — both blocked on a destination decision, since neither destination exists.

Activity

  1. added
    tech-debtKnown shortcut, drift, or hygiene owed - includes cleanup
    on Aug 24, 2026
  2. hyperpolymath commented on Aug 27, 2026

    @hyperpolymath
    OwnerAuthor

    Done — the gatekeeper implementations evicted to hyperpolymath/repo-guardian

    Landed in #680 (merged).

    Per the ruling on the decision docket, they went to one combined repository rather than two:

    source directory files commits
    0-ai-gatekeeper-protocol/mcp-repo-guardian 71 49
    0-ai-gatekeeper-protocol/repo-guardian-fs 49 46
    hyperpolymath/repo-guardian 120 98 (both histories merged)

    Each directory was split with git subtree split and then subtree-added into the new repo, so both histories are preserved and the two remain separate top-level directories there.

    One load-bearing change came with it

    0-ai-gatekeeper-protocol.scorecard.a2ml row M4 ran

    cargo test --manifest-path .../repo-guardian-fs/tests-offline/Cargo.toml
    

    against a path that had just moved. That scorecard is executed by the required Registry + topology in sync check, so left alone it would have failed every subsequent PR to main, repo-wide. It is now status = "manual-only" with the check removed and the provenance kept in system =.

    ⚠️ Note for whoever picks up the new repo: the 29 Rust tests still exist and still pass — they simply are no longer gated from standards. Wiring them into repo-guardian's own CI is the natural follow-up.

    The rest of 0-ai-gatekeeper-protocol/ (~45 files — README, docs, contractiles, .github) stays in standards, since the issue scoped this to the implementations only.

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

    tech-debtKnown shortcut, drift, or hygiene owed - includes cleanup

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions