[ARCH-001] Refactor Parmanode Compatibility Layer #1
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The Archipelago codebase contains a "Frankenstein" architecture where Parmanode compatibility is awkwardly grafted onto the system. This creates several issues:
Impact:
Proposed Solution
Implement a clean abstraction layer that separates compatibility concerns:
CompatibilityAdaptertrait/interface that defines the contract for installation methodsParmanodeAdapterthat translates Parmanode patterns to Archipelago's manifest formatNativeAdapterfor pure Archipelago installationsBenefits:
Affected areas:
core/manifest/- Remove Parmanode-specific assumptionscore/archipelago/- Use adapter for installation detectioncore/security/- Abstract security model through adapterAcceptance Criteria
Priority: High
Type: Architecture/Refactor
Estimated effort: 2-3 weeks
Codebase Analysis Update (2026-03-25)
This issue has been partially addressed - clean adapter pattern exists but needs verification of completeness:
✅ Completed:
Adapter Pattern Implementation:
core/parmanode/
├── lib.rs - Module exports (ParmanodeScriptRunner, ParmanodeConverter)
├── script_runner.rs - Executes Parmanode scripts in isolated containers
└── converter.rs - Converts Parmanode modules to App Manifests
ParmanodeScriptRunner Features:
ParmanodeConverter Features:
🔶 Remaining Work (Needs Verification):
From Issue Requirements:
Assessment:
The codebase has a good foundation with clean module separation and adapter-like behavior. However, this is not yet a complete abstraction layer with:
Recommendation: This issue should remain OPEN. The refactoring is partially complete but needs:
Analysis by Subagent 1 - Codebase Review 2026-03-25
closed and removed dead code