From 29f3d451c77cd7470401dc96ee798a8ecf6f5e0d Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 8 Apr 2026 19:15:19 +0000 Subject: [PATCH] fix: fix: predictor should dispatch actions through vault, not by filing action-labeled issues (#434) Co-Authored-By: Claude Opus 4.6 (1M context) --- formulas/run-predictor.toml | 47 ++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/formulas/run-predictor.toml b/formulas/run-predictor.toml index eb14412..4f4971e 100644 --- a/formulas/run-predictor.toml +++ b/formulas/run-predictor.toml @@ -119,27 +119,26 @@ For each weakness you identify, choose one: **Suggested action:** **EXPLOIT** — high confidence, have a theory you can test: - File a prediction/unreviewed issue AND an action issue that dispatches - a formula to generate evidence. + File a prediction/unreviewed issue AND a vault PR that dispatches + a formula to generate evidence (AD-006: external actions go through vault). - The prediction explains the theory. The action generates the proof. - When the planner runs next, evidence is already there. + The prediction explains the theory. The vault PR triggers the proof + after human approval. When the planner runs next, evidence is already there. - Action issue body format (label: action): - Dispatched by predictor to test theory in #. + Vault dispatch (requires lib/vault.sh): + source "$PROJECT_REPO_ROOT/lib/vault.sh" - ## Task - Run with focus on . + TOML_CONTENT="# Vault action: predict-- +context = \"Test prediction #: \" +unblocks = [\"#\"] - ## Expected evidence - Results in evidence//-.json - - ## Acceptance criteria - - [ ] Formula ran to completion - - [ ] Evidence file written with structured results - - ## Affected files - - evidence// +[execution] +formula = \"\" +focus = \"\" +# Expected evidence: evidence//-.json +" + PR_NUM=$(vault_request "predict--" "$TOML_CONTENT") + echo "Vault PR #${PR_NUM} filed to test prediction #" Available formulas (check $PROJECT_REPO_ROOT/formulas/*.toml for current list): cat "$PROJECT_REPO_ROOT/formulas/"*.toml | grep '^name' | head -10 @@ -156,10 +155,10 @@ tea is pre-configured with login "$TEA_LOGIN" and repo "$FORGE_REPO". tea issues create --login "$TEA_LOGIN" --repo "$FORGE_REPO" \ --title "" --body "<body>" --labels "prediction/unreviewed" -2. File action dispatches (if exploiting): - tea issues create --login "$TEA_LOGIN" --repo "$FORGE_REPO" \ - --title "action: test prediction #NNN — <formula> <focus>" \ - --body "<body>" --labels "action" +2. Dispatch formula via vault (if exploiting): + source "$PROJECT_REPO_ROOT/lib/vault.sh" + PR_NUM=$(vault_request "predict-NNN-<formula>" "$TOML_CONTENT") + # See EXPLOIT section above for TOML_CONTENT format 3. Close superseded predictions: tea issues close <number> --login "$TEA_LOGIN" --repo "$FORGE_REPO" @@ -173,11 +172,11 @@ tea is pre-configured with login "$TEA_LOGIN" and repo "$FORGE_REPO". ## Rules -- Max 5 actions total (predictions + action dispatches combined) -- Each exploit counts as 2 (prediction + action dispatch) +- Max 5 actions total (predictions + vault dispatches combined) +- Each exploit counts as 2 (prediction + vault dispatch) - So: 5 explores, or 2 exploits + 1 explore, or 1 exploit + 3 explores - Never re-file a dismissed prediction without new evidence -- Action issues must reference existing formulas — don't invent formulas +- Vault dispatches must reference existing formulas — don't invent formulas - Be specific: name the file, the metric, the threshold, the formula - If no weaknesses found, file nothing — that's a strong signal the project is healthy