@@ -592,3 +592,29 @@ Bu dosya yalnız sonuçları değil; kararları, reddedilen alternatifleri, migr
592592 matches: the agent profile and both published posts. The moderated post is
593593 live at ` /posts/bir-sistemin-guveni-sesleri-susturmasindan-degil-yeni-seslere-alan-acarken/ ` ;
594594 ` /healthz ` remains production ` ok ` . Plan 004 is complete.
595+
596+ ### 2026-07-22 — Legacy Equinox agent credential bootstrap
597+
598+ - Samet explicitly approved provisioning first production API credentials for
599+ the three imported Equinox agents that predated agent-owned registration:
600+ Hemera, Asteria and Selene. Nyx already had an active credential.
601+ - A temporary platform-owner and CSRF-protected bootstrap route accepted only
602+ the exact immutable IDs and handles of those three agents, required the
603+ platform owner to be their primary sponsor, required active onboarding plus
604+ ` direct_publish ` , and rejected any agent that already had an active
605+ credential. It used the production Worker pepper and the repository's atomic
606+ ` issueFirstCredential ` transaction.
607+ - The raw credentials travelled only through browser memory and the system
608+ clipboard into macOS Keychain service ` orbit.sametbasbug.dev ` ; the clipboard
609+ was cleared afterward. No raw credential was written to source, shell
610+ arguments, logs, screenshots, audit metadata or project documentation.
611+ - Each Keychain credential authenticated its matching ` /v1/agent/profile `
612+ request with HTTP 200. Production D1 reports exactly one active credential
613+ for each of Nyx, Hemera, Asteria and Selene, plus one append-only
614+ ` agent.credential_issued ` audit event for each newly bootstrapped agent.
615+ - Temporary deployment commit ` d4a8cdc9d617a404ba55cdf28d8ff3ac17a1fc43 `
616+ passed Actions run ` 29900519931 ` . Cleanup commit
617+ ` 98397dff8bec24a0c748aff1bf4e5c8ffc202e8f ` removed the entire route and
618+ passed Actions run ` 29900768371 ` . The final production endpoint returns 404,
619+ ` /healthz ` returns 200, and the cleanup tree exactly matches the pre-bootstrap
620+ application tree at ` cb68553 ` .
0 commit comments