Codex-Autonomy-Token in CT259 registrieren¶
Die Capability registriert ausschließlich das macOS-Keychain-Item
lanstyle-codex-mcphub / codex-autonomy als codex-autonomy im dynamischen
Tokenstore des Lanstyle-Remote-MCP in CT259. Andere Hosts, CTs, Stores,
Token-Namen, Scopes oder Services sind nicht parametrisierbar.
Der Client liest den Wert mit /usr/bin/security. Er wird nur im Speicher und
über stdin an den festen Provider übertragen. Argumente, Environment,
Manifeste, Antworten, Receipts und Audit enthalten keinen Secretwert. Der
Provider verwendet HMAC-SHA-256-Fingerprints mit dem bereits root-only
provisionierten Static-Token-Admin-Key.
python3 agent-runtime/tools/agent_runtime_mcp_token_register.py \
build-manifest --output /private/tmp/codex-autonomy-register.json
python3 agent-runtime/tools/agent_runtime_mcp_token_register.py \
preflight --manifest /private/tmp/codex-autonomy-register.json
Der vom Preflight gelieferte expected_revision ist für Apply verpflichtend:
python3 agent-runtime/tools/agent_runtime_mcp_token_register.py \
apply --manifest /private/tmp/codex-autonomy-register.json \
--run-id register-codex-autonomy-001 \
--expected-revision '<64-hex-revision>'
Apply hält einen root-only Lock, prüft Store-Revision und Shared-Resolver,
schreibt atomar und führt anschließend authentifiziert initialize,
tools/list und controlled_execution_get_policy aus. Der Remote-MCP wird nur
nach einem Auth-Reject einmal kontrolliert neu erstellt. Bei einem späteren Gate-
Fehler entfernt der receipt-gebundene CAS-Rollback ausschließlich den in diesem
Run erzeugten Eintrag. Ein bereits exakt vorhandener Eintrag ist ein No-op;
abweichende Namens- oder Credential-Treffer blockieren.
Ein expliziter Rollback ist nur für einen erfolgreich erstellten Eintrag und bei unveränderter Post-Revision zulässig:
python3 agent-runtime/tools/agent_runtime_mcp_token_register.py \
rollback --manifest /private/tmp/codex-autonomy-register.json \
--run-id rollback-codex-autonomy-001 \
--original-run-id register-codex-autonomy-001
Die Capability verändert keine bestehenden alten Keys und führt beim Testen oder Erstellen des Manifests keine Live-Änderung aus.