chore(openspec): drop 9 superseded proposals + 11 stub archive files

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.
This commit is contained in:
2026-06-07 22:15:38 +00:00
parent 0d6e9a2413
commit c935687725
119 changed files with 4897 additions and 45 deletions

View File

@@ -0,0 +1,50 @@
## 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 | string`
- `writeFile(path, data)``void`
- `appendFile(path, data)``void`
- `mkdir(path, { recursive? })``void`
- `readdir(path, { withFileTypes? })``string[] | Dirent[]`
- `stat(path)` / `lstat(path)``Stats`
- `unlink(path)`, `rm(path, { recursive?, force? })`, `rmdir(path)``void`
- `rename(oldPath, newPath)``void`
- `copyFile(src, dest)``void`
- `chmod(path, mode)`, `chown(path, uid, gid)``void`
- `symlink(target, path)`, `readlink(path)``void`
- `realpath(path)`, `truncate(path, len?)``void`
- `mkdtemp(prefix)``string`
- `access(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 with `size`, `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/c` SHALL exist
#### Scenario: Exists returns false for missing files
- **WHEN** `sandbox.fs.exists("/nonexistent")` is called
- **THEN** it SHALL return `false`