Skip to content

fsmonitor: recover status history across mixed writers - #47

Merged
ttaylorr-oai merged 0 commit into
codex-unstablefrom
tb/codex/status-preview-unstable
Aug 13, 2026
Merged

fsmonitor: recover status history across mixed writers#47
ttaylorr-oai merged 0 commit into
codex-unstablefrom
tb/codex/status-preview-unstable

Conversation

@ttaylorr-oai

Copy link
Copy Markdown
Collaborator

Ship the six follow-up fsmonitor/status commits ending at
fca61fdceec3017dff2f5d4b945f6c154290dfdd in the next codex-unstable
release. The reviewed source is a fast-forward merge of the existing
enrolled topic and the exact tested prototype; its tree is byte-identical
to fca61fdcee, and no protected workflow or controller files change.

  • Recover authenticated status history after another Git binary rewrites
    the index without FSMN, FSCF, or FSUC. The reported
    git add x; rm x; git checkout -- x; git reset; git status sequence
    remains bounded and reports ? x correctly.
  • Revalidate cached directories after fsmonitor provider resets, including
    scoped status requests, without serially reopening the entire worktree.
  • Reduce attribute-manifest allocation and parent-revalidation overhead;
    reissue clean proofs when repository fingerprint inputs change.
  • Reject unsafe global invalidations, changed attributes, external hardlink
    mutations, and unauthenticated history.

Validation:

  • t7527: 156/156 with SHA-1 and SHA-256.
  • t7519: 77/77 with SHA-1 and SHA-256.
  • t7530: 47/47 with SHA-1 and SHA-256.
  • t7063: 64/64 with SHA-1 and SHA-256.
  • t7529: 36/36 with SHA-1 and SHA-256.
  • 374 unit tests, developer build, and shell test lint.
  • Actual OpenAI worktree: root status 524 ms, scoped status 143 ms;
    provider-reset scoped recovery improved from 13.25 s to 5.21 s.

@dreynaud-oai dreynaud-oai left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independently reviewed exact head 046008d. Verified its only delta from the previously qualified production tree is one test-only fixture line, and reproduced the formerly failing provider-reset test successfully under SHA-1 and SHA-256. Real dirty macOS and Linux monorepo checkouts show matched-build steady-state performance parity, 836 adversarial macOS checks pass, and all eight Linux fsmonitor watch-failure cases pass.

@dreynaud-oai dreynaud-oai left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independently verified exact dad9e3b on the real dirty 858,001-entry Linux monorepo with matching Git client and daemon. New-file add, existing staged-file add, unstage, and dry-run preserve coherent FSMN/FSUC/FSCF and reduce subsequent status from ~19 s to 0.91-1.25 s. Separate live-daemon SHA-1/SHA-256 gates verify unfiltered staging and dry-run preserve history while actual filtered paths fail closed; attribute, text-conversion, and clean-filter safety scenarios also pass.

@dreynaud-oai dreynaud-oai left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independently approved exact f92dd57. Real dirty Linux monorepo (858,001 paths, actual system LFS filter): 21 plain/og/preload transitions, 0.95-0.99 s steady status, zero manifest scans and coherent proofs; add/re-add/commit dry-run/unstage remain 0.9-1.23 s. Real dirty macOS monorepo (1,161,336 paths, existing .658 daemon preserved): 21 transitions, 0.25-0.28 s steady status. Active clean-filter fail-closed staging passes 28 scenarios each for SHA-1 and SHA-256. Production source blob independently matched c224fe3876961513c813f18187e3e046fe37ec49; only exact command-scoped acceleration keys are excluded.

@ttaylorr-oai
ttaylorr-oai merged commit ad7be65 into codex-unstable Aug 13, 2026
100 of 101 checks passed
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.

2 participants