Skip to content

docs: document classification routing and custom workflow graphs - #1015

Merged
EivMeyer merged 1 commit into
mainfrom
eivind/readme-routing-config
Aug 13, 2026
Merged

docs: document classification routing and custom workflow graphs#1015
EivMeyer merged 1 commit into
mainfrom
eivind/readme-routing-config

Conversation

@EivMeyer

Copy link
Copy Markdown
Collaborator

Two gaps in the current README, both verified against main at 7be7eea.

The routing isn't on the page. The README presents the executor–verifier loop as universal. getBase() in src/config-router.ts:61-73 says otherwise: TRIVIAL goes to single-worker with no validator at all, and any DEBUG above TRIVIAL goes to debug-workflow, which is an investigator/fixer/tester shape rather than executor plus verifier. "Fix a login bug" is one of the README's own good-fit examples and lands on that second path. The new table lists the rules in router precedence order, first match wins, and states the TRIVIAL exception rather than leaving it to be discovered.

--config was invisible. zeroshot run --config (cli/index.js:2709) and zeroshot config list/show/validate (cli/index.js:4709+) appeared zero times in the README, so the page reads as a fixed pipeline when the runtime is a general graph engine. Adds a short section and both commands in the reference block.

Every claim in the new sections checked against source:

  • validator counts per workflow: the condition gates in cluster-templates/base-templates/full-workflow.json, against getValidatorCount()
  • CRITICAL's two stages: the meta-coordinator loading quick-validation then heavy-validation, 2 validators each
  • "CRITICAL is meant to be rare": the bias instruction in both conductor prompts in conductor-bootstrap.json
  • trigger predicates: src/logic-engine.js:12,166 evaluates them in a vm sandbox
  • cycle rule: src/config-validator.js:1660-1680 errors on a 3+ ring with no escape logic, warns when there is
  • nesting: MAX_DEPTH = 5 in src/config-validator.js:84

One copy change

The Open Engine section promised "approve, or a reproducible failure." Only validator-requirements requires command evidence (criteriaResults[].evidence with command, exitCode, output). validator-code and validator-security return free-text errors[], and an instant-reject on a swallowed error has no command to re-run. Changed to the specific objections that blocked it, which is what those validators actually return.

Docs only. Prettier clean. Companion to #1014; both lift the parts of #863 that are still true after the README rewrite in #945.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LeBinMzJJjDvW2fPSAu14S

@greptile-apps

greptile-apps Bot commented Aug 13, 2026

Copy link
Copy Markdown

Greptile Summary

The PR expands the README with classification routing, custom workflow configuration, and CLI references, while refining the description of validator rejection output.

  • Documents the available workflow routes and agent compositions.
  • Adds examples for listing, inspecting, validating, and running custom graphs.
  • Clarifies that verifier rejections provide the objections that blocked approval.

Confidence Score: 4/5

The PR should not merge until the outstanding foreground PR-mode routing documentation mismatch is corrected.

The README promises a validator for every TRIVIAL TASK or DEBUG --pr/--ship run, while both conductor transforms omit autoPr when calling getConfig, allowing foreground runs to select single-worker without validation.

Files Needing Attention: README.md

Important Files Changed

Filename Overview
README.md Adds routing and workflow documentation, but the PR-mode routing row remains inconsistent with the foreground conductor call path.

Reviews (2): Last reviewed commit: "docs: document classification routing an..." | Re-trigger Greptile

Comment thread README.md
The README describes the executor-verifier loop as if it were universal.
getBase() in src/config-router.ts routes TRIVIAL to single-worker with zero
validators, and any DEBUG above TRIVIAL to debug-workflow, so a reader can't
tell from the page what a given task will actually get. Adds the routing
table, in router precedence order, with the TRIVIAL exception stated.

--config and the zeroshot config commands appeared zero times in the README
despite shipping in cli/index.js. Adds a short section on writing your own
graph, plus both commands in the reference block.

Also drops the "reproducible failure" promise in the Open Engine section.
validator-requirements requires command evidence for PASS/FAIL, but
validator-code and validator-security return free-text errors[] with no
command to re-run, so the guarantee doesn't hold for every rejection.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeBinMzJJjDvW2fPSAu14S
@EivMeyer
EivMeyer force-pushed the eivind/readme-routing-config branch from 70d72da to 36c322e Compare August 13, 2026 12:12
@EivMeyer
EivMeyer added this pull request to the merge queue Aug 13, 2026
Merged via the queue into main with commit 146b5e8 Aug 13, 2026
12 checks passed
@EivMeyer
EivMeyer deleted the eivind/readme-routing-config branch August 13, 2026 12:52
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 6.39.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant