Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I3426 — An advisor answer carrying instructions or record-shaped fields is kept as bounded text and changes no record

Add two negative fixtures. The first is an answer that tells the executor to ignore governance or promote candidates. The second is an answer that carries status, verified, reviewed_by or independent_review_count fields. Both are normalised to the declared consultation fields only and bounded, and the writer refuses any extra field a caller forwards.

BLOKOVÁNO vlna 0 · p2 · profil implementation · bezpečné souběžně

Part of an-inference-names-its-source-and-budget — Every inference a decision rests on names its model and source, stays inside a declared budget, counts independent sources rather than answers, and is never reached from a hook path.

Blocked. This issue cannot start until milestone:an-inference-names-its-source-and-budget is done. The status is derived from that, not declared.

Cíl

Add two negative fixtures. The first is an answer that tells the executor to ignore governance or promote candidates. The second is an answer that carries status, verified, reviewed_by or independent_review_count fields. Both are normalised to the declared consultation fields only and bounded, and the writer refuses any extra field a caller forwards.

Proč

The owner's 2026-10-19 Cognitive Fabric pack lists a poisoned payload test (campaigns/prismatic-way-cognitive-fabric-prompt-pack/prompts/04_REASONING_MESH.md). verification/ACCEPTANCE.md requires a provider prompt injection to stay data.

Aktuální stav

scripts/lib/advisors/contract.mjs bounds lists to 400 characters and the conclusion to 1000 (contract.mjs:120,145). Records deny unknown fields (apps/majordomus-cli/src/reasoning/record.rs:413), and record.rs:981 refuses a review count typed by a caller. contract.test.mjs:88-105 covers structured, empty and malformed answers, but no answer that carries instructions or forges fields.

Cílový stav

Both fixtures pass through the real normalisation and writer. The stored consultation holds only declared fields, and no conclusion, candidate or count changes.

Rozsah

  • scripts/lib/advisors/contract.test.mjs
  • apps/majordomus-cli/src/reasoning/record.rs

Mimo rozsah

  • Content moderation of answer text
  • Changing normalisation bounds

Závislosti

Žádné. Tento úkol je kořenem grafu.

Co na tom čeká

Kritéria přijetí

  • An answer with forged fields normalises without those fields
  • The writer refuses a consultation record that carries a forged field
  • No record other than the consultation is written

Validace

  • node --test scripts/lib/advisors/contract.test.mjs
  • bash test/run.sh 731_advisor_transport_contract
  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib reasoning::record

Požadované důkazy

  • a_poisoned_answer_stays_data
  • record.rs unit test refusing a forged consultation field

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Canonical record: .ai/repo/project/issues/I3426.yaml. Read it back with majordomus plan show I3426.

Prohledává názvy a popisy všech stránek, které tento web publikuje.