|
| 1 | +name: DDIA Finding |
| 2 | +description: An OCI flaw spotted while reading Designing Data-Intensive Applications. Routes reading-time insight into shipped improvements. |
| 3 | +title: "[ddia Ch _] " |
| 4 | +labels: ["ddia-finding", "state/backlog"] |
| 5 | +body: |
| 6 | + - type: markdown |
| 7 | + attributes: |
| 8 | + value: | |
| 9 | + Closes the loop between DDIA reading and OCI improvements. Different shape from `dogfood-finding`: |
| 10 | + - `dogfood-finding` = "I used OCI's tools and they failed me" |
| 11 | + - `ddia-finding` = "I read DDIA and realized OCI does X wrong" |
| 12 | +
|
| 13 | + Be precise. Recruiters reading these issues should see clean DDIA fluency. |
| 14 | +
|
| 15 | + - type: input |
| 16 | + id: chapter |
| 17 | + attributes: |
| 18 | + label: DDIA chapter |
| 19 | + description: Which chapter triggered this. Update the title prefix to match (e.g. `[ddia Ch 5]`). |
| 20 | + placeholder: "Ch 5 - Replication" |
| 21 | + validations: |
| 22 | + required: true |
| 23 | + |
| 24 | + - type: input |
| 25 | + id: concept |
| 26 | + attributes: |
| 27 | + label: Specific concept |
| 28 | + description: Which section or term inside that chapter. Be precise. |
| 29 | + placeholder: "Read-after-write consistency under async replication" |
| 30 | + validations: |
| 31 | + required: true |
| 32 | + |
| 33 | + - type: input |
| 34 | + id: surface |
| 35 | + attributes: |
| 36 | + label: OCI surface affected |
| 37 | + description: Which file, service, or design decision is wrong. Absolute path from repo root preferred. |
| 38 | + placeholder: "backend/services/search.py, Pinecone upsert path" |
| 39 | + validations: |
| 40 | + required: true |
| 41 | + |
| 42 | + - type: checkboxes |
| 43 | + id: stack |
| 44 | + attributes: |
| 45 | + label: Stack |
| 46 | + options: |
| 47 | + - label: backend |
| 48 | + - label: frontend |
| 49 | + - label: mcp-server |
| 50 | + - label: cross-cutting |
| 51 | + |
| 52 | + - type: textarea |
| 53 | + id: whats-wrong |
| 54 | + attributes: |
| 55 | + label: What is wrong (DDIA-grounded) |
| 56 | + description: 2-4 sentences. Lead with the DDIA principle, then how OCI violates it. No vibes. |
| 57 | + placeholder: | |
| 58 | + DDIA Ch 5 argues that asynchronous replication breaks read-after-write within a session unless reads are pinned to the leader for a brief window. OCI's search endpoint writes to Pinecone (async upsert) then can re-read in the same request via the agent loop. Users see stale results immediately after indexing, even though the API returned 200. The right shape is reading metadata from Supabase (authoritative) within the staleness window, or pinning reads after writes. |
| 59 | + validations: |
| 60 | + required: true |
| 61 | + |
| 62 | + - type: textarea |
| 63 | + id: fix-sketch |
| 64 | + attributes: |
| 65 | + label: Proposed fix sketch |
| 66 | + description: 2-3 sentences OR write "needs ADR via /oci-design". Do not overdesign here. |
| 67 | + placeholder: needs ADR via /oci-design - the right consistency boundary is non-trivial |
| 68 | + |
| 69 | + - type: textarea |
| 70 | + id: acceptance |
| 71 | + attributes: |
| 72 | + label: DDIA-aligned acceptance criteria |
| 73 | + description: Each criterion ties back to a DDIA principle. This is what makes the fix verifiably correct, not just "looks better." |
| 74 | + placeholder: | |
| 75 | + - [ ] Read-after-write within the same request returns the freshly indexed result (DDIA Ch 5 RYW guarantee) |
| 76 | + - [ ] Cross-session reads document staleness window in the ADR |
| 77 | +
|
| 78 | + - type: dropdown |
| 79 | + id: reliability |
| 80 | + attributes: |
| 81 | + label: Reliability impact |
| 82 | + description: How badly does the current state hurt reliability (DDIA Ch 1 pillar)? |
| 83 | + options: |
| 84 | + - none |
| 85 | + - minor |
| 86 | + - major |
| 87 | + - critical |
| 88 | + validations: |
| 89 | + required: true |
| 90 | + |
| 91 | + - type: dropdown |
| 92 | + id: scalability |
| 93 | + attributes: |
| 94 | + label: Scalability impact |
| 95 | + description: How badly does the current state hurt scalability? |
| 96 | + options: |
| 97 | + - none |
| 98 | + - minor |
| 99 | + - major |
| 100 | + - critical |
| 101 | + validations: |
| 102 | + required: true |
| 103 | + |
| 104 | + - type: dropdown |
| 105 | + id: maintainability |
| 106 | + attributes: |
| 107 | + label: Maintainability impact |
| 108 | + description: How badly does the current state hurt maintainability? |
| 109 | + options: |
| 110 | + - none |
| 111 | + - minor |
| 112 | + - major |
| 113 | + - critical |
| 114 | + validations: |
| 115 | + required: true |
| 116 | + |
| 117 | + - type: input |
| 118 | + id: notes |
| 119 | + attributes: |
| 120 | + label: Chapter notes file |
| 121 | + description: Path to your chapter notes for cross-reference. |
| 122 | + placeholder: "learning/ddia/chapter-5.md" |
0 commit comments