Skip to content

feat(analyze): add preservation-only recovery contract#72

Open
100yenadmin wants to merge 1 commit into
reconcile/r09-fts-dispositionfrom
reconcile/r10-preservation-contract
Open

feat(analyze): add preservation-only recovery contract#72
100yenadmin wants to merge 1 commit into
reconcile/r09-fts-dispositionfrom
reconcile/r10-preservation-contract

Conversation

@100yenadmin

Copy link
Copy Markdown
Member

Tracks #49.

Contract

  • Add analyze --incremental-only as a strict refusal contract for recovery, migration, incompatible schema/mode changes, missing baselines, and full-rebuild escalation.
  • Add read-only doctor [path] --recovery-plan diagnostics for graph, WAL, FTS, metadata, and embeddings.
  • Inspect importer closure through a read-only Ladybug connection and upgrade to writable only after the bounded surgical plan is final and its dirty marker is durable.
  • Refuse dirty or clean sidecar state before database open; read-only close performs neither CHECKPOINT nor sidecar finalization.
  • Record the attempted target commit in incremental dirty metadata.

Evidence

  • TDD red/green proof for dirty recovery, missing recovery-plan surface, scale escalation, read-only CHECKPOINT mutation, and clean-sidecar refusal.
  • 42 focused default tests passed.
  • 5 real Ladybug orchestration cases passed, 11 unrelated cases skipped.
  • Typecheck, targeted formatting, build, and diff integrity passed.
  • Targeted lint: 0 errors; 97 pre-existing warnings in touched legacy files.
  • Built CLI smoke exposed both new options without opening LadybugDB in recovery-plan mode.

Full retained evidence: /Volumes/LEXAR/Codex/session-notes/2026-07-13/gitnexus-fork-upstream-reconciliation/r10-interrupted-analysis-preservation.md.

Boundaries

  • Base is the R09 capability branch; this PR contains one capability only.
  • No live index, package publication, runtime rollout, or default-branch mutation.
  • Sanitized upstream design work begins only after fork current-head CI and disposable proof are green.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 59c43ba3-cff2-4238-a387-60667c170e8d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch reconcile/r10-preservation-contract

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

@100yenadmin 100yenadmin force-pushed the reconcile/r10-preservation-contract branch from a330b38 to a92ee70 Compare July 13, 2026 12:25
@100yenadmin 100yenadmin force-pushed the reconcile/r09-fts-disposition branch from 99a7107 to 342abaa Compare July 13, 2026 12:25
@evaos-code-review-bot

evaos-code-review-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown

evaOS review status: completed

PR: #72 - feat(analyze): add preservation-only recovery contract
Head: a92ee70486887e808b73d821eeb0bddab62b8781
Updated: 2026-07-13T12:55:12.697Z

evaOS review completed for this PR head.

Automation note: agents should wait for this comment to reach completed, stale_head, closed_or_merged_before_review, skipped, or failed before treating evaOS review as settled for this head. provider_deferred means evaOS still intends to retry.

PR URL: #72

Review URL: #72 (review)

@github-actions

Copy link
Copy Markdown

CI Report

All checks passed

Pipeline Status

Stage Status Details
✅ Typecheck success tsc --noEmit
✅ Tests success unit tests, 3 platforms
✅ E2E success gitnexus-web changes only

Test Results

Tests Passed Failed Skipped Duration
14550 14488 0 62 21s

✅ All 14488 tests passed

62 test(s) skipped — expand for details

Code Coverage

Tests

Metric Coverage Covered Base Delta Status
Statements 80.7% 53998/66912 N/A% 🟢 ████████████████░░░░
Branches 67.72% 33020/48754 N/A% 🟢 █████████████░░░░░░░
Functions 86.76% 6224/7173 N/A% 🟢 █████████████████░░░
Lines 84.22% 48174/57198 N/A% 🟢 ████████████████░░░░

📋 View full run · Generated by CI

@evaos-code-review-bot evaos-code-review-bot Bot 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.

Walkthrough

PR: #72 - feat(analyze): add preservation-only recovery contract
Head: a92ee70486887e808b73d821eeb0bddab62b8781 into reconcile/r09-fts-disposition. Review event: COMMENT.
Provider: GLM/Z.ai through ZCode (zcode-glm, zcode, model GLM-5.2).

Estimated review effort: 1/5 (~10 min)

Changed Files

File Status Churn Purpose Risk

Review Signal

No validated inline findings.
Dropped findings before posting: 3. High-severity findings: 0.

Risk Taxonomy

No finding categories.

Validation and Proof

1 required validation/proof recommendation(s) selected from changed files.

  • required: TypeScript/web build or CI proof - Runtime TypeScript/web files or package/config files changed. Proof: npm run build; typecheck; focused Vitest; green GitHub check.
    Proof status: sufficient - PR metadata mentions acceptable proof for each required validation recommendation.
    Profile validation hints: Call out stale index, wrong repo identity, memory growth, and destructive analyze behavior.
    Profile proof expectations: Look for focused CLI, index, query, or migration proof.

Related Context

Related issues/PRs: #49.
Suggested labels: none.
Suggested reviewers: none from current metadata.

Review Settings Preview

  • Profile: assertive
  • Enabled sections: Review summary (inline_review); Walkthrough (inline_review); Changed-files table (walkthrough); Effort estimate (walkthrough); Related issues/PRs (walkthrough); Suggested labels (suggestion_only); Review status comment (sticky_status)
  • Path instructions: none
  • Label suggestions: gitnexus, code-intelligence, backend
  • Reviewer suggestions: none
  • Suggestion behavior: suggestions only; labels and reviewers are not auto-applied.
  • Roadmap-only settings: auto-apply labels; auto-request reviewers; required status checks

Pre-merge checklist

  • Inline comments target current RIGHT-side diff lines.
  • No secret-like content survived into posted inline comments.
  • REQUEST_CHANGES is only used when eligible P0/P1 findings survive validation.
  • Required behavior proof is present or not applicable.
  • Labels and reviewers are suggestions only; the bot did not auto-apply them.

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