Skip to content

docs(sync): add fork sync ledger#97

Merged
nisavid merged 2 commits into
mainfrom
nisavid/fork-sync-ledger
Jun 3, 2026
Merged

docs(sync): add fork sync ledger#97
nisavid merged 2 commits into
mainfrom
nisavid/fork-sync-ledger

Conversation

@nisavid
Copy link
Copy Markdown
Owner

@nisavid nisavid commented Jun 3, 2026

Summary

Verification

  • git diff --cached --check passed before commit.
  • git diff --check passed before staging.
  • gh issue view 96 --repo nisavid/codex-app-linux --json number,title,body,labels,url verified the issue body and labels.

Related: #96

Summary by CodeRabbit

  • Documentation

    • Introduced a Fork Sync Ledger system with guidance for per-sync ledger entries, required contents, verification evidence, and special-handling/follow-up notes.
    • Added a concrete ledger entry documenting a recent upstream sync including reconciliation notes and verification outcomes.
    • Updated sync policy docs to require in-tree ledger entries before closeout.
  • Chores

    • Updated fork-sync configuration to enable and enforce the in-tree sync ledger tracking requirement.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 3, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 87c01966-21da-45c4-942d-69d1cf0378a1

📥 Commits

Reviewing files that changed from the base of the PR and between 14faf4a and a476256.

📒 Files selected for processing (1)
  • .agents/fork-sync-policy.toml

📝 Walkthrough

Walkthrough

Establishes a Fork Sync Ledger system: adds a ledger directory and README, updates policy/config to require in-tree ledger entries, updates workflow docs and the docs index, and adds a concrete ledger entry documenting PR #95 upstream sync.

Changes

Fork Sync Ledger System

Layer / File(s) Summary
Ledger Directory Structure
docs/maintainers/fork-sync-ledger/README.md
Defines the ledger directory purpose, per-sync file naming convention, required content checklist (scope, upstream catalog, reconciliation notes, special-handling highlights, follow-up decisions with links, verification evidence), and explicit constraints against recording secrets or large generated artifacts.
Policy & Configuration Enforcement
.agents/fork-sync-policy.toml, docs/maintainers/fork-sync-policy.md
Configuration adds sync_ledger path reference and enforcement flag in_tree_sync_ledger_required (sync_ledger_required retained). Workflow step now requires creating/updating an in-tree ledger entry as the durable source before closeout; checklist extended with mandatory special-handling highlights and per-item follow-up decisions with issue links or explicit no-issue confirmation.
Documentation Index & Example Entry
docs/README.md, docs/maintainers/fork-sync-ledger/2026-06-03-pr-95-upstream-60c62e3.md
Main docs index adds a "Fork Sync Ledger" link under Fork Divergences. Adds a PR #95 ledger entry recording sync metadata, categorized incoming changes, local reconciliation notes, special-handling expectations, and a verification checklist with reported outcomes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related issues

Possibly related PRs

  • nisavid/codex-app-linux#44: Both PRs modify fork sync policy/docs to standardize Sync Ledger requirements and workflow.
  • nisavid/codex-app-linux#13: Introduced initial fork-sync guardrails; this PR extends them by adding and enforcing the in-tree sync ledger configuration.
  • nisavid/codex-app-linux#76: Also updates .agents/fork-sync-policy.toml to tighten ledger-related enforcement; changes overlap in policy/config area.

Poem

🐇 A ledger for forks, filed neat and clear,

Upstream syncs noted for all who come near,
Special notes flagged and checklists that hold,
So future maintainers find context retold,
Hooray — a small carrot for records grown bold!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'docs(sync): add fork sync ledger' accurately and concisely summarizes the main change: adding fork sync ledger documentation structure to the repository.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@nisavid nisavid marked this pull request as ready for review June 3, 2026 12:01
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Jun 3, 2026

Greptile Summary

This PR establishes the Fork Sync Ledger as the durable in-tree home for upstream sync records, migrating the policy from PR-body notes to tracked markdown files under docs/maintainers/fork-sync-ledger/. It also records the retroactive PR #95 ledger entry and updates the policy config and docs index accordingly.

  • Adds sync_ledger path pointer and in_tree_sync_ledger_required flag to .agents/fork-sync-policy.toml with inline comments clarifying the distinction from sync_ledger_required.
  • Creates docs/maintainers/fork-sync-ledger/ with a README and the first ledger entry covering scope, catalog, reconciliation, special handling, and verification for PR chore(sync): merge linux-port upstream #95.
  • Updates docs/maintainers/fork-sync-policy.md step 11 and the Sync Ledger section to require in-tree entries and add special-handling and follow-up fields to the normative list.

Confidence Score: 4/5

Safe to merge after addressing the README field gap; all other changes are well-scoped documentation updates with no runtime impact.

The ledger directory README presents itself as the guide for writing new entries but omits roughly half the fields that fork-sync-policy.md normatively requires. Any future sync performed by an agent or contributor following only the README would produce an entry missing policy-files-read, divergence-area checks, doc review, renamed-path reconciliation notes, policy-gap disposition, per-area classification, and uncertainty handling. That structural gap is the one concrete defect; all other changes are clean.

docs/maintainers/fork-sync-ledger/README.md — the 'should include' list needs to align with or explicitly cross-reference the normative list in fork-sync-policy.md

Important Files Changed

Filename Overview
.agents/fork-sync-policy.toml Adds sync_ledger path pointer and in_tree_sync_ledger_required flag with clarifying inline comments; straightforward config extension
docs/README.md Adds a one-line index entry linking to the new fork-sync-ledger directory; consistent with existing style
docs/maintainers/fork-sync-ledger/README.md New directory README defining ledger entry structure; 'should include' list is substantially shorter than the normative list in fork-sync-policy.md, missing ~8 required fields
docs/maintainers/fork-sync-ledger/2026-06-03-pr-95-upstream-60c62e3.md First retroactive ledger entry for PR #95; covers scope, catalog, reconciliation, special handling, and verification; retroactive nature accounts for some gaps vs the new policy requirements
docs/maintainers/fork-sync-policy.md Updates step 11 and the Sync Ledger section to require in-tree ledger entries; adds two new required ledger fields (special-handling highlights, follow-up decisions)

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Start broad upstream sync] --> B[Fetch upstream & origin\nRead policy files]
    B --> C[Port changes\nResolve conflicts]
    C --> D[Run local gates\nbuild-app, tests, cargo test]
    D --> E[Create in-tree ledger entry\ndocs/maintainers/fork-sync-ledger/\nYYYY-MM-DD-pr-NN-upstream-SHORTSHA.md]
    E --> F{Entry complete?}
    F -->|Missing fields| G[Add: divergence areas, doc review,\nrenamed-path checks, policy gaps,\nbaseline update, classifications,\nuncertainties]
    G --> F
    F -->|Complete| H[Push & open draft PR\nPR body = concise summary only]
    H --> I[Mark ready for review\nCI passes]
    I --> J[Merge with merge commit\npreserve upstream identity]
Loading

Fix All in Codex

Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
docs/maintainers/fork-sync-ledger/README.md:14-23
The `should include` list here is substantially shorter than the normative list in `fork-sync-policy.md`'s Sync Ledger section. A contributor or agent who reads this README to guide a new entry would produce one missing: policy files read, every divergence area checked, upstream user-facing doc changes reviewed, readme-relevant additions classified, renamed-path checks completed, policy gaps found or noted, baseline update in Fork Divergences, per-area classification (preserved / upstream implements / obsolete / intentionally changed / uncertain), and unresolved-uncertainty disposition. Adding the missing items here, or pointing to the policy section explicitly, prevents silently incomplete entries.

```suggestion
Each entry should include (see [Fork Sync Policy – Sync Ledger](../fork-sync-policy.md#sync-ledger)
for the complete normative list):

- sync scope: PR, merge commit, base commit, previous baseline, and synced
  Linux-port upstream commit;
- upstream refs fetched, policy files read, and every divergence area checked;
- upstream user-facing doc changes reviewed; readme-relevant additions
  classified as adapted under local contracts, already covered, intentionally
  omitted, or follow-up;
- renamed-path checks completed, including any manual old-path reconciliations;
- policy gaps found and codified, or a note that no reusable gap was found;
- baseline update made in [Fork Divergences](../fork-divergences.md);
- upstream commit catalog grouped by behavior area;
- local reconciliation notes for renamed paths and fork contracts;
- per-area classification: preserved, upstream now implements it, obsolete by
  policy, intentionally changed, or uncertain;
- user-facing or maintainer-facing highlights that may need special handling;
- follow-up decision for each special-handling item, including links to existing
  issues, newly created issues, or a note that no issue is warranted;
- exact local verification commands and results from local gates and final PR
  checks;
- unresolved uncertainties escalated to the operator, or linked to a durable,
  discoverable follow-up when escalation is unavailable.
```

### Issue 2 of 2
docs/maintainers/fork-sync-ledger/README.md:8-12
The filename convention `YYYY-MM-DD-pr-NN-upstream-SHORTSHA.md` leaves ambiguous whether the date is the sync date or the entry creation date. The first entry uses today's ledger-creation date (`2026-06-03`) even though PR #95 was merged earlier. Future retroactive entries will face the same question. A one-line note here would pin the convention for all contributors.

```suggestion
Use one file per broad sync, where `YYYY-MM-DD` is the date the sync PR was
merged (use the ledger creation date for retroactive entries):

```text
YYYY-MM-DD-pr-NN-upstream-SHORTSHA.md
```
```

Reviews (2): Last reviewed commit: "docs(sync): clarify ledger policy flags" | Re-trigger Greptile

Comment thread .agents/fork-sync-policy.toml
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 3, 2026
@nisavid nisavid enabled auto-merge (rebase) June 3, 2026 12:05
@nisavid nisavid merged commit 3fe582d into main Jun 3, 2026
13 checks passed
@nisavid nisavid deleted the nisavid/fork-sync-ledger branch June 3, 2026 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant