whiteducksoftware / whiteducksoftware/flock

[1.0] Add bounded lazy Skill reference tools and revision tracking

Open
#450 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
120
Forks
14
Avg merge
19h 32m
Merged PRs (30d)
8

Description

Large Skill libraries need selective loading, but lazy access must stay confined to attached sources and must not silently disappear when an engine falls back to a non-tool program.

Scope

  • Add runtime=True tools for attached Skill instructions and reference files, with per-agent bindings and explicit read/output budgets.
  • Enforce containment after symlink resolution; reject access to unattached Skills and paths outside the allowed source.
  • Record the actually used instruction/reference revisions for the run and reject unsupported tool/engine paths instead of silently falling back.

Acceptance criteria

  • Two agents use the same immutable library in eager and lazy modes without modifying each other's bindings.
  • Unattached sources, parent traversal and escaping symlinks cannot be read; oversized resources have explicit bounded behavior.
  • Engine instruction overrides and program fallback cannot silently remove Skill access.
  • Run evidence identifies the used content and resource revisions, while deterministic output/cascade behavior remains intact.

Boundaries

runtime=True does not authorize script execution. No demo injection, optimizer or general code sandbox.

References

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked plan, then read src/flock/engines/dspy_engine.py and src/flock/core/context_provider.py, along with dependencies #449, #442, and #443. Trace how Skill sources, engine overrides, and fallback programs currently bind and expose content. Done means bounded lazy access is contained, per-agent bindings remain isolated, revisions are recorded, and unsupported paths do not silently remove Skill access.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ai, backend-api-design, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.