feat: publish empty persona authorization trust registry
This commit is contained in:
parent
1323028e10
commit
21aec6f504
3 changed files with 40 additions and 1 deletions
6
routing/persona-control-authorization-signers.json
Normal file
6
routing/persona-control-authorization-signers.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"schema": "gh-aios.persona-control-authorization-signers/v1",
|
||||
"registryId": "GH-AIOS-PERSONA-CONTROL-AUTHORIZATION-SIGNERS-001",
|
||||
"state": "CURRENT",
|
||||
"signers": []
|
||||
}
|
||||
27
routing/persona-control-authorization-signers.test.js
Normal file
27
routing/persona-control-authorization-signers.test.js
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
import assert from "node:assert/strict";
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import test from "node:test";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
const directory = path.dirname(fileURLToPath(import.meta.url));
|
||||
const registry = JSON.parse(fs.readFileSync(path.join(directory, "persona-control-authorization-signers.json"), "utf8"));
|
||||
const anchor = JSON.parse(fs.readFileSync(path.join(directory, "public-navigation-anchor.json"), "utf8"));
|
||||
|
||||
test("the persona-control authorization registry is authoritative but trusts nobody before key governance exists", () => {
|
||||
assert.deepEqual(Object.keys(registry), ["schema", "registryId", "state", "signers"]);
|
||||
assert.equal(registry.schema, "gh-aios.persona-control-authorization-signers/v1");
|
||||
assert.equal(registry.registryId, "GH-AIOS-PERSONA-CONTROL-AUTHORIZATION-SIGNERS-001");
|
||||
assert.equal(registry.state, "CURRENT");
|
||||
assert.deepEqual(registry.signers, []);
|
||||
assert.doesNotMatch(JSON.stringify(registry), /PRIVATE KEY|password|token|secret/i);
|
||||
});
|
||||
|
||||
test("the public anchor declares the exact persona-control signer registry path", () => {
|
||||
assert.deepEqual(anchor.maps.persona_control_authorization_signers, {
|
||||
path: "routing/persona-control-authorization-signers.json",
|
||||
id: "GH-AIOS-PERSONA-CONTROL-AUTHORIZATION-SIGNERS-001",
|
||||
schema: "gh-aios.persona-control-authorization-signers/v1",
|
||||
state: "CURRENT_EMPTY_NO_TRUSTED_SIGNER"
|
||||
});
|
||||
});
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"schema": "guanghu.public-navigation-anchor/v1",
|
||||
"anchor_id": "GLW-PUBLIC-NAV-ANCHOR-001",
|
||||
"version": "2026-08-11.3",
|
||||
"version": "2026-08-12.1",
|
||||
"state": "CURRENT_CANONICAL",
|
||||
"repository_id": "REPO-012",
|
||||
"branch": "main",
|
||||
|
|
@ -112,6 +112,12 @@
|
|||
"path": "routing/trusted-domain-manifest-signers.json",
|
||||
"id": "GH-AIOS-TRUSTED-DOMAIN-MANIFEST-SIGNERS-001",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"persona_control_authorization_signers": {
|
||||
"path": "routing/persona-control-authorization-signers.json",
|
||||
"id": "GH-AIOS-PERSONA-CONTROL-AUTHORIZATION-SIGNERS-001",
|
||||
"schema": "gh-aios.persona-control-authorization-signers/v1",
|
||||
"state": "CURRENT_EMPTY_NO_TRUSTED_SIGNER"
|
||||
}
|
||||
},
|
||||
"update_contract": {
|
||||
|
|
|
|||
Loading…
Reference in a new issue