- Core Orchestration & Harness:
skills/dev-loop/scripts/(job.py,devloop_serverd.py,agy_host.sh,agy_session.py,adapters.py,claude_lane.py,skill_package.py). - Test Framework:
tests/containing 48 test suites across unit, integration, adversarial, and gate verification. - Cross-Repo System Boundaries:
c:\-dev-loop: Harness, test doubles, session lifecycle, dev-loop scripts.c:\MiOS: 401 registered CI suites (tools/ci-suites.py --check), 6 standing Rust gates (mios-gate.exe), projection sync (tools/sync-generated.sh).c:\mios-micro: Resident miniature neural layer (12 unit tests across dataset, eval, package).c:\mios-bootstrap: Installer, autounattend presets, profile templates, shell scripts.
| # | Feature | Description | Milestone | Source |
|---|---|---|---|---|
| 1 | Portable System Information | Replace os.uname().nodename with platform.node() across scripts and test suites |
M1 | ORIGINAL_REQUEST §R1.1 |
| 2 | Guarded POSIX Modules | Graceful degradation for pwd (try/except ImportError) in user detection |
M1 | ORIGINAL_REQUEST §R1.1 |
| 3 | Portable Process Group & Signal Termination | Replace os.killpg/signal.SIGKILL with cross-platform termination |
M1 | ORIGINAL_REQUEST §R1.1 |
| 4 | Deterministic Test Doubles & CLI Mocks | Replace extensionless fake agy/claude with .cmd wrappers, os.pathsep, and strict execution bounds |
M1 | ORIGINAL_REQUEST §R1.2, §R1.3 |
| 5 | Shell Adapter Portability | Prefer POSIX shell (sh) when available on Windows in adapters.py to support POSIX syntax |
M1 | ORIGINAL_REQUEST §R1.2 |
| 6 | CRLF Normalization & Cleanups | Fix CRLF frontmatter parsing and replace rm -rf with shutil.rmtree |
M1 | ORIGINAL_REQUEST §R1.2 |
| 7 | PR #22 Clean Rebase | Rebase PR #22 branch cleanly onto origin/main (2429f7a), dropping merge commits |
M2 | ORIGINAL_REQUEST §R2.1 |
| 8 | --conversation ID Resume Mechanics |
Forward --conversation <id> in session_argv and replace /teamwork-preview with resume note |
M2 | ORIGINAL_REQUEST §R2.3 |
| 9 | PR #22 Two-Sided Verification | Verify positive & negative controls across all 4 modified files | M2 | ORIGINAL_REQUEST §R2.2 |
| 10 | 48 Test Suites Clean Execution | Ensure all 48 test suites in -dev-loop/tests execute in <10s each and exit 0 |
M3 | ORIGINAL_REQUEST §R3.1 |
| 11 | Multi-Repo Standing Gates Parity | Confirm c:\MiOS (401 suites), c:\mios-micro (12 tests), c:\mios-bootstrap pass clean |
M3 | ORIGINAL_REQUEST §R3.2 |
| 12 | Verified PR Branch Ready for Review | Push rebased branch and prepare PR for operator review | M3 | ORIGINAL_REQUEST §R3.3 |
| # | Name | Scope | Dependencies | Status |
|---|---|---|---|---|
| M1 | Cross-Platform Test Refactor | Fix os.uname, pwd, os.killpg, fake CLI mocks, PATH separators, shell routing |
none | IN_PROGRESS |
| M2 | PR #22 Rebase & Resume Verification | Rebase onto 2429f7a, verify --conversation ID prompt omission, two-sided controls |
M1 | PLANNED |
| M3 | Multi-Repo Parity & PR Finalization | Run all 48 tests, check MiOS/micro/bootstrap gates, prepare PR for operator review | M1, M2 | PLANNED |
| E2E | E2E Testing Suite | Requirements-driven 4-tier E2E testing harness for dev-loop & multi-repo parity | none | IN_PROGRESS |
- Mock binaries MUST generate both extensionless and
.cmdvariants on Windows (fake.cmd). PATHmodifications MUST useos.pathsep(;on Windows,:on POSIX).- Mock scripts MUST execute deterministically without network access, completing within 0.1s.
subprocess.Popenin callers MUST resolve viashutil.whichor explicit binary arguments to prevent falling through to host-installed binaries.
- When
AGY_HOST_CONVERSATIONis provided:agy_host.shwrites a resume note and strictly omits/teamwork-previewand initial planning prompts.session_argvreceivesconversation="<id>"and appends["--conversation", "<id>"]before-p=.
- When
AGY_HOST_CONVERSATIONis empty:- Normal kickoff prompt and
/teamwork-previeware written. --conversationis omitted fromsession_argv.
- Normal kickoff prompt and
skills/dev-loop/scripts/job.py: Host identification (platform.node()), process sessions.skills/dev-loop/scripts/devloop_serverd.py: Host identification (platform.node()).skills/dev-loop/scripts/adapters.py: Shell selection and command routing.skills/dev-loop/scripts/claude_lane.py: Process termination, mock execution.skills/dev-loop/scripts/skill_package.py: Frontmatter parsing.skills/dev-loop/scripts/agy_host.sh: Session prompt file writing, resume note handling.skills/dev-loop/scripts/agy_session.py: CLI arguments andsession_argv.tests/: 48 test suites across all components.