Repository navigation
Add multi-stage flows: audit-triage, remediate-verify, full - #9
Merged
Merged
Conversation
The harness's core loop — audit, triage, patch, verify — was four
manual invocations whose wiring lived in the skills' docs: triage
needs the audit report plus --auto to run headless, patch consumes
the triaged findings, and verify needs the original report and a
patched checkout that nothing produced automatically.
flow commands chain the stages through their artifacts. Each stage
runs as an ordinary background run (its own journal, result and
attach session), and the pipeline worker derives the next stage's
inputs from the previous stage's result: the audit report feeds
triage (--auto), the triaged findings feed patch, and verify audits
a fresh clone of the target with the generated PATCHES applied
(conflicting patches are skipped, not fatal).
flow audit-triage <repo> audit + triage; output = triaged
findings, the hand-off point
flow remediate-verify <f> <repo> patch + verify from triaged
findings (or an audit report)
flow full <repo> the whole loop
flow status [id] list flows / stage detail
Flows are detached workers like runs: Ctrl-C detaches without
cancelling, interactive flows follow stage-by-stage, and every stage
is inspectable with attach/result/logs.
Verified end to end against the fake harness and a real git target:
all four stages chained, the patch applied to the verify checkout,
failure stopping the flow with later stages pending. Tests cover the
artifact chaining (phase-1 output wired into phase-2 input), failure
propagation, and patch application against real git repositories.
💘 Generated with Crush
Assisted-by: Crush:rits/zai-org/glm-5-3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The harness's core loop — audit, triage, patch, verify — was four manual invocations whose wiring lived in the skills' docs. This PR adds
flowcommands that chain the stages through their artifacts, with each stage running as an ordinary background run (own journal, result, attach session):flow audit-triage <repo>— secure-code-audit, then triage of its report with--auto(headless-safe). Output: the triaged findings (<repo>-triage.json) — the explicit hand-off point.flow remediate-verify <findings> <repo>— patch from the triaged findings (or an audit report), then verify-remediation against a fresh clone of the target with the generated PATCHES applied (conflicting patches skipped, not fatal).flow full <repo>— the whole loop end to end.flow status [id]— list flows / show per-stage state, run ids and artifacts.result.jsonartifacts; a failing stage fails the flow with later stages left pending; stop signals cancel the current stage gracefully. Interactive flows follow stage-by-stage (Ctrl-C detaches without cancelling); every stage is inspectable withattach/result/logssince they're normal runs.Verification
flow statusshowing stage detail.--autoincluded), failure propagation (later stages pending), andbuildPatchedRepoagainst real git repositories (applicable patches apply, conflicting ones skip).💘 Generated with Crush