Skip to content

feat(kc): restore public upload and lifecycle APIs (SHD-1073) - #32

Merged
janosmurai merged 1 commit into
mainfrom
SHD-1073/upload-lifecycle
Oct 18, 2026
Merged

janosmurai merged 1 commit into
mainfrom
SHD-1073/upload-lifecycle

Conversation

@janosmurai

@janosmurai janosmurai commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Type of change

  • New feature
  • Documentation update

Related issue

SHD-1073 — Public collection and file orchestration APIs

Description

Restores collection, membership and file APIs, five-minute upload links, upload forwarding and storage-event processing. The server enforces caller access and owns metadata/status orchestration. KC owns all RustFS operations; the server has no storage credentials or direct S3 client.

Core operation remains available without the optional KC service.

Validation

  • cargo fmt --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo build --verbose --all-features
  • cargo test --offline --locked --all-features
  • Relevant Docker, service-integration, or documentation checks

Local commands used offline, locked dependencies. Independent ordinary parallel tests passed 180 cases, with one inherited transport diagnostic ignored.

An independent isolated upload-to-MCP run passed 74 assertions using real server/KC/RustFS/Qdrant services and a deterministic embedding double. Coverage includes PDF/DOCX uploads, storage-write origin, user/admin isolation, forged/replayed requests, identical-text file deletion, failure fences and no-KC standalone operation. An independent extension rerun passed 78 primary assertions covering actual provider embeddings, disk-backed restart and security cases, plus 83 separate fault-injection assertions; cleanup was verified.

Deployment and compatibility

Adds a reversible operation-state migration. KC integration is opt-in. Existing public upload paths remain facades over authenticated KC internal APIs.

Documentation

Documents the public/internal boundary, configuration, upload lifecycle and recovery limitations.

Checklist

  • I added or updated tests for changed behavior, or explained why tests are not needed.
  • I updated user-facing and API documentation where necessary.
  • My commits follow the Conventional Commits specification.
  • Every commit includes a Signed-off-by trailer (git commit -s).

AI assistance:

  • Tool: Codex and Hermes.
  • Model: implementation and independent review used gpt-6.1-sol through shaide.
  • Used for: implementation, tests, independent review and integration verification.
  • Human verification: done.

@janosmurai
janosmurai marked this pull request as ready for review October 15, 2026 13:58
@janosmurai
janosmurai requested a review from gaboraxem as a code owner October 15, 2026 13:58
Base automatically changed from SHD-1077/collection-context to main October 18, 2026 16:47
Signed-off-by: janosmurai <janos.murai@axem.dev>
@janosmurai
janosmurai force-pushed the SHD-1073/upload-lifecycle branch from e34bc01 to a0257ec Compare October 18, 2026 17:13
@janosmurai
janosmurai merged commit 26b0b40 into main Oct 18, 2026
1 check passed
@janosmurai
janosmurai deleted the SHD-1073/upload-lifecycle branch October 18, 2026 18:04
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.

1 participant