You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/skills/review-implementation/SKILL.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -88,12 +88,12 @@ Read the implementation files and assess:
88
88
### For Models:
89
89
1.**`evaluate()` correctness** -- Does it check feasibility before computing the objective? Does it return `SolutionSize::Invalid` / `false` for infeasible configs?
90
90
2.**`dims()` correctness** -- Does it return the actual configuration space? (e.g., `vec![2; n]` for binary)
91
-
3.**`problem_size_names`/`problem_size_values`consistency** -- Do the names match what `ReductionOverhead` uses?
91
+
3.**Size getter consistency** -- Do the inherent getter methods (e.g., `num_vertices()`, `num_edges()`) match names used in overhead expressions?
92
92
4.**Weight handling** -- Are weights managed via inherent methods, not traits?
93
93
94
94
### For Rules:
95
95
1.**`extract_solution` correctness** -- Does it correctly invert the reduction? Does the returned solution have the right length (source dimensions)?
96
-
2.**Overhead accuracy** -- Does `poly!(...)` reflect the actual size relationship?
96
+
2.**Overhead accuracy** -- Does the `overhead = { field = "expr" }` reflect the actual size relationship?
97
97
3.**Example quality** -- Is it tutorial-style? Does it use the instance from the issue? Does the JSON export include both source and target data?
98
98
4.**Paper quality** -- Is the reduction-rule statement precise? Is the proof sketch sound? Is the example figure clear?
let src = src.downcast_ref::<MaximumIndependentSet<SimpleGraph, i32>>().unwrap();
@@ -296,23 +294,17 @@ For full type control, you can also chain `ReduceTo::reduce_to()` calls manually
296
294
<details>
297
295
<summary>Overhead evaluation</summary>
298
296
299
-
Each reduction declares how the output problem size relates to the input, expressed as polynomials. The `poly!` macro provides concise syntax:
297
+
Each reduction declares how the output problem size relates to the input, expressed as symbolic `Expr` expressions. The `#[reduction]` macro parses overhead strings at compile time:
Expressions support: constants, variables, `+`, `*`, `^`, `exp()`, `log()`, `sqrt()`. Each problem type provides inherent getter methods (e.g., `num_vertices()`, `num_edges()`) that the overhead expressions reference.
0 commit comments