Skip to content

Update documentation to reflect changes from v2.1.0 through v3.0.8 #118

@emmanuelgonz

Description

@emmanuelgonz

Description

The documentation in docs/source/ needs to be updated to address gaps accumulated across versions 2.1.0 through 3.0.8. Changes in the CHANGELOG.md were not reflected in the published docs, resulting in stale YAML examples, references to removed classes, incorrect protocol names, and missing documentation for major features.

Proposed Changes

API Reference Fixes (docs/source/nost_tools_api/)

  • schemas.rst: Add autopydantic_model directives for 10 new freeze/resume/update schema classes (FreezeCommand, ResumeCommand, FreezeRequest, ResumeRequest, UpdateRequest and their parameter models). Fix "MQTT" references to "AMQP".
  • application.rst: Remov autoclass directive for deleted TimeScaleUpdate class (removed in 3.0.0). Fix "MQTT" references to "AMQP".
  • simulator.rst: Add autoclass directives for MessageObserver, MessageObservable, PropertyChangeCallback, ScenarioTimeIntervalCallback, and WallclockTimeIntervalCallback (added in 2.1.0).
  • index.rst: Update command/status message lists to include new schema classes and callback observers. Fix "MQTT" references to "AMQP".

YAML Configuration Fixes (docs/source/operators_guide/modules/)

  • example.yml: Full rewrite to match current schema - removed time_scale_updates, changed managed_application (singular) to managed_applications (dict format), added missing fields: reconnect_delay, blocked_connection_timeout, queue_max_size, frame_max, socket_timeout, stack_timeout, wallclock_offset_refresh_interval, ntp_host, resume_tolerance, is_scenario_time_step, is_scenario_time_status_step, configuration_parameters, and execution.applications section.
  • yml_file.rst: Update all commented-out YAML examples and literalinclude line ranges to match the new example.yml. Add new sections for Application Configuration and Logging Configuration. Fix autopydantic_model import paths from nost_tools.configuration to nost_tools.schemas (the classes are defined in schemas.py). Fix RST heading underline lengths.
  • nost_publisher_consumer_example.rst: Remove time_scale_updates, fix managed_application to managed_applications dict format, update .env example to show three authentication modes, fix import path from nost_tools.config to nost_tools.configuration.

New Documentation Pages

  • operators_guide/modules/authentication_modes.rst: Documents the three authentication modes added in v3.0.3 and v3.0.4 - Basic Auth (localhost), Keycloak Service Account, and Keycloak User Account - with YAML and .env examples for each.
  • resources_library/freeze_resume/index.rst: Documents the distributed freeze/resume/update request system added in v3.0.0, including request_freeze(), request_resume(), request_update() usage, tolerance-based resume, and the request-command message flow.
  • resources_library/file_logging/index.rst: Documents the configure_file_logging() method and LoggingConfig model added in v2.4.0, with YAML and programmatic configuration examples.

Cross-Reference and Toctree Updates

  • resources_library/index.rst: Add toctree entries for freeze_resume/index and file_logging/index.
  • operators_guide/modules/amqp.rst: Add toctree entry for authentication_modes.
  • operators_guide/modules/amqp_keycloak.rst: Add note linking to the new authentication modes page.
  • installation/installation.rst: Update Credentials section to describe the three authentication modes with cross-reference to the auth modes page.
  • resources_library/time_management/index.rst: Remove TimeScaleUpdate from the execute_test_plan code block and parameter table. Add note explaining that time scale updates are now requested dynamically via request_update().
  • release_docs/icd/index.rst: Add staleness admonition noting the ICD was written for v1.0 using MQTT/Solace and directing readers to the current API Reference.

Documentation Gaps Addressed

Gap Versions Resolution
Freeze/resume/update request system 3.0.0 New page + schema directives
Authentication modes (basic, service account, user account) 3.0.3, 3.0.4 New page + installation updates
File logging configuration 2.4.0 New page + YAML config section
Callback observer classes 2.1.0 Added to simulator.rst
Tolerance-based resume requests 3.0.4, 3.0.5 Covered in freeze/resume page
Unmanaged Application configuration 3.0.5 New YAML config section
Stale TimeScaleUpdate references Removed in 3.0.0 Removed from all docs
Stale managed_application (singular) YAML key Changed in 2.0.3 Updated to managed_applications dict
Missing YAML fields across versions 2.0.1ΓÇô3.0.5 Added to example.yml and yml_file.rst
MQTT protocol references Changed in 2.0.0 Fixed to AMQP throughout
Outdated ICD (v1.0, MQTT/Solace) 2.0.0 Added staleness warning

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions