feat(fleet): generalize topology + 'Go Standalone' mode - #339
Merged
Conversation
Replace hardcoded Aaron's-Mac-mini hostname with configurable fleet.json: - ~/.amico/ops/fleet/fleet.json is the single source of truth for fleet role (standalone|server|client) and canonical server coordinates (host, port, sshAlias) - No file = standalone (safe zero-config default, pre-fleet behavior) - Guard script reads fleet.json instead of scutil hostname comparison - 'Go Standalone' command replaces 'Enter Local Fallback' — permanent mode switch, not a temporary escape hatch - Drop 'Exit Local Fallback' and 'Rejoin' commands (re-enrollment deferred) - fleet_health.ts reads from fleet.json; health checks skip when standalone - install.sh reads fleet.json; skips entirely for standalone - CI gate verifies guard references fleet.json (not a hardcoded hostname) - CONTEXT.md glossary updated: 'Local fallback' → 'Go Standalone' - Remove all references to Aarons-Mac-mini, /Users/aaron/, amico-mini - Tunnel plist uses FLEET_SSH_ALIAS placeholder (templating deferred to Enroll) - Legacy fallback.json migrated to fleet.json on activation Closes #338
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (17)
📝 WalkthroughWalkthroughFleet behavior now uses ChangesFleet generalization
Estimated code review effort: 4 (Complex) | ~45 minutes Suggested reviewers: Sequence Diagram(s)sequenceDiagram
participant VSCodeExtension
participant FleetConfig as fleet.json
participant SSHTunnel
participant LocalServer
VSCodeExtension->>FleetConfig: Read role and canonical port
VSCodeExtension->>SSHTunnel: Probe or unload tunnel
VSCodeExtension->>FleetConfig: Write standalone role
VSCodeExtension->>LocalServer: Restart local server
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
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.
Summary
Replace hardcoded Aaron's-Mac-mini hostname with configurable
fleet.json. Change 'Local Fallback' from a temporary escape hatch into a permanent 'Go Standalone' mode switch that restores purely-local Amicode.Key changes
~/.amico/ops/fleet/fleet.jsonis the single source of truth for fleet role (standalone|server|client) and canonical server coordinates (host,port,sshAlias)scutilhostname comparisonAarons-Mac-mini,/Users/aaron/,amico-miniFLEET_SSH_ALIASplaceholder (templating deferred to Enroll)fallback.jsonmigrated tofleet.jsonon activationTests
assert_fleet_guard.sh) passesDeferred (follow-up)
Closes #338
Summary by CodeRabbit
New Features
fleet.json, including configurable tunnel ports.Bug Fixes
Documentation