Files
cleveragents-core/mkdocs.yml
T
freemo 8c81f13758
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 18s
CI / helm (pull_request) Successful in 24s
CI / lint (pull_request) Failing after 28s
CI / quality (pull_request) Successful in 35s
CI / security (pull_request) Failing after 48s
CI / typecheck (pull_request) Failing after 50s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / unit_tests (pull_request) Failing after 1m46s
CI / docker (pull_request) Has been skipped
CI / e2e_tests (pull_request) Failing after 13m19s
CI / integration_tests (pull_request) Failing after 21m9s
CI / status-check (pull_request) Failing after 1s
fix(infra): resolve TLS handshake failure on git.dev.cleveragents.com
The TLS handshake failure on git.dev.cleveragents.com was caused by the
hostname being absent from the certificate's Subject Alternative Names
(SANs), or by SNI virtual-host misconfiguration on the server side.

This commit delivers the repository-side remediation:

- scripts/check-tls-cert.py: New TLS certificate health-check script.
  Connects to a hostname, verifies the certificate's SANs include the
  target hostname, checks expiry, and reports errors/warnings.  Accepts
  an injectable SSLContext for unit testing without real network access.
  Supports wildcard SAN matching and configurable expiry warning threshold.

- docs/development/ops-runbook.md: New ops runbook documenting the full
  certificate renewal procedure (Let's Encrypt/certbot and manual CA),
  SNI misconfiguration diagnosis steps, expiry monitoring with cron, and
  recommended alert thresholds (30/14/7/0 days).

- features/tls_certificate_check.feature: 14 Behave scenarios tagged
  @tdd_issue @tdd_issue_1543 covering: missing SAN detection, valid SAN
  acceptance, expired certificate detection, expiry warning threshold,
  TLS handshake errors, connection timeouts, connection refused, wildcard
  SAN matching, and _hostname_matches_san unit tests.

- features/steps/tls_certificate_check_steps.py: Step definitions for
  the above feature, using unittest.mock to inject SSL contexts and
  socket connections so no real network calls are made.

- mkdocs.yml: Added Ops Runbook to the Development section navigation.

The actual server-side certificate renewal (adding git.dev.cleveragents.com
as a SAN and reloading the web server) must be performed by the server
administrator following the procedure in docs/development/ops-runbook.md.

Closes #1543

ISSUES CLOSED: #1543
2026-04-02 23:59:37 +00:00

187 lines
7.3 KiB
YAML

# yaml-language-server: $schema=https://json.schemastore.org/mkdocs-1.6.json
# yaml-language-server: customTags:
# - !ENV scalar
# - !ENV sequence
site_name: CleverAgents Documentation
site_description: Documentation for CleverAgents.
site_author: CleverThis, Inc.
site_url: https://docs.cleverthis.com/cleveragents
site_dir: build/site
nav:
- Specification: specification.md
- Architecture: architecture.md
- API Reference:
- Overview: api/index.md
- Core Utilities: api/core.md
- A2A Protocol: api/a2a.md
- Actor System: api/actor.md
- Skills: api/skills.md
- Tools: api/tool.md
- MCP Adapter: api/mcp.md
- Resources: api/resource.md
- Configuration: api/config.md
- TUI: api/tui.md
- Development:
- CI/CD Pipeline: development/ci-cd.md
- Quality Automation: development/quality-automation.md
- Testing Guide: development/testing.md
- Review Playbook: development/review_playbook.md
- Scale Testing: development/scale_testing.md
- Ops Runbook: development/ops-runbook.md
- Implementation Timeline: timeline.md
- FAQ: faq.md
- Reference: reference/
- Architecture Decision Records (ADRs):
- Overview: adr/index.md
- ADR-001 Layered Architecture: adr/ADR-001-layered-architecture.md
- ADR-002 Namespace System: adr/ADR-002-namespace-system.md
- ADR-003 Dependency Injection: adr/ADR-003-dependency-injection.md
- ADR-004 Data Validation: adr/ADR-004-data-validation.md
- ADR-005 Technical Stack: adr/ADR-005-technical-stack.md
- ADR-006 Plan Lifecycle: adr/ADR-006-plan-lifecycle.md
- ADR-007 Decision Tree & Correction: adr/ADR-007-decision-tree-and-correction.md
- ADR-008 Resource System: adr/ADR-008-resource-system.md
- ADR-009 Project Model: adr/ADR-009-project-model.md
- ADR-010 Actor & Agent Architecture: adr/ADR-010-actor-and-agent-architecture.md
- ADR-011 Tool System: adr/ADR-011-tool-system.md
- ADR-012 Skill System: adr/ADR-012-skill-system.md
- ADR-013 Validation Abstraction: adr/ADR-013-validation-abstraction.md
- ADR-014 Context Management (ACMS): adr/ADR-014-context-management-acms.md
- ADR-015 Sandbox & Checkpoint: adr/ADR-015-sandbox-and-checkpoint.md
- ADR-016 Invariant System: adr/ADR-016-invariant-system.md
- ADR-017 Automation Profiles: adr/ADR-017-automation-profiles.md
- ADR-018 Semantic Error Prevention: adr/ADR-018-semantic-error-prevention.md
- ADR-019 Storage & Persistence: adr/ADR-019-storage-and-persistence.md
- ADR-020 Session Model: adr/ADR-020-session-model.md
- ADR-021 CLI & Output Rendering: adr/ADR-021-cli-and-output-rendering.md
- ADR-022 LangChain/LangGraph Integration: adr/ADR-022-langchain-langgraph-integration.md
- ADR-023 Server Mode: adr/ADR-023-server-mode.md
- ADR-024 Configuration System: adr/ADR-024-configuration-system.md
- ADR-025 Observability & Logging: adr/ADR-025-observability-and-logging.md
- ADR-026 Agent-to-Agent Protocol (A2A): adr/ADR-026-agent-client-protocol.md
- ADR-027 Language Server Protocol (LSP) Integration: adr/ADR-027-language-server-protocol.md
- ADR-028 Agent Skills Standard (AgentSkills.io): adr/ADR-028-agent-skills-standard.md
- ADR-029 Model Context Protocol (MCP) Adoption: adr/ADR-029-model-context-protocol.md
- ADR-030 Skill Abstraction Definition: adr/ADR-030-skill-abstraction-definition.md
- ADR-031 Actor Abstraction Definition: adr/ADR-031-actor-abstraction-definition.md
- ADR-032 Jinja2 YAML Template Preprocessing: adr/ADR-032-jinja2-yaml-template-preprocessing.md
- ADR-033 Decision Recording Protocol: adr/ADR-033-decision-recording-protocol.md
- ADR-034 Decision Tree Versioning & History: adr/ADR-034-decision-tree-versioning-and-history.md
- ADR-035 Decision Tree Rollback & Replay: adr/ADR-035-decision-tree-rollback-and-replay.md
- ADR-036 Resource DAG Operational Semantics: adr/ADR-036-resource-dag-operational-semantics.md
- ADR-037 Tool Reachability & Access Projection: adr/ADR-037-tool-reachability-and-access-projection.md
- ADR-038 Cross-Mechanism Sandbox Coordination: adr/ADR-038-cross-mechanism-sandbox-coordination.md
- ADR-039 Container Resource Types: adr/ADR-039-container-resource-types.md
- ADR-040 LSP Resource Types: adr/ADR-040-lsp-resource-types.md
- ADR-041 Safety Profile Extraction: adr/ADR-041-safety-profile-extraction.md
- ADR-042 Resource Type Inheritance: adr/ADR-042-resource-type-inheritance.md
- ADR-043 Devcontainer Integration: adr/ADR-043-devcontainer-integration.md
- ADR-044 TUI Architecture and Framework: adr/ADR-044-tui-architecture-and-framework.md
- ADR-045 TUI Persona System: adr/ADR-045-tui-persona-system.md
- ADR-046 TUI Reference and Command System: adr/ADR-046-tui-reference-and-command-system.md
- ADR-047 A2A Standard Adoption: adr/ADR-047-acp-standard-adoption.md
- ADR-048 Server Application Architecture: adr/ADR-048-server-application-architecture.md
theme:
name: material
custom_dir: docs/overrides
features:
- navigation.tabs
- navigation.tabs.sticky
- toc.integrate
- toc.follow
palette:
- scheme: default
primary: blue
accent: cyan
toggle:
icon: material/brightness-7
name: Switch to dark mode
- scheme: slate
primary: blue
accent: cyan
toggle:
icon: material/brightness-4
name: Switch to light mode
hooks:
- hooks/adr_hooks.py
extra_css:
- stylesheets/extra.css
extra_javascript:
- javascripts/adr-page.js
- javascripts/toc-collapse.js
- javascripts/diagram-lightbox.js
extra:
adr_tiers:
1:
title: "Foundational"
description: "Structural and technological foundation upon which all other decisions rest."
2:
title: "Core Domain"
description: "Domain model — entities, lifecycles, and relationships that constitute core logic."
3:
title: "Infrastructure and Behavior"
description: "Cross-cutting behavioral systems and infrastructure concerns."
4:
title: "Integration and Operations"
description: "External integrations, operational interfaces, and deployment concerns."
plugins:
- search
- gen-files:
scripts:
- docs/gen_ref_pages.py
- literate-nav:
nav_file: SUMMARY.md
- mkdocstrings:
handlers:
python:
paths: [src]
options:
docstring_style: google
docstring_section_style: table
show_root_heading: true
show_source: true
merge_init_into_class: true
separate_signature: true
show_signature_annotations: true
signature_crossrefs: true
summary: true
extensions:
- griffe_pydantic:
schema: true
- kroki:
server_url: https://kroki.qoto.org
#server_url: https://kroki.io
enable_mermaid: true
fence_prefix: kroki-
http_method: POST
markdown_extensions:
- admonition
- pymdownx.details
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
- pymdownx.critic
- pymdownx.caret
- pymdownx.keys
- pymdownx.mark
- pymdownx.tilde
- pymdownx.tasklist:
custom_checkbox: true
- attr_list
- def_list
- footnotes
- md_in_html
- tables
- codehilite
- toc:
permalink: true
toc_depth: 1-6