microsoft / microsoft/agora-workbench

[Tracking] v0.3.0: coherent public data-lake APIs for local and Azure storage

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

Nobody has claimed this yet.

Dominant language
Python
Stars
8
Forks
4
Avg merge
13h 45m
Merged PRs (30d)
28

Description

## Goal

Build on the existing data-access, SQLite catalog, resolver, fetcher and publisher functionality to provide a supported public data-lake surface in Agora Workbench. A user should be able to configure local files or Azure Blob Storage, discover an artifact, and load it into code execution without a mandatory search service or embeddings endpoint.

Target: **v0.3.0**, following the v0.2.1 release. These issues do not request changes to the v0.2.1 release process. Implementations should rebase on that release and retain supported 0.2.x behavior unless a change is explicitly documented and migrated.

## Architecture and boundaries

- Keep reusable catalog/storage mechanisms in the public package, with a deliberate public namespace and structural extension interfaces.
- Reuse existing fetchers, publishers, resolvers and catalog code rather than create parallel implementations.
- Support local filesystem and Azure Blob Storage with explicit scan versus approved-manifest discovery modes.
- Use keyword search by default; make vector search and cloud integrations optional where dependency boundaries permit.
- Keep execution-session lifecycle and temporary outputs separate from durable catalog registration. Explicit promotion may publish a session output into the catalog.
- Applications supply identity and policy; catalog operations consistently enforce that policy.
- Prefer library composition and optional MCP exposure. A separately deployed HTTP service, arbitrary storage backends, and a new embedding model are not required.
- The package and its supported installation paths must depend only on publicly available distributions.

## Delivery sequence

1. Public contracts, identity/configuration, safe indexing and dependency boundaries.
2. A supported read-only vertical slice: local/Blob discovery -> resolution -> streaming into execution, with authorization and compatibility coverage.
3. Managed registration/upload/delete/promotion with concurrency and recovery guarantees.
4. Integrated documentation, deployment examples, migration guidance and release acceptance.

Read-only delivery is an implementation checkpoint, not a claim that managed writes are already complete. Mutations remain capability-gated until their acceptance criteria pass.

## Release acceptance

- One maintained implementation of generic catalog/storage behavior, with compatible old import paths and supported asset references.
- Local quickstart works without cloud credentials or an embeddings endpoint; installation requirements are documented accurately.
- Local and Blob examples exercise actual discovery-to-execution integration.
- Metadata visibility and file access follow the same authorization policy.
- Concurrent writes, interrupted operations and schema migration have explicit recovery behavior.
- Unit/integration coverage is included in each issue; the final acceptance issue covers cross-feature and real-service behavior.

## Work items

Implementation issues are linked below.

- [ ] #331 - Define the public catalog API, capability model and compatibility boundary
- [ ] #332 - Add stable artifact identities, revisions and reference migration
- [ ] #333 - Support versioned scan and approved-manifest catalogs on local and Blob storage
- [ ] #334 - Make catalog refresh and search semantics correct and deterministic
- [ ] #335 - Isolate optional cloud and vector dependencies for local catalog use
- [ ] #336 - Enforce caller-aware authorization across catalog and storage operations
- [ ] #337 - Wire catalog lifecycle and MCP discovery into code execution
- [ ] #338 - Implement recoverable managed upload, registration, deletion and promotion
- [ ] #339 - Define bounded streaming, path containment and transfer failure behavior
- [ ] #340 - Add public CLI, local quickstart and Azure deployment guidance
- [ ] #341 - Add cross-provider compatibility and v0.3.0 release acceptance coverage

Contributor guide

No contributing guide indexed for this repository

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 implementation issues #331–#341 and the existing data-access, SQLite catalog, resolver, fetcher and publisher functionality named in this tracking issue. Done means the v0.3.0 release acceptance criteria are met, including local and Blob discovery-to-execution examples, authorization coverage, recovery behavior and documented installation requirements.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, python, sqlite
Domain
backend-api-design, cloud, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.