Skip to content

Commit 53240f9

Browse files
committed
chore: mark US-018 complete and update progress log
1 parent 313afac commit 53240f9

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

progress.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2696,3 +2696,13 @@ PRD: ralph/kernel-hardening (46 stories)
26962696
- Raw Redis PING protocol: send "PING\r\n" (inline format), response is "+PONG\r\n"
26972697
- For tunnel fixtures, use REDIS_INTERNAL_HOST/PORT (container bridge IP + internal port), not REDIS_HOST/PORT (host-mapped)
26982698
---
2699+
2700+
## 2026-03-19 - US-018
2701+
- Added SFTP directory operations e2e-docker fixture (ssh2-sftp-dirs)
2702+
- Fixture connects via SSH, opens SFTP subsystem, creates directory, lists empty dir with readdir, writes file inside dir, lists dir again to verify file appears, removes file via unlink, removes directory via rmdir
2703+
- Files created: packages/secure-exec/tests/e2e-docker/ssh2-sftp-dirs/{package.json,fixture.json,src/index.js}
2704+
- **Learnings for future iterations:**
2705+
- e2e-docker fixtures are auto-discovered — just create a directory with fixture.json + package.json + src/index.js
2706+
- sftp.readdir() returns array of objects with .filename property (not just strings)
2707+
- SFTP directory ops (mkdir, rmdir, readdir) work through the sandbox net bridge without any additional fixes needed
2708+
---

scripts/ralph/prd.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -323,8 +323,8 @@
323323
"Tests pass"
324324
],
325325
"priority": 18,
326-
"passes": false,
327-
"notes": "The existing ssh2-sftp-transfer fixture only tests file CRUD (createWriteStream, readFile, stat, unlink). Directory listing via SFTP is a core operation for file management tools and is completely untested."
326+
"passes": true,
327+
"notes": "Completed. Fixture ssh2-sftp-dirs connects via SSH, opens SFTP, creates directory, lists empty dir, writes file inside, lists dir with file, removes file, removes directory. Host and sandbox produce identical output."
328328
},
329329
{
330330
"id": "US-019",

0 commit comments

Comments
 (0)