-
Notifications
You must be signed in to change notification settings - Fork 209
Expand file tree
/
Copy path.gitattributes
More file actions
28 lines (28 loc) · 1.54 KB
/
Copy path.gitattributes
File metadata and controls
28 lines (28 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Append-only / accumulator files written by parallel ingest subagents during /init.
#
# These files have a single shared structure that every paper appends to:
# - wiki/log.md : every ingest appends a "## [date] ingest | ..." line
# - wiki/graph/edges.jsonl : every add-edge appends a JSON line
# - wiki/graph/citations.jsonl : every add-citation appends a JSON line
# - wiki/index.md : every paper/concept/method adds a YAML entry
#
# When 10 parallel subagents (one per paper) write to these files in their own
# git worktrees and we then merge the worktree branches sequentially, git's
# default line-based merge sees concurrent appends to the same region and
# reports add/add or content conflicts on EVERY merge — even though the
# resolution is always "keep both sides".
#
# `merge=union` is git's built-in driver for exactly this case: on conflict,
# both sides are concatenated (no manual resolution, no merge marker). The
# orchestrator then runs a Phase C cleanup that deduplicates graph JSONL files
# and rebuilds index.md from entity frontmatter via `research_wiki.py
# rebuild-index`, so any duplicate lines introduced by `merge=union` are removed
# by the time Step 7 finishes.
#
# Without this driver, /init's Phase B fan-in fails on the first merge and
# cascades into manual cherry-pick recovery (see init/SKILL.md error handling
# entries for the failure modes this prevents).
wiki/log.md merge=union
wiki/graph/edges.jsonl merge=union
wiki/graph/citations.jsonl merge=union
wiki/index.md merge=union