"{\"scenes\":4,\"text\":\"IN YOUR BROWSER | Try the rules. | The checks that decide what lands are pure functions in the core package the server runs. Each scene runs one of them here, on the text you edit, with the options production passes; nothing is sent anywhere and no token is needed. The result changes as you type. | 1 | Two agents edit one file from the same trunk | Decided by core/textmerge.ts and core/insertions.ts, called as the trunk writer calls them once core/occ.ts finds the second change stale: mergeText(base, trunk, change, undefined, { insertions: true }). | TRY | different lines | both insert at one place | the same line | SRC/LIMITS.TS AS BOTH AGENTS READ IT | WHAT THE FIRST AGENT LANDED (TRUNK NOW) | WHAT THE SECOND AGENT PROPOSES | Lands as a line-by-line merge: trunk moved src/limits.ts (expected 97b2e49f58, trunk has 4eb0d15b2a), and the two edits touch different lines of the base, so the trunk writer lands the text below and records the merge in the landing and its lineage note. | WHAT LANDS | // Limits of the links API. | export const maxLinks = 200; | export const maxTitle = 80; | export function allowed(count: number): boolean { | return count <= maxLinks; | } | 2 | A change re\",\"overflowX\":false}"