Skip to content

Prepare for tinycloud 0.3.21: bulk connector metadata imports (skill floor → 0.3.21) - #30

Merged
kdr merged 2 commits into
mainfrom
prepare-0-3-21-metadata-imports
Aug 14, 2026
Merged

Prepare for tinycloud 0.3.21: bulk connector metadata imports (skill floor → 0.3.21)#30
kdr merged 2 commits into
mainfrom
prepare-0-3-21-metadata-imports

Conversation

@kdr

@kdr kdr commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

What

tinycloud 0.3.21 (SDK 0.7.25, spec v0.7.17) adds bulk connector metadata imports — features 45→46 (library.collections.imports.v1), verbs stay 17 (imports is a library subcommand family, not a verb). Source PR: makeyolo/tinycloud#247.

library imports create <col> --name <n> --connector <id> saves an immutable definition that lists a data connector server-side (google-drive, dropbox, zoom, gong, recall, grain, iconik) and imports each matching file's source_metadata into a metadata collection as collection files — thousands to hundreds of thousands of records per run, no media download/processing, runs consume no credits. Filters reuse the connectors files flags (or --filters '<json-array>' for several listing passes); append vs refresh modes; --delete-missing (refresh-only sweep of files this import brought in); --rate-limit, --max-files, --thumbnails, --no-start. imports list/show page definitions and run history; create/run/show report envelope pending while a run executes (poll imports show until ready); one active run per collection; cancel/delete never remove imported files.

Changes here

  • Skill floor → 0.3.21 (the skill teaches the new subcommand family): tinycloud-skill.json min_version/supported_range/skill_version → 0.3.21, required_features +library.collections.imports.v1 (34→35); preflight.sh kept identical (CI sync check passes).
  • npm launcher package.json → 0.3.21 (1:1 with the binary).
  • SKILL.md + reference/verbs.md teach the new surface (bulk-import snippet, gotcha, and a full library imports reference block with filters/modes/pending semantics and the pre-0.3.21 unknown-command fallback).
  • CLAUDE.md records the release.

Verification

  • npm test: 42/42 against the fixture CDN (offline).
  • shellcheck install.sh scripts/smoke-test.sh skills/tinycloud/scripts/preflight.sh: clean.
  • claude plugin validate .: passes.
  • Against a real 0.3.21 darwin-arm64 binary (packaged from the source PR): preflight.sh exits 0 (all 35 required features present, credentials configured); scripts/smoke-test.sh all-pass with EXPECTED_VERSION=0.3.21.
  • The binary's new surface was live-verified against a real Google Drive connector in the source repo (bulk run: 3 files listed → indexed → searchable via probe; 409/cancel/delete semantics confirmed).

Merge gate

⚠️ Merge only after the CDN serves 0.3.21 (channels.stable = 0.3.21 with pinned tarballs + manifest + sidecars) — the raised floor makes the skill refuse older binaries, and the npm publish workflow gates on generate-manifest.mjs --check. The "live CDN serves" line in CLAUDE.md intentionally still says 0.3.20; it flips in a follow-up commit on this branch once the CDN upload lands (the 0.3.20 pattern).


Note

Low Risk
Documentation and version-metadata only in the public dist repo; no runtime logic changes. Operational risk is merge timing—older binaries are rejected once the skill floor ships.

Overview
Raises the tinycloud skill and npm launcher to 0.3.21 so agents require a binary with library.collections.imports.v1 (tinycloud-skill.json, preflight.sh, package.json).

Documents the new library imports subcommands for bulk, credit-free connector metadata backfills into metadata collections: create/list/show/run/cancel/delete, filter/mode semantics, pending polling, and immutability/one-active-run rules in SKILL.md, reference/verbs.md, and CLAUDE.md (including CI/CDN notes for channels.stable = 0.3.21).

Reviewed by Cursor Bugbot for commit 2bf3f0e. Bugbot is set up for automated code reviews on this repo. Configure here.

…floor → 0.3.21)

tinycloud 0.3.21 (SDK 0.7.25, spec v0.7.17) adds bulk connector metadata
imports (features 45→46: library.collections.imports.v1; verbs stay 17 —
`imports` is a `library` subcommand family):

- `library imports create <col> --name <n> --connector <id>` saves an
  immutable definition that lists a data connector server-side
  (google-drive, dropbox, zoom, gong, recall, grain, iconik) and imports
  each matching file's source_metadata into a METADATA collection as
  collection files — thousands to hundreds of thousands of records per run,
  no media processing, runs consume no credits. Filters reuse the
  `connectors files` flags (or --filters '<json-array>' for several listing
  passes); append vs refresh modes, --delete-missing (refresh-only sweep of
  files this import brought in), --rate-limit, --max-files, --thumbnails,
  --no-start.
- `imports list`/`show` page definitions and run history; create/run/show
  report envelope status `pending` while a run executes (poll `imports
  show` until `ready`, progress counters inline); one active run per
  collection; `cancel`/`delete` never remove imported files.

Because the skill teaches the subcommand family, the floor rises to 0.3.21:
tinycloud-skill.json min_version/supported_range/skill_version → 0.3.21 and
required_features +library.collections.imports.v1, with preflight.sh kept
identical (the CI sync check passes). npm launcher version → 0.3.21 (1:1
with the binary). SKILL.md and reference/verbs.md teach the new surface;
CLAUDE.md records the release.

Verified: npm test 42/42 (fixture CDN); shellcheck clean; claude plugin
validate passes; preflight.sh exits 0 against a real 0.3.21 darwin-arm64
binary (all 35 required features present); scripts/smoke-test.sh all-pass
against the same binary (EXPECTED_VERSION=0.3.21).
@kdr
kdr requested a review from amyxst August 13, 2026 23:57
@kdr
kdr merged commit 49a2d1f into main Aug 14, 2026
@kdr
kdr deleted the prepare-0-3-21-metadata-imports branch August 14, 2026 00:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants