Skip to content

Test Bunny command rerun after failed check#53

Open
Promansis wants to merge 1 commit into
refactorfrom
test/bunny-command-rerun-fail
Open

Test Bunny command rerun after failed check#53
Promansis wants to merge 1 commit into
refactorfrom
test/bunny-command-rerun-fail

Conversation

@Promansis

Copy link
Copy Markdown
Owner

Disposable fixture PR to test Bunny Review rerun behavior after an initial failed Bunny status.\n\nIntentional failure:\n- Adds a React import inside src/engine.\n- This violates Marinara architecture rules and should fail required CI and/or Bunny review.\n\nAfter the first Bunny Review status fails, post /bunny-review full to verify the slash-command dispatcher starts a new trusted Bunny run from the failed state.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

✅ Bunny Review Completed

Tip

Review posted. The specimen has left the observation table.

  • Commit: 87a10fb - Add Bunny rerun failure fixture

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

🐰 Bunny Review

Bunny Merge Signal: Do Not Merge

Caution

DO NOT MERGE
Repair blocking/high findings or failed controls before merge.

Findings Nitpicks Controls Reviewed Head Mode
1 0 2 fail 87a10fbf full

Note

Mode: full
Head: 87a10fb - Add Bunny rerun failure fixture
Base: origin/refactor - Fix Bunny command repo lookup

🧭 Specimen Summary

  • The specimen introduces a new engine module whose entire metabolism consists of importing React and exporting React.Fragment. Three lines suffice to drag a UI framework across a boundary built precisely to prevent such contamination. The prior Bunny contract remains unsatisfied; the wound was not sutured, merely displayed under brighter glass.

🔎 Isolated Defects

Severity Location Finding
🚫 BLOCKING src/engine/bunnyIntentionalArchitectureFailure.ts:1 React contaminates the engine layer

✅ Resolved Since Last Review

  • src/engine/bunnyIntentionalArchitectureFailure.ts:1 - React crosses into the engine layer

🧹 Nitpicks

  • None recorded.
🤖 Copy prompt for isolated Bunny findings
Task: Fix `src/engine/bunnyIntentionalArchitectureFailure.ts:1`.
Finding: React contaminates the engine layer
Severity: blocking
Goal: No module under `src/engine` may import or export React, React DOM, feature internals, Zustand stores, Tauri APIs, or concrete shared API adapters.
Cover: Engine exports must not expose React components, JSX fragments, hooks, or React-derived types that force downstream UI dependencies.; Reusable product behavior needed by UI must remain framework-neutral and be rendered only from `src/features` or `src/app`.
Avoid: Wrapping `React.Fragment` in an engine helper still leaves the engine coupled to React.; Moving the import through a barrel, alias, or compatibility shim merely disguises the forbidden dependency graph.
Acceptable fixes: Delete `src/engine/bunnyIntentionalArchitectureFailure.ts` if it is only a boundary-test artifact.; Move the React export to a UI-owned module under `src/features` or `src/app`.; Define a plain TypeScript engine value or interface and let UI code map it to `React.Fragment` at the rendering edge.
Proof required: `pnpm check:architecture` reports no engine-to-React import violation.; A search under `src/engine` shows no imports from `react`, `react-dom`, or React-owned UI modules.; Any remaining consumer imports either a UI-owned module or a framework-neutral engine contract.
Run the narrowest relevant check. If stale, leave code unchanged and record why.

✅ Control Checks

Status Type Check Detail
❌ FAIL CI Timing CI Status One or more expected CI controls failed or were cancelled; the specimen is not fit for merge.
❌ FAIL Proof Gap Architecture check The diff visibly violates the engine import boundary; pnpm check:architecture should catch this theatrical little specimen.

🧪 Observations

  • Reviewed the full diff from merge base 0d4943c7210a24b5ebe6f838c83dd99eb07428d8 to head 87a10fbf62c04be3fa7ff1020e3a96d970cfe190.
  • Inspected the sole changed file, src/engine/bunnyIntentionalArchitectureFailure.ts, and its three added lines.
  • Applied AGENTS.md and skills/marinara-architecture-guard/SKILL.md; both forbid React imports from src/engine.

🧰 CI Status

  • pass: Rust Capability Layer
  • pass: Browser Smoke and Performance
  • failure: Frontend, Architecture, and Organization ended with failure.
  • note: Bunny gates only required job conclusions from ci-checks.json; advisory reports such as continue-on-error dependency checks are not included in this status.

@github-actions github-actions 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.

Bunny Review inline findings

@@ -0,0 +1,3 @@
import React from "react";

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🚫 BLOCKING: React crosses into the engine layer

Location: src/engine/bunnyIntentionalArchitectureFailure.ts:1

A fascinatingly compact boundary breach: src/engine imports react, despite AGENTS.md and the architecture guard declaring the engine a React-free product layer. The exported React.Fragment preserves the contamination as a public engine symbol, coupling product code to UI runtime semantics before any behavior even begins.

Tip

Suggested fix: Return the React-facing value to a feature or app-owned UI module, or replace this engine export with a framework-neutral contract rendered only at the UI edge.

@Promansis

Copy link
Copy Markdown
Owner Author

/bunny-review full

@github-actions github-actions 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.

Bunny Review inline findings

@@ -0,0 +1,3 @@
import React from "react";

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🚫 BLOCKING: React contaminates the engine layer

Location: src/engine/bunnyIntentionalArchitectureFailure.ts:1

The engine layer imports react, despite the repository contract declaring src/engine React-free. Exporting React.Fragment from this module forces downstream consumers to inherit a UI-framework dependency from a product-behavior layer. The prior repair contract remains open in exactly the same shape; the boundary violation has not evolved, only persisted.

Tip

Suggested fix: Excise the React import from src/engine; move this UI-facing value to src/features or src/app, or replace it with a framework-neutral engine contract.

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