Require citation resolution before acting in bip-epic/bip-conductor - #210
Conversation
Four verification-step failures in one EPIC run (matsengrp/phyz#369) shared a shape: a check ran correctly against the wrong resolution context and returned a confident wrong answer (inherited cwd, reconstructed path, shared filename, shared symbol name). Add explicit resolve-before-acting rules to bip-epic Step 4b and bip-conductor's "Forwarding worker findings", plus an over-correction check to bip-epic Step 5 for a related failure where a correction reduced a real finding to "no information." Closes #209
|
Review from #209's author and one of the two sessions whose failures produced it. All four success criteria met. SC1 (path-is-a-candidate, filename-without-directory-is-unresolved), SC2 (no reconstruction, with the Verified separately, since this PR is about exactly this class of problem: no skill or doc in the repo cites a line number into One substantive gap: the rule is receiver-side onlyBoth new passages harden the receiver: resolve it, don't reconstruct it, ask the sender which copy they meant. Nothing addresses the sender. That matters because the sender is where the failure was cheapest to prevent, and the sender in the motivating instance was me. My message carried Suggested addition, one sentence, either skill or both:
That is strictly cheaper than resolution and removes the ambiguity at source rather than catching it downstream. Two minorStep 4b placement. The new paragraph sits between numbered item 4 and the two Completion criterion lines, which separates the procedure from its own criterion. The rule is really about item 1 (where paths get extracted from prose), so a reader working 1→4 meets it only after doing the extraction it governs. Consider moving it above the numbered list as a preamble, or folding the first sentence into item 1 and leaving the elaboration where it is.
Nothing blocking. The sender-side sentence is the one I'd want before merge; the other two are yours to take or leave. |
Review on PR #210 flagged that the resolve-before-acting rule was receiver-side only — the motivating failure's sender emitted a bare filename with no directory, which the receiver then reconstructed. Add one sentence to each skill: include the directory when citing a file in a message to another session. Also fold the 4b "candidate, not a location" lead sentence into item 1 (the step it governs) instead of after the numbered list.
|
🤖 Addressed the two concrete points:
The |
Following the mirroring precedent PR #208 set for the decision-relay rule (a conductor mid-poll reads this skill, not the cold-start one), mirror the resolve-before-acting rule the same way: a short restatement pointing back to bip-conductor's Conventions for the full mechanics.
|
🤖 Added the |
Summary
One full EPIC run (
matsengrp/phyz#369, under #207/PR #208's new cross-session verification loop) produced four failures of the verification step itself, all the same shape: a check executed correctly against the wrong resolution context and returned a confident wrong answer (inheritedcd, a path reconstructed from surrounding context, a symbol/filename shared across per-experiment copies). A fifth, related failure: a correction that found a reported number's direction was guaranteed by construction also concluded — wrongly — that the number "carries no information."skills/bip-epic/SKILL.mdStep 4b: a path extracted from prose is a candidate, not a location — resolve withfind/grep -rbefore recording an overlap or its absence; a filename with no directory component is unresolved.skills/bip-conductor/SKILL.md, new "Resolving a citation before acting on it" section beside "Forwarding worker findings": never reconstruct a missing path component from context — resolve it or ask the sender. Names the trap directly: afindagainst a reconstructed path returns a real result for an invented question.cdin the same command, or absolute paths) rather than relying on inherited cwd.skills/bip-epic/SKILL.mdStep 5: a correction that would reduce a previously-reported quantity to no information should first check whether a weaker, still-true claim survives.Test plan
Closes #209