Skip to content

Fs55 ethernet integration#58

Merged
adybag14-cyber merged 4 commits intomainfrom
fs55-ethernet-integration
Mar 19, 2026
Merged

Fs55 ethernet integration#58
adybag14-cyber merged 4 commits intomainfrom
fs55-ethernet-integration

Conversation

@adybag14-cyber
Copy link
Owner

@adybag14-cyber adybag14-cyber commented Mar 19, 2026

Summary by CodeRabbit

Release Notes

  • New Features

    • Added workspace planning and scheduling system for complex deployment configurations.
    • Introduced workspace suite management with release snapshots and release channel support for coordinated multi-workspace orchestration.
    • Expanded CLI commands for workspace plan and suite operations (list, save, apply, delete, and channel management).
  • Improvements

    • Increased filesystem capacity for workspace configurations from 80 to 128 entries.
    • Enhanced test coverage (381 → 398 tests passing).

@adybag14-cyber adybag14-cyber merged commit d8bebdd into main Mar 19, 2026
16 checks passed
@coderabbitai
Copy link

coderabbitai bot commented Mar 19, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 1a489446-31a8-405b-aa58-0e15c873dcb5

📥 Commits

Reviewing files that changed from the base of the PR and between 8b6bb80 and 4e16911.

📒 Files selected for processing (11)
  • README.md
  • docs/zig-port/FS5_5_HARDWARE_DRIVERS_SYSTEMS.md
  • docs/zig-port/PHASE_CHECKLIST.md
  • docs/zig-port/PORT_PLAN.md
  • src/baremetal/filesystem.zig
  • src/baremetal/tool_exec.zig
  • src/baremetal/tool_service.zig
  • src/baremetal/tool_service/codec.zig
  • src/baremetal/workspace_runtime.zig
  • src/baremetal_main.zig
  • src/gateway/dispatcher.zig

📝 Walkthrough

Walkthrough

This PR introduces comprehensive workspace orchestration extensions by adding persistent storage and RPC handlers for workspace plans, suites, releases, and channels, while increasing the filesystem capacity from 96 to 128 entries to support the expanded feature set.

Changes

Cohort / File(s) Summary
Filesystem Configuration
src/baremetal/filesystem.zig
Updated exported max_entries constant from 96 to 128 to accommodate expanded workspace orchestration features.
Workspace Runtime API
src/baremetal/workspace_runtime.zig
Added comprehensive plan/suite/release/channel management including: plan persistence/querying/applying/deletion, suite listing/application/persistence, suite release snapshots/activation/pruning, and suite channel management with ~1440 lines of new code.
RPC Codec & Framing
src/baremetal/tool_service/codec.zig
Introduced 24 new RequestOp enum variants for workspace-plan, workspace-suite, workspace-suite-release, and workspace-suite-release-channel operations with corresponding request payload structs.
RPC Service Handlers
src/baremetal/tool_service.zig
Implemented request handlers for all new workspace operation types (plan list/info/active/save/apply/delete, suite list/info/save/apply/run/delete, release list/info/save/activate/delete/prune, channel list/info/set/activate) with payload validation and error formatting.
CLI Command Implementation
src/baremetal/tool_exec.zig
Added CLI command handlers for workspace-plan and workspace-suite operations with full persistence and reset cycle testing; includes suite execution helper that applies multiple workspaces in sequence.
Integration Testing & Probes
src/baremetal_main.zig
Added comprehensive probe tests exercising workspace-plan and workspace-suite TCP service requests with filesystem readback validation; increased network buffer sizing to 4096 bytes.
Documentation Updates
README.md, docs/zig-port/FS5_5_HARDWARE_DRIVERS_SYSTEMS.md, docs/zig-port/PHASE_CHECKLIST.md, docs/zig-port/PORT_PLAN.md
Updated filesystem budget claims, FS5.5 evidence sections, registry status, and plan/proof documentation to reflect new workspace-suite/workspace-plan/release/channel coverage with validation counts and live RTL8139 proof sequences.
Test Configuration
src/gateway/dispatcher.zig
Enhanced dispatcher lifecycle test to explicitly isolate in-memory state backend configuration with proper restore semantics.

Sequence Diagram: Workspace Plan Lifecycle

sequenceDiagram
    participant Client as TCP Client
    participant Service as Tool Service
    participant Runtime as Workspace Runtime
    participant FS as Filesystem
    
    Client->>Service: WORKSPACEPLAN_SAVE (name, plan, suite, config)
    Service->>Runtime: savePlan(...)
    Runtime->>FS: Write /runtime/workspaces/{name}/plans/{plan}
    FS-->>Runtime: Success
    Runtime-->>Service: ✓
    Service-->>Client: Response (200)
    
    Client->>Service: WORKSPACEPLAN_LIST (name)
    Service->>Runtime: planListAlloc(...)
    Runtime->>FS: Read /runtime/workspaces/{name}/plans/
    FS-->>Runtime: Plan entries
    Runtime-->>Service: Plan list
    Service-->>Client: Response (200)
    
    Client->>Service: WORKSPACEPLAN_APPLY (name, plan)
    Service->>Runtime: applyPlan(...)
    Runtime->>FS: Read plan config, Write workspace definition, Write active_plan.txt
    FS-->>Runtime: Success
    Runtime-->>Service: ✓
    Service-->>Client: Response (200)
    
    Client->>Service: WORKSPACEPLAN_DELETE (name, plan)
    Service->>Runtime: deletePlan(...)
    Runtime->>FS: Remove /runtime/workspaces/{name}/plans/{plan}, Clear active_plan.txt
    FS-->>Runtime: Success
    Runtime-->>Service: ✓
    Service-->>Client: Response (200)
Loading

Sequence Diagram: Workspace Suite & Release Lifecycle

sequenceDiagram
    participant Client as TCP Client
    participant Service as Tool Service
    participant Runtime as Workspace Runtime
    participant FS as Filesystem
    
    Client->>Service: WORKSPACESUITE_SAVE (suite, entries)
    Service->>Runtime: saveSuite(...)
    Runtime->>FS: Write /runtime/workspace-suites/{suite}
    FS-->>Runtime: Success
    Runtime-->>Service: ✓
    Service-->>Client: Response (200)
    
    Client->>Service: WORKSPACESUITE_APPLY (suite)
    Service->>Runtime: applySuite(...)
    Runtime->>Runtime: For each workspace in suite
    Runtime->>FS: Apply workspace configs iteratively
    FS-->>Runtime: Success
    Runtime-->>Service: ✓
    Service-->>Client: Response (200)
    
    Client->>Service: WORKSPACESUITERELEASE_SAVE (suite, release)
    Service->>Runtime: snapshotSuiteRelease(...)
    Runtime->>FS: Write /runtime/workspace-suite-releases/{suite}/{release}
    FS-->>Runtime: Success
    Runtime-->>Service: ✓
    Service-->>Client: Response (200)
    
    Client->>Service: WORKSPACESUITECHANNEL_SET (suite, channel, release)
    Service->>Runtime: setSuiteReleaseChannel(...)
    Runtime->>FS: Write /runtime/workspace-suite-release-channels/{suite}/{channel}
    FS-->>Runtime: Success
    Runtime-->>Service: ✓
    Service-->>Client: Response (200)
Loading

Possibly related issues

Possibly related PRs

Poem

🐰 A rabbit's rhyme for workspace dreams:
Plans and suites in filesystem beams,
Release channels flowing, neat and true,
From 96 entries to 128, our storage grew! ✨
Save, apply, activate—the orchestration gleams,
A workspace symphony, fulfilling all schemes! 🎯

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fs55-ethernet-integration
📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant