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
* docs: add schema-driven create.rs refactor design spec
Design for replacing the 11K-line create.rs with a schema-driven
generic dispatch using existing registry factory functions. Targets
~73% line reduction by eliminating the 5,400-line match statement.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* update skills
* feat: add minimumvertexcover to lcs reduction
* Add ThreeDimensionalMatching to ThreePartition reduction
* Add NAE-SAT to Partition Into Perfect Matchings reduction
* feat: add SetSplitting to Betweenness reduction
* Add 3SAT to QuadraticCongruences reduction
* Add 3SAT to preemptive scheduling reduction
* Add SAT to integral flow homologous arcs reduction
* style: rustfmt fixes for NAE-SAT reduction tests
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Add KSatisfiability to TimetableDesign reduction
* Add KSatisfiability to CyclicOrdering reduction
* feat: add KSatisfiability to OneInThreeSatisfiability reduction (#862)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add 3sat to acyclic partition reduction
* Add direct ThreeDimensionalMatching to ILP reduction
* fix review
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .claude/skills/add-rule/SKILL.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -121,7 +121,9 @@ Link via `#[cfg(test)] #[path = "..."] mod tests;` at the bottom of the rule fil
121
121
122
122
Add a builder function in `src/example_db/rule_builders.rs` that constructs a small, canonical instance for this reduction. Follow the existing patterns in that file. Register the builder in `build_rule_examples()`.
123
123
124
-
## Step 5: Document in paper
124
+
## Step 5: Document in paper (MANDATORY — DO NOT SKIP)
125
+
126
+
**This step is NOT optional.** Every reduction rule MUST have a corresponding `reduction-rule` entry in the paper. Skipping documentation is a blocking error — the PR will be rejected in review. Do not proceed to Step 6 until the paper entry is written and `make paper` compiles.
125
127
126
128
Write a `reduction-rule` entry in `docs/paper/reductions.typ`. **Reference example:** search for `reduction-rule("KColoring", "QUBO"` to see the gold-standard entry — use it as a template. For a minimal example, see MinimumVertexCover -> MaximumIndependentSet.
127
129
@@ -224,5 +226,6 @@ Aggregate-only reductions currently have a narrower CLI surface:
224
226
| Missing `extract_solution` mapping state | Store any index maps needed in the ReductionResult struct |
225
227
| Not adding canonical example to `example_db`| Add builder in `src/example_db/rule_builders.rs`|
226
228
| Not regenerating reduction graph | Run `cargo run --example export_graph` after adding a rule |
229
+
| Skipping Step 5 (paper documentation) |**Every rule MUST have a `reduction-rule` entry in the paper. This is mandatory, not optional. PRs without documentation will be rejected.**|
227
230
| Source/target model not fully registered | Both problems must already have `declare_variants!`, aliases as needed, and CLI create support -- use `add-model` skill first |
228
231
| Treating a direct-to-ILP rule as a toy stub | Direct ILP reductions need exact overhead metadata and strong semantic regression tests, just like other production ILP rules |
0 commit comments