2026-09-26 — Edit registry for kahn-hq org rename to kahn-tools, reconcile stale review dates
rank: decision outranks: []
Section titled “rank: decision outranks: []”2026-09-26 — Edit registry for kahn-hq org rename to kahn-tools, reconcile stale review dates
Section titled “2026-09-26 — Edit registry for kahn-hq org rename to kahn-tools, reconcile stale review dates”Date: 2026-09-26 Status: ratified Verb: petrova_act_registry_edit Slug: kahn-hq MR-compliance: MR-7, MR-12
Rationale — org rename
Section titled “Rationale — org rename”GitHub org kahn-hq was renamed to kahn-tools (to fit the kahn.tools
apex). Verified via gh api orgs/kahn-hq → 404, gh api orgs/kahn-tools →
200, org display name “KAHN”, blog field https://kahn.tools. Repo name
under the org is unchanged (kahn) — structurally identical to the
rocky-hq→erid-tech rename
(docs/decisions/2026-09-25-registry-edit-rocky-hq-org-rename.md).
The registry slug is kept as kahn-hq — internal identifier, not a live
pointer; renaming it would cascade into state/kahn-hq.yaml, the domain
doc filename, and every cross-reference in prior decision docs, none of
which need to change to fix the actual break (a stale url). Only
registry.yaml > repos[kahn-hq].url is corrected.
Checked for the ROCKY_REMOTE-class footgun: no hardcoded KAHN_REMOTE
clone-source constant exists in cli/src/verbs/cairnet_onboard.ts or
cli/src/cairnet/fleet/kit-run.ts. cli/src/probes/ares.ts:89 references
kahn-hq/kahn only inside a comment (example format string) — cosmetic,
no functional change.
Rationale — integrations_applicability reconciliation
Section titled “Rationale — integrations_applicability reconciliation”Two of kahn-hq’s not_applicable classifications had their own stated
revisit triggers fire without being revisited:
- rocky: set
not_applicable2026-05-17, review_by 2026-08-17, reasoned “no CAIRNET emission path; revisit if a CAIRNET emission path is built.” kahn-hq’s own contract has declaredcairnet_emission: status: wired(kitcairnet-emit-v10) since 2026-05-20, evidence updated 2026-08-12 — over a month past the review date and object of the trigger itself. Reclassified tooptional. - eva: set
not_applicableunder the estate-wide default (“eva consumption surface not yet published”). That surface now exists and is canonical per this repo’s own CLAUDE.md (“Where the playbook actually lives,” locked 2026-05-14):petrova.prompts.list/get+petrova_install_playbook. Reclassified tooptional. - crumb: re-confirmed unchanged (no
cards/dir or CRUMB corpus in kahn-hq) — review_by extended 2026-08-01 → 2027-01-01, no reclassification.
optional records that kahn-hq may consume these integrations, not that
it must — no fleets_allowed change, no new automation grant. This is
fact-reconciliation against triggers kahn-hq’s own registry notes already
set, same class as the arno-host contract reconciliation earlier this
session, not a permission grant.
Change summary
Section titled “Change summary”registry.yaml > repos[kahn-hq]:
url:https://github.com/kahn-hq/kahn→https://github.com/kahn-tools/kahnintegrations_applicability.rocky:not_applicable→optionalintegrations_applicability.eva:not_applicable→optionalnotes: appended rename record + reclassification rationale, cross-ref to this doc.
docs/domains/kahn-hq.md regenerated via npm run domains:generate
(host package) — non-authored lines only.
Open follow-up
Section titled “Open follow-up”- kahn-hq’s own
.petrova/contract.yaml(separate repo) still needs a matching edit — this doc only reconciles the petrova-codes registry side. Separate PR against kahn-tools/kahn. kahn-toolsorg API reportstotal_private_repos: 1— worth confirming which repo that is, since the registryurlassumes the public-stylegithub.com/kahn-tools/kahnpath resolves.- Local checkout remotes (if any exist under
~/code/workspace/kahn-hq) not swept — housekeeping only, no repo-side consequence.
Sign-off
Section titled “Sign-off”- Human: alex@devarno.com