chore: Enhance security, CI stability, and dashboard features#179
chore: Enhance security, CI stability, and dashboard features#179yacosta738 wants to merge 63 commits into
Conversation
* fix: clients/web/apps/docs/package.json to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-ASTRO-15338137 - https://snyk.io/vuln/SNYK-JS-ASTRO-15338138 - https://snyk.io/vuln/SNYK-JS-ASTRO-15357600 * fix: clients/web/apps/docs/package.json to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-ASTRO-15338137 - https://snyk.io/vuln/SNYK-JS-ASTRO-15338138 - https://snyk.io/vuln/SNYK-JS-ASTRO-15357600 --------- Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>
#151) * feat(docker): enhance local development setup with Docker Compose support for dashboard * feat: update config bindings to use value properties for improved reactivity * feat(docker): add dashboard Docker image build and smoke check functionality * feat(docker): update Docker actions and improve post-install script error handling * refactor: fix qa code * chore(deps): refresh web lockfile after CI checks
Align Sonar test and coverage scope with Kotlin/KMP conventions and remove low-value smells so quality metrics reflect real risk.
* docs: sync CLI reference and intro with codebase * docs(es): localize tech stack and reorder journal
Temporarily set new coverage gate to 70 with CI automation, expand coverage exclusions for low-ROI paths, and split peripheral command/tool wiring helpers to reduce Rust cognitive complexity.
…rs (#156) * ci: configure Stylelint and SonarQube report paths for multiple linters - Configure Stylelint in `clients/web` with Vue and Tailwind support. - Add `lint:style` script to `clients/web/package.json`. - Update `sonarqube-analysis.yml` to run Stylelint, Hadolint, and Actionlint. - Enable Android Lint generation in Gradle step. - Configure SonarQube report paths for Stylelint, Android Lint, Hadolint, and Actionlint. Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com> * ci: configure Stylelint and SonarQube report paths for multiple linters - Configure Stylelint in `clients/web` with Vue and Tailwind support (ignoring @layer). - Add `lint:style` script to `clients/web/package.json`. - Update `sonarqube-analysis.yml` to run Stylelint, Hadolint (safe path handling), and Actionlint (pinned v1.7.11). - Enable Android Lint generation in Gradle step. - Configure SonarQube report paths for Stylelint, Android Lint, Hadolint, and Actionlint. Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com> * ci: address PR feedback for SonarQube linters configuration - Add explicit `pnpm -C clients/web install` step. - Remove `|| true` from linting steps to surface failures. - Refactor Hadolint and Actionlint to use safe Docker-based execution with `find -exec`. - Add `layer` to Stylelint `at-rule-no-unknown` ignore list. - Ensure all Sonar property keys match requested values. Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com> * ci: Update .github/workflows/sonarqube-analysis.yml Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Signed-off-by: Yuniel Acosta Pérez <33158051+yacosta738@users.noreply.github.com> * ci: fix pnpm/action-setup SHA and ensure clean workflow configuration - Update `pnpm/action-setup` SHA to working version `41ff72655975bd51cab0327fa583b6e92b6d3061`. - Address PR feedback by adding explicit `pnpm -C clients/web install`. - Surface failures by removing `|| true` from linting steps. - Use safe Docker-based execution for Hadolint and Actionlint with `find -exec`. - Add `layer` to Stylelint ignore list for Tailwind support. - Ensure all Sonar property keys match requested values. Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com> * ci: fix lockfile sync and address CI failures - Synchronize root `pnpm-lock.yaml` with `package.json`. - Update `pnpm/action-setup` to a verified commit SHA. - Explicitly install `clients/web` dependencies in CI. - Ensure Stylelint configuration ignores Tailwind's `@layer`. - Configure SonarQube report paths for Stylelint, Android Lint, Hadolint, and Actionlint. Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com> * ci: finalize Stylelint and SonarQube reporting configuration - Configure Stylelint in `clients/web` with Vue/Tailwind support. - Enforce long hex notation and normalize colors across the web module. - Fix CI workflow: use working pnpm action SHA, safe Docker exec for linters. - Sync `pnpm-lock.yaml` with root `package.json`. - Configure SonarQube report paths for Stylelint, Android Lint, Hadolint, and Actionlint. Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com> * ci: address Docker rate limits and finalize SonarQube reporting - Switch Hadolint and Actionlint to binary-based execution to avoid Docker Hub rate limits. - Ensure 6-digit hex notation consistency across the web monorepo. - Fix pnpm/action-setup SHA to verified version. - Explicitly install clients/web dependencies in CI. - Configure all requested SonarQube report paths. Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com> * ci: finalize SonarQube reporting setup and fix CI stability - Configure Stylelint in `clients/web` with Vue, SCSS, and Tailwind support. - Enforce 6-digit hex notation across the web module and normalize existing colors. - Fix SonarQube analysis workflow: - Synchronize lockfile and use verified `pnpm/action-setup` SHA. - Explicitly install workspace dependencies. - Use binary-based execution for Hadolint and Actionlint to bypass Docker rate limits. - Correct Sonar report path property keys. - Fix Dockerfiles in `clients/agent-runtime` to resolve Hadolint parse errors. Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com> --------- Signed-off-by: Yuniel Acosta Pérez <33158051+yacosta738@users.noreply.github.com> Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…eatures (#157) * feat(conductor): implement conductor task routing and observability features * fix(ci): harden Sonar gate step and conductor telemetry wiring * fix(docs): align hero heading property order for stylelint * ci(sonar): enforce PR coverage gate update via project lookup * ci(sonar): include organization in quality gate API calls * ci(sonar): include metric parameters when updating gate condition * ci(sonar): switch PR project off built-in quality gate * fix(ci): correct Sonar workflow heredoc indentation * fix(ci): select Sonar quality gate by gateId * fix(gradle): prioritize plugin portal before jitpack in build-logic * fix(ci): make Sonar gate-relax step non-blocking on PRs * fix(ci): make Sonar quality gate advisory on PRs * fix(ci): address Sonar hotspot checks in sonar workflow
…otection Hardens the `ImageInfoTool` by implementing a standardized security pattern: 1. Enforces rate limiting via `is_rate_limited` and `record_action`. 2. Resolves relative paths against the configured `workspace_dir`. 3. Performs `tokio::fs::canonicalize` and validates the resolved path against the workspace root using `is_resolved_path_allowed` to prevent symlink and traversal escapes. 4. Ensures all filesystem errors return a failed `ToolResult` instead of a hard `Err`, maintaining consistency with other tools. Adds comprehensive unit tests for rate limiting and symlink protection. Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com>
Hardens the `ImageInfoTool` by implementing a standardized security pattern: 1. Enforces rate limiting via `is_rate_limited` and `record_action`. 2. Resolves relative paths against the configured `workspace_dir`. 3. Performs `tokio::fs::canonicalize` and validates the resolved path against the workspace root using `is_resolved_path_allowed` to prevent symlink and traversal escapes. 4. Redacts absolute internal paths from error messages when a workspace escape is detected, returning an opaque message instead. 5. Ensures all filesystem errors return a failed `ToolResult` instead of a hard `Err`, maintaining consistency and improving error handling. Adds comprehensive unit tests for rate limiting, symlink protection, and redacted error reporting. Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com>
…me context Introduce a shared bootstrap module to construct observer/runtime/security/memory/tools once and reuse it across agent, channels, and gateway while preserving provider strategy per surface.
…and security requirements
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Signed-off-by: Yuniel Acosta Pérez <33158051+yacosta738@users.noreply.github.com>
… diagram assets to public/ Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com>
…chitecture guides - Moved Mermaid and PlantUML diagrams from `src/content/docs/` to `public/` to ensure they are served correctly. - Fixed broken relative links in `getting-started.md`, `release.md`, and `architecture.md`. - Corrected Architecture Overview links and labels in the Spanish guide. - Renamed architecture diagram table columns to reflect logical IDs. - Configured Lychee link checker to ignore Mermaid/PlantUML assets. - Maintained 1:1 parity between English and Spanish documentation. - Updated `scribe-journal.md` with the changes. - Verified fixes with Playwright and successful Astro build. Co-authored-by: yacosta738 <33158051+yacosta738@users.noreply.github.com>
…nes (#172) * refactor(bootstrap): add full/code/lite capability profiles * fix(bootstrap): honor configured agent profile across runtime paths * refactor(agent): simplify memory and observer creation by using full agent profile * test(bootstrap): make lite profile tool assertion order-independent * refactor(frontend-design): enhance description and guidelines for UI creation
* test(bootstrap): add feature-flag parity matrix * test(agent-runtime): share bootstrap and MCP test helpers
docs(web): align marketing and docs with Corvus runtime identity
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ Contributor ReportUser: @yacosta738
Contributor Report evaluates based on public GitHub activity. Analysis period: 2025-03-09 to 2026-03-09 |
|


This pull request introduces several improvements across documentation, CI workflows, and project skills, with a focus on enhanced frontend design guidance, security scanning, and workflow reliability. The most notable changes are the addition of a comprehensive "frontend-design" skill, documentation and workflow updates for Snyk security scanning, improved Docker publishing documentation, and reliability fixes in commit message checks and Renovate automation.
Documentation and Skills
frontend-designskill in.agents/skills/frontend-design/SKILL.md, providing detailed best practices and decision rules for building production-grade frontend UIs that avoid generic AI patterns. This includes when to use the skill, critical design patterns, code examples, and command-line tips.frontend-designskill in.agents/AGENTS.mdfor discoverability and usage guidance.Security and CI Enhancements
snyk-security.ymlworkflow in.github/workflows/README.md, outlining its purpose, triggers, and steps for running Snyk Code, Open Source, Container, and IaC scans, with SARIF uploads for GitHub Code Scanning. [1] [2]Docker Publishing and Workflow Updates
_publish.ymlfor improved security and reproducibility. [1] [2]Automation and Reliability Fixes
check-commit-msg.sh) to use more robust Bash idioms and ensure error messages are sent to stderr.fix-renovate.yml) by adding a step to re-validate the PR head SHA before performing write actions, preventing race conditions and ensuring that automation only acts on the correct commit. Also updated the push command to useHEADfor accuracy. [1] [2]Changelog and Journal Updates
.agents/journal/scribe-journal.mdwith detailed entries for recent documentation audits, asset/link fixes, and coverage configuration, ensuring a clear record of project improvements and validation steps. [1] [2]