How We Work Together#
Welcome! This guide describes how our team collaborates.
Why This Document Exists#
With work spanning hardware, software, operations, and science, we need clarity on where information lives and how we track our work. This prevents:
Lost decisions buried in chat history
Duplicate work because someone didn’t know a task existed
Confusion about where to document something
Time wasted searching for information across multiple tools
This is a living document - if something isn’t working, let’s discuss and improve it.
Our Tools at a Glance#
Tool |
Purpose |
Examples |
|---|---|---|
Meistertask |
Single source of truth for all tasks |
“Implement authentication API”, “Debug telescope mount issue”, “Review data pipeline performance” |
GitHub Issues |
Working space for code-related tasks |
Duplicate Task from Meistertask when coding is needed; link to Issue in meistertask task |
Matrix |
Daily communication & quick questions |
“Is the test server down?”, “Quick review of this approach?”, “Meeting in 10 mins” |
Wiki |
Internal notes, drafts, meeting minutes |
Meeting notes, brainstorming, work-in-progress ideas, onboarding checklists |
Sphinx (this docs) |
Official, stable documentation |
Architecture decisions, API documentation, deployment procedures, user guides |
External communication |
Communicating with collaborators, institutions, vendors |
Common Workflows#
Starting a New Task#
Create a task in Meistertask on the appropriate board (Data Center, Transfer, Pipeline, etc.) with a clear title and description
Assign it to yourself (or the appropriate person)
Add relevant tags/labels and due dates if applicable
If the task involves writing or modifying code:
Create a GitHub Issue with the same title
Create a feature branch from the issue
Add the GitHub Issue URL to the Meistertask task description
Work in the branch, reference the issue in commits
Note
The GitHub Issue is your working space for code review and technical discussion. Meistertask remains the source of truth for task status and assignment.
When Code is Merged#
Merge your PR and close the GitHub Issue
Manually mark the Meistertask task as complete
Update relevant Sphinx documentation if the change affects user-facing behavior or architecture
Warning
Tasks do not auto-close. You must update Meistertask yourself to keep tracking accurate.
Documenting Decisions#
During a meeting or discussion:
Take notes in Matrix chat or directly in the Wiki
Include: decision made, rationale, who was involved, date
After the decision solidifies:
If it’s a lasting architectural or operational decision, migrate it to Sphinx
Link from the Wiki note to the Sphinx page (so context is preserved)
Rule of thumb: If someone joining in 6 months would need to know this, it belongs in Sphinx.
Asking Questions#
Question Type |
Where to Ask |
|---|---|
Quick clarification, “Does anyone know…?” |
Matrix |
Question about a specific task |
Meistertask task description/comments |
Technical discussion about a specific PR/code change |
GitHub Issue comments |
Longer discussion needing decisions |
Schedule a meeting, document outcome in Wiki → Sphinx |
What Goes Where?#
Still not sure where something belongs? Use this decision tree:
Is it a TASK (something someone needs to do)?
└─→ Meistertask
└─→ Does it need code changes?
└─→ YES: Also create GitHub Issue + branch
└─→ NO: Just Meistertask is fine
Is it a CONVERSATION?
└─→ Quick question/update? → Matrix
└─→ Question about a specific task? → Meistertask task description/comments
└─→ Needs external people? → Email
└─→ Technical code discussion? → GitHub Issue
Is it DOCUMENTATION?
└─→ Meeting notes, brainstorming, WIP? → Wiki
└─→ Stable, needs to be found later? → Sphinx
└─→ Temporary context for a task? → Meistertask task description
What NOT to Do#
❌ Don’t track tasks only in GitHub Issues - They won’t be visible to non-code work, and extended team members may not check GitHub regularly
❌ Don’t make important decisions only in Matrix - Chat history gets buried. Document decisions in Wiki (then Sphinx if permanent)
❌ Don’t duplicate content between Wiki and Sphinx - Link instead. The Wiki can say “See [Sphinx page] for details”
❌ Don’t leave GitHub Issues open after merging - Close them and update the Meistertask task
Managing Wiki Content#
The Wiki is for fluid, working content. To prevent it from becoming a graveyard:
Content Types and Lifespans:
Meeting notes: Keep for 3-6 months, then archive or delete if not referenced
Brainstorming/drafts: Either move to Sphinx when ready, or delete if abandoned
Onboarding materials: Review every 6 months, update or remove outdated info
Responsibilities:
If you create a Wiki page, you’re responsible for its lifecycle
Add a “Last reviewed: [date]” to important pages
During quarterly reviews, we’ll identify stale content together
Tip
When in doubt: Start in Wiki, promote to Sphinx when it’s ready for others to rely on.
Questions & Improvements#
This workflow will evolve as we learn what works for our team.
Something unclear? Ask in Matrix and we’ll clarify here
Process not working? Let’s discuss and adjust
Found a better way? Propose a change to this doc
Our goal is effectiveness, not bureaucracy.