Drop 9 batch proposals that are superseded by the boocode-lift-analysis (boocontext-audit, conductor upgrades, self-healing/verify-gate skills): add-3tier-memory, import-llm-evaluator, import-pregel-engine, plugin-platform, conductor-evolution, code-intelligence-upgrade, dev-workflow, ui-overhaul, agent-reliability. Delete 11 stub archive files (49-66B each, 'Status: Shipped. Archived.' only) that provide zero documentation value over the existing CHANGELOG.md + git tags.
1.9 KiB
1.9 KiB
ADDED Requirements
Requirement: Filesystem API matching node:fs/promises
The system SHALL provide sandbox.fs implementing the Node.js fs/promises API:
readFile(path, encoding?)→Buffer | stringwriteFile(path, data)→voidappendFile(path, data)→voidmkdir(path, { recursive? })→voidreaddir(path, { withFileTypes? })→string[] | Dirent[]stat(path)/lstat(path)→Statsunlink(path),rm(path, { recursive?, force? }),rmdir(path)→voidrename(oldPath, newPath)→voidcopyFile(src, dest)→voidchmod(path, mode),chown(path, uid, gid)→voidsymlink(target, path),readlink(path)→voidrealpath(path),truncate(path, len?)→voidmkdtemp(prefix)→stringaccess(path),exists(path)→boolean
Scenario: ReadFile returns correct content
- WHEN
sandbox.fs.readFile("/etc/hostname", "utf8")is called - THEN it SHALL return the file content as a string
Scenario: WriteFile creates new file
- WHEN
sandbox.fs.writeFile("/tmp/test.txt", "hello")is called - THEN subsequent
sandbox.fs.readFile("/tmp/test.txt", "utf8")SHALL return"hello"
Scenario: Readdir lists directory contents
- WHEN
sandbox.fs.readdir("/")is called - THEN it SHALL return an array of filenames
Scenario: Stat returns file metadata
- WHEN
sandbox.fs.stat("/etc/hostname")is called - THEN it SHALL return a
Stats-compatible object withsize,isFile(),isDirectory(),mode,uid,gid,mtime, etc.
Scenario: Mkdir creates intermediate directories
- WHEN
sandbox.fs.mkdir("/tmp/a/b/c", { recursive: true })is called - THEN the directory
/tmp/a/b/cSHALL exist
Scenario: Exists returns false for missing files
- WHEN
sandbox.fs.exists("/nonexistent")is called - THEN it SHALL return
false