Skip to content

Dev - #771

Merged
Brad-Edwards merged 10 commits into
mainfrom
dev
Jul 14, 2026
Merged

Dev#771
Brad-Edwards merged 10 commits into
mainfrom
dev

Conversation

@Brad-Edwards

Copy link
Copy Markdown
Collaborator

Summary

Related Issues

Requirement Context

  • Requirement UID:
  • ADRs touched:
  • Ground Control project: aces-sdl

Changes

Test Plan

  • Relevant tests pass
  • uvx nox -s verify passes, or the unchecked sessions are listed below
  • Docs build passes when documentation changed (uvx nox -s docs)

Checklist

  • Code follows project coding standards (docs/explain/reference/coding-standards.md)
  • FM level classified if semantic change
  • Published contract schemas regenerated if models changed
  • PR title is a Conventional Commit (release-please derives the version and CHANGELOG.md from it)
  • Architectural docs updated if applicable

Notes for Review

Brad-Edwards and others added 10 commits July 12, 2026 20:06
* refactor: split processor models.py into a subdomain package

Convert the 4343-line implementations/python/packages/aces_processor/models.py
into a models/ package of 13 cohesive subdomain modules (each within the
500-line ADR-015 cap) behind an API-stable re-export facade in
models/__init__.py.

Pure refactor with no behavior change: definitions are moved byte-for-byte,
every external `from aces_processor.models import ...` line is unchanged, and
the full public surface (116 names, including the shared-contract re-exports)
is preserved. Two private helpers (_optional_payload_string and the
observation-detail constants) move to behavior_resources so all cross-module
imports are forward-only, avoiding import cycles.

Remove the split file from tools/policy/oversized_allowlist.yaml and repoint
the now-stale models.py artifact references in the semantic-coverage matrix,
the assurance-fulfillment record, the formal specs, and the Sonar S1128 ignore
to the new package.

* refactor: resolve SonarCloud new-code findings from the models split

Clear all 57 SonarCloud new_violations that the byte-for-byte split
surfaced as "new" code, with zero rule suppressions:

- Replace bare `Any` parameter hints with `object` on JSON/dynamic
  boundaries (S6542).
- Reduce cyclomatic and cognitive complexity of the moved functions via
  behavior-preserving helper extraction (FunctionComplexity, S3776), and
  fix S1142/S3358/S7494.
- Bundle iter_participant_behavior_history_violations' two compiled
  address-set parameters into a new ParticipantHistoryAddressScope
  dataclass to satisfy S107; update the aces_conformance caller and the
  SEM-208/211/212 test call sites accordingly.

The complexity helpers pushed four modules past the 500-line ADR-015 cap,
so extract three cohesive sibling modules along the existing
forward-import order: outcome_interpretation_validation,
behavior_anchor_index, and history_event_grounding. Every models module
is now <= 500 lines; the public API is unchanged except the intentional
ParticipantHistoryAddressScope restructure.

No behavior change beyond that restructure: the existing test suite is
green and violation message ordering/content is preserved throughout.

* docs: document aces_processor.models subdomains after the package split

The models package __init__ re-exports the public surface; documenting it
with automodule + the new __all__ made autodoc re-emit the re-exported
aces_contracts DTOs (Diagnostic, RuntimeSnapshot, ...) as duplicate
py-domain targets, which the -W docs build rejects as ambiguous
cross-references. Document the subdomain modules that define the classes
instead, so autodoc filters imported members by __module__.

* refactor: clear residual SonarCloud new-code findings

- _participant_episode_histories_from_source returned tuples of differing
  arity ((x,) vs ()); return lists instead so the iterate-only result no
  longer trips S8495. Behavior is unchanged (callers only iterate it).
- Give the _iter_validated_participant_behavior_violations history parameter
  an explicit list[Any] argument to satisfy S6543.
* chore(main): release 0.19.0

* chore(main): release 0.19.1

* chore(main): release 0.20.0

---------

Co-authored-by: Brad Edwards <j.bradley.edwards@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Clarify runtime contract evidence boundary
* Define Node service reachability semantics

* Fix SonarCloud findings (cycle 1)

* Fix SonarCloud findings (cycle 2)
Rebuild related-work comparison with reproducible evidence
* Add scoped realization posture cascade

* Fix SonarCloud findings (cycle 1)

* Fix SonarCloud findings (cycle 2)
* Define behavioral relation taxonomy and claim discipline

* Fix SonarCloud findings (cycle 1)
@Brad-Edwards
Brad-Edwards merged commit 25087f4 into main Jul 14, 2026
12 checks passed
@sonarqubecloud

Copy link
Copy Markdown

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.

1 participant