Skip to content

fix(compile): quote pipeline name in generated YAML to handle colons and quotes#568

Merged
jamesadevine merged 2 commits into
mainfrom
fix/quote-pipeline-display-name
May 16, 2026
Merged

fix(compile): quote pipeline name in generated YAML to handle colons and quotes#568
jamesadevine merged 2 commits into
mainfrom
fix/quote-pipeline-display-name

Conversation

@jamesadevine
Copy link
Copy Markdown
Collaborator

@jamesadevine jamesadevine commented May 16, 2026

Summary

Reported by user on #563 after the merge:

/tests/safe-outputs/noop.lock.yml: (Line: 4, Col: 30, Idx: 154) ... Mapping values are not allowed in this context. — it looks like the generated pipelines are treating the colon as YAML keys!

Front-matter agent names like Daily safe-output smoke: noop were substituted bare into the top-level name: line via {{ agent_name }}-$(BuildID), producing:

name: Daily safe-output smoke: noop-$(BuildID)

ADO YAML parsers (and yaml.safe_load) read the second colon as a mapping indicator and reject the file. Every smoke fixture in #563 plus any user pipeline whose name contains a colon was affected.

The same family of bug applied to displayName: "{{ agent_name }}" in 1es-base.yml:37 and stage-base.yml:6 — an agent name containing an embedded " would corrupt the hand-wrapped quoted scalar. reject_pipeline_injection doesn't currently reject " in name values, so this was reachable from user input.

Fix

Two new template markers, each with a clear single responsibility:

  • {{ pipeline_name }} — top-level pipeline name: line only. Emits the agent name plus the -$(BuildID) suffix as a YAML double-quoted scalar. The BuildID suffix is required: ADO needs a varying token in the build-number format string, otherwise every run shows the same name in the runs view.

  • {{ agent_display_name }} — stage / job displayName: positions. Emits the agent name as a quoted scalar with NO BuildID suffix; stage labels are static and shouldn't carry per-run uniqueness.

Both go through a new yaml_double_quoted helper that escapes \, ", \n, \r, \t, and other ASCII control characters. $(...) ADO macros pass through untouched — $ has no special meaning inside a YAML double-quoted scalar.

Substitutions in the templates:

# Before, in src/data/base.yml and src/data/1es-base.yml:
name: {{ agent_name }}-$(BuildID)
# After:
name: {{ pipeline_name }}

# Before, in src/data/1es-base.yml:37 and src/data/stage-base.yml:6:
        displayName: "{{ agent_name }}"
# After:
        displayName: {{ agent_display_name }}

Sample expansions for an agent named My "special": agent:

name: "My \"special\": agent-$(BuildID)"
        displayName: "My \"special\": agent"

{{ agent_name }} is now used in exactly one place: src/data/threat-analysis.md (a markdown body, not parsed as YAML), where bare substitution is safe.

Design notes — why two markers, not one

A previous draft consolidated to a single {{ pipeline_name }} marker (with BuildID) used in both positions, on the theory that stage labels like "My agent-12345" give a useful visual link to the run. That was wrong: the BuildID suffix only belongs in the build-number format field, where ADO requires a varying token to disambiguate runs. Stage displayName: is a static label and putting BuildID there is just noise. The two-marker split makes the requirement explicit at every call site.

Test plan

  • 8 new unit tests for yaml_double_quoted: plain strings, the exact colon bug, backslash / embedded-quote / control-char escaping, ADO macro passthrough, and unicode.
  • 2 new integration tests (test_compiled_yaml_survives_tricky_agent_name_{standalone,1es}): compile fixtures whose names contain both embedded " and :, parse the output via serde_yaml::from_str, and assert the escaped form appears verbatim in name: and displayName: lines. The 1ES test specifically asserts the stage displayName: does not carry the -$(BuildID) suffix.
  • Updated test_compiled_yaml_structure to require the new {{ pipeline_name }} marker instead of the old {{ agent_name }} reference on the name: line.
  • All 26 smoke-suite lock files regenerated — each now has a properly quoted name: line, e.g.
    name: "Daily safe-output smoke: comment-on-work-item-$(BuildID)"
    and passes ado-aw check.
  • cargo build — clean.
  • cargo test — all suites pass: 8 yaml_double_quoted + 91 compiler (incl. 2 new tricky-name) + every other suite; bash_lint_tests with ENFORCE_BASH_LINT=1 and shellcheck on PATH passes.
  • cargo clippy — no net-new warnings on changed files.
  • docs/template-markers.md documents both new markers and tightens the {{ agent_name }} warning to make clear it's only safe in non-YAML positions.

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Rust PR Review

Summary: Looks good — correct fix, well-tested, and the security invariants hold. One minor residual exposure worth noting.

Findings

⚠️ Suggestions

  • src/data/1es-base.yml:37 and src/data/stage-base.yml:6displayName: "{{ agent_name }}" still substitutes front_matter.name raw into an already-quoted YAML scalar. A name containing " (e.g. My "special" agent) would produce displayName: "My "special" agent" — invalid YAML. The PR description correctly calls this out as a deferred follow-up, but it's worth filing a tracking issue so it isn't lost. reject_pipeline_injection doesn't currently reject " in name values.

✅ What Looks Good

  • Validation ordering is correct: validate_front_matter_identity (which calls reject_pipeline_injection on front_matter.name) runs at line 2871, well before pipeline_display_name is computed at line 2897 — so no injection can reach the quoted scalar.
  • yaml_double_quoted escape table is complete: \, ", \n, \r, \t, and all other ASCII control chars (\x00\x1f) are covered. The \xNN format is valid in both YAML 1.1 and 1.2 double-quoted scalars.
  • $(...) ADO macro passthrough is correct: $ carries no special meaning in a YAML double-quoted scalar; ADO expands the macro post-parse. No escaping needed and the test explicitly documents this.
  • Template files updated correctly: base.yml and 1es-base.yml use {{ pipeline_display_name }}; job-base.yml and stage-base.yml don't have a top-level name: field and are correctly left untouched.
  • 8 focused unit tests cover the exact bug (colon in name), escaping, ADO macro passthrough, and unicode — good regression coverage.
  • All 26 smoke lock files regenerated with properly quoted name: lines.

Generated by Rust PR Reviewer for issue #568 · ● 531.4K ·

@jamesadevine jamesadevine force-pushed the fix/quote-pipeline-display-name branch from 5434f37 to 92c5d4d Compare May 16, 2026 11:31
@jamesadevine jamesadevine changed the title fix(compile): quote pipeline name in generated YAML to handle colons fix(compile): quote pipeline name in generated YAML to handle colons and quotes May 16, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Rust PR Review

Summary: Solid fix with good test coverage — one stale-documentation issue in the new fixture files.

Findings

🐛 Bugs / Logic Issues

  • tests/fixtures/tricky-name-agent.md (body text) and tests/fixtures/tricky-name-1es-agent.md (body text): Both fixture files were clearly drafted before the PR settled on the unified {{ pipeline_name }} marker, and their markdown body text still references the two discarded draft marker names:

    tricky-name-agent.md:

    both the top-level `name:` line (via `{{ pipeline_display_name }}`) and
    any `displayName:` positions (via `{{ agent_display_name }}`).
    ```
    
    `tricky-name-1es-agent.md`:
    ```
    where the stage's `displayName:` is generated via
    `{{ agent_display_name }}` and the top-level pipeline `name:` is
    generated via `{{ pipeline_display_name }}`.
    

    Neither {{ pipeline_display_name }} nor {{ agent_display_name }} exists anywhere in the codebase — these were the initial-draft split-marker names described in the PR body's "Why one marker, not two" section. The actual marker is {{ pipeline_name }}. This is pure documentation noise with no runtime effect (the body text is markdown, not YAML), but it will confuse whoever reads these fixtures next. Both comments should be updated to reference {{ pipeline_name }}.

✅ What Looks Good

  • yaml_double_quoted implementation is correct: escapes \, ", \n, \r, \t, and low-ASCII control chars via \xNN (valid YAML 1.1/1.2 escape sequence). Non-ASCII Unicode passes through cleanly, and $(...) ADO macros are unaffected since $ has no special meaning in YAML double-quoted scalars.
  • All four templates covered: base.yml, 1es-base.yml, stage-base.yml all updated; job-base.yml correctly omitted because its stage displayName is hardcoded "Agent" (not agent-name-derived).
  • assert_required_markers updated from {{ agent_name }}{{ pipeline_name }} — keeps the template integrity check current.
  • {{ agent_name }} retained in replacements table for the one legitimate non-YAML use (threat-analysis.md markdown body).
  • 8 unit tests + 2 integration tests provide good regression coverage including the exact colon-in-name scenario from the bug report.

Generated by Rust PR Reviewer for issue #568 · ● 563.8K ·

…and quotes

Front-matter agent names like `Daily safe-output smoke: noop` produced
invalid YAML when substituted bare into the top-level `name:` line:
ADO YAML parsers (and `yaml.safe_load`) saw the second colon as a
mapping indicator and rejected the file with "Mapping values are not
allowed in this context." A sister bug affected hand-quoted
`displayName: "{{ agent_name }}"` lines in 1es-base.yml:37 and
stage-base.yml:6: an agent name containing an embedded `"` would
produce `displayName: "My "special" agent"` — invalid YAML.

Two new template markers split the responsibilities cleanly:

  * `{{ pipeline_name }}` — for the top-level pipeline `name:` line
    (the ADO build-number format). Emits the agent name plus the
    `-$(BuildID)` suffix as a YAML double-quoted scalar. The BuildID
    suffix is required: ADO needs a varying token in the build-number
    format string, otherwise every run shows the same name in the runs
    view.

  * `{{ agent_display_name }}` — for `displayName:` positions on
    stages and jobs. Emits the agent name as a quoted scalar with NO
    BuildID suffix; stage labels are static and shouldn't carry
    per-run uniqueness suffixes.

Both go through a new `yaml_double_quoted` helper that escapes `\`,
`"`, `\n`, `\r`, `\t`, and other ASCII control characters. `$(...)`
ADO macros pass through untouched — `$` has no special meaning inside
a YAML double-quoted scalar.

Substitutions in the templates:

  * src/data/base.yml — `name: {{ agent_name }}-$(BuildID)`
    → `name: {{ pipeline_name }}`
  * src/data/1es-base.yml — `name: {{ agent_name }}-$(BuildID)`
    → `name: {{ pipeline_name }}`
  * src/data/1es-base.yml:37 — `displayName: "{{ agent_name }}"`
    → `displayName: {{ agent_display_name }}`
  * src/data/stage-base.yml:6 — `displayName: "{{ agent_name }}"`
    → `displayName: {{ agent_display_name }}`

`{{ agent_name }}` is now used only inside src/data/threat-analysis.md
(a markdown body, not parsed as YAML), where bare substitution is safe.

Tests:

  * 8 new unit tests for `yaml_double_quoted` cover plain strings, the
    original colon bug, backslash / embedded-quote / control-character
    escaping, ADO macro passthrough, and unicode.
  * 2 new integration tests
    (`test_compiled_yaml_survives_tricky_agent_name_{standalone,1es}`)
    compile fixtures whose names contain both embedded `"` and `:`,
    parse the output via serde_yaml, and assert the escaped forms
    appear verbatim in the generated `name:` and `displayName:` lines.
    The 1ES test specifically asserts that the stage displayName does
    NOT carry the `-$(BuildID)` suffix.
  * `test_compiled_yaml_structure` updated to require the new
    `{{ pipeline_name }}` marker instead of the old `{{ agent_name }}`
    reference on the top-level `name:` line.
  * All 26 smoke-suite lock files in tests/safe-outputs regenerated
    with properly quoted names.
  * docs/template-markers.md documents both new markers and tightens
    the `{{ agent_name }}` warning to make clear it's only safe in
    non-YAML positions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jamesadevine jamesadevine force-pushed the fix/quote-pipeline-display-name branch from 92c5d4d to e5685f2 Compare May 16, 2026 11:36
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Rust PR Review

Summary: Fix is correct and well-structured — two minor issues worth addressing before merge.

Findings

🐛 Bugs / Logic Issues

  • tests/fixtures/tricky-name-agent.md:13 and tests/fixtures/tricky-name-1es-agent.md:14 — Both fixture markdown bodies reference {{ pipeline_display_name }} (a non-existent marker), but the actual marker introduced by this PR is {{ pipeline_name }}. This looks like a copy-paste from an earlier draft mentioned in the design notes. Doesn't affect test behaviour (it's just comment prose in the agent body, not a YAML position), but it's misleading and inconsistent with the rest of the PR.

⚠️ Suggestions

  • src/compile/common.rsyaml_double_quoted — The escape table handles \n, \r, and ASCII controls < 0x20, but YAML 1.2 also treats three Unicode scalars as line terminators in double-quoted scalars: U+0085 (NEL / Next Line), U+2028 (Line Separator), and U+2029 (Paragraph Separator). The current contains_newline validator in validate.rs only checks \n and \r, so these characters would pass front-matter validation and then reach the quoted output unescaped, producing corrupt YAML on a YAML 1.2-compliant parser. Suggest adding them to the escape arm:

    '\u{0085}' => out.push_str("\\x85"),
    '\u{2028}' => out.push_str("\\u2028"),
    '\u{2029}' => out.push_str("\\u2029"),

    (Alternatively, tighten contains_newline to cover them — but escaping is more defensive.)

✅ What Looks Good

  • Two-marker split ({{ pipeline_name }} vs {{ agent_display_name }}) is a clean design; the single-responsibility at each call site makes the intent obvious and the regression impossible to re-introduce by accident.
  • 8-test unit suite for yaml_double_quoted is thorough, especially the ADO-macro passthrough and Unicode smoke tests.
  • Integration tests compile actual fixtures and assert the escaped form appears verbatim — stronger than snapshot-only tests.
  • Keeping {{ agent_name }} alive but restricting it to the non-YAML threat-analysis.md position (with a clear doc warning) is the right call rather than ripping it out and breaking any downstream templates.
  • All 26 smoke lock files regenerated and verified with ado-aw check — good hygiene.

Generated by Rust PR Reviewer for issue #568 · ● 726.4K ·

@jamesadevine
Copy link
Copy Markdown
Collaborator Author

@copilot fix reviewer comments

Copy link
Copy Markdown
Contributor

Copilot AI commented May 16, 2026

@copilot fix reviewer comments

Done in 2a3f120. I fixed the reviewer items by updating the stale fixture marker references to {{ pipeline_name }} and hardening yaml_double_quoted to escape U+0085/U+2028/U+2029, with regression tests added and passing.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/githubnext/ado-aw/issues
    • Triggering command: /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/ado_aw-5cd66b4699336750 /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/ado_aw-5cd66b4699336750 /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.12i29wz1dhp34bciudlqzb4dc.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.15btcon2i8x89vm7dv3o62k1e.0uzfred.rcgu.o 64-REDACTED-linux-gnu/bin/gcc-ld/ld.lld /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.18tadnkxqth74oqw29u3739pc.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1995jcy810mpmhr6ufju2avvl.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1hbbgx7p97opci5mvqje7wetx.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1l6g83cfrj6b4x40nq0qad8b2.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1rrcezsyga3qzrcuqerezuvgl.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9.2ul�� /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9.2ye4dm4s38vkh1ftobymwmjo4.0natmvz.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9.37yip6l3o7hcqkq6cs8zvhvgu.0natmvz.rcgu.o b.so�� 270dc1a2/rustc7p--error-format=json 270dc1a2/build_s--json=diagnostic-rendered-ansi,artifacts,future-incompat bin/rustc s/serde_derive-7cc 8aa98-cgu.0.rcgu-m64 lib/rustlib/x86_/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/rustcZrQViU/symbols.o bin/rustc (http block)
  • spsprodeus21.vssps.visualstudio.com
    • Triggering command: /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/ado_aw-5cd66b4699336750 /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/ado_aw-5cd66b4699336750 /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.12i29wz1dhp34bciudlqzb4dc.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.15btcon2i8x89vm7dv3o62k1e.0uzfred.rcgu.o 64-REDACTED-linux-gnu/bin/gcc-ld/ld.lld /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.18tadnkxqth74oqw29u3739pc.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1995jcy810mpmhr6ufju2avvl.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1hbbgx7p97opci5mvqje7wetx.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1l6g83cfrj6b4x40nq0qad8b2.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1rrcezsyga3qzrcuqerezuvgl.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9.2ul�� /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9.2ye4dm4s38vkh1ftobymwmjo4.0natmvz.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9.37yip6l3o7hcqkq6cs8zvhvgu.0natmvz.rcgu.o b.so�� 270dc1a2/rustc7p--error-format=json 270dc1a2/build_s--json=diagnostic-rendered-ansi,artifacts,future-incompat bin/rustc s/serde_derive-7cc 8aa98-cgu.0.rcgu-m64 lib/rustlib/x86_/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/rustcZrQViU/symbols.o bin/rustc (dns block)
  • spsprodweu4.vssps.visualstudio.com
    • Triggering command: /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/ado_aw-5cd66b4699336750 /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/ado_aw-5cd66b4699336750 /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.12i29wz1dhp34bciudlqzb4dc.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.15btcon2i8x89vm7dv3o62k1e.0uzfred.rcgu.o 64-REDACTED-linux-gnu/bin/gcc-ld/ld.lld /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.18tadnkxqth74oqw29u3739pc.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1995jcy810mpmhr6ufju2avvl.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1hbbgx7p97opci5mvqje7wetx.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1l6g83cfrj6b4x40nq0qad8b2.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/compiler_tests-edaff8d7190a2fae.1rrcezsyga3qzrcuqerezuvgl.0uzfred.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9.2ul�� /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9.2ye4dm4s38vkh1ftobymwmjo4.0natmvz.rcgu.o /home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/codemod_tests-34491efc5a45a8e9.37yip6l3o7hcqkq6cs8zvhvgu.0natmvz.rcgu.o b.so�� 270dc1a2/rustc7p--error-format=json 270dc1a2/build_s--json=diagnostic-rendered-ansi,artifacts,future-incompat bin/rustc s/serde_derive-7cc 8aa98-cgu.0.rcgu-m64 lib/rustlib/x86_/home/REDACTED/work/ado-aw/ado-aw/target/debug/deps/rustcZrQViU/symbols.o bin/rustc (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants