Skip to content

fix: correct documentation inaccuracies for license.validator, platform.*, and observability.otel modules#109

Merged
intel352 merged 2 commits intodocs/document-undocumented-module-typesfrom
copilot/sub-pr-102
Feb 23, 2026
Merged

fix: correct documentation inaccuracies for license.validator, platform.*, and observability.otel modules#109
intel352 merged 2 commits intodocs/document-undocumented-module-typesfrom
copilot/sub-pr-102

Conversation

Copy link
Contributor

Copilot AI commented Feb 23, 2026

Several module type docs introduced in #66 contained inaccuracies or omissions relative to actual schema definitions and factory implementations.

Documentation fixes

  • license.validator — Removed false claim that license_key supports $ENV_VAR expansion; describes the actual fallback: reads WORKFLOW_LICENSE_KEY env var when config value is empty
  • platform.provider — Added missing config (map) and tiers (JSON) fields from schema/module_schema.go
  • platform.resource — Added missing name, tier, capabilities, and constraints fields; corrected description to match schema ("capability-based resource declaration")
  • platform.context — Removed nonexistent path field; fixed tier type from numberstring select (infrastructure | shared_primitive | application); marked org and environment as required

Code fix

  • observability.otel factory (plugins/observability/modules.go) — Factory was ignoring the config map entirely. Now reads endpoint and serviceName and applies them via SetEndpoint()/SetServiceName(), making the documented config fields actually functional:
// Before
func otelTracingFactory(name string, _ map[string]any) modular.Module {
    return module.NewOTelTracing(name)
}

// After
func otelTracingFactory(name string, cfg map[string]any) modular.Module {
    m := module.NewOTelTracing(name)
    if v, ok := cfg["endpoint"].(string); ok && v != "" {
        m.SetEndpoint(v)
    }
    if v, ok := cfg["serviceName"].(string); ok && v != "" {
        m.SetServiceName(v)
    }
    return m
}

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

…rm.*, and observability.otel modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Copilot AI changed the title [WIP] Document 10+ undocumented module types fix: correct documentation inaccuracies for license.validator, platform.*, and observability.otel modules Feb 23, 2026
Copilot AI requested a review from intel352 February 23, 2026 05:43
@intel352 intel352 marked this pull request as ready for review February 23, 2026 06:20
@intel352 intel352 merged commit 87af4d0 into docs/document-undocumented-module-types Feb 23, 2026
@intel352 intel352 deleted the copilot/sub-pr-102 branch February 23, 2026 06:22
intel352 added a commit that referenced this pull request Feb 23, 2026
* security: add algorithm pinning tests for JWT confusion attacks (closes #95)

Verified that all JWT validation paths in JWTAuthModule already enforce
HS256 via both type assertion (*jwt.SigningMethodHMAC) and explicit
algorithm check (token.Method.Alg() != jwt.SigningMethodHS256.Alg()).

Added tests to module/jwt_auth_test.go that explicitly confirm tokens
signed with HS384 or HS512 are rejected by:
- Authenticate() — the AuthProvider interface method
- handleRefresh via Handle() — the /auth/refresh endpoint
- extractUserFromRequest via Handle() — all protected endpoints

The api package (middleware.go, auth_handler.go) already had equivalent
algorithm rejection tests in auth_handler_test.go.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: document 10+ undocumented module types in DOCUMENTATION.md (closes #66)

Adds detailed documentation for audit logging, license.validator,
platform.provider/resource/context, observability.otel, step.jq, AI
pipeline steps (ai_complete, ai_classify, ai_extract), CI/CD steps
(docker_build, docker_push, docker_run, scan_sast, scan_container,
scan_deps, artifact_push, artifact_pull), and the admincore plugin.
Each entry includes config field tables with types and defaults, plus
a minimal YAML example. Summary tables in the module type index are
also updated with the new Infrastructure and CI/CD Step categories.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: correct documentation inaccuracies for license.validator, platform.*, and observability.otel modules (#109)

* Initial plan

* fix: correct documentation inaccuracies for license.validator, platform.*, and observability.otel modules

Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>

* fix: add nil guard for cfg map in otelTracingFactory

Prevents potential issues when a module omits the config: section
in YAML, which passes a nil map to the factory function.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
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.

2 participants