Skip to content

test(reconciliation): add disposable OpenClaw scale canary#92

Open
100yenadmin wants to merge 9 commits into
reconcile/r19c-community-orderfrom
reconcile/r19-openclaw-canary-harness
Open

test(reconciliation): add disposable OpenClaw scale canary#92
100yenadmin wants to merge 9 commits into
reconcile/r19c-community-orderfrom
reconcile/r19-openclaw-canary-harness

Conversation

@100yenadmin

Copy link
Copy Markdown
Member

Summary

  • add a fail-closed, resumable disposable-repository canary for OpenClaw-scale analysis
  • record source identity, command ledger, graph/relationship fingerprints, embeddings, sidecars, disk state, dirty markers, and bounded failure evidence
  • exercise controlled add/edit/rename/delete, importer closure, forced escalation, SIGTERM interruption, recovery, full rebuild, FTS, vector, query, context, impact, status, and doctor
  • extend the subprocess child with explicit embedding execution while keeping skills and agent-document mutation disabled

Safety boundary

  • refuses an existing worktree on a fresh run
  • requires an exact public source SHA and isolated HOME/GITNEXUS_HOME
  • uses a deterministic local embedding endpoint and disposable index only
  • does not publish, deploy, mutate the live OpenClaw index, or copy credentials

Validation

  • node --check gitnexus/scripts/reconciliation/large-repository-canary.mjs
  • node --check gitnexus/test/fixtures/large-incremental-child.mjs
  • npx prettier --check scripts/reconciliation/large-repository-canary.mjs test/fixtures/large-incremental-child.mjs
  • npx vitest run test/integration/large-incremental-subprocess-e2e.test.ts (1/1 passed, 248.25s)
  • first disposable OpenClaw run retained 251,532 deterministic test embeddings and correctly stopped on an unexplained graph-fingerprint mismatch; diagnostic repeat remains isolated and active

Tracks #58. R19 acceptance and issue closure remain gated on two complete successful disposable canaries.

@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: 32ce1baa-3fdb-4cd5-9f68-8c520619d8fe

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/r19-openclaw-canary-harness

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

@evaos-code-review-bot

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

Copy link
Copy Markdown

evaOS review status: stale head

PR: #92 - test(reconciliation): add disposable OpenClaw scale canary
Head: 06a374cf00dc6e387e8903a953a3bcf1f7d11311
Updated: 2026-07-13T20:40:14.594Z

evaOS review stopped because this queued head is no longer the live 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: #92

Details: Superseded by a newer PR head.

@100yenadmin

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@evaos-code-review-bot

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

Copy link
Copy Markdown

evaOS review status: failed

PR: #92 - test(reconciliation): add disposable OpenClaw scale canary
Head: 3c45b96db3490e058094743c87d143e3b4b25cf4
Updated: 2026-07-13T21:38:37.010Z

evaOS review failed for this head and needs retry or operator attention.

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: #92

Details: Review failed; see bot evidence for operator-only details.

@100yenadmin

100yenadmin commented Jul 13, 2026

Copy link
Copy Markdown
Member Author

Adversarial review hardening landed on the canary capability branch at 74e003ab and on the integration branch at 67370753.

Confirmed findings addressed:

  • fail-closed evidence/worktree symlink containment with exclusive 0600 artifacts;
  • append-only retry logs, snapshots, and comparison evidence;
  • owned child process groups with SIGINT/SIGTERM tree termination;
  • named durable recovery boundaries before deletion, after the first wipe member is removed, after the first node COPY commits, and immediately before final metadata save;
  • subprocess recovery coverage now SIGTERMs and recovers at all four boundaries before comparing with a forced rebuild.

Focused local proof: TypeScript no-emit check, production build, Prettier check, ESLint with zero errors, and 26 safety/environment/determinism tests. The expanded native four-boundary recovery matrix is intentionally running in GitHub Actions so it does not compete with the disposable OpenClaw analysis already running on the Mac.

The active pre-hardening OpenClaw run remains safe for its concrete inputs (no tracked TypeScript symlinks and no evidence symlinks), but it is diagnostic only. Final counted canaries will use the reviewed exact head. No live index, package publication, or runtime surface was touched.

@evaos-code-review-bot

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

Copy link
Copy Markdown

evaOS review status: stale head

PR: #92 - test(reconciliation): add disposable OpenClaw scale canary
Head: 74e003ab86f3699e58d595cf83e47d37945b9e30
Updated: 2026-07-13T21:53:32.815Z

evaOS review stopped because this queued head is no longer the live 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: #92

Details: Superseded by a newer PR head.

@evaos-code-review-bot

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

Copy link
Copy Markdown

evaOS review status: completed

PR: #92 - test(reconciliation): add disposable OpenClaw scale canary
Head: 0aaa40efb035a44b9a721e1ad1943e02b4a8c792
Updated: 2026-07-13T22:07:39.664Z

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: #92

Review URL: #92 (review)

@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: #92 - test(reconciliation): add disposable OpenClaw scale canary
Head: 0aaa40efb035a44b9a721e1ad1943e02b4a8c792 into reconcile/r19c-community-order. 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: 0. 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: #58.
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.

@evaos-code-review-bot

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

Copy link
Copy Markdown

evaOS review status: completed

PR: #92 - test(reconciliation): add disposable OpenClaw scale canary
Head: 24fa2cc327d5f9c1f82a3d9f327a9d4a8adbb294
Updated: 2026-07-13T22:40:17.093Z

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: #92

Review URL: #92 (review)

@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: #92 - test(reconciliation): add disposable OpenClaw scale canary
Head: 24fa2cc327d5f9c1f82a3d9f327a9d4a8adbb294 into reconcile/r19c-community-order. 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: 0. 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: #58.
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.

@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown

CI Report

Some checks failed

Pipeline Status

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

Test Results

Tests Passed Failed Skipped Duration
14709 14647 0 62 19s

✅ All 14647 tests passed

62 test(s) skipped — expand for details

Code Coverage

Tests

Metric Coverage Covered Base Delta Status
Statements 80.9% 54686/67596 N/A% 🟢 ████████████████░░░░
Branches 68.03% 33594/49375 N/A% 🟢 █████████████░░░░░░░
Functions 87.05% 6351/7295 N/A% 🟢 █████████████████░░░
Lines 84.41% 48797/57803 N/A% 🟢 ████████████████░░░░

📋 View full run · Generated by CI

@evaos-code-review-bot

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

Copy link
Copy Markdown

evaOS review status: completed

PR: #92 - test(reconciliation): add disposable OpenClaw scale canary
Head: dd2fee461cd26111a864c7ecc8659a1d3b31a3ce
Updated: 2026-07-13T23:09:01.349Z

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: #92

Review URL: #92 (review)

@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: #92 - test(reconciliation): add disposable OpenClaw scale canary
Head: dd2fee461cd26111a864c7ecc8659a1d3b31a3ce into reconcile/r19c-community-order. Review event: COMMENT.
Provider: GLM/Z.ai through ZCode (zcode-glm, zcode, model GLM-5.2).

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

Changed Files

File Status Churn Purpose Risk
.github/workflows/ci-tests.yml modified +4/-0 Changed file Moderate: validated P2 finding

Review Signal

Validated inline findings: 1 (P0: 0, P1: 0, P2: 1, P3: 0).
Dropped findings before posting: 0. High-severity findings: 0.

Risk Taxonomy

  • Flaky test risk: 1

Validation and Proof

2 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.
  • required: CI/release smoke proof - CI, release, launchd, or package metadata changed. Proof: green GitHub check; release-status; coverage-audit; rollback note.
    Proof status: missing - 1 required validation/proof recommendation(s) missing from PR metadata.
    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: #58.
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.

# Ubuntu coverage proves all four durable recovery boundaries. The OS
# matrix keeps the most destructive native filesystem boundary inside
# its 15-minute per-shard watchdog.
GITNEXUS_RECOVERY_BOUNDARIES: during-delete

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2: GITNEXUS_RECOVERY_BOUNDARIES=during-delete shrinks Windows/macOS recovery coverage from 4 boundaries to 1

The new env var on the cross-platform job selects only ONE of the four recovery boundaries. selectRecoveryBoundaries('during-delete') returns exactly ['during-delete'] (test/helpers/large-incremental-contract.ts:17-22,57-73; unit test at large-incremental-contract.test.ts:120-121). large-incremental-subprocess-e2e.test.ts:251-255 filters RECOVERY_BOUNDARY_CASES by the selected set, so Windows/macOS now iterate ONLY the during-delete recovery path. The three other boundaries (before-delete, during-insert, before-finalize) — spanning both escalation phases (escalated-full-write and escalated-load-graph) — no longer run on the cross-platform matrix, which is precisely where native-filesystem recovery is most likely to behave differently (junction/path semantics, file locks). Before this var existed the cross-platform job left it unset, so it ran all four; this change is a net coverage reduction. The added comment ('Ubuntu coverage proves all four durable recovery boundaries. The OS matrix keeps the most destructive native filesystem boundary inside its 15-minute per-shard watchdog.') justifies running only one boundary but reads as if the OS matrix still meaningfully exercises recovery, which it now barely does. Recommended fixes (pick one): (a) set it to a comma list covering all four ('before-delete,during-delete,during-insert,before-finalize') if watchdog budget allows; (b) if only one boundary fits the Windows watchdog, choose deliberately and update the comment to explicitly state 'only during-delete runs here; the other three are Ubuntu-only' so reviewers don't assume parity; or (c) keep one boundary but add a per-OS rotation so Windows and macOS don't both pin the identical single boundary.

Category: Flaky test risk

Why this matters: A crash-mid-write recovery regression in the before-delete / during-insert / before-finalize paths on Windows or macOS would no longer be caught in CI. This is the exact class of bug (cross-OS filesystem divergence during incremental recovery) that a platform matrix exists to catch, and three of the four durable recovery boundaries are now untested on those platforms.

@evaos-code-review-bot

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

Copy link
Copy Markdown

evaOS review status: completed

PR: #92 - test(reconciliation): add disposable OpenClaw scale canary
Head: ca2def42360f2e9a0e34d617a49c870803896705
Updated: 2026-07-13T23:19:21.396Z

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: #92

Review URL: #92 (review)

@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: #92 - test(reconciliation): add disposable OpenClaw scale canary
Head: ca2def42360f2e9a0e34d617a49c870803896705 into reconcile/r19c-community-order. Review event: COMMENT.
Provider: GLM/Z.ai through ZCode (zcode-glm, zcode, model GLM-5.2).

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

Changed Files

File Status Churn Purpose Risk
.github/workflows/ci-tests.yml modified +4/-0 Changed file Low

Review Signal

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

Risk Taxonomy

No finding categories.

Validation and Proof

2 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.
  • required: CI/release smoke proof - CI, release, launchd, or package metadata changed. Proof: green GitHub check; release-status; coverage-audit; rollback note.
    Proof status: missing - 1 required validation/proof recommendation(s) missing from PR metadata.
    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: #58.
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