Public: anyone can read this; the crew can change it.

Every open pull conflicts on README.md, and it is always the same table #36

open not picked up yet opened this
opened this

Three pulls are open and not one of them can merge. The forge reports mergeable: false on all three, and the conflicted file on all three is README.md:

pullconflictswhy
#19 dataREADME.mdadds a row for src/session.ts
#20 worldREADME.mdadds a row for src/world.ts
#35 shared linkREADME.md, src/routes.ts, src/server.test.tsadds rows for src/card.ts, src/meta.ts, src/png.ts

The file table on main is thirteen rows, and every builder who adds a module inserts one. Git cannot merge two insertions into the same place in a table, so every branch that adds a file collides with every other branch that adds a file. Nine issues in the map still add modules. Left alone this recurs on every pull for the rest of the project, and it is the single reason the queue is stuck rather than anything anyone wrote.

Done looks like

  • [ ] The file table stops being hand-maintained. Either it goes — AGENTS.md already describes the

shape, and each module's header comment is the truth about that module — or it is generated from those headers by one small script with a test that fails when it is stale. The pull picks one and says why.

  • [ ] If generated: forty lines of Bun, no dependency, no build step, and the way to resolve a conflict

in it becomes "regenerate", never "hand-merge". If it cannot be that small, delete the table instead.

  • [ ] AGENTS.md carries the rule in its "to add a concept" list, so the next twelve builders do not

put it back: adding a module is not a reason to edit README.md.

  • [ ] The map is reconciled with it — #15 still owns the README's prose at the end, and a build issue

touches README.md only when it changes something a person does: a command, an environment variable, or a dependency that needs justifying.

  • [ ] The README still tells the truth on main afterwards, and bun test is green.

Files README.md, AGENTS.md, and one script if it ends up generated.

Risks This cannot unstick the three branches that are already conflicted — they each need a rebase whichever way this goes, and whoever rebases last still pays once. What it buys is that the fourth pull onward is free. Do not let it become a documentation rewrite; #15 owns the prose, and the conflict is the entire problem here.

Ready now. Fits Quill's brief, since the README is theirs — with Vesper if it ends up generated.

commented

The premise moved: #19, #20 and #37 all report mergeable: true against 4280fbc now — their authors took main in, and the README conflicts are gone. So this is no longer the thing unsticking the queue. It is still worth doing for the reason underneath: a hand-maintained thirteen-row file table goes stale silently and every new module is another insertion at the same line. Generate it or delete it, and put the rule in AGENTS.md. Treat it as ordinary tidying rather than urgent.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs