From 967279291f74867d4c955e9b7ddd6c749bc33488 Mon Sep 17 00:00:00 2001 From: JasMehta08 Date: Wed, 28 Oct 2026 11:30:01 +0530 Subject: [PATCH 1/3] docs: add the team roles doc --- docs/team-roles.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 docs/team-roles.md diff --git a/docs/team-roles.md b/docs/team-roles.md new file mode 100644 index 0000000..05b6112 --- /dev/null +++ b/docs/team-roles.md @@ -0,0 +1,74 @@ +# Team roles + +Issue #16. Who owns what in Satchel. The work is split equally across the three of us. Ownership follows the issue assignments on the [project board](https://github.com/users/frectrium/projects/1), so when an issue changes owner, this doc changes too. + +## 1. Members and areas + +| Member | Main area | Also owns | +|---|---|---| +| Parshv Joshi (@frectrium) | Architecture and storage design | Repo and board (owner of `main` ruleset), exercise plan, Design Decision Log, observability, load generator and S3 baseline | +| Guru Vyas (@VyasGuru) | Case analysis and cloud infrastructure | Filings and talks research, problem and solution sections, AWS account, Terraform, Docker image, deployments, release | +| Jas Mehta (@JasMehta08) | Cost and economics, testing | Pricing and on-prem references, workload model, AWS and Azure calculator models, break-even comparison, test strategy and integration test harness | + +## 2. Issues by owner + +| Week | Parshv (@frectrium) | Vyas (@VyasGuru) | Jas (@JasMehta08) | +|---|---|---|---| +| 1 | #2 Tech blog sources, #8 Architecture notes, #30 Workflow docs, editor of #10 | #3 Talks, #4 S-1 data, #9 Case background | #5 Media, #6 Cloud pricing, #7 On-prem prices | +| 2 | #11 Architecture diagram, #14 Exercise plan, #17 Design Decision Log, #19 Week 3 issues | #12 Problem, #13 Solution, #33 AWS groundwork, editor of #18 | #15 Workload model, #31 Test strategy, #32 Integration harness, editor of #16 | +| 3 | #21 Observability, #22 Load generator and S3 baseline | #20 Terraform, #34 Docker image, #35 First AWS deployment | #23 AWS calculator, #24 Azure calculator, #26 Break-even | +| 4 | #27 Fold Decision Log into the report | #36 Release v1.0 | | +| Count | 10 issues + 1 editor role | 10 issues + 1 editor role | 9 issues + 1 editor role | + +**Shared by all three:** +- #1 Local setup +- #10 Week 1 summary +- #16 Team roles +- #18 Week 2 report +- #25 On-prem estimate +- #28 Final report +- #29 Viva +- #37 Week 3 results + +The build issues created in #19 will be added to the table above when they exist. + +## 3. Report sections + +| Section | Owner | Issue | +|---|---|---| +| Introduction and case background | Vyas | #9 | +| Problem: why Dropbox left S3 | Vyas | #12 | +| Architecture diagram and explanation | Parshv | #11 | +| Solution: how Magic Pocket solves it | Vyas | #13 | +| Exercise plan, including erasure coding | Parshv | #14 | +| Workload model | Jas | #15 | +| Test strategy summary | Jas | #31 | +| Team roles | Jas (editor), all | #16 | +| Week 3: cost results (AWS, Azure, on-prem, break-even) | Jas | #23, #24, #26, with #25 shared | +| Week 3: latency and scaling results | Parshv | #21, #22 | +| Week 3: deployment | Vyas | #20, #35 | +| References (from the Source Log) | Vyas, as report editor | #18 | + +## 4. Satchel components + +The build issues come from the exercise plan (#14) through #19, so component owners are **to be agreed** when #19 creates them. This table is updated then. + +| Component | Magic Pocket counterpart | Owner | +|---|---|---| +| `satchel-api` | Frontends | To be agreed in #19 | +| `satchel-index` | Block Index | To be agreed in #19 | +| `satchel-node` | OSD | To be agreed in #19 | +| Replication | Cross-zone replication | To be agreed in #19 | +| Erasure coding | Erasure-coded volumes | To be agreed in #19 | +| `satchel-verifier` | Pocket Watch | To be agreed in #19 | +| Integration test harness | Release testing with failure injection [B3] | Jas (#32) | +| Terraform and deployment | n/a (Dropbox ran its own data centers) | Vyas (#20, #35) | +| Metrics and dashboards | n/a | Parshv (#21) | + +## 5. How we work together + +- **Reviews:** every PR needs one approval. CODEOWNERS requests all three of us. +- **Report sign-off:** each member approves the weekly report PR. The editor (Parshv for Week 1, Vyas for Week 2) merges it. +- **This doc:** each member approves its PR. +- **Blockers:** an owner who is blocked says so on the issue and adds the `blocked` label. +- **Workflow:** branching, commits and the definition of done are in [CONTRIBUTING.md](../CONTRIBUTING.md). From 639f43b8033ffa9c9d8fed7e14e583f05f4e4562 Mon Sep 17 00:00:00 2001 From: JasMehta08 Date: Wed, 28 Oct 2026 11:35:05 +0530 Subject: [PATCH 2/3] docs: take team roles from the issue assignments --- docs/team-roles.md | 63 +++++++++++++++++++++++++++++++++------------- 1 file changed, 45 insertions(+), 18 deletions(-) diff --git a/docs/team-roles.md b/docs/team-roles.md index 05b6112..87c729e 100644 --- a/docs/team-roles.md +++ b/docs/team-roles.md @@ -6,48 +6,74 @@ Issue #16. Who owns what in Satchel. The work is split equally across the three | Member | Main area | Also owns | |---|---|---| -| Parshv Joshi (@frectrium) | Architecture and storage design | Repo and board (owner of `main` ruleset), exercise plan, Design Decision Log, observability, load generator and S3 baseline | -| Guru Vyas (@VyasGuru) | Case analysis and cloud infrastructure | Filings and talks research, problem and solution sections, AWS account, Terraform, Docker image, deployments, release | -| Jas Mehta (@JasMehta08) | Cost and economics, testing | Pricing and on-prem references, workload model, AWS and Azure calculator models, break-even comparison, test strategy and integration test harness | +| Parshv Joshi (@frectrium) | Architecture and storage design | Repo and board (owner of `main` ruleset), exercise plan, Design Decision Log, observability, load generator and S3 baseline. Editor of the Week 1 summary, viva coordinator | +| Guru Vyas (@VyasGuru) | Case analysis and cloud infrastructure | Filings and talks research, problem and solution sections, AWS account, Terraform, Docker image, deployments, release. Editor of the Week 2 report and the Week 3 add-ons | +| Jas Mehta (@JasMehta08) | Cost and economics, testing | Pricing and on-prem references, workload model, AWS and Azure calculator models, break-even comparison, test strategy and integration test harness. Editor of this doc and the final report | ## 2. Issues by owner -| Week | Parshv (@frectrium) | Vyas (@VyasGuru) | Jas (@JasMehta08) | +| Week | Parshv (@frectrium) | Guru (@VyasGuru) | Jas (@JasMehta08) | |---|---|---|---| | 1 | #2 Tech blog sources, #8 Architecture notes, #30 Workflow docs, editor of #10 | #3 Talks, #4 S-1 data, #9 Case background | #5 Media, #6 Cloud pricing, #7 On-prem prices | | 2 | #11 Architecture diagram, #14 Exercise plan, #17 Design Decision Log, #19 Week 3 issues | #12 Problem, #13 Solution, #33 AWS groundwork, editor of #18 | #15 Workload model, #31 Test strategy, #32 Integration harness, editor of #16 | -| 3 | #21 Observability, #22 Load generator and S3 baseline | #20 Terraform, #34 Docker image, #35 First AWS deployment | #23 AWS calculator, #24 Azure calculator, #26 Break-even | -| 4 | #27 Fold Decision Log into the report | #36 Release v1.0 | | -| Count | 10 issues + 1 editor role | 10 issues + 1 editor role | 9 issues + 1 editor role | +| 3 | #21 Observability, #22 Load generator and S3 baseline | #20 Terraform, #34 Docker image, #35 First AWS deployment, editor of #37 | #23 AWS calculator, #24 Azure calculator, #26 Break-even | +| 4 | #27 Fold Decision Log into the report | #36 Release v1.0 | Editor of #28 | +| 5 | Coordinator of #29 | | | +| Count | 10 issues + 2 lead roles | 10 issues + 2 lead roles | 9 issues + 2 lead roles | **Shared by all three:** - #1 Local setup - #10 Week 1 summary - #16 Team roles - #18 Week 2 report -- #25 On-prem estimate +- #25 On-prem estimate, one part each: hardware (Parshv), power, space and network (Guru), staff and amortization (Jas) - #28 Final report -- #29 Viva +- #29 Viva, with equal speaking time for all three - #37 Week 3 results The build issues created in #19 will be added to the table above when they exist. ## 3. Report sections +Section owners are the owners of the linked issues, as #18 and #37 set out. A section with no linked issue is marked **to be agreed**. + +### Week 2 report (#18, edited by Guru) + | Section | Owner | Issue | |---|---|---| -| Introduction and case background | Vyas | #9 | -| Problem: why Dropbox left S3 | Vyas | #12 | +| Introduction and case background | Guru | #9 | +| Problem: why Dropbox left S3 | Guru | #12 | | Architecture diagram and explanation | Parshv | #11 | -| Solution: how Magic Pocket solves it | Vyas | #13 | +| Solution: how Magic Pocket solves it | Guru | #13 | | Exercise plan, including erasure coding | Parshv | #14 | | Workload model | Jas | #15 | | Test strategy summary | Jas | #31 | | Team roles | Jas (editor), all | #16 | -| Week 3: cost results (AWS, Azure, on-prem, break-even) | Jas | #23, #24, #26, with #25 shared | -| Week 3: latency and scaling results | Parshv | #21, #22 | -| Week 3: deployment | Vyas | #20, #35 | -| References (from the Source Log) | Vyas, as report editor | #18 | +| References (from the Source Log) | To be agreed | none | + +### Week 3 add-ons (#37, edited by Guru) + +| Section | Owner | Issue | +|---|---|---| +| What we built | Owners of the build issues | #19 | +| Test results | Jas | #31, #32 | +| Experiment results | Parshv, plus owners of the experiment issues | #22, #19 | +| Cost results: AWS, Azure, on-prem and break-even | Jas, with #25 shared | #23, #24, #26 | +| Changes from the exercise plan | To be agreed | none | + +### Final report (#28, edited by Jas) + +| Section | Owner | Issue | +|---|---|---| +| Case study: background, problem, solution and outcome | Guru | #9, #12, #13 | +| Architecture: Magic Pocket and Satchel | Parshv | #11 | +| Satchel implementation | Owners of the build issues | #19 | +| Design Decision Log chapter | Parshv | #27 | +| Testing approach and results | Jas | #31, #32 | +| Experiments and results | Parshv, plus owners of the experiment issues | #22, #19 | +| Cost and repatriation analysis | Jas | #26 | +| Conclusions, limitations and future work | To be agreed | none | +| References | To be agreed | none | ## 4. Satchel components @@ -62,13 +88,14 @@ The build issues come from the exercise plan (#14) through #19, so component own | Erasure coding | Erasure-coded volumes | To be agreed in #19 | | `satchel-verifier` | Pocket Watch | To be agreed in #19 | | Integration test harness | Release testing with failure injection [B3] | Jas (#32) | -| Terraform and deployment | n/a (Dropbox ran its own data centers) | Vyas (#20, #35) | +| Terraform, Docker image and deployment | n/a (Dropbox ran its own data centers) | Guru (#20, #34, #35) | | Metrics and dashboards | n/a | Parshv (#21) | +| Load generator and S3 baseline | n/a | Parshv (#22) | ## 5. How we work together - **Reviews:** every PR needs one approval. CODEOWNERS requests all three of us. -- **Report sign-off:** each member approves the weekly report PR. The editor (Parshv for Week 1, Vyas for Week 2) merges it. +- **Reports:** each member reviews and approves every report PR (#10, #18, #37, #28). The editor in section 2 puts the report together. - **This doc:** each member approves its PR. - **Blockers:** an owner who is blocked says so on the issue and adds the `blocked` label. - **Workflow:** branching, commits and the definition of done are in [CONTRIBUTING.md](../CONTRIBUTING.md). From 15509173642d93c3c7edb79d2a6e738ed304eefb Mon Sep 17 00:00:00 2001 From: JasMehta08 Date: Wed, 4 Nov 2026 09:28:21 +0530 Subject: [PATCH 3/3] docs: add the calculator issues to team roles --- docs/team-roles.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/team-roles.md b/docs/team-roles.md index 87c729e..040608e 100644 --- a/docs/team-roles.md +++ b/docs/team-roles.md @@ -6,9 +6,9 @@ Issue #16. Who owns what in Satchel. The work is split equally across the three | Member | Main area | Also owns | |---|---|---| -| Parshv Joshi (@frectrium) | Architecture and storage design | Repo and board (owner of `main` ruleset), exercise plan, Design Decision Log, observability, load generator and S3 baseline. Editor of the Week 1 summary, viva coordinator | -| Guru Vyas (@VyasGuru) | Case analysis and cloud infrastructure | Filings and talks research, problem and solution sections, AWS account, Terraform, Docker image, deployments, release. Editor of the Week 2 report and the Week 3 add-ons | -| Jas Mehta (@JasMehta08) | Cost and economics, testing | Pricing and on-prem references, workload model, AWS and Azure calculator models, break-even comparison, test strategy and integration test harness. Editor of this doc and the final report | +| Parshv Joshi (@frectrium) | Architecture and storage design | Repo and board (owner of `main` ruleset), exercise plan, Design Decision Log, observability, load generator and S3 baseline, cost sizing model. Editor of the Week 1 summary, viva coordinator | +| Guru Vyas (@VyasGuru) | Case analysis and cloud infrastructure | Filings and talks research, problem and solution sections, AWS account, Terraform, Docker image, deployments, release, pricing calculator web UI. Editor of the Week 2 report and the Week 3 add-ons | +| Jas Mehta (@JasMehta08) | Cost and economics, testing | Pricing and on-prem references, workload model, AWS and Azure calculator models, break-even comparison, cost calculator engine and CLI, test strategy and integration test harness. Editor of this doc and the final report | ## 2. Issues by owner @@ -16,10 +16,10 @@ Issue #16. Who owns what in Satchel. The work is split equally across the three |---|---|---|---| | 1 | #2 Tech blog sources, #8 Architecture notes, #30 Workflow docs, editor of #10 | #3 Talks, #4 S-1 data, #9 Case background | #5 Media, #6 Cloud pricing, #7 On-prem prices | | 2 | #11 Architecture diagram, #14 Exercise plan, #17 Design Decision Log, #19 Week 3 issues | #12 Problem, #13 Solution, #33 AWS groundwork, editor of #18 | #15 Workload model, #31 Test strategy, #32 Integration harness, editor of #16 | -| 3 | #21 Observability, #22 Load generator and S3 baseline | #20 Terraform, #34 Docker image, #35 First AWS deployment, editor of #37 | #23 AWS calculator, #24 Azure calculator, #26 Break-even | -| 4 | #27 Fold Decision Log into the report | #36 Release v1.0 | Editor of #28 | +| 3 | #21 Observability, #22 Load generator and S3 baseline, #53 Sizing model | #20 Terraform, #34 Docker image, #35 First AWS deployment, editor of #37 | #23 AWS calculator, #24 Azure calculator, #26 Break-even, #52 Cost engine and CLI | +| 4 | #27 Fold Decision Log into the report | #36 Release v1.0, #54 Pricing calculator web UI | Editor of #28 | | 5 | Coordinator of #29 | | | -| Count | 10 issues + 2 lead roles | 10 issues + 2 lead roles | 9 issues + 2 lead roles | +| Count | 11 issues + 2 lead roles | 11 issues + 2 lead roles | 10 issues + 2 lead roles | **Shared by all three:** - #1 Local setup @@ -91,6 +91,9 @@ The build issues come from the exercise plan (#14) through #19, so component own | Terraform, Docker image and deployment | n/a (Dropbox ran its own data centers) | Guru (#20, #34, #35) | | Metrics and dashboards | n/a | Parshv (#21) | | Load generator and S3 baseline | n/a | Parshv (#22) | +| Cost calculator engine and CLI (`satchel-cost`) | n/a | Jas (#52) | +| Sizing model (`layout` module in `satchel-cost`) | n/a | Parshv (#53) | +| Pricing calculator web UI | n/a | Guru (#54) | ## 5. How we work together