Skill v1.0.1
currentLLM-judged scan90/100+1 new
version: "1.0.1" name: ydb-blobstorage-development description: "Navigate YDB BlobStorage architecture and trace shared contracts for DSProxy, group layout, BSC allocation, and NodeWarden lifecycle. Use component skills for DDisk, PDisk, or VDisk internals."
Shared BlobStorage Development
Start with the distributed storage overview and source layout. Identify the path and contract affected before selecting deeper context.
Route by Responsibility
| Area | Context | |
|---|---|---|
| Blob API, DSProxy, conventional group geometry | ydb/core/base/blobstorage.h, ydb/core/blobstorage/dsproxy/, ydb/core/blobstorage/groupinfo/, ydb/core/blobstorage/base/ | |
| NodeWarden bring-up, service registration, restart | NodeWarden, ydb/core/blobstorage/nodewarden/ | |
| BSC logical DBG allocation and placement | DirectBlockGroups, ydb/core/mind/bscontroller/ | |
| VDisk internals | VDisk skill | |
| PDisk internals | PDisk skill | |
| DDisk or PersistentBuffer implementation | DDisk skill | |
| Low-level I/O library | PDisk I/O skill |
Load a component skill only when that component is involved. A DDisk/PB protocol is not a VDisk protocol, and a logical DBG is not a conventional erasure-coded BlobStorage group.
Trace Cross-Component Changes
- Identify the request producer, schema/event definition, consumer, response, and durable state. Check how the boundary rejects requests from an older generation or owner, and which failure response it returns.
- For layout or lifecycle changes, trace BSC configuration through NodeWarden to the actor and service mapping. Separate allocation claims from physical chunk ownership.
- Test the changed boundary using focused component tests and, where needed,
ydb/core/blobstorage/ut_blobstorage. Inspect that target'sya.makeand relevant test suite before choosing filters.
For actor lifecycle/event changes, consult the actor guide. For tests, use active workspace build instructions. Shared contracts belong in contributor pages and source navigation in component READMEs.
Documentation Updates
Read linked documentation as context. During code changes, update documentation only when the change alters a documented contract or makes an existing statement inaccurate, or when the user explicitly requests documentation work. For contributor pages under ydb/docs/en/ or ydb/docs/ru/, update the corresponding path in the other language in the same change.
Delegate needed documentation updates to a subagent with forked conversation context (fork_turns: "all" when supported). Give it the affected paths, the final behavior change, and relevant validation results; scope its edits to documentation. Review its changes for accuracy and English/Russian consistency before completing the task.