Skip to content

Commit 7b7599f

Browse files
authored
docs: add ecosystem conventions and event design lessons from PR review (#79)
Institutional knowledge from PR review cycles (#14 core, #78 foundation). 7 distilled lessons on event design, metadata conventions, and PR review discipline.
1 parent 1d92b98 commit 7b7599f

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

context/ISSUE_HANDLING.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,13 +506,32 @@ For PR review guidance, see `docs/PR_REVIEW_GUIDE.md`.
506506
- If algorithm rejects X, trace what depends on X loading successfully.
507507
- Simple and complete beats elegant and incomplete.
508508

509+
### Ecosystem Conventions & Event Design
510+
- `metadata` is THE property bag name across the ecosystem. Don't rename it,
511+
don't introduce alternatives. It's the standard extensibility slot for
512+
experimentation and convention.
513+
- Add empty extensibility slots (`metadata: None`) to event payloads proactively.
514+
Overhead is negligible next to LLM calls; the slot enables future use without
515+
changing the event shape.
516+
- Don't decompose at the emitter. Raw data (e.g., qualified agent names) flows
517+
through events intact; consumers parse at their site. Emitters shouldn't bake
518+
in assumptions about what decomposition consumers need.
519+
- Don't promote helpers to foundation until 2+ independent consumers exist.
520+
Patterns stay in the consuming code (e.g., a specific hook) until then.
521+
509522
### PR Review
510523
- Each fix round changes the attack surface. Review adversarially every time.
511524
- Tests must guard contracts, not implementations. If "X is overridable" is
512525
the design claim, test the override.
513526
- Kernel fields with ambiguous semantics need `Field(description=...)` not
514527
inline comments -- invisible in IDE hover, help(), JSON schema.
515528
- Even owner PRs need independent expert review.
529+
- Zero consumers means zero backward-compat burden. Don't add aliases for
530+
events nobody is listening to. Clean over compatible-with-nothing.
531+
- Don't ship fragile approaches with caveats. If it breaks for edge cases,
532+
find a reliable approach or leave it out entirely.
533+
- Contract docs are copy-paste targets. Examples must show the exemplar case
534+
(populated, useful), not the degenerate case (null, empty).
516535

517536
### Multiple Perspectives
518537
- Parallel agent dispatch surfaces ground truth through convergence.

0 commit comments

Comments
 (0)