Commit 366a572
fix(azure.ai.agents): scope deploy-hook Next: block to deployed service + canonical README
Two consensus findings from the 3-reviewer pass on commits 3.1+3.2:
(1) multi-service state leak — GPT-5.5 (originator), confirmed by Sonnet 4.6
and Opus 4.7. In a multi-agent project, deploying one service caused
ResolveAfterDeploy to emit show/invoke rows for EVERY service in the
project, all attached to the deployed service's artifact note. Fix:
filter state.Services to serviceConfig.Name at the deploy-hook call site
via a new filterServicesByName helper. ResolveAfterDeploy itself is left
untouched — show/doctor callers still get the project-wide view.
(2) README casing mismatch — Sonnet 4.6 (originator), confirmed by GPT-5.5
and Opus 4.7. readmeExists accepted README.md / readme.md / README.MD,
but ResolveAfterDeploy always emits the literal "see <path>/README.md"
pointer. On case-sensitive filesystems (Linux, WSL) with only a
lowercase readme.md on disk, the collision rule would fire on the
canonical-casing suggestion, REPLACE the aka.ms fallback, and leave the
user with a pointer that does not resolve. Fix: tighten readmeExists to
only check the canonical "README.md" — same casing the resolver emits.
Regression tests:
- TestAugmentDeployNote_LowercaseReadme_DoesNotReplaceFallback (skipped on
case-insensitive filesystems via a runtime probe; runs on Linux CI)
- TestAugmentDeployNote_MultiServiceState_ScopedToDeployedService
- TestFilterServicesByName
Pre-flight green: gofmt, vet, build, full extension test suite, golangci-lint
0 issues. Live smoke against the hello-world-python-invocations sample shows
unchanged output (single-service project with canonical README — neither
fix's scenario applies; the existing happy path is preserved).
Refs PR Azure#8057 critique items C2 and 3-reviewer consensus on phase-3 wiring.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 7bae8f1 commit 366a572
2 files changed
Lines changed: 132 additions & 6 deletions
File tree
- cli/azd/extensions/azure.ai.agents/internal/project
Lines changed: 29 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
976 | 976 | | |
977 | 977 | | |
978 | 978 | | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
979 | 985 | | |
980 | 986 | | |
981 | 987 | | |
| |||
1589 | 1595 | | |
1590 | 1596 | | |
1591 | 1597 | | |
1592 | | - | |
1593 | | - | |
1594 | | - | |
1595 | | - | |
1596 | | - | |
1597 | | - | |
| 1598 | + | |
| 1599 | + | |
| 1600 | + | |
| 1601 | + | |
| 1602 | + | |
| 1603 | + | |
| 1604 | + | |
1598 | 1605 | | |
1599 | 1606 | | |
1600 | 1607 | | |
| |||
1650 | 1657 | | |
1651 | 1658 | | |
1652 | 1659 | | |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
| 1663 | + | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
| 1669 | + | |
| 1670 | + | |
| 1671 | + | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
1653 | 1676 | | |
1654 | 1677 | | |
1655 | 1678 | | |
| |||
Lines changed: 103 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1277 | 1277 | | |
1278 | 1278 | | |
1279 | 1279 | | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| 1283 | + | |
| 1284 | + | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
| 1288 | + | |
| 1289 | + | |
| 1290 | + | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
| 1371 | + | |
| 1372 | + | |
| 1373 | + | |
| 1374 | + | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
| 1381 | + | |
| 1382 | + | |
0 commit comments