Problem: JSON output uses unqualified keys like {"number": 54, "title": "..."}. When agents merge data from multiple sources (issues + goals + comments), keys can conflict or be ambiguous. id from an issue vs id from a goal have different semantics but the same key.
Goal: Explore namespace-qualified keys for self-describing, conflict-free data.
Success criteria (research phase):
- Document trade-offs: verbosity vs composability
- Prototype with qualified keys:
{"issue/number": 54, "goal/name": "v1.0"}
- Test with real agent workflows to see if it helps
- Decision: adopt, reject, or make optional
Context (Rich Hickey's Qualified Keys): "Namespaced keywords are tragically underutilized. They can always co-reside in dictionaries without conflict." Self-describing data enables composition.
Why later: Needs stability contract (#57) first. Breaking change if adopted post-1.0.
Problem: JSON output uses unqualified keys like
{"number": 54, "title": "..."}. When agents merge data from multiple sources (issues + goals + comments), keys can conflict or be ambiguous.idfrom an issue vsidfrom a goal have different semantics but the same key.Goal: Explore namespace-qualified keys for self-describing, conflict-free data.
Success criteria (research phase):
{"issue/number": 54, "goal/name": "v1.0"}Context (Rich Hickey's Qualified Keys): "Namespaced keywords are tragically underutilized. They can always co-reside in dictionaries without conflict." Self-describing data enables composition.
Why later: Needs stability contract (#57) first. Breaking change if adopted post-1.0.