Problem
trusted_posture_requires_independent_witness
(crates/stella-cli/src/agent/engine.rs) auto-sets
PipelineConfig::require_independent_witness for a trusted posture that names
a distinct verifier. #1795 added require_independent_verifier (the verdict
gate), reachable only via the settings key
pipeline_require_independent_verifier.
Today the two gates read the SAME probe
(Pipeline::witness_author_independence, worker-vs-verifier model-ref), so the
trusted posture is fully protected by the witness gate alone and auto-setting
the second flag would change nothing. But that equivalence is incidental: if
either gate's probe ever specializes (e.g. the verdict gate keying on
agents.verifier per-role overrides — see #1785, where those overrides
already miss the witness author), the trusted posture would silently lose the
verdict-side refusal it believes it has.
What to do
Either auto-set both flags from the trusted-posture predicate (one line in
pipeline_config_for_approval_capability), or add a test pinning that the two
gates share one probe so a future divergence fails loudly. The second is
weaker but cheaper; the first is the honest parity.
Where to look
Done when
A trusted posture that names a distinct verifier refuses on BOTH gates (or a
test pins the shared probe), with the choice recorded in the PR.
Problem
trusted_posture_requires_independent_witness(
crates/stella-cli/src/agent/engine.rs) auto-setsPipelineConfig::require_independent_witnessfor a trusted posture that namesa distinct verifier. #1795 added
require_independent_verifier(the verdictgate), reachable only via the settings key
pipeline_require_independent_verifier.Today the two gates read the SAME probe
(
Pipeline::witness_author_independence, worker-vs-verifier model-ref), so thetrusted posture is fully protected by the witness gate alone and auto-setting
the second flag would change nothing. But that equivalence is incidental: if
either gate's probe ever specializes (e.g. the verdict gate keying on
agents.verifierper-role overrides — see #1785, where those overridesalready miss the witness author), the trusted posture would silently lose the
verdict-side refusal it believes it has.
What to do
Either auto-set both flags from the trusted-posture predicate (one line in
pipeline_config_for_approval_capability), or add a test pinning that the twogates share one probe so a future divergence fails loudly. The second is
weaker but cheaper; the first is the honest parity.
Where to look
crates/stella-cli/src/agent/engine.rs—trusted_posture_requires_independent_witness,pipeline_config_for_approval_capability,apply_pipeline_tuning.crates/stella-pipeline/src/pipeline.rs— the two pre-spend gates inrun.Done when
A trusted posture that names a distinct verifier refuses on BOTH gates (or a
test pins the shared probe), with the choice recorded in the PR.