test: [expected failures] WRAP_ACTIONS fixtures needing implementation fixes - #162
Conversation
There was a problem hiding this comment.
Quorum verdict: GOOD-WITH-NITS (4 reviewers flagged variants of the same two issues) — spec: EL §2.2.6 repr_py (newline must be escaped — spec gives the exact worked example) via RFC 0008 WrappedAction.Args forwarding.
(1) Spec self-tension, correctly disclosed but under-weighted: the fixture's own onRun args contain a literal U+000A, which §5.2's ArgString Cc-exclusion arguably forbids — as written the template may be spec-invalid, so promotion is contingent on resolving §5.2 vs the multi-line python -c convention (which the Deadline Docker container env also relies on; if §5.2 is enforced, that breaks service-wide). Resolve the spec question first.
(2) Attribution: README says "implementation bug (openjd-rs)" but the 2026-08-12 sweep shows it fails BOTH implementations — state Python's status.
(3) Partial overlap with PR #165's expr2.2.6--repr-py-newline-roundtrip (same root defect); the end-to-end wrap path justifies keeping both, but cross-reference them.
|
Quorum review (5 independent agents). 1 fixture + README. Verdict: GOOD-WITH-NITS. The repr_py newline defect is real (fails BOTH implementations per the 2026-08-12 sweep) and the end-to-end wrap-forwarding angle adds value over PR #165's unit-level twin — but the fixture is hostage to an unresolved spec tension its own README flags, and the README under-attributes the failure. Cross-PR: this branch uses component-level WRAP_ACTIONS/proposed/ while PR #166 uses kind-level job_templates/proposed/ — the five expected-failures PRs should standardize on one placement (kind-level routes promotion mechanically). |
Spec-correct fixtures that FAIL against current reference implementations, parked in a proposed/ directory the conformance runner does not discover, so merging keeps the suite green. Each entry in proposed/README.md records the observed output, spec citation, and classification. Promote each fixture up one directory unchanged when its implementation fix lands. Companion to conformance-wrap-actions-gaps. Review: quorum-review fixes — kind-level proposed/ placement (jobs/proposed/); README corrected: the defect fails BOTH implementations (2026-08-12 sweep), the §5.2 ArgString conflict is now the stated promotion gate rather than a footnote (the fixture's own args are arguably spec-invalid until that is resolved), and the unit-level repr_py twin in the func-lib expected-failures PR is cross-referenced. Signed-off-by: David Leong <116610336+leongdl@users.noreply.github.com>
8ad36ab to
cf644fb
Compare
|
Quorum-review fixes applied and pushed (rebased onto mainline 3069673):
|
Important
Expected-failure fixtures — do not expect these to pass. Every fixture in this PR is believed spec-correct and FAILS against at least one current reference implementation. They are parked in a
proposed/directory the conformance runner does not discover, so merging keeps the suite green. Each has a README entry with the observed output, spec citation, and classification. When a fix lands, promote the fixture up one directory unchanged — it becomes the regression test.Contents (1 fixture)
wrap-repr-py-escapes-newline-in-wrapped-args— implementation bug in both openjd-rs and the Python CLI. Expression Language §2.2.6 is explicit (repr_py("hello\nworld")→'hello\\nworld'), but both emit the newline raw inside the quotes, producing an invalid Python literal. This breaks RFC 0008's own recommended wrap-forwarding patternrepr_py(WrappedAction.Args)for any multi-line arg.The README also records a related spec/suite inconsistency worth resolving alongside: Template Schemas §5.2 forbids Cc characters (newlines) in
<ArgString>and the WRAP_ACTIONS security matrix claims newline args are rejected — but both implementations accept them and the suite's own multi-linepython -cconvention depends on the acceptance. The two cannot both stand.Companion to the green-fixture PR from branch
conformance-wrap-actions-gaps.