flightcheck: add canonical DA connection-reference reader + contract test - #326
Merged
Dawn Jeong (daeunJe0ng) merged 3 commits intoSep 24, 2026
Conversation
…test (AB#7852506, AB#7852495, AB#7852511) Extract the shared minimalBots components connection-reference reader into checks/_da_connection_refs.py as the single source that DV-CONN-001 (active agent), ENV-004 (environment-wide, de-duped by logical name) and the Workday shared-parameter checks (WD-ENV-001/WD-REST-001) all read through, so the per-check re-point PRs stop adding divergent copies of it. The module is the superset of PR microsoft#317's reader plus a public read_all_agents_connection_references() that de-dupes by connection-reference logical name for ENV-004. Brings the validated/documented mock builders the checks need and a direct pure-logic contract test (18 cases) covering normalization, None-gating (SKIP), fail-loudly ValueError, JSON-string sharedConnectionParameters parsing, and the Workday shared-parameter sweep. Foundation for the 6 DA re-point PRs to rebase onto (single shared reader, no add/add collision). Full flightcheck suite: 1142 passed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: e25cf992-09c9-49b8-9971-2a19cb2fcb05
This was referenced Sep 24, 2026
amilandi
approved these changes
Sep 24, 2026
amilandi
left a comment
Contributor
There was a problem hiding this comment.
LGTM. Canonical reader factored cleanly out of the six re-point PRs; JSON-string sharedConnectionParameters handling, casefold-first-wins ENV-004 de-dupe, and the None-gate -> SKIP / malformed -> ValueError contract all check out. 18 contract tests pin the shapes the downstream PRs consume.
Dawn Jeong (daeunJe0ng)
deleted the
users/dawnjeong/flightcheck-da-foundation-7865455
branch
September 24, 2026 20:45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the single canonical Declarative Agent (DA) connection-reference reader that the six FlightCheck re-point PRs (#304, #314, #315, #316, #317, #318) all depend on, so they stop each shipping a divergent private copy of it.
Today the re-point PRs would otherwise each carry a private copy of the connection-reference reader:
checks/_da_connection_refs.py(107 vs 196 lines).checks/_agent_connection_refs.py.checks/workday_extension.pyandflightcheck/registry.py.That would make the six PRs impossible to merge in any order without an add/add + edit conflict cascade. This PR lands the shared reader once; the six re-point PRs are now rebased on it and import the canonical one.
What this adds
checks/_da_connection_refs.py(canonical union reader): superset of the reader from flightcheck: re-point WD-REST-001 + WD-ENV-001 to Declarative Agent components API #317, with:json.loadshandling forsharedConnectionParameterswhen the AgentBuilder / minimalBots components API returns it as a JSON string (observed live) rather than a nested object.read_all_agents_connection_references(runner)that reads every agent's connection references and de-dupes by connection-reference logical name (casefold, first-wins) for the environment-wide ENV-004 check.tests/mocks/agentbuilder_connectivity.py: superset mock builders (validated) needed by the checks and the contract test.tests/flightcheck/checks/test_da_connection_refs.py: 18 pure-logic contract tests covering normalization, None-gating (SKIP), fail-loudlyValueError, JSON-stringsharedConnectionParametersparsing, and the Workday shared-parameter sweep.Design rationale
agentbuilder_connectivitymock (MOCK_STATUS = validated), per the test-authoring rule that checks calling external APIs need a validated/documented mock.Testing
python -m pytest tests/flightcheck/checks/test_da_connection_refs.py -q-> 18 passed.python -m pytest tests/flightcheck -q-> 1142 passed.Risk / notes
_da_connection_refs.py(verified). flightcheck: add Workday DA profile + versioned result contract #327 and flightcheck: exclude per-agent DA connection refs from WD-PKG-001 fingerprint #328 also branch off this PR.Foundation for AB#7865455 (DA profile + structured-result contract) under story AB#7865450.