mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-10 03:30:59 +00:00
parent
c4b47b5b4f
commit
a3c53a6f49
5 changed files with 159 additions and 8 deletions
|
|
@ -1,13 +1,15 @@
|
|||
{
|
||||
"timestamp": "2026-03-16T03:48:57.074562Z",
|
||||
"current_node": "preflight_lint",
|
||||
"timestamp": "2026-03-16T03:55:38.474653Z",
|
||||
"current_node": "implement",
|
||||
"completed_nodes": [
|
||||
"start",
|
||||
"toolchain",
|
||||
"preflight_compile",
|
||||
"preflight_lint"
|
||||
"preflight_lint",
|
||||
"implement"
|
||||
],
|
||||
"node_retries": {
|
||||
"implement": 1,
|
||||
"start": 1,
|
||||
"toolchain": 1,
|
||||
"preflight_compile": 1,
|
||||
|
|
@ -15,7 +17,12 @@
|
|||
},
|
||||
"context_values": {
|
||||
"internal.retry_count.preflight_lint": 1,
|
||||
"internal.retry_count.implement": 1,
|
||||
"last_stage": "implement",
|
||||
"internal.fidelity": "compact",
|
||||
"last_response": "Everything compiles cleanly. Let me provide a summary of all changes made:\n\n## Summary of Changes\n\n### Refactor: Collapsed `pull_request_*` fields on `RunConfig` into `Option<PullRequestConfig>`\n\n**1.",
|
||||
"thread.preflight_lint.current_node": "implement",
|
||||
"response.implement": "Everything compiles cleanly. Let me provide a summary of all changes made:\n\n## Summary of Changes\n\n### Refactor: Collapsed `pull_request_*` fields on `RunConfig` into `Option<PullRequestConfig>`\n\n**1. `lib/crates/fabro-workflows/src/engine.rs`**\n- Added `use crate::cli::run_config::PullRequestConfig;` import\n- Replaced two fields (`pull_request_enabled: bool`, `pull_request_draft: bool`) with single `pull_request: Option<PullRequestConfig>` field\n- Updated all ~40 test constructors: `pull_request_enabled: false, pull_request_draft: false` → `pull_request: None`\n\n**2. `lib/crates/fabro-workflows/src/cli/run.rs`**\n- Simplified `RunConfig` construction: replaced `pr_cfg.is_some_and(|p| p.enabled)` / `pr_cfg.is_none_or(|p| p.draft)` with `.filter(|p| p.enabled).cloned()`\n- Restructured PR creation block: `if let Some(ref pr_cfg) = config.pull_request { ... }` instead of `is_none()` check + later `unwrap()`\n- Updated `maybe_open_pull_request` call to pass `pr_cfg` reference\n- Updated event emission to use `pr_cfg.draft`\n- Updated resume config constructor: `pull_request: None`\n\n**3. `lib/crates/fabro-workflows/src/pull_request.rs`**\n- Changed `maybe_open_pull_request` signature: replaced `draft: bool` parameter with `pr_config: &crate::cli::run_config::PullRequestConfig`\n- Updated internal usage to read `pr_config.draft`\n- Updated test to construct and pass `PullRequestConfig`\n\n**4. `lib/crates/fabro-workflows/src/cli/pr.rs`**\n- Updated call to `maybe_open_pull_request`: constructs `PullRequestConfig { enabled: true, draft: true }` and passes reference\n\n**5. `lib/crates/fabro-api/src/server.rs`**\n- Replaced `pull_request_enabled: false, pull_request_draft: true` with `pull_request: None`\n\n**6. `lib/crates/fabro-workflows/src/handler/manager_loop.rs`**\n- Replaced `pull_request_enabled: false, pull_request_draft: true` with `pull_request: None`\n\n**7. `lib/crates/fabro-workflows/tests/integration.rs`**\n- Replaced all ~90 occurrences (8-space and 12-space indented) of `pull_request_enabled: false, pull_request_draft: false` with `pull_request: None`\n\n**8. `lib/crates/fabro-workflows/tests/daytona_integration.rs`**\n- Replaced all occurrences with `pull_request: None`\n\n### Verification\n- ✅ `cargo build --workspace` — clean\n- ✅ `cargo clippy --workspace -- -D warnings` — clean\n- ✅ `cargo test -p fabro-workflows -- pull_request run_config project_config` — 180 tests passed\n- ✅ `cargo fmt --check --all` — clean",
|
||||
"failure_signature": "",
|
||||
"internal.retry_count.preflight_compile": 1,
|
||||
"failure_class": "",
|
||||
|
|
@ -26,15 +33,15 @@
|
|||
"internal.retry_count.toolchain": 1,
|
||||
"thread.start.current_node": "toolchain",
|
||||
"graph.goal": "# Refactor: Collapse `pull_request_*` fields on `RunConfig` into `Option<PullRequestConfig>`\n\n## Context\n\n`RunConfig` has 4 flat `pull_request_*` fields that encode a natural tree structure. This refactor collapses them into a single `Option<PullRequestConfig>` field, reusing the existing TOML config struct directly.\n\n## Approach\n\nReplace on `RunConfig`:\n```rust\npub pull_request_enabled: bool,\npub pull_request_draft: bool,\npub pull_request_auto_merge: bool,\npub pull_request_merge_strategy: MergeStrategy,\n```\n\nWith:\n```rust\npub pull_request: Option<PullRequestConfig>,\n```\n\n- `None` = disabled (replaces `enabled: false`)\n- `Some(config)` = enabled, read `.draft`, `.auto_merge`, `.merge_strategy` directly\n- The `enabled` field on `PullRequestConfig` is still needed for TOML deserialization but is redundant at runtime\n\nDelete `AutoMergeConfig` from `pull_request.rs` — pass `Option<MergeStrategy>` directly instead (derived from `auto_merge` + `merge_strategy` on `PullRequestConfig`).\n\n## Files to modify\n\n1. **`engine.rs`** — replace 4 fields with `pull_request: Option<PullRequestConfig>`, update all test constructors (4 lines → 1: `pull_request: None`)\n2. **`run.rs`** — simplify construction: `pull_request: pr_cfg.filter(|p| p.enabled).cloned()` with draft override for auto_merge. Simplify read site: `if let Some(ref pr) = config.pull_request { ... }`\n3. **`pull_request.rs`** — change `maybe_open_pull_request` to take `&PullRequestConfig` instead of `draft: bool` + `auto_merge: Option<AutoMergeConfig>`. Delete `AutoMergeConfig`\n4. **`pr.rs`** — update call to `maybe_open_pull_request`\n5. **`server.rs`, `manager_loop.rs`** — `pull_request: None`\n6. **`tests/integration.rs`, `tests/daytona_integration.rs`** — `pull_request: None`\n\n## Verification\n\n- `cargo build --workspace`\n- `cargo clippy --workspace -- -D warnings`\n- `cargo test -p fabro-workflows -- pull_request run_config project_config`\n- `cargo fmt --check --all`\n",
|
||||
"current.preamble": "Goal: # Refactor: Collapse `pull_request_*` fields on `RunConfig` into `Option<PullRequestConfig>`\n\n## Context\n\n`RunConfig` has 4 flat `pull_request_*` fields that encode a natural tree structure. This refactor collapses them into a single `Option<PullRequestConfig>` field, reusing the existing TOML config struct directly.\n\n## Approach\n\nReplace on `RunConfig`:\n```rust\npub pull_request_enabled: bool,\npub pull_request_draft: bool,\npub pull_request_auto_merge: bool,\npub pull_request_merge_strategy: MergeStrategy,\n```\n\nWith:\n```rust\npub pull_request: Option<PullRequestConfig>,\n```\n\n- `None` = disabled (replaces `enabled: false`)\n- `Some(config)` = enabled, read `.draft`, `.auto_merge`, `.merge_strategy` directly\n- The `enabled` field on `PullRequestConfig` is still needed for TOML deserialization but is redundant at runtime\n\nDelete `AutoMergeConfig` from `pull_request.rs` — pass `Option<MergeStrategy>` directly instead (derived from `auto_merge` + `merge_strategy` on `PullRequestConfig`).\n\n## Files to modify\n\n1. **`engine.rs`** — replace 4 fields with `pull_request: Option<PullRequestConfig>`, update all test constructors (4 lines → 1: `pull_request: None`)\n2. **`run.rs`** — simplify construction: `pull_request: pr_cfg.filter(|p| p.enabled).cloned()` with draft override for auto_merge. Simplify read site: `if let Some(ref pr) = config.pull_request { ... }`\n3. **`pull_request.rs`** — change `maybe_open_pull_request` to take `&PullRequestConfig` instead of `draft: bool` + `auto_merge: Option<AutoMergeConfig>`. Delete `AutoMergeConfig`\n4. **`pr.rs`** — update call to `maybe_open_pull_request`\n5. **`server.rs`, `manager_loop.rs`** — `pull_request: None`\n6. **`tests/integration.rs`, `tests/daytona_integration.rs`** — `pull_request: None`\n\n## Verification\n\n- `cargo build --workspace`\n- `cargo clippy --workspace -- -D warnings`\n- `cargo test -p fabro-workflows -- pull_request run_config project_config`\n- `cargo fmt --check --all`\n\n\n## Completed stages\n- **toolchain**: success\n - Script: `command -v cargo >/dev/null || { curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && sudo ln -sf $HOME/.cargo/bin/* /usr/local/bin/; }; cargo --version 2>&1`\n - Stdout:\n ```\n cargo 1.94.0 (85eff7c80 2026-01-15)\n ```\n - Stderr: (empty)\n- **preflight_compile**: success\n - Script: `cargo check -q --workspace 2>&1`\n - Stdout: (empty)\n - Stderr: (empty)\n",
|
||||
"current.preamble": "Goal: # Refactor: Collapse `pull_request_*` fields on `RunConfig` into `Option<PullRequestConfig>`\n\n## Context\n\n`RunConfig` has 4 flat `pull_request_*` fields that encode a natural tree structure. This refactor collapses them into a single `Option<PullRequestConfig>` field, reusing the existing TOML config struct directly.\n\n## Approach\n\nReplace on `RunConfig`:\n```rust\npub pull_request_enabled: bool,\npub pull_request_draft: bool,\npub pull_request_auto_merge: bool,\npub pull_request_merge_strategy: MergeStrategy,\n```\n\nWith:\n```rust\npub pull_request: Option<PullRequestConfig>,\n```\n\n- `None` = disabled (replaces `enabled: false`)\n- `Some(config)` = enabled, read `.draft`, `.auto_merge`, `.merge_strategy` directly\n- The `enabled` field on `PullRequestConfig` is still needed for TOML deserialization but is redundant at runtime\n\nDelete `AutoMergeConfig` from `pull_request.rs` — pass `Option<MergeStrategy>` directly instead (derived from `auto_merge` + `merge_strategy` on `PullRequestConfig`).\n\n## Files to modify\n\n1. **`engine.rs`** — replace 4 fields with `pull_request: Option<PullRequestConfig>`, update all test constructors (4 lines → 1: `pull_request: None`)\n2. **`run.rs`** — simplify construction: `pull_request: pr_cfg.filter(|p| p.enabled).cloned()` with draft override for auto_merge. Simplify read site: `if let Some(ref pr) = config.pull_request { ... }`\n3. **`pull_request.rs`** — change `maybe_open_pull_request` to take `&PullRequestConfig` instead of `draft: bool` + `auto_merge: Option<AutoMergeConfig>`. Delete `AutoMergeConfig`\n4. **`pr.rs`** — update call to `maybe_open_pull_request`\n5. **`server.rs`, `manager_loop.rs`** — `pull_request: None`\n6. **`tests/integration.rs`, `tests/daytona_integration.rs`** — `pull_request: None`\n\n## Verification\n\n- `cargo build --workspace`\n- `cargo clippy --workspace -- -D warnings`\n- `cargo test -p fabro-workflows -- pull_request run_config project_config`\n- `cargo fmt --check --all`\n\n\n## Completed stages\n- **toolchain**: success\n - Script: `command -v cargo >/dev/null || { curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && sudo ln -sf $HOME/.cargo/bin/* /usr/local/bin/; }; cargo --version 2>&1`\n - Stdout:\n ```\n cargo 1.94.0 (85eff7c80 2026-01-15)\n ```\n - Stderr: (empty)\n- **preflight_compile**: success\n - Script: `cargo check -q --workspace 2>&1`\n - Stdout: (empty)\n - Stderr: (empty)\n- **preflight_lint**: success\n - Script: `cargo clippy -q --workspace -- -D warnings 2>&1`\n - Stdout: (empty)\n - Stderr: (empty)\n",
|
||||
"internal.run_id": "01KKTC2TWVRW6ZCYYZYGRX0GD6",
|
||||
"graph.model_stylesheet": "\n * { backend: api; model: claude-opus-4-6;}\n ",
|
||||
"internal.node_visit_count": 1,
|
||||
"internal.thread_id": "preflight_compile",
|
||||
"internal.thread_id": "preflight_lint",
|
||||
"internal.retry_count.start": 1,
|
||||
"command.output": "",
|
||||
"thread.toolchain.current_node": "preflight_compile",
|
||||
"current_node": "preflight_lint"
|
||||
"current_node": "implement"
|
||||
},
|
||||
"logs": [],
|
||||
"node_outcomes": {
|
||||
|
|
@ -56,6 +63,32 @@
|
|||
"notes": "Script completed: command -v cargo >/dev/null || { curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && sudo ln -sf $HOME/.cargo/bin/* /usr/local/bin/; }; cargo --version 2>&1",
|
||||
"duration_ms": 42
|
||||
},
|
||||
"implement": {
|
||||
"status": "success",
|
||||
"context_updates": {
|
||||
"last_response": "Everything compiles cleanly. Let me provide a summary of all changes made:\n\n## Summary of Changes\n\n### Refactor: Collapsed `pull_request_*` fields on `RunConfig` into `Option<PullRequestConfig>`\n\n**1.",
|
||||
"last_stage": "implement",
|
||||
"response.implement": "Everything compiles cleanly. Let me provide a summary of all changes made:\n\n## Summary of Changes\n\n### Refactor: Collapsed `pull_request_*` fields on `RunConfig` into `Option<PullRequestConfig>`\n\n**1. `lib/crates/fabro-workflows/src/engine.rs`**\n- Added `use crate::cli::run_config::PullRequestConfig;` import\n- Replaced two fields (`pull_request_enabled: bool`, `pull_request_draft: bool`) with single `pull_request: Option<PullRequestConfig>` field\n- Updated all ~40 test constructors: `pull_request_enabled: false, pull_request_draft: false` → `pull_request: None`\n\n**2. `lib/crates/fabro-workflows/src/cli/run.rs`**\n- Simplified `RunConfig` construction: replaced `pr_cfg.is_some_and(|p| p.enabled)` / `pr_cfg.is_none_or(|p| p.draft)` with `.filter(|p| p.enabled).cloned()`\n- Restructured PR creation block: `if let Some(ref pr_cfg) = config.pull_request { ... }` instead of `is_none()` check + later `unwrap()`\n- Updated `maybe_open_pull_request` call to pass `pr_cfg` reference\n- Updated event emission to use `pr_cfg.draft`\n- Updated resume config constructor: `pull_request: None`\n\n**3. `lib/crates/fabro-workflows/src/pull_request.rs`**\n- Changed `maybe_open_pull_request` signature: replaced `draft: bool` parameter with `pr_config: &crate::cli::run_config::PullRequestConfig`\n- Updated internal usage to read `pr_config.draft`\n- Updated test to construct and pass `PullRequestConfig`\n\n**4. `lib/crates/fabro-workflows/src/cli/pr.rs`**\n- Updated call to `maybe_open_pull_request`: constructs `PullRequestConfig { enabled: true, draft: true }` and passes reference\n\n**5. `lib/crates/fabro-api/src/server.rs`**\n- Replaced `pull_request_enabled: false, pull_request_draft: true` with `pull_request: None`\n\n**6. `lib/crates/fabro-workflows/src/handler/manager_loop.rs`**\n- Replaced `pull_request_enabled: false, pull_request_draft: true` with `pull_request: None`\n\n**7. `lib/crates/fabro-workflows/tests/integration.rs`**\n- Replaced all ~90 occurrences (8-space and 12-space indented) of `pull_request_enabled: false, pull_request_draft: false` with `pull_request: None`\n\n**8. `lib/crates/fabro-workflows/tests/daytona_integration.rs`**\n- Replaced all occurrences with `pull_request: None`\n\n### Verification\n- ✅ `cargo build --workspace` — clean\n- ✅ `cargo clippy --workspace -- -D warnings` — clean\n- ✅ `cargo test -p fabro-workflows -- pull_request run_config project_config` — 180 tests passed\n- ✅ `cargo fmt --check --all` — clean"
|
||||
},
|
||||
"notes": "Stage completed: implement",
|
||||
"usage": {
|
||||
"model": "claude-opus-4-6",
|
||||
"input_tokens": 55979,
|
||||
"output_tokens": 11582,
|
||||
"cache_read_tokens": 1869884,
|
||||
"cache_write_tokens": 74092,
|
||||
"reasoning_tokens": 132,
|
||||
"cost": 1.708335
|
||||
},
|
||||
"files_touched": [
|
||||
"/home/daytona/workspace/lib/crates/fabro-api/src/server.rs",
|
||||
"/home/daytona/workspace/lib/crates/fabro-workflows/src/cli/pr.rs",
|
||||
"/home/daytona/workspace/lib/crates/fabro-workflows/src/cli/run.rs",
|
||||
"/home/daytona/workspace/lib/crates/fabro-workflows/src/handler/manager_loop.rs",
|
||||
"/home/daytona/workspace/lib/crates/fabro-workflows/src/pull_request.rs"
|
||||
],
|
||||
"duration_ms": 399557
|
||||
},
|
||||
"start": {
|
||||
"status": "success",
|
||||
"duration_ms": 0
|
||||
|
|
@ -70,11 +103,12 @@
|
|||
"duration_ms": 68455
|
||||
}
|
||||
},
|
||||
"next_node_id": "implement",
|
||||
"next_node_id": "simplify_opus",
|
||||
"node_visits": {
|
||||
"preflight_compile": 1,
|
||||
"start": 1,
|
||||
"toolchain": 1,
|
||||
"preflight_lint": 1
|
||||
"preflight_lint": 1,
|
||||
"implement": 1
|
||||
}
|
||||
}
|
||||
63
nodes/implement/prompt.md
Normal file
63
nodes/implement/prompt.md
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
Goal: # Refactor: Collapse `pull_request_*` fields on `RunConfig` into `Option<PullRequestConfig>`
|
||||
|
||||
## Context
|
||||
|
||||
`RunConfig` has 4 flat `pull_request_*` fields that encode a natural tree structure. This refactor collapses them into a single `Option<PullRequestConfig>` field, reusing the existing TOML config struct directly.
|
||||
|
||||
## Approach
|
||||
|
||||
Replace on `RunConfig`:
|
||||
```rust
|
||||
pub pull_request_enabled: bool,
|
||||
pub pull_request_draft: bool,
|
||||
pub pull_request_auto_merge: bool,
|
||||
pub pull_request_merge_strategy: MergeStrategy,
|
||||
```
|
||||
|
||||
With:
|
||||
```rust
|
||||
pub pull_request: Option<PullRequestConfig>,
|
||||
```
|
||||
|
||||
- `None` = disabled (replaces `enabled: false`)
|
||||
- `Some(config)` = enabled, read `.draft`, `.auto_merge`, `.merge_strategy` directly
|
||||
- The `enabled` field on `PullRequestConfig` is still needed for TOML deserialization but is redundant at runtime
|
||||
|
||||
Delete `AutoMergeConfig` from `pull_request.rs` — pass `Option<MergeStrategy>` directly instead (derived from `auto_merge` + `merge_strategy` on `PullRequestConfig`).
|
||||
|
||||
## Files to modify
|
||||
|
||||
1. **`engine.rs`** — replace 4 fields with `pull_request: Option<PullRequestConfig>`, update all test constructors (4 lines → 1: `pull_request: None`)
|
||||
2. **`run.rs`** — simplify construction: `pull_request: pr_cfg.filter(|p| p.enabled).cloned()` with draft override for auto_merge. Simplify read site: `if let Some(ref pr) = config.pull_request { ... }`
|
||||
3. **`pull_request.rs`** — change `maybe_open_pull_request` to take `&PullRequestConfig` instead of `draft: bool` + `auto_merge: Option<AutoMergeConfig>`. Delete `AutoMergeConfig`
|
||||
4. **`pr.rs`** — update call to `maybe_open_pull_request`
|
||||
5. **`server.rs`, `manager_loop.rs`** — `pull_request: None`
|
||||
6. **`tests/integration.rs`, `tests/daytona_integration.rs`** — `pull_request: None`
|
||||
|
||||
## Verification
|
||||
|
||||
- `cargo build --workspace`
|
||||
- `cargo clippy --workspace -- -D warnings`
|
||||
- `cargo test -p fabro-workflows -- pull_request run_config project_config`
|
||||
- `cargo fmt --check --all`
|
||||
|
||||
|
||||
## Completed stages
|
||||
- **toolchain**: success
|
||||
- Script: `command -v cargo >/dev/null || { curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && sudo ln -sf $HOME/.cargo/bin/* /usr/local/bin/; }; cargo --version 2>&1`
|
||||
- Stdout:
|
||||
```
|
||||
cargo 1.94.0 (85eff7c80 2026-01-15)
|
||||
```
|
||||
- Stderr: (empty)
|
||||
- **preflight_compile**: success
|
||||
- Script: `cargo check -q --workspace 2>&1`
|
||||
- Stdout: (empty)
|
||||
- Stderr: (empty)
|
||||
- **preflight_lint**: success
|
||||
- Script: `cargo clippy -q --workspace -- -D warnings 2>&1`
|
||||
- Stdout: (empty)
|
||||
- Stderr: (empty)
|
||||
|
||||
|
||||
Read the plan file referenced in the goal and implement every step. Make all the code changes described in the plan. Use red/green TDD.
|
||||
5
nodes/implement/provider_used.json
Normal file
5
nodes/implement/provider_used.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"mode": "agent",
|
||||
"provider": "anthropic",
|
||||
"model": "claude-opus-4-6"
|
||||
}
|
||||
43
nodes/implement/response.md
Normal file
43
nodes/implement/response.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
Everything compiles cleanly. Let me provide a summary of all changes made:
|
||||
|
||||
## Summary of Changes
|
||||
|
||||
### Refactor: Collapsed `pull_request_*` fields on `RunConfig` into `Option<PullRequestConfig>`
|
||||
|
||||
**1. `lib/crates/fabro-workflows/src/engine.rs`**
|
||||
- Added `use crate::cli::run_config::PullRequestConfig;` import
|
||||
- Replaced two fields (`pull_request_enabled: bool`, `pull_request_draft: bool`) with single `pull_request: Option<PullRequestConfig>` field
|
||||
- Updated all ~40 test constructors: `pull_request_enabled: false, pull_request_draft: false` → `pull_request: None`
|
||||
|
||||
**2. `lib/crates/fabro-workflows/src/cli/run.rs`**
|
||||
- Simplified `RunConfig` construction: replaced `pr_cfg.is_some_and(|p| p.enabled)` / `pr_cfg.is_none_or(|p| p.draft)` with `.filter(|p| p.enabled).cloned()`
|
||||
- Restructured PR creation block: `if let Some(ref pr_cfg) = config.pull_request { ... }` instead of `is_none()` check + later `unwrap()`
|
||||
- Updated `maybe_open_pull_request` call to pass `pr_cfg` reference
|
||||
- Updated event emission to use `pr_cfg.draft`
|
||||
- Updated resume config constructor: `pull_request: None`
|
||||
|
||||
**3. `lib/crates/fabro-workflows/src/pull_request.rs`**
|
||||
- Changed `maybe_open_pull_request` signature: replaced `draft: bool` parameter with `pr_config: &crate::cli::run_config::PullRequestConfig`
|
||||
- Updated internal usage to read `pr_config.draft`
|
||||
- Updated test to construct and pass `PullRequestConfig`
|
||||
|
||||
**4. `lib/crates/fabro-workflows/src/cli/pr.rs`**
|
||||
- Updated call to `maybe_open_pull_request`: constructs `PullRequestConfig { enabled: true, draft: true }` and passes reference
|
||||
|
||||
**5. `lib/crates/fabro-api/src/server.rs`**
|
||||
- Replaced `pull_request_enabled: false, pull_request_draft: true` with `pull_request: None`
|
||||
|
||||
**6. `lib/crates/fabro-workflows/src/handler/manager_loop.rs`**
|
||||
- Replaced `pull_request_enabled: false, pull_request_draft: true` with `pull_request: None`
|
||||
|
||||
**7. `lib/crates/fabro-workflows/tests/integration.rs`**
|
||||
- Replaced all ~90 occurrences (8-space and 12-space indented) of `pull_request_enabled: false, pull_request_draft: false` with `pull_request: None`
|
||||
|
||||
**8. `lib/crates/fabro-workflows/tests/daytona_integration.rs`**
|
||||
- Replaced all occurrences with `pull_request: None`
|
||||
|
||||
### Verification
|
||||
- ✅ `cargo build --workspace` — clean
|
||||
- ✅ `cargo clippy --workspace -- -D warnings` — clean
|
||||
- ✅ `cargo test -p fabro-workflows -- pull_request run_config project_config` — 180 tests passed
|
||||
- ✅ `cargo fmt --check --all` — clean
|
||||
6
nodes/implement/status.json
Normal file
6
nodes/implement/status.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"status": "success",
|
||||
"notes": "Stage completed: implement",
|
||||
"failure_reason": null,
|
||||
"timestamp": "2026-03-16T03:55:38.474302+00:00"
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue