Skip to content

chore: extract consent-aware-http to metadatastician/consent-aware-web - #593

Merged
hyperpolymath merged 3 commits into
mainfrom
chore/extract-consent-aware-web
Aug 7, 2026
Merged

chore: extract consent-aware-http to metadatastician/consent-aware-web#593
hyperpolymath merged 3 commits into
mainfrom
chore/extract-consent-aware-web

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

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

Rated 1 of 5 MUSTsby this repo's own scorecard (2026-07-03), while shipping an RSR-COMPLIANCE.md claiming "RSR Gold, 100% compliant" — asserting PASS for LICENSE.txt, MAINTAINERS.md, CHANGELOG.md, flake.nix and a whole .well-known/ tree, none of which existed
Phantom submodule.gitmodules declared satellites/consent-aware-http as a submodule of hyperpolymath/consent-aware-http — a repo that has never existed. Materialised as 81 ordinary tracked files, 26 behind the live copy
The flagship draft existed twicewith different normative text. The root copy is byte-identical to the satellite copy (the retired ancestor); the drafts/ copy is the later edit and the only valid RFC-XML v3. They disagreed on category: std vs info

Registry — regenerated, not hand-edited

AGENTS.md says REGISTRY.a2ml and TOPOLOGY.md are generated and must never be edited directly. The source of truth is the spec table inside scripts/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 for COMPLIANCE-DASHBOARD.md via build-scorecards.sh.

bash scripts/build-registry.sh --checkOK: registry + topology are in sync with the file tree.

⚠️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.

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.

This is the failure mode AGENTS.md warns 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.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 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/ and docs/wikis/developers/, .well-known/humans.txt, and one .hypatia-baseline.json finding whose file no longer exists here.

Left open

The two drafts name different author organisations (NUJ Ethics Council vs National Union of Journalists). Normatively visible in a published Internet-Draft. Recorded as a blocker in the new repo's STATE.a2ml; not decided here.

Related

🤖 Generated with Claude Code

@gitar-bot

This comment has been minimized.

@gitar-bot
gitar-botBot enabled auto-merge (squash) August 7, 2026 11:57
gitar-bot[bot]
gitar-botBot previously approved these changes Aug 7, 2026

@gitar-botgitar-botBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR and enabled auto-merge (configure)

hyperpolymathand others added 3 commits August 7, 2026 14:30
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>
@hyperpolymath
hyperpolymathforce-pushed the chore/extract-consent-aware-web branch from 83d4cc8 to 6ee818bCompareAugust 7, 2026 13:30
@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 37801af into mainAug 7, 2026
37 of 38 checks passed
@hyperpolymath
hyperpolymath deleted the chore/extract-consent-aware-web branch August 7, 2026 13:31
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)
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitar-approvedAdded by Gitar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@hyperpolymath