Skip to content

ILO-41: Filesystem-metadata builtins (fsize/mtime/isfile/isdir)#696

Merged
danieljohnmorris merged 2 commits into
mainfrom
feature/fs-metadata-builtins
May 22, 2026
Merged

ILO-41: Filesystem-metadata builtins (fsize/mtime/isfile/isdir)#696
danieljohnmorris merged 2 commits into
mainfrom
feature/fs-metadata-builtins

Conversation

@danieljohnmorris
Copy link
Copy Markdown
Collaborator

Summary

  • All four fs-metadata builtins (fsize, mtime, isfile, isdir) were already fully implemented across builtins, verify, interpreter, VM, and Python codegen
  • Added missing --allow-read cap enforcement: fsize/mtime return Err(ILO-CAP-001 ...) on blocked paths; isfile/isdir return false (consistent with their missing/perm-denied contract)
  • Added 4 new cap integration tests in tests/capability_flags.rs

What already existed

All four builtins were present on main with full cross-engine coverage (15 regression tests passing). The only gap was cap enforcement in the interpreter tree-bridge path.

Test plan

  • cargo test --test regression_fs_metadata — 15/15 pass
  • cargo test --test capability_flags — 19/19 pass (4 new tests added)

Closes ILO-41.

🤖 Generated with Claude Code

@codecov
Copy link
Copy Markdown

codecov Bot commented May 22, 2026

⚠️ JUnit XML file not found

The CLI was unable to find any JUnit XML files to upload.
For more help, visit our troubleshooting guide.

@danieljohnmorris danieljohnmorris added the mini Created by mini PC autonomous workflow label May 22, 2026
Daniel Morris and others added 2 commits May 22, 2026 10:02
All four fs-metadata primitives (fsize, mtime, isfile, isdir) now call
env.caps.check_read() before accessing the filesystem. fsize/mtime return
Err(ILO-CAP-001 ...) on a blocked path; isfile/isdir return false,
consistent with their missing/perm-denied contract. Four new capability
integration tests verify enforcement at the tree-interpreter backend.

Closes ILO-41.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@danieljohnmorris danieljohnmorris force-pushed the feature/fs-metadata-builtins branch from 7ce2ae9 to 6695cd2 Compare May 22, 2026 09:03
@danieljohnmorris danieljohnmorris merged commit 9d8c8d8 into main May 22, 2026
7 of 10 checks passed
@danieljohnmorris danieljohnmorris deleted the feature/fs-metadata-builtins branch May 22, 2026 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mini Created by mini PC autonomous workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant