Skip to content

Commit 2c61553

Browse files
committed
propose: hints-v3 — kind/direction-aware empty-result hints + proposes-order doc
Adds propose/HINTS-V3-PROPOSE.md (draft) and docs/PROPOSES-ORDER.md. HINTS-V3 replaces the generic TPL_NEIGHBORS_EMPTY_KIND_CHECK with a family of four templates (wrong subject kind, wrong direction, type-level-requery, brownfield-resolver-absence) driven by EDGE_SCHEMA from SCHEMA-V2. Implementation = SCHEMA-V2 PR-D. This propose unblocks PR-D per SCHEMA-V2 Decision 30 by existing as a draft PR. docs/PROPOSES-ORDER.md records the lock + merge order for the in-flight SCHEMA-V2 + HINTS-V3 set (4 code PRs, A→B→C→D, sequential).
1 parent 1e1167b commit 2c61553

2 files changed

Lines changed: 336 additions & 0 deletions

File tree

docs/PROPOSES-ORDER.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
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

Comments
 (0)