The small adventure
Pick one imaginary observation, perhaps a tree measured in the rain, a household
visit, or a water-point inspection. Then follow it through ODE:
- Formplayer renders the JSON form.
- The Formulus bridge receives the completed data.
- Formulus stores it locally while offline.
- Sync pushes it to Synkronus.
- Another client can pull or export it.
Turn that journey into a short contributor-facing code map. This is a
documentation issue, but not a scavenger hunt with no finish line: every step
must point to real code and a real test.
Where to start
- Root
AGENTS.md
formulus-formplayer/AGENTS.md
formulus/AGENTS.md
synkronus/AGENTS.md
formulus-formplayer/src/services/FormulusInterface.ts
formulus/src/webview/FormulusMessageHandlers.ts
formulus/src/database/repositories/
formulus/src/services/SyncService.ts and formulus/src/sync/
synkronus/internal/handlers/sync.go
synkronus/pkg/sync/service.go
These are trailheads, not a demand to document every file in each directory.
Deliverable
Add one concise Markdown page under docs/ with:
- a Mermaid sequence diagram of the happy path;
- a table with roughly 6-10 steps, naming the responsible project and linking
to the most relevant source symbol/file;
- one paragraph explaining what changes when the device is offline;
- one paragraph explaining that attachments travel through a related but
separate pipeline;
- a "prove it to yourself" section linking to 3-5 existing tests that exercise
important parts of the journey;
- a short list of intentional simplifications, such as conflict handling or
repository-reset recovery, so readers do not mistake the map for a complete
protocol specification.
Aim for about 600-900 words. This should be a trail map, not another architecture
bible.
Guardrails
- Describe what the current code does; do not design a new sync protocol.
- Prefer links to source and tests over copying large code snippets.
- Use "observation," "form type," and other project terms consistently.
- Do not claim that observation JSON contains attachment binaries. It contains
references/metadata while files use the attachment pipeline.
- If two sources disagree, pause and ask in the issue rather than choosing the
nicer story.
Done when
Verify it
- Preview the Markdown and Mermaid diagram on GitHub or a compatible renderer.
- Follow every link from a clean checkout.
- Run the formatter used for repository Markdown if your editor changed the
surrounding style.
What you will meet along the way
Almost the whole ODE ensemble, without needing to understand every instrument.
This issue is ideal for someone who learns by following data rather than reading
packages in alphabetical order.
AI tools are welcome, not required
AI can summarize files and draft a diagram, but summaries can confidently join
two code paths that never actually meet. Use it as a navigator, not a witness:
open every linked symbol, check the nearby tests, and write down anything you
could not verify. Your understanding is the valuable contribution here.
The small adventure
Pick one imaginary observation, perhaps a tree measured in the rain, a household
visit, or a water-point inspection. Then follow it through ODE:
Turn that journey into a short contributor-facing code map. This is a
documentation issue, but not a scavenger hunt with no finish line: every step
must point to real code and a real test.
Where to start
AGENTS.mdformulus-formplayer/AGENTS.mdformulus/AGENTS.mdsynkronus/AGENTS.mdformulus-formplayer/src/services/FormulusInterface.tsformulus/src/webview/FormulusMessageHandlers.tsformulus/src/database/repositories/formulus/src/services/SyncService.tsandformulus/src/sync/synkronus/internal/handlers/sync.gosynkronus/pkg/sync/service.goThese are trailheads, not a demand to document every file in each directory.
Deliverable
Add one concise Markdown page under
docs/with:to the most relevant source symbol/file;
separate pipeline;
important parts of the journey;
repository-reset recovery, so readers do not mistake the map for a complete
protocol specification.
Aim for about 600-900 words. This should be a trail map, not another architecture
bible.
Guardrails
references/metadata while files use the attachment pipeline.
nicer story.
Done when
server storage, and pull/export happen.
Verify it
surrounding style.
What you will meet along the way
Almost the whole ODE ensemble, without needing to understand every instrument.
This issue is ideal for someone who learns by following data rather than reading
packages in alphabetical order.
AI tools are welcome, not required
AI can summarize files and draft a diagram, but summaries can confidently join
two code paths that never actually meet. Use it as a navigator, not a witness:
open every linked symbol, check the nearby tests, and write down anything you
could not verify. Your understanding is the valuable contribution here.