Repository navigation
[DO NOT MERGE] Overleaf sync: working plans and handoff - #535
yaacovcorcos wants to merge 25 commits into
Conversation
Documentation only. Adds the revision-5 implementation plan, the PR B coordinator contract, the Overleaf Cloud test results and a handoff README under docs/internals/overleaf/, plus one index entry. No product code changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…in v1 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…FAT limits Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
…k rules Decisions 2-4 answered; decision 1 specified: hidden .scient-overleaf vault beside the checkout, volume UUID plus file ID identity with no device-number fallback, capability check by atomic exchange through the #495 helper (exFAT tested and refused), unplugged disks wait for the same vault, sync-managed folders tested before release rather than refused. Adds the evidence rules step 1 enforces, not-sent in sections 6 and 9, inline recovery in section 9, the step status table, and a reveal-kept-copies requirement for PR C.
Owner decision 1: projects on another disk are supported. Retained copies use the state directory when it shares the checkout's volume, otherwise a hidden .scient-overleaf/<environment>/<connection> folder beside the checkout. Locations are identified by volume UUID (diskutil) plus file ID, never the device number; a recorded folder is verified, never recreated. A capability probe exchanges files through the host helper (hard links only for the development fallback), so exFAT and FAT are refused. Each refusal has its own reason. Tests use real APFS and exFAT disk images for remount, unplug, disk-root and capability cases. Plans, contract and Cloud evidence move to the working-documents PR #535; this PR keeps only the engine notes.
…and re-verification duty
…ng IDs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Only APFS supports exchange. Mac OS Extended and exFAT refuse it; FAT32 reports success but only renames, destroying the second file. Qualify the file-ID reuse note and record round 6 in the step table. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the applier tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…le unpublished steps Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t §9) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- New pr-c-design.md: agents can do whatever a person can, with no Overleaf-specific permission, approval or stop (the composer's access setting is the only control); one Overleaf project per folder; five ways to connect; only a conflict stops a sync, everything else is reported, with Undo; new files sent by default; agent tools (PR C1) before the screens (PR C2); the documentation set. - Implementation plan: D4 replaced, D10-D14 added; flowchart, conflicts, review/result, connections, inventory, delivery, qualification and follow-ups updated. - Contract: confirmation is the Sync click or the agent's call; only a file with conflict marks is held back; new-file rule; the other-agents line is reported, not acknowledged; agent tools use the same service; step 5 gains five items; A01, A09, A27 reworded. - README brought up to date (steps 1-4 merged, #121 closed). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Holding back only a file with conflict marks becomes its own engine addition after step 5, fully specified: two trees bound into the review (local target, publication tree), held paths followed through renames, a gate that accepts marker-only attention, verification of every non-held path, the attempt and base use the publication tree; tests. - Undo specified: an accepted attempt, its parent/sent trees, additions, deletions and renames, edited files left alone, a recorded operation with its own receipt. - Reviews the engine rebuilds are confirmed by the client unless they have a conflict; one automatic new sync after an out-of-date push; Start fresh needs no further approval. - New-file rule: hidden files (not only hidden folders) skipped by default; "Send this file" overrides only default skips; hard exclusions and oversized new files are never sent; keep-only-here is for files not yet on Overleaf. - Failures that still stop a sync listed in full; unknown-send wording no longer over-promises; limits table matches the merged coordinator. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Holding back a conflicted file holds its whole file identity: every base, folder and Overleaf path linked by renames keeps Overleaf's entry in the publication tree. Marker records store the identity, follow renames and survive acceptance and restart. Tests cover renames on either or both sides and a resolved rename reaching Overleaf. - Undo pins each eligible accepted attempt's parent and sent commits for as long as it is offered, and saves the folder's editors in every window before looking at any file; a failed save stops it first. - D14 lists the full order, including the three engine additions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
October 24: product and agent decisions recorded (1dde595, 8371b33, cc7e2a3). Start with
Codex (gpt-6.1-sol, high) reviewed it in three rounds: round 1 found 3 P1, 7 P2 and 1 P3; round 2 found 1 P1, 2 P2 and 1 P3; round 3 judged it ready with no findings. Step 5 has not started. 🤖 Generated with Claude Code |
Do not merge. This PR is a shared space for temporary Overleaf sync plans between collaborators. It will be closed when the feature ships.
Permanent documentation ships with each feature PR: the coordinator steps update
docs/internals/scient-overleaf-engine.md; PRs C1 (agent tools) and C2 (screens) add the agent, user and app documentation. Feature PRs should link here instead of carrying plans.Start with
docs/internals/overleaf/README.md: current status, build order, working rules and what is still open.Two rules shape everything after the coordinator (owner, October 24): agents can do whatever a person can, with no Overleaf-specific permission, approval or stop (the composer's access setting is the only control); and, like GitHub sync, only a conflict stops a sync.
README.mdpr-c-design.mdimplementation-plan.mdpr-b-coordinator-contract.mdstep-3b-design.md,step-4-design.mdcloud-qualification.mdEdit these files directly on this branch as decisions are made. Raw test data, logs, and the checker and prototype code stay outside the repository. These files contain no tokens, project URLs or account details.
Related: #486, #495, #555 (engine, applier, helper) · #536, #556, #626, #630, #633, #634 (coordinator steps 1–4, all merged) · #121 (original implementation, closed October 19)
🤖 Generated with Claude Code