mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-08-28 05:27:41 +00:00
Fix two validation warnings in docs workflows and treat warnings as failures
- nlspec-conformance: add retry_target="fix" to goal_gate node test_full - solitaire: fix fallback_retry_target reference from impl_game_logic to impl_logic - run_tests.sh: fail validate phase on warnings, not just errors Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
7836eb4eaa
commit
69e82a22f0
6 changed files with 16 additions and 10 deletions
|
|
@ -48,7 +48,7 @@ digraph NLSpecConformance {
|
|||
gate_quick [shape=diamond, label="Quick suite passing?"]
|
||||
|
||||
// Phase 4: Full conformance
|
||||
test_full [label="Full Conformance", shape=parallelogram, script="make conformance-full 2>&1 || true", goal_gate=true]
|
||||
test_full [label="Full Conformance", shape=parallelogram, script="make conformance-full 2>&1 || true", goal_gate=true, retry_target="fix"]
|
||||
gate_full [shape=diamond, label="All tests passing?"]
|
||||
|
||||
// Wiring
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ digraph BuildSolitaire {
|
|||
rankdir=LR,
|
||||
default_max_retry=3,
|
||||
retry_target="impl_setup",
|
||||
fallback_retry_target="impl_game_logic",
|
||||
fallback_retry_target="impl_logic",
|
||||
model_stylesheet="
|
||||
* { llm_model: claude-sonnet; llm_provider: anthropic; }
|
||||
.hard { llm_model: claude-opus; llm_provider: anthropic; }
|
||||
|
|
@ -207,11 +207,11 @@ The graph sets two levels of retry targets:
|
|||
```dot
|
||||
graph [
|
||||
retry_target="impl_setup",
|
||||
fallback_retry_target="impl_game_logic"
|
||||
fallback_retry_target="impl_logic"
|
||||
]
|
||||
```
|
||||
|
||||
If a node fails and has no local retry target, Arc jumps back to `impl_setup` to re-attempt from project setup. If that target itself can't recover, Arc falls back further to `impl_game_logic`. This creates a cascading recovery strategy without cluttering every node with retry configuration.
|
||||
If a node fails and has no local retry target, Arc jumps back to `impl_setup` to re-attempt from project setup. If that target itself can't recover, Arc falls back further to `impl_logic`. This creates a cascading recovery strategy without cluttering every node with retry configuration.
|
||||
|
||||
### Three-tier model routing
|
||||
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@
|
|||
| 7 | examples/clone-substack/clone-substack.dot | PASS | 578 lines |
|
||||
| 8 | examples/definition-of-done/spec-dod-multimodel.dot | PASS | fixed condition quoting + fallbacks |
|
||||
| 9 | examples/definition-of-done/spec-dod.dot | PASS | fixed condition quoting + fallbacks |
|
||||
| 10 | examples/nlspec-conformance/n-l-spec-conformance.dot | PASS | warning: goal_gate without retry_target |
|
||||
| 10 | examples/nlspec-conformance/n-l-spec-conformance.dot | PASS | added retry_target="fix" to goal_gate node |
|
||||
| 11 | examples/semantic-port/semantic-port.dot | PASS | added fallback edges |
|
||||
| 12 | examples/solitaire/build-solitaire.dot | PASS | warning: missing retry_target |
|
||||
| 12 | examples/solitaire/build-solitaire.dot | PASS | fixed fallback_retry_target to match node name |
|
||||
| 13 | execution/context/example.dot | PASS | added start/exit |
|
||||
| 14 | execution/failures/example.dot | PASS | added start/exit |
|
||||
| 15 | execution/failures/example-02.dot | PASS | added start/exit |
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ digraph NLSpecConformance {
|
|||
gate_quick [shape=diamond, label="Quick suite passing?"]
|
||||
|
||||
// Phase 4: Full conformance
|
||||
test_full [label="Full Conformance", shape=parallelogram, script="make conformance-full 2>&1 || true", goal_gate=true]
|
||||
test_full [label="Full Conformance", shape=parallelogram, script="make conformance-full 2>&1 || true", goal_gate=true, retry_target="fix"]
|
||||
gate_full [shape=diamond, label="All tests passing?"]
|
||||
|
||||
// Wiring
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ digraph BuildSolitaire {
|
|||
rankdir=LR,
|
||||
default_max_retry=3,
|
||||
retry_target="impl_setup",
|
||||
fallback_retry_target="impl_game_logic",
|
||||
fallback_retry_target="impl_logic",
|
||||
model_stylesheet="
|
||||
* { llm_model: claude-sonnet; llm_provider: anthropic; }
|
||||
.hard { llm_model: claude-opus; llm_provider: anthropic; }
|
||||
|
|
|
|||
|
|
@ -31,8 +31,14 @@ run_one() {
|
|||
case "$PHASE" in
|
||||
validate)
|
||||
if "$ARC" validate "$dot" > "$result_file.log" 2>&1; then
|
||||
echo "PASS" > "$result_file"
|
||||
echo " PASS $rel"
|
||||
if grep -qi 'warn' "$result_file.log"; then
|
||||
echo "FAIL" > "$result_file"
|
||||
echo " FAIL $rel (warnings)"
|
||||
grep -i 'warn' "$result_file.log" | head -3 >&2
|
||||
else
|
||||
echo "PASS" > "$result_file"
|
||||
echo " PASS $rel"
|
||||
fi
|
||||
else
|
||||
echo "FAIL" > "$result_file"
|
||||
echo " FAIL $rel"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue