UPdate checklist
Some checks failed
CI / Build (pull_request) Failing after 7s
CI / Test (pull_request) Failing after 7s
CI / Lint (pull_request) Failing after 13s

This commit is contained in:
2025-10-14 21:29:16 -04:00
parent a0f80c5c7d
commit 3fffd5d409
2 changed files with 49 additions and 120 deletions

View File

@ -1,61 +1,3 @@
## Milestone 3: Workstreams
### Workstream Data Model
28. **Implement workstream storage** (`internal/storage/workstreams.go`)
```go
type WorkstreamsFile struct {
CurrentWorkstream string
Workstreams map[string]*Workstream
}
func LoadWorkstreams(path string) (*WorkstreamsFile, error)
func (w *WorkstreamsFile) Save(path string) error
```
29. **Create workstream manager** (`internal/core/workstream_manager.go`)
- `CreateWorkstream(name string, base string) error`
- `GetCurrentWorkstream() (*Workstream, error)`
- `SwitchWorkstream(name string) error`
- `ListWorkstreams() ([]*Workstream, error)`
- `AddCommitToWorkstream(sha, message string) error`
### Workstream Commands
30. **Implement onx new** (`internal/commands/new.go`)
```go
func New(repo *Repository, name string) error {
// 1. Fetch latest from origin/main
// 2. Create workstream entry
// 3. Set as current workstream
// 4. Update workspace to base commit
// 5. Log to oplog
}
```
31. **Implement onx list** (`internal/commands/list.go`)
- Read workstreams.json
- Format output with current indicator (*)
- Show commit count per workstream
- Color code output for better readability
32. **Implement onx switch** (`internal/commands/switch.go`)
```go
func Switch(repo *Repository, name string) error {
// 1. Save current ephemeral state
// 2. Load target workstream
// 3. Checkout latest commit in workstream
// 4. Update current_workstream
// 5. Restore workspace state
// 6. Log to oplog
}
```
33. **Add workstream validation**
- Validate workstream names (no special chars)
- Check for uncommitted changes before switch
- Prevent duplicate workstream names
## Milestone 4: Synchronization and Remote Interaction
### Rebase Engine