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.

I1950 — Text, který běh vypsal, se maskuje jednou sadou pravidel

Portovat tabulku přihlašovacích údajů, kterou aplikuje lib/capture.sh, do jednoho redaktoru v Rustu, držet ho shodný s tabulkou v shellu jednou fixturou, aby každý text, který publikace důkazů nese, procházel jednou sadou pravidel (ADR 0087, rozhodnutí 14).

HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně

Součást test-evidence — Každé ověřitelné tvrzení a widget se na každém povrchu převádí na testovací důkaz vázaný na revizi.

Cíl

Portovat tabulku přihlašovacích údajů, kterou aplikuje lib/capture.sh, do jednoho redaktoru v Rustu, držet ho shodný s tabulkou v shellu jednou fixturou, aby každý text, který publikace důkazů nese, procházel jednou sadou pravidel (ADR 0087, rozhodnutí 14).

Proč

Publikace ponese text, který běh vytiskl, například konec logu selhání. Repozitář má shellovou tabulku přístupových údajů, redaktor polí strukturovaného vstupu označených schématem a odmítnutí cest stroje v publikovaných artefaktech, ale žádnou funkci, která by z vytištěného textu udělala veřejný text.

Aktuální stav

mj_capture_redact v lib/capture.sh aplikuje MJ_CAPTURE_SECRETS a MJ_CAPTURE_SECRET_ASSIGN přes sed; execution/redact.rs redaktuje pole označená ve schématu; generate::forbidden_in odmítá cesty stroje a značky přihlašovacích údajů. Crate nemá závislost na regex.

Cílový stav

apps/majordomus-cli/src/redaction.rs nabízí redact_secrets, normalise_machine_paths a public_text s ručně psanými matchery; jedna fixtura jej drží shodný s tabulkou v shellu; a jeho výstup projde generate::forbidden_in.

Rozsah

  • apps/majordomus-cli/src/redaction.rs
  • apps/majordomus-cli/src/lib.rs
  • apps/majordomus-cli/tests/redaction.rs
  • test/fixtures/redaction
  • test/cases/504_public_text_is_redacted_once.sh

Mimo rozsah

  • lib/capture.sh a lib/usecase.sh: přepnutí shellu na volání Rustu je pozdější změna
  • apps/majordomus-cli/src/execution and apps/majordomus-cli/src/evidence
  • Nová závislost crate
  • docs/CLAIMS.yaml: slice publikace tvrdí chování, když publikuje text

Závislosti

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

Co na tom čeká

Kritéria přijetí

  • Redaktor v Rustu a shellová tabulka produkují stejný výstup na jedné sdílené fixtuře
  • Výstup public_text prochází generate::forbidden_in
  • cargo test --test redaction a doctesty redakce procházejí

Validace

  • bash test/run.sh 504_public_text_is_redacted_once
  • cargo test --test redaction

Požadované důkazy

  • one_redactor

Důkazy

pokrývátypcommandvýsledeku commitu
one_redactortestbash test/run.sh 504_public_text_is_redacted_onceok na 4090b2b8ae: shellová tabulka je držena na každém řádku test/fixtures/redaction/shapes.tsv a test v Rustu na témže souboru; cargo test --test redaction nebyl lokálně spuštěn: běh CI validate 37744906831 na stromě totožném s 4090b2b8ae spustil tests/redaction.rs s 10 prošlo, 0 selhalo4090b2b

Časová osa

zahájeno
2026-10-08T10:50:03Z
ověřeno
2026-10-08T10:52:27Z
dokončeno
2026-10-08T10:52:30Z

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.

Kanonický záznam: .ai/repo/project/issues/I1950.yaml. Přečtěte jej zpět pomocí majordomus plan show I1950.

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