Skip to content

Declare and check participant tool-profile support (API-414) #304

Closed

Description

@Brad-Edwards

Processor/backend manifests and participant implementation manifests already exist. API-414 concerns the processor and backend declarations needed to support authored tools and affordances; participant implementation expectations alone do not satisfy it.

Done when

  • Map each required tool/profile feature from Define reusable participant tool profiles and verify their constraints (ACT-619) #301 to the existing processor and backend manifest surfaces.
  • State supported versions, constraints, and full/partial/unsupported behavior; add fields only where an existing declaration cannot express the claim.
  • Admission rejects a scenario whose requirements exceed the selected processor/backend capabilities.
  • Tests include a supported profile, a disclosed limitation, an unsupported profile, and a false or inconsistent claim.
  • Conformance reports distinguish declared support from observed execution.

Keep declarations, admission, and native realization separate. Reuse the current capability/conformance machinery and publish compatibility rules for contract changes. #298 owns authored bindings; #222 owns general reporting. Parent: #121.

Requirements

  • API-414 — Participant Tool And Affordance Declarations

Activity

  1. added
    requirementTracks a Ground Control requirement
    wave-tbdRequirement with no wave assignment yet
    on May 18, 2026
  2. changed the title [-]Participant Tool And Affordance Declarations (API-414)[/-] [+]Declare and check participant tool-profile support (API-414)[/+] on Sep 21, 2026
  3. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    🛠️ Picked up by /implement - driver codex, branch 304-tool-profile-support, 2026-10-27T17:49:31.969Z.

  4. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    gc workflow phase recorded: preflight (issue #304). Posted by the MCP server to enforce ordering between workflow steps (issue #794 MVP-2). Do not edit or delete — used by downstream tools to gate phase prerequisites.

  5. 9 remaining items

  6. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Pre-PR base synchronization

    • Source: refs/remotes/origin/dev at 4aa67d069382f6a003ba43bd3685ccc15f7685b5
    • Outcome: already_current
    • Published feature head: 3340e7c247b2ace8ded9ec9dcc7c5ba6dce6c9db
    • Synchronized tree: ba0d020254be4fd4704479f573fe61cc22c825e3
  7. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Document consistency before push

    Issue #304; branch 304-tool-profile-support; pickup 6449478129.

    Design digest: 806313ec6a3af416092f00305c6373a36230d45642fba5415ccdbb08e4dc4a00.

    • docs/decisions/issue-304-participant-tool-support-preflight.md (9b4f87bc8a6646b33237acb085dfb79503825d75d6d72156f97648d7a54cf43e)
    • docs/decisions/issue-304-participant-tool-support.md (83cd53e1e304e8feefa2e0ed39f78e08257ab7dcb62998d1d31be06b1bfeeb89)
    • docs/migration/participant-tool-support.md (a784266a87783fcdc83a9db0b7299e05232809d8f49bb4b1ed97157dd3fec938)

    The second CI repair updates the normalized manifest-fixture digest expected by the existing omission regression. API-414 intentionally adds unsupported tool-feature declarations to the fixture. The test still requires an absent operation-supervision declaration to remain omitted and pins the normalized contract digest. No production code, schema, design decision, DFD or compatibility behavior changes. All 28 trial-control admission tests pass after reproducing the stale expected-hash failure. Source-bound research captures remain current because package source did not change. Reviewed the requirement test link and the recorded design for consistency; targeted policy/governance and lint pass.

    Candidate tree: fae570f89d0f1f504b2d384e1b535e643d6ee92b.
    Document check: vale: server-owned baseline (Vale.Repetition)
    Checker identity: a9749df8f46a9b49cf48ed4d14b737dd480f2c3a1a933959433a535c894408b7.

  8. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Document consistency before push

    Issue #304; branch 304-tool-profile-support; pickup 6449478129.

    Design digest: 806313ec6a3af416092f00305c6373a36230d45642fba5415ccdbb08e4dc4a00.

    • docs/decisions/issue-304-participant-tool-support-preflight.md (9b4f87bc8a6646b33237acb085dfb79503825d75d6d72156f97648d7a54cf43e)
    • docs/decisions/issue-304-participant-tool-support.md (83cd53e1e304e8feefa2e0ed39f78e08257ab7dcb62998d1d31be06b1bfeeb89)
    • docs/migration/participant-tool-support.md (a784266a87783fcdc83a9db0b7299e05232809d8f49bb4b1ed97157dd3fec938)

    Batched the two CI fixture repairs: updated the existing normalized manifest digest expectation, and regenerated replacement trial identity vectors from the canonical compiler after the selected manifest bytes changed. Strengthened the vector regression to verify root entry, parent run/version and ordinal, as well as existing plan/run digests. All 28 admission tests and 3 selected replacement identity/concurrency tests pass. No production package, schema, design, security, DFD or compatibility behavior changed. The new research captures remain current. Targeted policy, governance, JSON artifact and lint checks pass. Requirement links cover both test consumers; historical captures and baseline pins remain unchanged.

    Candidate tree: 8d6878254c1e7c8f60eac52e5e261cac857b878f.
    Document check: vale: server-owned baseline (Vale.Repetition)
    Checker identity: a9749df8f46a9b49cf48ed4d14b737dd480f2c3a1a933959433a535c894408b7.

  9. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Pre-PR base synchronization

    • Source: refs/remotes/origin/dev at 4aa67d069382f6a003ba43bd3685ccc15f7685b5
    • Outcome: already_current
    • Published feature head: a84afa94fd78b7b672cf274898c2d7810b47a6bb
    • Synchronized tree: 8d6878254c1e7c8f60eac52e5e261cac857b878f
  10. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Design complete

    Issue #304; branch 304-tool-profile-support; pickup 6449478129.

    Design digest: beba35a1b94c0825cbd2e0403f79d1480aa6a9cef76e9a9cd856258522479791.

    • docs/decisions/issue-304-participant-tool-support-preflight.md (9b4f87bc8a6646b33237acb085dfb79503825d75d6d72156f97648d7a54cf43e)
    • docs/decisions/issue-304-participant-tool-support.md (83cd53e1e304e8feefa2e0ed39f78e08257ab7dcb62998d1d31be06b1bfeeb89)
    • docs/migration/participant-tool-support.md (8782044d1d61a26ba9406a0ebb2f46fa33479d913a2e2ef4d475c62d5b788726)

    Research and coverage

    • implementations/python/packages/raes_backend_protocols/participant_feature_admission.py: Reuse support levels, evidence and feature contract comparison; preserve legacy behavior.
    • implementations/python/packages/raes_processor/planner/core.py: Put the shared comparison in all public planning paths.
    • implementations/python/packages/raes_processor/trial_compiler/apparatus.py: Bind checks to each digest-validated selected apparatus.
    • implementations/python/packages/raes_conformance/conformance/report.py: Reuse declared/effective support, execution basis and finite scope.
    • https://modelcontextprotocol.io/specification/2025-06-18/server/tools (2025-06-18, Capabilities; Tool; Security considerations): Keep declarations inert and separate from invocation authority.
    • https://nvlpubs.nist.gov/nistpubs/specialpublications/NIST.SP.800-207.pdf (August 2020, 2.1 and 3): Separate declaration inputs, admission decisions and enforcement.
    • https://json-schema.org/draft/2020-12/json-schema-core (2020-12, 7.6 Assertions and 7.7 Annotations): Typed constraints carry enforceable bounds; root prose remains descriptive.
    • https://www.asd-ste100.org/assets/files/ASD-STE100_ISSUE9.pdf (Issue 9, 2025-01-15, 1, 5, 6 and 9; official indexed excerpts): Review short sentences and consistent technical nouns.
    • architecture: The issue-304 design maps each ACT-619 feature to processor/backend declarations and common admission.
    • systems_security: The threat table maps trust boundaries to closed validation, independent apparatus and capacity checks, no-dispatch rejection and portable diagnostics.
    • data_flows: The DFD names author, manifests, parser/compiler/admission, plans, runtime, backend, evidence and report with labeled flows and a processor boundary.
    • diagrams: The DFD also covers components. In-process comparisons require no deployment change.
    • policy_as_code: Existing vocabulary, publication ledger, schema parity, package boundary and requirement checks enforce the additions; no new workflow gate.
    • architecture_as_code: Typed optional manifest models and canonical planner/trial comparisons implement the design without another registry.
    • adr_changes: ADR-041/060/083/095/115 already establish these boundaries; no accepted ADR amendment is needed.
    • document_review: Reviewed STE rules using official indexed excerpts, short sentences, consistent technical nouns and document purpose. Automated repetition checks remain separate.
  11. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Document consistency before push

    Issue #304; branch 304-tool-profile-support; pickup 6449478129.

    Design digest: beba35a1b94c0825cbd2e0403f79d1480aa6a9cef76e9a9cd856258522479791.

    • docs/decisions/issue-304-participant-tool-support-preflight.md (9b4f87bc8a6646b33237acb085dfb79503825d75d6d72156f97648d7a54cf43e)
    • docs/decisions/issue-304-participant-tool-support.md (83cd53e1e304e8feefa2e0ed39f78e08257ab7dcb62998d1d31be06b1bfeeb89)
    • docs/migration/participant-tool-support.md (8782044d1d61a26ba9406a0ebb2f46fa33479d913a2e2ef4d475c62d5b788726)

    SonarCloud repair extracts presence, per-entry and backend checks into small pure helpers while preserving fail-closed admission, independent processor/backend capacities, support strength and coarse diagnostics. The migration note now includes new governed feature terms in closed-reader compatibility guidance. 116 targeted API-414 and manifest tests pass, including unsupported blank references and independent processor capacity. Fresh immutable captures replay production observations against this source and retain all bounded claims; schema generation and file-local policy pass. Architecture and threat boundaries remain consistent with the completed design.

    Candidate tree: 68583abc752861300a4d9754b6a6d158ad2f2c68.
    Document check: vale: server-owned baseline (Vale.Repetition)
    Checker identity: a9749df8f46a9b49cf48ed4d14b737dd480f2c3a1a933959433a535c894408b7.

  12. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Document consistency before push

    Issue #304; branch 304-tool-profile-support; pickup 6449478129.

    Design digest: beba35a1b94c0825cbd2e0403f79d1480aa6a9cef76e9a9cd856258522479791.

    • docs/decisions/issue-304-participant-tool-support-preflight.md (9b4f87bc8a6646b33237acb085dfb79503825d75d6d72156f97648d7a54cf43e)
    • docs/decisions/issue-304-participant-tool-support.md (83cd53e1e304e8feefa2e0ed39f78e08257ab7dcb62998d1d31be06b1bfeeb89)
    • docs/migration/participant-tool-support.md (8782044d1d61a26ba9406a0ebb2f46fa33479d913a2e2ef4d475c62d5b788726)

    Reviewed the clean merge of origin/dev at 5a5ca7f. The added cloud ownership, identity and secret-version changes do not change participant tool-profile semantics, manifest support terms, admission boundaries or this design's data flow. Existing documentation remains consistent; no conflict resolution or automatic side selection was needed. Keep all new development-branch source and feature work. Source-bound captures will be freshly collected for the combined implementation before final CI monitoring; this synchronization attestation makes no execution or research-conformance claim.

    Candidate tree: c1a5a9097c38b65f49e790ac99079f33031e95c3.
    Document check: vale: server-owned baseline (Vale.Repetition)
    Checker identity: a9749df8f46a9b49cf48ed4d14b737dd480f2c3a1a933959433a535c894408b7.

  13. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Pre-PR base synchronization

    • Source: refs/remotes/origin/dev at 5a5ca7fbebbd3d3c9c38d4a051ff2eecee1cda6c
    • Outcome: merged_clean
    • Published feature head: a45a2624e518333765707dd2b1595ed7de886669
    • Synchronized tree: c1a5a9097c38b65f49e790ac99079f33031e95c3
  14. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Document consistency before push

    Issue #304; branch 304-tool-profile-support; pickup 6449478129.

    Design digest: beba35a1b94c0825cbd2e0403f79d1480aa6a9cef76e9a9cd856258522479791.

    • docs/decisions/issue-304-participant-tool-support-preflight.md (9b4f87bc8a6646b33237acb085dfb79503825d75d6d72156f97648d7a54cf43e)
    • docs/decisions/issue-304-participant-tool-support.md (83cd53e1e304e8feefa2e0ed39f78e08257ab7dcb62998d1d31be06b1bfeeb89)
    • docs/migration/participant-tool-support.md (8782044d1d61a26ba9406a0ebb2f46fa33479d913a2e2ef4d475c62d5b788726)

    The development-branch merge is preserved, and the combined source passed 75 explicit participant tool-profile, conflict and admission tests. Fresh specification and formal captures reexecute their production and participant observations against this combined implementation and preserve their original bounded claims; the requirement links both immutable captures. No authority, native execution, services or data-flow boundaries changed. Schema-governed JSON, current-source specification evidence, file-local policy and UID governance pass. The completed design and migration guidance remain consistent with this final candidate.

    Candidate tree: 0f0ff04f816913555748c59d45a178c586acb556.
    Document check: vale: server-owned baseline (Vale.Repetition)
    Checker identity: a9749df8f46a9b49cf48ed4d14b737dd480f2c3a1a933959433a535c894408b7.

  15. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Pre-PR base synchronization

    • Source: refs/remotes/origin/dev at 5a5ca7fbebbd3d3c9c38d4a051ff2eecee1cda6c
    • Outcome: already_current
    • Published feature head: 2718add03f23ad2608dac38577f4204b1b18ee8d
    • Synchronized tree: 0f0ff04f816913555748c59d45a178c586acb556
  16. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Ready for review — issue #304

    PR: #1662
    Plan: #304 (comment)

    Outcome

    Operators can check whether the chosen processor and backend support a participant tool profile before running a scenario. Unsupported semantics, role scope and capacity now reject admission. Static declarations remain separate from observed execution.

    Implement API-414 tool-profile declarations and shared admission, with current-source evidence and refreshed manifest-bound identity fixtures.

    In-scope requirements

    Proposed state in this PR — authoritative only after merge.

    • API-414 (Participant Tool And Affordance Declarations) — ACTIVE (proposed) — Proposed ACTIVE transition and implementation/test links are in the delivery PR; authoritative after merge.

    Files changed

    Added:

    • docs/decisions/issue-304-participant-tool-support-preflight.md
    • docs/decisions/issue-304-participant-tool-support.md
    • docs/migration/participant-tool-support.md
    • docs/research/formal-semantic-validation/capture-records/capture-7e5a5f0094de3729c27ed9cd5ba21caf99ca276e55822b0ea2de44f57c141d2a.json
    • docs/research/formal-semantic-validation/capture-records/capture-832b5183f66e7bde6a973833145eae377dc93eae938579d3d0eb4bbada7b47a3.json
    • docs/research/formal-semantic-validation/capture-records/capture-d0248897f207f37e8f538ee2b9648dc10bbfd086bf49725ff19843ee8737463b.json
    • docs/research/formal-semantic-validation/captures/capture-7e5a5f0094de3729c27ed9cd5ba21caf99ca276e55822b0ea2de44f57c141d2a/analysis.json
    • docs/research/formal-semantic-validation/captures/capture-7e5a5f0094de3729c27ed9cd5ba21caf99ca276e55822b0ea2de44f57c141d2a/manifest.json
    • docs/research/formal-semantic-validation/captures/capture-7e5a5f0094de3729c27ed9cd5ba21caf99ca276e55822b0ea2de44f57c141d2a/snapshot.json
    • docs/research/formal-semantic-validation/captures/capture-832b5183f66e7bde6a973833145eae377dc93eae938579d3d0eb4bbada7b47a3/analysis.json
    • docs/research/formal-semantic-validation/captures/capture-832b5183f66e7bde6a973833145eae377dc93eae938579d3d0eb4bbada7b47a3/manifest.json
    • docs/research/formal-semantic-validation/captures/capture-832b5183f66e7bde6a973833145eae377dc93eae938579d3d0eb4bbada7b47a3/snapshot.json
    • docs/research/formal-semantic-validation/captures/capture-d0248897f207f37e8f538ee2b9648dc10bbfd086bf49725ff19843ee8737463b/analysis.json
    • docs/research/formal-semantic-validation/captures/capture-d0248897f207f37e8f538ee2b9648dc10bbfd086bf49725ff19843ee8737463b/manifest.json
    • docs/research/formal-semantic-validation/captures/capture-d0248897f207f37e8f538ee2b9648dc10bbfd086bf49725ff19843ee8737463b/snapshot.json
    • docs/research/specification-coverage/capture-records/capture-41a130a76cc3f34762cb4d93a7cbd80b29fc6ab688d4215dda55670783a17e6f.json
    • docs/research/specification-coverage/capture-records/capture-6490c7fc0e9f0d9587f7e65bb5cc812594ad74ec66d362667e2433a858b8a548.json
    • docs/research/specification-coverage/capture-records/capture-f028e3196a4b3e8ff7b7621f6b7f8d3b54b43dc96646cc6eab5ce7607c217eb5.json
    • docs/research/specification-coverage/captures/capture-41a130a76cc3f34762cb4d93a7cbd80b29fc6ab688d4215dda55670783a17e6f/analysis.json
    • docs/research/specification-coverage/captures/capture-41a130a76cc3f34762cb4d93a7cbd80b29fc6ab688d4215dda55670783a17e6f/manifest.json
    • docs/research/specification-coverage/captures/capture-41a130a76cc3f34762cb4d93a7cbd80b29fc6ab688d4215dda55670783a17e6f/snapshot.json
    • docs/research/specification-coverage/captures/capture-6490c7fc0e9f0d9587f7e65bb5cc812594ad74ec66d362667e2433a858b8a548/analysis.json
    • docs/research/specification-coverage/captures/capture-6490c7fc0e9f0d9587f7e65bb5cc812594ad74ec66d362667e2433a858b8a548/manifest.json
    • docs/research/specification-coverage/captures/capture-6490c7fc0e9f0d9587f7e65bb5cc812594ad74ec66d362667e2433a858b8a548/snapshot.json
    • docs/research/specification-coverage/captures/capture-f028e3196a4b3e8ff7b7621f6b7f8d3b54b43dc96646cc6eab5ce7607c217eb5/analysis.json
    • docs/research/specification-coverage/captures/capture-f028e3196a4b3e8ff7b7621f6b7f8d3b54b43dc96646cc6eab5ce7607c217eb5/manifest.json
    • docs/research/specification-coverage/captures/capture-f028e3196a4b3e8ff7b7621f6b7f8d3b54b43dc96646cc6eab5ce7607c217eb5/snapshot.json
    • implementations/python/packages/raes_contracts/contracts/participant_tool_support.py
    • implementations/python/packages/raes_contracts/contracts/processor_capabilities.py
    • implementations/python/packages/raes_processor/participant_tool_support.py
    • implementations/python/packages/raes_processor/trial_compiler/tool_support.py
    • implementations/python/tests/test_issue_304_tool_support.py

    Modified:

    • contracts/concept-authority/controlled-vocabularies-v1.json
    • contracts/fixtures/backend-manifest/backend-manifest-v2/valid/stub.json
    • contracts/fixtures/concept-authority/controlled-vocabularies-v1/valid/reference.json
    • contracts/fixtures/plans/trial-compiler-replacement-v1/identity-vectors.json
    • contracts/fixtures/processor-manifest/processor-manifest-v2/valid/reference.json
    • contracts/schema-publication/entries/backend-manifest-v2.json
    • contracts/schema-publication/entries/processor-manifest-v2.json
    • contracts/schemas/backend-manifest/backend-manifest-v2.json
    • contracts/schemas/processor-manifest/processor-manifest-v2.json
    • docs/explain/reference/backend-conformance.md
    • docs/migration/README.md
    • docs/requirements/API-414/requirement.md
    • implementations/python/packages/raes_backend_protocols/manifest.py
    • implementations/python/packages/raes_backend_protocols/participant_capabilities.py
    • implementations/python/packages/raes_conformance/conformance/target.py
    • implementations/python/packages/raes_contracts/contracts/manifests.py
    • implementations/python/packages/raes_contracts/manifest_authority.py
    • implementations/python/packages/raes_processor/capabilities.py
    • implementations/python/packages/raes_processor/manifest.py
    • implementations/python/packages/raes_processor/planner/__init__.py
    • implementations/python/packages/raes_processor/planner/core.py
    • implementations/python/packages/raes_processor/reference.py
    • implementations/python/packages/raes_processor/trial_compiler/compiler.py
    • implementations/python/packages/raes_processor/trial_realization.py
    • implementations/python/packages/raes_runtime/manager_plan_admission.py
    • implementations/python/tests/test_issue_1396_trial_replacement.py
    • implementations/python/tests/test_issue_1628_trial_control_admission.py
    • implementations/python/tests/test_runtime_conformance.py

    Reviews

    • Codex: Ship; no findings. CI fixture repairs and Sonar simplification passed targeted tests. Full CI and SonarCloud are green on the final head.

    Traceability reconciliation

    Proposed in this PR — verified against the merged tree in Phase E.

    • IMPLEMENTS / TESTS / DOCUMENTS added: 2
    • Links updated: 1
    • Stale links removed: 0

    Status

    • CI: ✅ green
    • SonarCloud: ✅ passed
    • PR ready for user review and merge. Phase E validates the merged requirement state, posts the final report, and closes the issue automatically once this PR merges.
  17. Brad-Edwards commented on Oct 27, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Delivery readiness recorded — Phase E finalizes issue #304 automatically when PR #1662 merges.

  18. github-actions commented on Oct 27, 2026

    @github-actions
    Contributor

    Final report — issue #304 complete

    PR: #1662
    Plan: #304 (comment)

    Outcome

    Operators can check whether the chosen processor and backend support a participant tool profile before running a scenario. Unsupported semantics, role scope and capacity now reject admission. Static declarations remain separate from observed execution.

    Implement API-414 tool-profile declarations and shared admission, with current-source evidence and refreshed manifest-bound identity fixtures.

    In-scope requirements

    Verified at merge revision 9b387e67d40a.

    • API-414 (Participant Tool And Affordance Declarations) — ACTIVE — Proposed ACTIVE transition and implementation/test links are in the delivery PR; authoritative after merge.

    Files changed

    Added:

    • docs/decisions/issue-304-participant-tool-support-preflight.md
    • docs/decisions/issue-304-participant-tool-support.md
    • docs/migration/participant-tool-support.md
    • docs/research/formal-semantic-validation/capture-records/capture-7e5a5f0094de3729c27ed9cd5ba21caf99ca276e55822b0ea2de44f57c141d2a.json
    • docs/research/formal-semantic-validation/capture-records/capture-832b5183f66e7bde6a973833145eae377dc93eae938579d3d0eb4bbada7b47a3.json
    • docs/research/formal-semantic-validation/capture-records/capture-d0248897f207f37e8f538ee2b9648dc10bbfd086bf49725ff19843ee8737463b.json
    • docs/research/formal-semantic-validation/captures/capture-7e5a5f0094de3729c27ed9cd5ba21caf99ca276e55822b0ea2de44f57c141d2a/analysis.json
    • docs/research/formal-semantic-validation/captures/capture-7e5a5f0094de3729c27ed9cd5ba21caf99ca276e55822b0ea2de44f57c141d2a/manifest.json
    • docs/research/formal-semantic-validation/captures/capture-7e5a5f0094de3729c27ed9cd5ba21caf99ca276e55822b0ea2de44f57c141d2a/snapshot.json
    • docs/research/formal-semantic-validation/captures/capture-832b5183f66e7bde6a973833145eae377dc93eae938579d3d0eb4bbada7b47a3/analysis.json
    • docs/research/formal-semantic-validation/captures/capture-832b5183f66e7bde6a973833145eae377dc93eae938579d3d0eb4bbada7b47a3/manifest.json
    • docs/research/formal-semantic-validation/captures/capture-832b5183f66e7bde6a973833145eae377dc93eae938579d3d0eb4bbada7b47a3/snapshot.json
    • docs/research/formal-semantic-validation/captures/capture-d0248897f207f37e8f538ee2b9648dc10bbfd086bf49725ff19843ee8737463b/analysis.json
    • docs/research/formal-semantic-validation/captures/capture-d0248897f207f37e8f538ee2b9648dc10bbfd086bf49725ff19843ee8737463b/manifest.json
    • docs/research/formal-semantic-validation/captures/capture-d0248897f207f37e8f538ee2b9648dc10bbfd086bf49725ff19843ee8737463b/snapshot.json
    • docs/research/specification-coverage/capture-records/capture-41a130a76cc3f34762cb4d93a7cbd80b29fc6ab688d4215dda55670783a17e6f.json
    • docs/research/specification-coverage/capture-records/capture-6490c7fc0e9f0d9587f7e65bb5cc812594ad74ec66d362667e2433a858b8a548.json
    • docs/research/specification-coverage/capture-records/capture-f028e3196a4b3e8ff7b7621f6b7f8d3b54b43dc96646cc6eab5ce7607c217eb5.json
    • docs/research/specification-coverage/captures/capture-41a130a76cc3f34762cb4d93a7cbd80b29fc6ab688d4215dda55670783a17e6f/analysis.json
    • docs/research/specification-coverage/captures/capture-41a130a76cc3f34762cb4d93a7cbd80b29fc6ab688d4215dda55670783a17e6f/manifest.json
    • docs/research/specification-coverage/captures/capture-41a130a76cc3f34762cb4d93a7cbd80b29fc6ab688d4215dda55670783a17e6f/snapshot.json
    • docs/research/specification-coverage/captures/capture-6490c7fc0e9f0d9587f7e65bb5cc812594ad74ec66d362667e2433a858b8a548/analysis.json
    • docs/research/specification-coverage/captures/capture-6490c7fc0e9f0d9587f7e65bb5cc812594ad74ec66d362667e2433a858b8a548/manifest.json
    • docs/research/specification-coverage/captures/capture-6490c7fc0e9f0d9587f7e65bb5cc812594ad74ec66d362667e2433a858b8a548/snapshot.json
    • docs/research/specification-coverage/captures/capture-f028e3196a4b3e8ff7b7621f6b7f8d3b54b43dc96646cc6eab5ce7607c217eb5/analysis.json
    • docs/research/specification-coverage/captures/capture-f028e3196a4b3e8ff7b7621f6b7f8d3b54b43dc96646cc6eab5ce7607c217eb5/manifest.json
    • docs/research/specification-coverage/captures/capture-f028e3196a4b3e8ff7b7621f6b7f8d3b54b43dc96646cc6eab5ce7607c217eb5/snapshot.json
    • implementations/python/packages/raes_contracts/contracts/participant_tool_support.py
    • implementations/python/packages/raes_contracts/contracts/processor_capabilities.py
    • implementations/python/packages/raes_processor/participant_tool_support.py
    • implementations/python/packages/raes_processor/trial_compiler/tool_support.py
    • implementations/python/tests/test_issue_304_tool_support.py

    Modified:

    • contracts/concept-authority/controlled-vocabularies-v1.json
    • contracts/fixtures/backend-manifest/backend-manifest-v2/valid/stub.json
    • contracts/fixtures/concept-authority/controlled-vocabularies-v1/valid/reference.json
    • contracts/fixtures/plans/trial-compiler-replacement-v1/identity-vectors.json
    • contracts/fixtures/processor-manifest/processor-manifest-v2/valid/reference.json
    • contracts/schema-publication/entries/backend-manifest-v2.json
    • contracts/schema-publication/entries/processor-manifest-v2.json
    • contracts/schemas/backend-manifest/backend-manifest-v2.json
    • contracts/schemas/processor-manifest/processor-manifest-v2.json
    • docs/explain/reference/backend-conformance.md
    • docs/migration/README.md
    • docs/requirements/API-414/requirement.md
    • implementations/python/packages/raes_backend_protocols/manifest.py
    • implementations/python/packages/raes_backend_protocols/participant_capabilities.py
    • implementations/python/packages/raes_conformance/conformance/target.py
    • implementations/python/packages/raes_contracts/contracts/manifests.py
    • implementations/python/packages/raes_contracts/manifest_authority.py
    • implementations/python/packages/raes_processor/capabilities.py
    • implementations/python/packages/raes_processor/manifest.py
    • implementations/python/packages/raes_processor/planner/__init__.py
    • implementations/python/packages/raes_processor/planner/core.py
    • implementations/python/packages/raes_processor/reference.py
    • implementations/python/packages/raes_processor/trial_compiler/compiler.py
    • implementations/python/packages/raes_processor/trial_realization.py
    • implementations/python/packages/raes_runtime/manager_plan_admission.py
    • implementations/python/tests/test_issue_1396_trial_replacement.py
    • implementations/python/tests/test_issue_1628_trial_control_admission.py
    • implementations/python/tests/test_runtime_conformance.py

    Reviews

    • Codex: Ship; no findings. CI fixture repairs and Sonar simplification passed targeted tests. Full CI and SonarCloud are green on the final head.

    Traceability reconciliation

    • IMPLEMENTS / TESTS / DOCUMENTS added: 2
    • Links updated: 1
    • Stale links removed: 0

    Existing valid links are preserved. No files were deleted or renamed.

    Status

    • CI: ✅ green
    • SonarCloud: ✅ passed
    • PR ready for user review and merge.
  19. removed
    in-progressAn agent is actively working this issue via /implement
    on Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    requirementTracks a Ground Control requirementwave-tbdRequirement with no wave assignment yet

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions