|
| 1 | +# In-flight proposes: lock order and merge sequence |
| 2 | + |
| 3 | +**Status**: living document |
| 4 | +**Last updated**: 2026-05-16 |
| 5 | + |
| 6 | +This document records the dependency order for proposes and code PRs that are currently in flight against `master`. It supplements (does not replace) each propose's `§6 — Migration plan` section. |
| 7 | + |
| 8 | +## Why this exists |
| 9 | + |
| 10 | +When two or more proposes touch overlapping subsystems, the order they lock and the order their code PRs merge matters. Encoding that order in one place — instead of scattering it across propose decisions — prevents drift between "what propose A claims about propose B" and "what propose B actually says." |
| 11 | + |
| 12 | +## Current in-flight set (as of 2026-05-16) |
| 13 | + |
| 14 | +1. **SCHEMA-V2** — `propose/SCHEMA-V2-PROPOSE.md` (locked via #151) |
| 15 | + - 4 code PRs: PR-A (`EDGE_SCHEMA` + ontology v14 bump), PR-B (`HTTP_CALLS` flip + downstream API), PR-C (`Producer` node + `ASYNC_CALLS` flip + GraphMeta + MCP parity), PR-D (hints v3). |
| 16 | +2. **HINTS-V3** — `propose/HINTS-V3-PROPOSE.md` (this propose, draft) |
| 17 | + - 1 code PR, which is the same PR-D enumerated in SCHEMA-V2. |
| 18 | + |
| 19 | +No other proposes are in flight. |
| 20 | + |
| 21 | +## Lock and merge order |
| 22 | + |
| 23 | +### Phase 1 — propose locks |
| 24 | + |
| 25 | +``` |
| 26 | +SCHEMA-V2-PROPOSE.md [LOCKED via #151] |
| 27 | + ↓ (decision 30: PR-D blocked until HINTS-V3 propose exists as draft PR) |
| 28 | +HINTS-V3-PROPOSE.md [draft PR] |
| 29 | +``` |
| 30 | + |
| 31 | +SCHEMA-V2 propose is already merged. HINTS-V3 propose opens as a draft PR (this propose). Both must reach `Status: locked` before any code PR-A merges. SCHEMA-V2 Decision 30 makes the gating explicit. |
| 32 | + |
| 33 | +### Phase 2 — plan + cursor-prompt artefacts |
| 34 | + |
| 35 | +``` |
| 36 | +plans/PLAN-SCHEMA-V2.md |
| 37 | +plans/CURSOR-PROMPTS-SCHEMA-V2.md |
| 38 | +plans/PLAN-HINTS-V3.md |
| 39 | +plans/CURSOR-PROMPTS-HINTS-V3.md |
| 40 | +``` |
| 41 | + |
| 42 | +SCHEMA-V2 Decision 29 makes `PLAN-SCHEMA-V2.md` + `CURSOR-PROMPTS-SCHEMA-V2.md` a merge gate for PR-A. By analogy, `PLAN-HINTS-V3.md` + `CURSOR-PROMPTS-HINTS-V3.md` are a merge gate for PR-D. |
| 43 | + |
| 44 | +Plans + prompts can be drafted in parallel; they don't have to be merged before each other. They do all have to be merged before their respective code PRs. |
| 45 | + |
| 46 | +### Phase 3 — code PRs (merge order) |
| 47 | + |
| 48 | +``` |
| 49 | +PR-A feat(schema): add EDGE_SCHEMA + generate docs/EDGE-NAVIGATION.md + bump ontology to v14 |
| 50 | + ↓ |
| 51 | +PR-B feat(schema): HTTP_CALLS originates from Client, not Symbol (+ downstream API + HTTP docs) |
| 52 | + ↓ |
| 53 | +PR-C feat(schema): introduce Producer node and route ASYNC_CALLS through it |
| 54 | + ↓ (HINTS-V3 propose must be LOCKED, not just draft, by this point) |
| 55 | +PR-D feat(hints): kind- and direction-aware empty-result hints driven by EDGE_SCHEMA |
| 56 | +``` |
| 57 | + |
| 58 | +PR-A is strictly first because every subsequent PR depends on `EDGE_SCHEMA` + the ontology version bump. PR-B and PR-C are sequential because PR-C's MCP-parity / GraphMeta / type-level-rollup additions are easier to review on top of a clean PR-B. PR-D is last because its templates substitute post-flip `src_kind` / `dst_kind` from the final `EDGE_SCHEMA`. |
| 59 | + |
| 60 | +No PR in this set is parallelizable. Each depends on its predecessor's `master` shape. |
| 61 | + |
| 62 | +## Re-index moments |
| 63 | + |
| 64 | +`ONTOLOGY_VERSION` 13 → 14 lands in PR-A. **One** re-index is required across the whole sequence; PRs B/C/D do not bump the version again. The README + `docs/AGENT-GUIDE.md` "Re-index required" sections are updated in PR-A; PR-B/C/D may amend wording but do not re-trigger. |
| 65 | + |
| 66 | +## What this document does NOT cover |
| 67 | + |
| 68 | +- Per-PR file-path / function-signature detail — that's the per-PR plan (`plans/PLAN-*.md`). |
| 69 | +- Cursor task prompts — `plans/CURSOR-PROMPTS-*.md`. |
| 70 | +- Out-of-scope proposes (TIER2-INCREMENTAL-REBUILD, RANKING-MICROSERVICE, ENHANCED-ROLE-RECOGNITION, INDEX-AUTO-MODE) — those are not in the merge sequence right now. When one becomes in-flight, this doc is updated. |
| 71 | +- Review cycles inside a single propose or PR — see each PR's review threads. |
| 72 | + |
| 73 | +## Maintenance |
| 74 | + |
| 75 | +This file is updated whenever: |
| 76 | +- A new propose enters draft. |
| 77 | +- A propose locks or its code PRs merge. |
| 78 | +- The dependency graph changes. |
| 79 | + |
| 80 | +Stale rows are deleted when their code PRs land in `master`. After PR-D merges, this whole document collapses to "no proposes in flight" until the next one starts. |
0 commit comments