Add repository restructuring plan and module architecture - #2
Draft
Shubham-Rasal with Copilot wants to merge 2 commits into
Draft
Add repository restructuring plan and module architecture#2Shubham-Rasal with Copilot wants to merge 2 commits into
Shubham-Rasal with Copilot wants to merge 2 commits into
Conversation
- Create RESTRUCTURING.md with complete plan - Create MILESTONES.md with 9 milestones and 66 issues - Create ISSUES.md with detailed issue tracking - Create directory structure for vm/, runtime/, sandbox/, sdk/, internal/, assets/ - Add README.md to all 25 new modules documenting purpose and migration - Create docs/architecture.md with comprehensive architecture documentation - Add RESTRUCTURING_SUMMARY.md for high-level overview Co-authored-by: Shubham-Rasal <95695273+Shubham-Rasal@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Propose repo restructuring for architectural hardening
Add repository restructuring plan and module architecture
Jan 15, 2026
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.
Establishes foundation for restructuring Skyscale to support both Lambda-style execution and E2B-style long-lived sandboxes through clean architectural boundaries.
Architecture
Introduces module-first organization:
Key principle: Separation by responsibility, not language. VM operations stay in
vm/, enabling Lambda, sandboxes, and REPLs to share infrastructure with different policies.Deliverables
Documentation
Structure
Migration Approach
Low-risk incremental extraction:
vm/(Issues #5-12)runtime/(Issues #13-19)No functional changes in this PR - existing code builds and runs unchanged.
What This Enables
Near-term: E2B-style persistent sandboxes without touching Lambda code paths
Long-term: Programmable compute substrate for notebooks, CI/CD sandboxes, ML training, dev environments
Original prompt
Create issues in this repo and also add milestones for completion - Got it — you already have real infrastructure, not a toy.
So this is not a “rewrite”, it’s a structural hardening to support:
Below is a repo restructuring proposal that keeps your work intact and prepares Skyscale for a Sandbox API without architectural debt.
Core Design Principle
Separate by responsibility, not by language or feature.
Right now, concepts are slightly interleaved:
Those must become first-class modules.
Proposed Top-Level Structure
Why This Structure Works
1.
vm/becomes sacred groundEverything Firecracker-related lives here.
Rule:
Nothing outside
vm/talks to Firecracker directly.This is what allows:
to all reuse the same VM machinery.
2.
runtime/cleanly separates host vs guestYou already have a Go agent — formalize it.
Protocol is key
Define:
ExecUploadFileStreamLogsShutdownOnce frozen, everything becomes composable.
3.
sandbox/is a new first-class productThis is how you add E2B-style sandboxes without touching Lambda logic.
Important:
A sandbox is just:
Same VM manager. Different policy.
4.
control-plane/stops doing too muchIt becomes orchestration-only.
No Firecracker code here.
No runtime logic here.
5.
cmd/stays thin (this is non-negotiable)Each one:
No business logic.
6. SDKs live outside infra
This will eventually support:
Same backend. Different UX.
Migration Strategy (Low Risk)
Step 1 – Extract VM logic
Move Firecracker code →
vm/No behavior change.
Step 2 – Formalize guest protocol
Lock host ↔ agent contracts.
Step 3 – Introduce
sandbox/behind feature flagReuse:
Step 4 – SDK-first development
Design Python SDK before API changes.
What This Unlocks
Immediately:
Soon:
Long-term:
That’s the right direction.
If you want next-level depth
I can next:
Tell me which one to go deep on.
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.