chore: extract consent-aware-http to metadatastician/consent-aware-web - #593
Merged
Conversation
This comment has been minimized.
This comment has been minimized.
Removes 189 files across two divergent copies and retires a phantom submodule. Full reasoning in docs/decisions/ADR-005-extract-consent-aware-web.adoc. REMOVED consent-aware-http/ 107 files rhodium-standard-repositories/satellites/consent-aware-http/ 81 files the [submodule "satellites/consent-aware-http"] stanza, which pointed at git@github.com:hyperpolymath/consent-aware-http.git — a repository that has never existed. The path was checked in as ordinary tracked files, 26 behind the live copy. REGISTRY The spec moves from the in-tree table in scripts/build-registry.sh to the EXTERNAL table, so this repo holds a verified pointer rather than a copy — the pattern already used for the AffineScript specs. REGISTRY.a2ml and TOPOLOGY.md were REGENERATED, not hand-edited, per AGENTS.md. Likewise COMPLIANCE-DASHBOARD.md via build-scorecards.sh after the scorecard moved. build-registry.sh --check reports no drift. spec_kind is recorded as 'service-coupled'. The enum is language-coupled | service-coupled and a protocol specification is honestly neither; service-coupled is the closer reading rather than a good one. Worth a third value. REFERENCES Repointed off-tree: seven dangling relative links under docs/UX-standards/ and docs/wikis/developers/, plus .well-known/humans.txt and one .hypatia-baseline.json finding whose file no longer exists here. Licence references in LICENCE-POLICY.adoc, PALIMPSEST.adoc, README.adoc, .claude/CLAUDE.md and .machine_readable/licensing-policy.toml are statements about a REPOSITORY, not a directory. They remain correct and now name the new location; the PMPL carve-out and the IETF-mandated MIT carve-out both still apply. No licence file was edited. SALVAGED BEFORE DELETION The satellite carried a 418-line GOVERNANCE.adoc — Tri-Perimeter Contribution Framework, decision authority by perimeter, funding model, IETF coordination — that exists nowhere else. The live copy's docs/governance.md is an unrelated essay on consent in institutions; the two share a name and nothing else. Copied into the new repository first. Cold is not disposable. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…step REGISTRY DRIFT 'Registry + topology in sync' failed with 'REGISTRY.a2ml is stale'. The registry records a source_hash per spec, and rhodium-standard-repositories/ contains satellites/consent-aware-http/ — which this PR deletes. I ran build-registry.sh before making the remaining edits, so the recorded hash was one revision behind the tree it describes. Regenerated last; build-registry.sh --check now reports in sync. Generator note: 'just registry' is exactly 'bash scripts/build-registry.sh', and it must be the LAST thing run before committing. Any edit under a spec's home directory afterwards invalidates its hash silently — nothing warns. LAUNCHER LOCK-STEP 'Verify launcher-standard lock-step' requires docs/UX-standards/launcher-standard.adoc and launcher/launcher-standard.a2ml to change together. This PR touched only the .adoc, to repoint a link:../../consent-aware-http/[] that this extraction makes dangling. The a2ml contains no consent-aware reference, so there is no matching edit to make — the change is genuinely one-sided. Using the remedy the gate itself documents: a no-op whitespace touch to the other file, with this message as the explanation. Satisfying the gate rather than bypassing it. Both failures are distinct from 'Deno CI' and 'Registry Verify', which fail on main already and are not introduced by this PR. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
REGISTRY.a2ml conflicted on rebase. It is a GENERATED file, so the resolution is to regenerate from the source spec table in scripts/build-registry.sh rather than hand-merge two machine outputs. build-registry.sh --check reports in sync. Verified after rebase: consent-aware-http/ is still removed, the external pointer for metadatastician/consent-aware-web is present, and #592's Bun changes to .claude/CLAUDE.md are preserved. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
hyperpolymathforce-pushed
the
chore/extract-consent-aware-web
branch
from
August 7, 2026 13:30
83d4cc8 to
6ee818bCompareUh oh!
There was an error while loading. Please reload this page.
hyperpolymath added a commit
that referenced
this pull request
Aug 7, 2026
pmpl-licence-headers 589->584 (consent-aware-http extracted in #593), todo-fixme-markers 277->276. Ceilings follow the measurement down; nothing raises them.
hyperpolymath added a commit
that referenced
this pull request
Aug 7, 2026
#599) ## The deadlock `.github/CODEOWNERS` made `@hyperpolymath` the **sole** owner of every path, and the Base ruleset sets `require_code_owner_review: true`. GitHub will not let a pull request's author satisfy the code-owner requirement themselves. With one owner who is also always the author, **the rule could not be satisfied by anybody** — every maintainer-authored PR sat permanently `BLOCKED`. The evidence is in the merge history: #592, #593 and #597 all merged with `DISMISSED` / `CHANGES_REQUESTED` and **zero approving reviews**, via the admin bypass (`RepositoryRole id=2, mode=always`). A rule that can never pass doesn't gate anything. It just makes bypass the normal path — and once bypass is routine it stops carrying information, which is how three *other* broken rules in this same ruleset went unnoticed for months. ## The fix `@JoshuaJewell` (repo admin, the only other org member) is named co-owner, so either maintainer can approve the other's work and the requirement becomes satisfiable for the first time. **On every line, not just `*`.** In CODEOWNERS the last matching rule wins, and a specific path line *replaces* the default rather than adding to it. Co-owning only the `*` default would leave `SECURITY.md`, `.github/workflows/`, `.machine_readable/`, `LICENSE`, `*.sh` and the rest single-owned — and any PR touching them still deadlocked. ## Bootstrapping The ruleset reads CODEOWNERS from the **base** branch, so this change only takes effect once it is on `main`. This PR itself therefore still needs one admin-bypass merge. After that, code-owner review works normally. ## Context This is the fourth of four independent deadlocks found in this ruleset on 2026-08-07: 1. `code_quality` / `code_coverage` / `copilot_code_review` — features producing no PR result — **removed** 2. `required_deployments: github-pages` — Pages deploys on `push` only, so no PR head can ever have one — **removed** (18 other repos still affected; see `scripts/clear-pages-deployment-deadlock.sh`) 3. `code_scanning` @ error threshold — 13 alerts from May–July, all already excused in `.hypatia-baseline.json` — **resolved**, 12 dismissed 4. `require_code_owner_review` — **this PR** 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Removes 189 files across two divergent copies and retires a phantom submodule. Full reasoning in
docs/decisions/ADR-005-extract-consent-aware-web.adoc.New home: https://github.com/metadatastician/consent-aware-web (public, live, CI green).
Why this was more than a directory move
RSR-COMPLIANCE.mdclaiming "RSR Gold, 100% compliant" — asserting PASS forLICENSE.txt,MAINTAINERS.md,CHANGELOG.md,flake.nixand a whole.well-known/tree, none of which existed.gitmodulesdeclaredsatellites/consent-aware-httpas a submodule ofhyperpolymath/consent-aware-http— a repo that has never existed. Materialised as 81 ordinary tracked files, 26 behind the live copydrafts/copy is the later edit and the only valid RFC-XML v3. They disagreed oncategory:stdvsinfoRegistry — regenerated, not hand-edited
AGENTS.mdsaysREGISTRY.a2mlandTOPOLOGY.mdare generated and must never be edited directly. The source of truth is the spec table insidescripts/build-registry.sh; the entry moved from the in-tree table to the EXTERNAL table, so this repo now holds a verified pointer rather than a copy — the pattern already used for the AffineScript specs. Same forCOMPLIANCE-DASHBOARD.mdviabuild-scorecards.sh.bash scripts/build-registry.sh --check→ OK: registry + topology are in sync with the file tree.spec_kindis recorded asservice-coupled. The enum islanguage-coupled | service-coupled, and a protocol specification is honestly neither —service-coupledis the closer reading rather than a good one. Worth a third value.Salvaged before deletion
The satellite carried a 418-line
GOVERNANCE.adoc— Tri-Perimeter Contribution Framework, decision authority by perimeter, funding model, IETF coordination — that exists nowhere else. The live copy'sdocs/governance.mdis an unrelated essay on consent in institutions; the two share a name and nothing else. Copied into the new repository first.This is the failure mode
AGENTS.mdwarns about: cold is not disposable. A de-duplication by filename would have destroyed it.Licence references — kept, not removed
Those in
LICENCE-POLICY.adoc,PALIMPSEST.adoc,README.adoc,.claude/CLAUDE.mdand.machine_readable/licensing-policy.tomlare statements about a repository, not a directory. They remain correct and now name the new location. The PMPL prospective carve-out and the IETF-mandated MIT carve-out both still apply. No licence file was edited.Also repointed
Seven dangling relative links under
docs/UX-standards/anddocs/wikis/developers/,.well-known/humans.txt, and one.hypatia-baseline.jsonfinding whose file no longer exists here.Left open
The two drafts name different author organisations (
NUJ Ethics CouncilvsNational Union of Journalists). Normatively visible in a published Internet-Draft. Recorded as a blocker in the new repo'sSTATE.a2ml; not decided here.Related
repo-init.just:305self-name guard🤖 Generated with Claude Code