Repository navigation
Ephemeris: use the shared Ephemeris key file when Gnomon has none of its own - #133
Merged
Merged
Conversation
…its own ephemeris auth login, ephemeris-mcp login and savetokens all save one key file, ~/.config/ephemeris/credentials (EPHEMERIS_API_KEY=...; EPHEMERIS_CREDENTIALS_FILE overrides). Gnomon now falls back to it, so signing in with any of them connects Gnomon too. - Gnomon's own ~/.config/gnomon/ephemeris.token still wins, and connect writes only that. - The shared file must pass the same checks (regular file owned by you, mode 600, directory 700, no symlinks). One that doesn't is ignored, not fatal: startup keeps local models, and status says credential_source: shared_ignored_not_private. - Status reports credential_source: gnomon | shared | shared_ignored_not_private. - --disconnect removes Gnomon's own key only, and says when the shared one still connects it (remove that with ephemeris auth logout). - The model catalog directory is created privately if only the shared key is used. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Signing in once to Ephemeris now connects Gnomon too.
ephemeris auth login(ephemeris-cli),ephemeris-mcp loginand savetokens all save one key file,~/.config/ephemeris/credentials, as a singleEPHEMERIS_API_KEY=pc_live_...line. They get the key from the browser sign-in Ephemeris shipped (device flow), so nobody copies it. Gnomon now falls back to that file.Behaviour
~/.config/gnomon/ephemeris.tokenis used whenever it exists, andgnomon connect ephemerisstill writes only that file.~/.config/ephemerisdirectories are 755, and refusing to start would be worse than skipping the file.connect ephemeris --statusand the MCP onboarding info reportcredential_source:gnomon,shared,shared_ignored_not_private, or null.--disconnectremoves Gnomon's own key only. If the shared file still connects Gnomon, the output says so and points toephemeris auth logout.read_tokenaccepts both formats: a bare token, or the sharedEPHEMERIS_API_KEY=line.EPHEMERIS_CREDENTIALS_FILEoverrides the shared path and must be absolute, like the existingXDG_CONFIG_HOMErule.Tests
Six new tests in
tests/test_onboarding.py:Results:
tests/test_onboarding.py: 40 pass.tests/overall: 1158 pass. One failure,test_portable_schemas.py, is only becausejsonschemaisn't installed in my test environment; it's unrelated to this change.🤖 Generated with Claude Code